@charset "UTF-8";
:root {
  --brand: #111618;
  --brand-hover: #2a3032;
  --brand-grey: #a8a9ac;
  --brand-soft: #f7f5f4;
  --brand-focus: #64676a;
  --ink: #231f20;
  --muted: #69666a;
  --line: #e2dfdd;
  --paper: #fff;
  --background: var(--brand-soft);
  --shadow: 0 4px 22px #11161808;
  --radius: 14px;
  --sidebar: 248px;
  /* Aliasy pro původní komponenty; všechny primární barvy řídí paleta IE Group. */
  --navy: var(--brand);
  --navy-soft: var(--brand-hover);
  --teal: var(--brand);
  --teal-dark: var(--brand-hover);
  --teal-pale: var(--brand-soft);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Segoe UI",Arial,sans-serif;background:var(--background);color:var(--ink);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #70bfb5;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.25;letter-spacing:-1px;font-weight:650;margin-bottom:8px}h2{font-size:17px;line-height:1.4;font-weight:650;margin-bottom:12px}h3{font-size:15px;font-weight:650}p{margin-bottom:16px}small{font-size:12px}svg.icon{width:20px;height:20px;display:inline-block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}svg.icon use{pointer-events:none}[hidden]{display:none!important}.muted,.help-text{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--navy);color:#fff;padding:12px 20px;border-radius:8px}.skip-link:focus{top:15px}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.7px;color:var(--teal);margin-bottom:11px}.nowrap{white-space:nowrap}.align-right{text-align:right}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--navy);color:#d6e4e7;display:flex;flex-direction:column;padding:33px 20px 18px;z-index:30}.brand{display:flex;align-items:center;gap:11px;color:#fff;font-size:19px;line-height:1.2;font-weight:650;letter-spacing:-.45px}.brand-mark{width:42px;height:42px;border-radius:13px;background:#23746f;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#d5f3e8}.brand-mark .icon{width:26px;height:26px}.brand small{display:block;font-size:8px;letter-spacing:1.7px;font-weight:500;color:#9bb6bc;margin-top:7px}.nav-label{font-size:9px;letter-spacing:1.7px;font-weight:600;margin:51px 15px 13px;color:#7f9ca5}.main-nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;min-height:47px;padding:11px 14px;border-radius:8px;color:#bacdd2;font-size:12px;font-weight:500;transition:background .15s,color .15s}.nav-item .icon{width:19px;height:19px;color:#89a8b1}.nav-item:hover{background:#21444e;color:#fff}.nav-item.active{background:#2b5058;color:#fff}.nav-item.active .icon{color:#95d8c5}.sidebar-note{display:flex;align-items:flex-start;gap:8px;margin-top:auto;padding:22px 10px 26px;color:#b7cdd1;font-size:10px}.sidebar-note small{display:block;font-size:9px;color:#789ba4;margin-top:5px}.connection-dot{width:5px;height:5px;background:#76cdb0;border-radius:50%;margin-top:5px;flex-shrink:0}.account-panel{border-top:1px solid #2a4851;padding:21px 3px 1px;display:flex;align-items:center;gap:10px}.avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;font-size:13px;font-weight:650;background:#e7efe8;color:#3c665d}.account-info{overflow:hidden;line-height:1.5;flex:1}.account-info strong{display:block;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.account-info span{font-size:10px;color:#8fadb5}.account-menu{position:relative}.account-menu summary{display:flex;align-items:center;justify-content:center;cursor:pointer;width:30px;height:36px;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-menu-content{position:absolute;bottom:44px;right:0;width:194px;background:#fff;color:var(--ink);border:1px solid var(--line);padding:8px;border-radius:9px;box-shadow:0 8px 40px #0002;z-index:5}.account-menu-content a,.account-menu-content button{display:block;width:100%;text-align:left;font-size:12px;padding:10px;border:0;background:transparent;border-radius:5px}.account-menu-content a:hover,.account-menu-content button:hover{background:var(--background)}.workspace{margin-left:var(--sidebar);min-height:100dvh}.topbar{height:77px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:#fff;padding:0 36px}.topbar-label{font-size:11px;color:var(--muted)}.topbar-label span{color:#bdc7ca;margin:0 12px}.topbar-actions{display:flex;align-items:center;gap:18px}.private-badge{color:#819196;font-size:10px;display:flex;gap:6px;align-items:center}.private-badge .icon{width:13px;height:13px}.main-content{padding:34px 36px 42px;max-width:1800px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:29px}.page-heading p{color:var(--muted);font-size:12px;margin:0}.page-heading .button{flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:11px 17px;line-height:1.25;font-size:12px;font-weight:600;border:1px solid transparent;border-radius:7px;transition:background .15s,box-shadow .15s;text-align:center}.button .icon{width:17px;height:17px}.button-primary{background:var(--teal);color:#fff;box-shadow:0 3px 7px #0a655c12}.button-primary:hover{background:var(--teal-dark);box-shadow:0 3px 10px #0a655c25}.button-secondary{background:#fff;border-color:#dce5e7;color:#476068}.button-secondary:hover{background:#f2f7f6}.button-danger{background:#fff2f0;color:#b75248;border-color:#f1d7d3}.button-danger:hover{background:#fbe5e2}.button-full{width:100%}.button-small{min-height:33px;padding:7px 13px;font-size:11px}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#637b82;border-radius:6px}.icon-button:hover{background:#eff5f4}.icon-button .icon{width:17px;height:17px}.back-link{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;margin-bottom:22px}.back-link:hover,.text-link:hover{color:var(--teal)}.back-link .icon{width:16px;height:16px}.text-link{font-size:12px;color:var(--teal);text-decoration:underline;text-underline-offset:3px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-heading{padding:21px 25px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.panel-heading h2{margin:0;font-size:14px}.panel-heading>.muted{font-size:11px}.count-badge{display:inline-block;margin-left:8px;border-radius:20px;padding:1px 8px;background:#eef4f3;color:var(--teal);font-size:10px}.mobile-nav{display:none}
.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:17px;padding:21px 23px}.date-navigation{display:flex;align-items:center;gap:14px;min-width:0}.date-navigation h2{font-size:16px;letter-spacing:-.3px;margin:0}.arrow-group{display:flex;border:1px solid var(--line);border-radius:7px}.arrow-group .icon-button{width:30px;height:32px}.arrow-group .icon-button+ .icon-button{border-left:1px solid var(--line);border-radius:0 7px 7px 0}.view-switch{display:flex;padding:3px;background:#f0f4f5;border:1px solid #edf1f2;border-radius:7px;gap:2px}.view-switch a{font-size:10px;min-width:45px;text-align:center;padding:6px 9px;border-radius:5px;color:#7b8d92;font-weight:600}.view-switch a:hover{color:var(--teal)}.view-switch a[aria-current]{background:#fff;color:#24464e;box-shadow:0 1px 4px #173c4510}.filters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fcfdfd}.filters summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:14px 24px;font-size:11px;color:#627c83;list-style:none}.filters summary::-webkit-details-marker{display:none}.filters summary .icon{width:16px;height:16px}.filters[open] summary{color:var(--teal)}.filter-active{font-size:9px;border-radius:20px;padding:1px 7px;background:var(--teal-pale);color:var(--teal)}.result-count{margin-left:auto;font-size:10px;color:#8a9ba0}.filter-form{display:flex;gap:13px;align-items:flex-end;padding:0 24px 20px}.filter-form .form-field{flex:1;min-width:0;margin:0}.filter-form label{font-size:10px}.filter-form select{min-height:38px;font-size:11px;padding:8px 12px}.filter-form .button{min-height:38px;font-size:11px;white-space:nowrap}.filter-form .text-link{font-size:10px;padding:9px 0}.weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);background:#fbfcfc}.weekday-row span{padding:12px 10px;font-size:9px;letter-spacing:.3px;font-weight:600;color:#7d9298;text-align:right;text-transform:uppercase}.month-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-week+.month-week{border-top:1px solid var(--line)}.month-day{min-height:122px;padding:9px 7px 11px;min-width:0;display:flex;align-items:flex-end;flex-direction:column;gap:7px}.month-day+.month-day{border-left:1px solid var(--line)}.day-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:11px;color:#627a81}.day-number:hover{background:#e7f0ee}.is-today .day-number{background:var(--teal);color:#fff;font-weight:700}.month-day.is-today{background:#f5faf8}.outside-month{background:#fafcfc}.outside-month>.day-number{color:#bdc9cd}.month-trips{width:100%;display:flex;flex-direction:column;gap:4px}.month-trip{font-size:9px;border-left:3px solid #9eaeb4;border-radius:3px;background:#f0f4f5;padding:4px 5px;display:flex;gap:5px;line-height:1.55;min-width:0}.month-trip time{font-weight:650;white-space:nowrap}.month-trip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-trip:hover,.week-trip:hover{filter:brightness(.97)}.trip-border-PLANNED{border-left-color:#8295ac!important}.trip-border-CONFIRMED{border-left-color:#45aa8c!important}.trip-border-IN_PROGRESS{border-left-color:#e3a846!important}.trip-border-COMPLETED{border-left-color:#679cb8!important}.trip-border-CANCELLED{border-left-color:#c9aaac!important}.month-trip.trip-border-CONFIRMED,.week-trip.trip-border-CONFIRMED{background:#eef7f2}.month-trip.trip-border-IN_PROGRESS,.week-trip.trip-border-IN_PROGRESS{background:#fdf7e9}.month-trip.trip-border-COMPLETED,.week-trip.trip-border-COMPLETED{background:#eef5f9}.month-trip.trip-border-CANCELLED,.week-trip.trip-border-CANCELLED{background:#f8f1f1;color:#9c8282}.calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 23px;border-top:1px solid var(--line);font-size:9px;color:#8ba0a5}.status-legend{display:flex;flex-wrap:wrap;gap:15px}.status-legend span{display:flex;align-items:center;gap:5px;font-size:9px}.status-legend i{height:5px;width:5px;border-radius:50%;display:inline-block}.legend-planned{background:#8295ac}.legend-confirmed{background:#45aa8c}.legend-progress{background:#e3a846}.legend-completed{background:#679cb8}.legend-cancelled{background:#c9aaac}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:470px}.week-day{min-width:0}.week-day+.week-day{border-left:1px solid var(--line)}.week-day header{display:flex;flex-direction:column;gap:8px;align-items:center;padding:15px 4px;border-bottom:1px solid var(--line);background:#fbfcfc}.week-day header>span{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.week-day .day-number{font-size:16px;width:34px;height:34px}.week-day.is-today{background:#f9fcfb}.week-day.is-today header{background:#f0f8f5}.week-day-trips{display:flex;flex-direction:column;gap:9px;padding:12px 7px}.week-trip{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border-left:3px solid #8295ac;background:#f1f4f7;border-radius:5px;padding:10px 7px;overflow-wrap:anywhere}.trip-time{font-size:9px;font-weight:650;margin-bottom:6px;color:#5d7680}.week-trip strong{font-size:10px;font-weight:600;line-height:1.4}.route-arrow{font-size:11px;color:#8aa0a5;line-height:1}.week-trip-driver{font-size:9px;margin-top:7px;margin-bottom:5px;color:#73898f}.week-trip .status-badge{font-size:8px;padding:3px 5px}.day-empty{font-size:9px;color:#bac6c9;text-align:center;padding-top:26px}.status-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;font-size:9px;line-height:1.35;font-weight:600;border-radius:5px;padding:5px 8px;background:#edf1f5;color:#738297}.status-badge:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0}.status-CONFIRMED{background:#e9f4ed;color:#3c9679}.status-IN_PROGRESS{background:#fbf1dc;color:#b0852d}.status-COMPLETED{background:#e9f1f7;color:#557f99}.status-CANCELLED{background:#f6eded;color:#a37a7a}.agenda{padding:23px}.agenda-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.agenda-intro h2{margin:0;font-size:14px}.agenda-intro .muted{font-size:10px}.agenda-date{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#8c9fa4;margin:24px 0 10px;font-weight:600}.agenda-date:first-of-type{margin-top:0}.trip-card{display:flex;gap:19px;align-items:center;border:1px solid var(--line);border-left:3px solid #8295ac;border-radius:8px;padding:18px;margin-bottom:10px;transition:box-shadow .15s,background .15s}.trip-card:hover{background:#fcfefe;box-shadow:0 3px 15px #1a414708}.trip-card-time{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;min-width:58px;border-right:1px solid var(--line);padding-right:17px;gap:3px}.trip-card-time strong{font-size:17px;font-weight:650}.trip-card-time>span{font-size:10px;color:var(--muted)}.trip-card-main{flex:1;min-width:0}.trip-card-route{display:flex;align-items:center;gap:10px;font-size:12px}.trip-card-route .icon{width:15px;height:15px;color:#a1b2b7}.trip-card-route strong{font-weight:600;overflow-wrap:anywhere}.trip-purpose{display:block;color:#8a9ca2;font-size:10px;margin-top:4px}.trip-meta{display:flex;gap:15px;flex-wrap:wrap;margin-top:10px;color:#788c92;font-size:9px}.trip-meta span{display:flex;align-items:center;gap:5px}.trip-meta .icon{width:12px;height:12px}.trip-card-arrow .icon{width:16px;height:16px;color:#adbec2}.mobile-agenda{display:none}.empty-state{text-align:center;padding:62px 20px}.empty-state h3{font-size:17px;margin-bottom:9px}.empty-state h1{font-size:25px}.empty-state p{font-size:12px;color:var(--muted);max-width:370px;margin:0 auto 20px}.empty-icon{display:flex;width:58px;height:58px;align-items:center;justify-content:center;background:#f0f6f3;border:1px solid #e4efeb;border-radius:18px;margin:0 auto 20px;color:#7eaa9c}.empty-icon .icon{width:26px;height:26px}
.form-panel{padding:30px;max-width:720px}.stack-form{display:flex;flex-direction:column;gap:20px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-field label{font-size:12px;font-weight:600;color:#526a73}.required-mark{color:#9db2b7}.form-field input:not([type=checkbox]):not([type=radio]),.form-field select,.form-field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #dce5e7;border-radius:6px;background:#fff;color:var(--ink);font-size:13px;outline-color:var(--teal)}.form-field input::placeholder,.form-field textarea::placeholder{color:#acb9bc}.form-field textarea{resize:vertical;min-height:100px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#79aba1}.form-field input[readonly]{background:#f5f8f7}.form-field .help-text{font-size:11px;line-height:1.6}.help-text ul{padding-left:18px;margin:4px 0}.checkbox-field{display:grid;grid-template-columns:20px 1fr;align-items:center;column-gap:9px}.checkbox-field input{width:18px;height:18px;accent-color:var(--teal);margin:0}.checkbox-field .help-text,.checkbox-field .field-errors{grid-column:2}.checkbox-field label{cursor:pointer;padding:8px 0}.field-invalid input,.field-invalid select,.field-invalid textarea{border-color:#d69a91!important}.field-errors,.errorlist{font-size:11px;color:#b95e52}.field-errors ul,.errorlist{list-style:none;padding:0;margin:0}.form-actions{display:flex;gap:10px;align-items:center;padding-top:22px;border-top:1px solid var(--line);margin-top:4px}.notice{padding:13px 17px;border:1px solid #cce3d8;border-radius:8px;background:#edf7f1;font-size:12px;color:#4a7c68;line-height:1.6}.notice.error{background:#fff2f0;border-color:#f1d9d4;color:#ad574b}.notice.warning{background:#fff9e9;border-color:#eadeb7;color:#967b30}.messages{display:flex;flex-direction:column;gap:10px;margin-bottom:25px}.connectivity-notice{position:fixed;bottom:20px;left:calc(var(--sidebar) + 25px);right:25px;z-index:90;box-shadow:0 3px 20px #0001}.verification-panel h1{font-size:25px;margin-top:20px}.verification-panel>.muted{font-size:12px}.setup-steps{padding-left:22px;font-size:13px;color:#698087}.setup-steps li{padding-left:7px;margin-bottom:20px}.mfa-secret{display:block;overflow-wrap:anywhere;word-break:break-all;letter-spacing:1.5px;font-size:16px;padding:16px;background:#eef5f1;border:1px solid #d6e7df;border-radius:7px;color:#235f4b;margin:14px 0;user-select:all}.account-mobile-actions{display:flex;flex-wrap:wrap;gap:10px;max-width:720px;margin-top:25px}
.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:13px 25px;border-bottom:1px solid var(--line);background:#fcfdfd;color:#8b9ba1;font-size:9px;letter-spacing:.7px;text-transform:uppercase;font-weight:600;white-space:nowrap}td{padding:19px 25px;border-bottom:1px solid #eff3f4;font-size:12px}tbody tr:last-child td{border-bottom:0}td strong{font-weight:600}td small{display:block;font-size:10px;color:#93a3a8;margin-top:3px}.person-cell{display:flex;align-items:center;gap:12px}.avatar-small{width:33px;height:33px;font-size:11px}.vehicle-symbol{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#6b9591;background:#eff6f4}.table-action{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--teal);white-space:nowrap;min-height:34px}.table-action .icon{width:13px;height:13px}.table-action:hover{text-decoration:underline}.empty-cell{padding:50px 24px;text-align:center;color:#8d9fa5}.registration{font-size:11px;letter-spacing:.8px;background:#f5f7f8;border:1px solid #e1e8eb;border-radius:4px;padding:4px 7px;white-space:nowrap}.audit-table td{font-size:10px;vertical-align:top}.audit-detail summary{cursor:pointer;color:var(--teal);font-size:10px;max-width:300px}.audit-detail dl{font-size:10px;max-width:500px}.audit-detail dt{font-weight:600;margin-top:10px}.audit-detail dd{margin:3px 0}.audit-detail pre{white-space:pre-wrap;word-break:break-word;background:#f6f9f8;padding:12px;border-radius:6px;font-family:Consolas,monospace;font-size:10px}.pagination{display:flex;justify-content:center;gap:15px;align-items:center;padding:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:24px;align-items:start}.journey-panel{overflow:hidden}.journey-route{padding:35px 30px 12px}.journey-stop{display:grid;grid-template-columns:65px 22px 1fr;gap:20px;position:relative;padding-bottom:36px;align-items:center}.journey-time{display:flex;flex-direction:column}.journey-time strong{font-size:22px;letter-spacing:-.5px;line-height:1.3}.journey-time>span{font-size:10px;color:#92a3a8;margin-top:3px}.stop-marker{display:block;width:11px;height:11px;border-radius:50%;border:2px solid #85b6a9;background:#fff;justify-self:center;position:relative;z-index:1}.journey-stop:first-child:after{content:"";position:absolute;left:95px;top:28px;bottom:-28px;width:1px;background:#d8e8e2}.stop-marker.destination{background:var(--teal);border-color:var(--teal);box-shadow:0 0 0 4px #e6f2ed}.field-caption{display:block;font-size:8px;letter-spacing:1px;font-weight:600;color:#92a5aa;margin-bottom:5px}.journey-stop h2{font-size:17px;margin:0;overflow-wrap:anywhere}.navigate-button{margin:0 30px 30px}.journey-resources{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:23px 30px;border-top:1px solid var(--line);gap:24px;background:#fbfdfc}.journey-resources dt{display:flex;align-items:center;gap:6px;font-size:10px;color:#8a9fa5}.journey-resources dt .icon{width:14px;height:14px}.journey-resources dd{margin:7px 0 0;font-size:13px;font-weight:600}.journey-resources dd small{display:block;color:#8fa1a7;font-weight:400;font-size:10px;margin-top:4px}.trip-notes{padding:24px 30px;border-top:1px solid var(--line)}.trip-notes h3{font-size:11px;color:#8a9fa5;font-weight:500;margin-bottom:9px}.trip-notes p{font-size:12px;color:#627b83;line-height:1.8;margin:0;overflow-wrap:anywhere}.detail-sidebar{display:flex;flex-direction:column;gap:20px}.status-panel,.history-panel{padding:24px}.status-panel h2,.history-panel h2{font-size:14px;margin-bottom:9px}.status-panel .muted{font-size:11px}.status-actions{display:flex;flex-direction:column;gap:9px}.history-list{list-style:none;padding:0;margin:25px 0 0}.history-list li{padding:0 0 24px 25px;position:relative;display:flex;flex-direction:column;gap:3px}.history-list li:not(:last-child):before{content:"";position:absolute;left:4px;width:1px;top:12px;bottom:0;background:#e2ebe6}.history-marker{position:absolute;left:0;top:5px;width:9px;height:9px;border-radius:50%;background:#d6e9df;box-shadow:inset 0 0 0 2px #9fc5b4}.history-list strong{font-size:11px;font-weight:600}.history-list li>span:not(.history-marker){font-size:10px;color:#83979d}.history-list time{font-size:9px;color:#a3b1b5}.record-meta{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:6px;font-size:9px;color:#99aaaf}
.auth-shell{background:#f2f6f5}.auth-content{max-width:1060px;margin:0 auto;padding:70px 24px;min-height:100dvh;display:flex;flex-direction:column;justify-content:center}.login-layout{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:19px;overflow:hidden;min-height:610px;box-shadow:0 12px 70px #174a3510;border:1px solid #e6eeea}.login-story{background:var(--navy);color:#e0eae9;padding:37px;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;right:-140px;bottom:-190px;height:420px;width:420px;border-radius:50%;border:50px solid #ffffff03;pointer-events:none}.login-story .brand{font-size:19px}.login-story-content{margin:auto 0;padding-top:55px;padding-bottom:60px}.login-story-content>.eyebrow{color:#86bdb0;font-size:8px;letter-spacing:1.9px}.login-story h1{font-size:43px;line-height:1.22;letter-spacing:-1.6px;font-weight:600;color:#fff;margin:20px 0 25px}.login-story p{font-size:12px;line-height:1.9;color:#9ebbbf;max-width:290px}.decorative-route{display:flex;align-items:center;margin-top:42px;max-width:245px}.decorative-route span{width:9px;height:9px;border:2px solid #95c9b9;border-radius:50%;background:var(--navy)}.decorative-route span:last-child{background:#a9dbc7;box-shadow:0 0 0 6px #9bcfbd13}.decorative-route i{height:1px;flex:1;background:#608b89}.login-footer{font-size:8px;letter-spacing:.3px;color:#749ba2}.login-form-panel{padding:45px;display:flex;align-items:center}.login-form-inner{width:100%}.form-symbol{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;color:var(--teal);background:#edf5f1;border:1px solid #e4efea;margin-bottom:25px}.form-symbol .icon{width:20px;height:20px}.login-form-inner h2{font-size:27px;letter-spacing:-.6px;margin-bottom:8px}.login-form-inner>.muted{font-size:11px;margin-bottom:29px}.login-form-inner .stack-form{gap:18px}.login-form-inner .button{margin-top:3px}.login-help{font-size:10px;line-height:1.8;color:#9aabae;margin:22px 0 31px;text-align:center}.secure-caption{display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;color:#acb8bb;padding-top:22px;border-top:1px solid #eef2f2}.secure-caption .icon{width:13px;height:13px}.install-banner{display:flex;align-items:center;gap:15px;margin-top:20px;padding:17px 20px;border:1px solid #dbe9e2;background:#edf6f0;border-radius:10px}.install-banner>div{flex:1}.install-banner strong{display:block;font-size:12px;color:#477661}.install-banner span{font-size:10px;color:#7f998b}
@media(min-width:1500px){.month-day{min-height:155px}.month-trip{font-size:10px}.week-trip strong{font-size:12px}.trip-time{font-size:11px}}
@media(max-width:1200px){:root{--sidebar:220px}.sidebar{padding-left:16px;padding-right:16px}.brand{font-size:17px}.brand-mark{width:36px;height:36px}.brand small{font-size:7px}.nav-item{font-size:11px;padding-left:12px;gap:10px}.main-content{padding:29px 25px}.topbar{padding:0 25px}.calendar-toolbar{padding:18px}.date-navigation{gap:10px}.date-navigation h2{font-size:14px}.view-switch a{padding:6px 8px;min-width:40px}.filter-form{flex-wrap:wrap}.filter-form .form-field{min-width:145px}.week-day-trips{padding:9px 5px}.week-trip{padding:8px 5px}.week-trip .status-badge{white-space:normal}.detail-layout{grid-template-columns:minmax(0,1.4fr) minmax(245px,1fr);gap:18px}.journey-route{padding:30px 22px 8px}.journey-stop{grid-template-columns:56px 17px 1fr;gap:12px}.journey-stop:first-child:after{left:76px}.journey-stop h2{font-size:15px}.journey-time strong{font-size:20px}.navigate-button{margin-left:22px}.journey-resources,.trip-notes{padding:22px}.status-panel,.history-panel{padding:20px}}
@media(max-width:1000px){.calendar-toolbar{align-items:flex-start;flex-direction:column;gap:14px}.date-navigation{width:100%}.today-button{margin-left:auto}.view-switch{align-self:flex-end}.week-trip .status-badge{font-size:7px}.week-trip-driver{font-size:8px}.weekday-row span{font-size:8px;padding:10px 5px}.month-day{min-height:110px;padding:7px 4px}.month-trip{flex-wrap:wrap;gap:0;padding:3px 4px}.month-trip span{width:100%}.calendar-footer{align-items:flex-start;flex-direction:column;gap:10px}.detail-layout{grid-template-columns:1fr}.detail-sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:start}.trip-card{gap:13px;padding:15px}.trip-card-route{font-size:11px;gap:7px}.trip-card .status-badge{font-size:8px}.trip-meta{gap:9px}.trip-card-arrow{display:none}.login-form-panel{padding:35px}.login-story{padding:32px}.login-story h1{font-size:36px}.main-content h1{font-size:29px}}
@media(max-width:760px){:root{--sidebar:0px}.sidebar{display:none}.workspace{margin-left:0}.topbar{height:59px;padding:0 20px}.topbar-label{font-size:10px}.topbar-label span{margin:0 7px}.topbar-actions{gap:8px}.private-badge{font-size:9px}.private-badge .icon{width:12px}.main-content{padding:25px 20px 105px}.page-heading{margin-bottom:23px;gap:12px}.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:9px}.main-content h1{font-size:27px;letter-spacing:-.8px}.page-heading p{font-size:11px}.page-heading>.button{font-size:10px;min-height:41px;padding:10px 12px;gap:5px}.page-heading>.button .icon{width:15px;height:15px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;justify-content:space-around;gap:6px;background:#fff;border-top:1px solid #e1e9e6;min-height:70px;padding:8px 13px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -3px 20px #21433a05}.mobile-nav>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;width:70px;color:#8c9e9e;font-size:9px}.mobile-nav .icon{width:21px;height:21px}.mobile-nav>a:hover{color:var(--teal)}.mobile-nav .mobile-add{background:var(--teal);border-radius:11px;color:#fff;width:78px}.mobile-nav .mobile-add:hover{color:#fff;background:var(--teal-dark)}.desktop-calendar{display:none}.mobile-agenda{display:block}.calendar-toolbar{padding:17px 15px;gap:17px}.date-navigation{flex-wrap:wrap;gap:10px}.date-navigation h2{font-size:14px;flex:1}.arrow-group .icon-button{width:29px;height:33px}.today-button{min-height:35px;padding:7px 10px;font-size:10px}.view-switch{align-self:stretch;justify-content:space-between;padding:4px}.view-switch a{flex:1;font-size:11px;padding:8px 6px;min-height:34px}.filters summary{padding:14px 17px;min-height:48px}.filter-form{padding:0 16px 18px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:13px}.filter-form .form-field{min-width:0}.filter-form select{min-height:43px}.filter-form .button{min-height:43px}.filter-form>.text-link{grid-column:1/-1;text-align:center;justify-self:center}.agenda{padding:17px 15px}.agenda-intro{margin-bottom:18px}.agenda-intro h2{font-size:13px}.agenda-date{margin-top:23px;font-size:9px}.trip-card{display:grid;grid-template-columns:53px 1fr;gap:0 14px;position:relative;padding:16px 12px;align-items:start}.trip-card-time{padding-right:10px;min-width:0;border:0;gap:3px}.trip-card-time strong{font-size:16px}.trip-card-time>span{font-size:9px}.trip-card-main{padding-left:14px;border-left:1px solid var(--line)}.trip-card-route{flex-wrap:wrap;gap:4px;align-items:center;font-size:12px}.trip-card-route strong{flex-basis:100%}.trip-card-route .icon{transform:rotate(90deg);width:12px;height:12px;margin:0}.trip-purpose{font-size:9px;margin-top:7px;line-height:1.5}.trip-meta{flex-direction:column;gap:5px;margin-top:10px;font-size:9px}.trip-card>.status-badge{grid-column:2;justify-self:start;font-size:8px;margin:11px 0 0 14px}.calendar-footer{padding:17px;gap:11px}.status-legend{gap:9px 13px}.status-legend span{font-size:8px}.calendar-footer>span{font-size:8px}.empty-state{padding:42px 15px}.empty-state p{font-size:11px}.empty-state h3{font-size:15px}.panel{border-radius:11px}.panel-heading{padding:18px}.form-panel{padding:23px 20px}.form-field input:not([type=checkbox]):not([type=radio]),.form-field select,.form-field textarea{font-size:16px;min-height:46px}.form-field label{font-size:12px}.form-actions{flex-wrap:wrap}.form-actions .button{min-height:46px;flex:1}.detail-sidebar{grid-template-columns:1fr}.journey-panel .panel-heading{padding:18px 20px}.journey-route{padding:30px 20px 4px}.journey-stop{grid-template-columns:53px 15px 1fr;gap:12px;padding-bottom:32px}.journey-stop:first-child:after{left:72px}.journey-stop h2{font-size:15px}.journey-time strong{font-size:20px}.journey-time>span{font-size:10px}.navigate-button{display:flex;margin:0 20px 23px;min-height:48px}.journey-resources{padding:21px 20px;gap:14px}.journey-resources dd{font-size:12px}.trip-notes{padding:21px 20px}.status-panel,.history-panel{padding:22px}.status-actions .button{min-height:48px;font-size:13px}.back-link{margin-bottom:18px;min-height:32px}.table-scroll{border-radius:0 0 11px 11px}th{padding:12px 17px;font-size:8px}td{padding:17px;font-size:11px}.person-cell{gap:9px}.table-action{min-height:43px}.connectivity-notice{bottom:calc(84px + env(safe-area-inset-bottom));left:15px;right:15px;font-size:11px}.install-banner{padding:15px;flex-wrap:wrap;gap:10px;position:relative}.install-banner>div{padding-right:20px;flex-basis:100%}.install-banner>.icon-button{position:absolute;right:6px;top:7px}.install-banner>.button{font-size:10px;min-height:36px}.auth-content{padding:20px 15px}.login-layout{grid-template-columns:1fr;min-height:0;max-width:460px;margin:0 auto;width:100%}.login-story{padding:25px 27px}.login-story .brand{font-size:18px}.login-story .brand-mark{width:38px;height:38px}.login-story-content{padding:28px 0 0}.login-story-content .eyebrow{font-size:7px;margin-bottom:10px}.login-story h1{font-size:28px;letter-spacing:-.8px;margin:10px 0}.login-story h1 br{display:none}.login-story p{font-size:11px;margin:0;max-width:none}.decorative-route,.login-footer{display:none}.login-form-panel{padding:30px 27px}.login-form-inner .form-symbol{display:none}.login-form-inner h2{font-size:24px}.login-form-inner>.muted{margin-bottom:24px}.login-form-inner .button{min-height:46px;font-size:13px}.login-help{margin:21px 0}.secure-caption{padding-top:17px;font-size:8px}.verification-panel h1{font-size:24px}.account-mobile-actions .button{min-height:44px;font-size:11px}.mfa-secret{font-size:14px;letter-spacing:1px}.audit-table td{font-size:10px;min-width:100px}}
@media(max-width:760px){.trip-card-route{font-size:14px}.trip-purpose,.trip-meta{font-size:11px}.trip-card>.status-badge{font-size:10px}.trip-card-time>span{font-size:10px}.trip-card-time strong{font-size:18px}.agenda-date{font-size:10px}.status-legend span{font-size:10px}.page-heading p{font-size:12px}.login-form-inner>.muted,.login-help{font-size:12px}.form-field .help-text{font-size:12px}.mobile-nav>a{font-size:10px}.status-panel .muted,.history-list strong{font-size:12px}.history-list li>span:not(.history-marker){font-size:11px}.history-list time,.record-meta{font-size:10px}}
@media(max-width:380px){.main-content{padding-left:13px;padding-right:13px}.topbar{padding:0 15px}.private-badge{font-size:0;gap:0}.private-badge .icon{width:15px;height:15px}.page-heading>.button{font-size:9px;padding:9px;min-height:40px}.page-heading>.button .icon{display:none}.main-content h1{font-size:25px}.date-navigation h2{font-size:12px}.calendar-toolbar{padding:15px 12px}.agenda{padding:15px 12px}.trip-card{grid-template-columns:45px 1fr;gap:0 9px}.trip-card-main{padding-left:10px}.trip-card>.status-badge{margin-left:10px}.trip-card-time strong{font-size:16px}.journey-stop{grid-template-columns:47px 13px 1fr;gap:10px}.journey-stop:first-child:after{left:63px}.journey-stop h2{font-size:13px}.journey-time strong{font-size:18px}.journey-resources{grid-template-columns:1fr}.login-form-panel{padding:26px 22px}.login-story{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Jedna sada kalendářových záznamů se přizpůsobuje šířce obrazovky. */
.calendar-day-heading { width: 100%; margin: 0; font-size: inherit; }
.month-day .calendar-day-heading { text-align: right; }
.calendar-day-link { display: inline-flex; align-items: center; justify-content: center; }
.week-day .calendar-day-link { flex-direction: column; gap: 8px; }
.calendar-weekday-label { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.calendar-day-mobile-label, .calendar-mobile-empty { display: none; }
.calendar-entry {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  padding: 10px 8px;
  border-left: 3px solid #8295ac;
  border-radius: 5px;
  background: #f1f4f7;
  overflow-wrap: anywhere;
}
.calendar-entry:hover { background: #eaf1f2; }
.calendar-entry-time { color: #526b76; font-size: 11px; font-weight: 650; }
.calendar-entry-dates { display: block; font-size: 10px; font-weight: 400; }
.calendar-entry-route { display: flex; flex-direction: column; gap: 3px; min-width: 0; font-size: 12px; }
.calendar-entry-route strong { font-weight: 600; }
.calendar-entry-arrow { color: #7c939a; font-size: 11px; line-height: 1; }
.calendar-entry-driver, .calendar-entry-vehicle { font-size: 10px; color: #5e777f; }
.calendar-entry .status-badge { align-self: flex-start; font-size: 9px; white-space: normal; }
.calendar-entry-month { padding: 6px; gap: 2px; }
.calendar-entry-month .calendar-entry-time,
.calendar-entry-month .calendar-entry-route { font-size: 11px; }
.calendar-entry-month .calendar-entry-origin,
.calendar-entry-month .calendar-entry-arrow,
.calendar-entry-month .calendar-entry-arrival,
.calendar-entry-month .calendar-entry-driver,
.calendar-entry-month .calendar-entry-vehicle { display: none; }
.calendar-entry.trip-border-CONFIRMED { background: #eef7f2; }
.calendar-entry.trip-border-IN_PROGRESS { background: #fdf7e9; }
.calendar-entry.trip-border-COMPLETED { background: #eef5f9; }
.calendar-entry.trip-border-CANCELLED { background: #f8f1f1; }
.calendar-pagination { flex-wrap: wrap; padding: 20px; }
.calendar-pagination p { flex-basis: 100%; margin: 0; text-align: center; }
.calendar-page-notice { margin: 16px 20px; }
.calendar-page-notice .text-link { display: inline-flex; align-items: center; min-height: 44px; }
.calendar-page-empty { color: #657f87; font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }

/* Dlouhé adresy a názvy nesmí rozšířit stránku mimo viewport. */
.main-content, .panel, .detail-sidebar, .page-heading > div,
.journey-stop > div, .journey-resources > div, .person-cell > div,
.trip-meta span, .calendar-entry > span { min-width: 0; }
.page-heading h1, .page-heading p, .journey-resources dd,
.record-meta, .history-list, .trip-purpose, .trip-meta,
.person-cell, .table-scroll td, .notice, .help-text {
  overflow-wrap: anywhere;
}
.trip-card-route { flex-wrap: wrap; }
.table-scroll { max-width: 100%; overscroll-behavior-inline: contain; }
.table-scroll:focus-visible { outline: 3px solid #70bfb5; outline-offset: 2px; }
.table-scroll-hint { display: none; }
.account-mobile-actions { margin: 0 0 26px; }
.install-help { max-width: 720px; margin-bottom: 26px; }
.install-help summary { min-height: 48px; padding: 16px 20px; cursor: pointer; font-size: 13px; font-weight: 600; }
.install-help > div { padding: 0 20px 6px; font-size: 13px; overflow-wrap: anywhere; }
.install-help p { margin-bottom: 14px; }
.filter-form { flex-wrap: wrap; }
.form-field input, .form-field select, .form-field textarea { max-width: 100%; }
.mfa-secret { -webkit-user-select: all; user-select: all; }

/* Štít zůstane nad soukromým DOM při návratu z BFCache do ověření serverem. */
.private-page-suspended .workspace,
.private-page-suspended .sidebar,
.private-page-suspended .mobile-nav,
.private-page-suspended .skip-link {
  visibility: hidden;
  pointer-events: none;
}
.session-resume {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  overflow: auto;
  padding: 24px;
  background: var(--background);
}
.session-resume .panel { width: 100%; max-width: 440px; padding: 28px; }
.session-resume p { color: var(--muted); }
.session-resume .button { width: 100%; min-height: 48px; margin-top: 10px; }

/* Tablety a telefony mohou mít velký viewport i při ovládání dotykem. */
@media (any-pointer: coarse) {
  .button, .button-small, .icon-button, .arrow-group .icon-button,
  .view-switch a, .table-action, .back-link, .text-link,
  .calendar-day-link, .account-menu summary, .account-menu-content a,
  .account-menu-content button, .audit-detail summary, .calendar-entry {
    min-height: 44px;
    min-width: 44px;
  }
  .form-field input:not([type=checkbox]):not([type=radio]),
  .form-field select, .form-field textarea { font-size: 16px; }
  .checkbox-field label { display: flex; align-items: center; min-height: 44px; }
}

@media (max-width: 760px) {
  html { scroll-padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)); }
  .main-content {
    padding-right: max(16px, env(safe-area-inset-right, 0px));
    padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px));
    padding-left: max(16px, env(safe-area-inset-left, 0px));
  }
  .topbar {
    height: auto;
    min-height: calc(60px + env(safe-area-inset-top, 0px));
    padding-top: env(safe-area-inset-top, 0px);
    padding-right: max(16px, env(safe-area-inset-right, 0px));
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    gap: 8px;
  }
  .topbar-label { min-width: 0; overflow-wrap: anywhere; }
  .topbar-actions { flex-shrink: 0; }
  .mobile-nav {
    padding-right: max(10px, env(safe-area-inset-right, 0px));
    padding-left: max(10px, env(safe-area-inset-left, 0px));
    padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
  }
  .mobile-nav > a, .mobile-nav .mobile-add { flex: 1 1 0; min-width: 0; max-width: 110px; }
  .page-heading { flex-wrap: wrap; align-items: flex-start; }
  .page-heading > div { flex: 1 1 210px; }
  .button, .button-small, .page-heading > .button,
  .filter-form .button, .install-banner > .button, .account-mobile-actions .button,
  .icon-button, .arrow-group .icon-button, .view-switch a,
  .table-action, .back-link, .filter-form > .text-link {
    min-height: 48px;
    min-width: 44px;
    font-size: 12px;
  }
  .icon-button, .arrow-group .icon-button { width: 48px; height: 48px; }
  .view-switch a { display: flex; align-items: center; justify-content: center; }
  .back-link, .table-action { padding: 8px; }
  .calendar-toolbar { gap: 16px; }
  .date-navigation { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
  .date-navigation h2 { grid-column: 1 / -1; grid-row: 1; font-size: 16px; overflow-wrap: anywhere; }
  .arrow-group { justify-self: start; }
  .today-button { margin: 0; }
  .filters summary { flex-wrap: wrap; gap: 8px; font-size: 12px; }
  .result-count { font-size: 11px; }
  .filter-form { grid-template-columns: minmax(0, 1fr); }
  .filter-form label { font-size: 12px; }
  .filter-form > .text-link { display: flex; align-items: center; justify-content: center; }
  .form-field input:not([type=checkbox]):not([type=radio]),
  .form-field select, .form-field textarea {
    min-height: 48px;
    min-width: 0;
    font-size: 16px;
    scroll-margin-bottom: 140px;
  }
  .checkbox-field label { display: flex; align-items: center; min-height: 48px; }
  .form-actions { align-items: stretch; }
  .form-actions .button { flex: 1 1 150px; }
  .account-mobile-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .account-mobile-actions .button { width: 100%; }
  .install-banner > div { padding-right: 42px; }
  .install-banner > .icon-button { top: 2px; right: 2px; }
  .install-banner > .button { width: 100%; }
  .connectivity-notice {
    position: static;
    margin: 20px 0 0;
    font-size: 12px;
  }
  .auth-content {
    padding-top: max(20px, env(safe-area-inset-top, 0px));
    padding-right: max(15px, env(safe-area-inset-right, 0px));
    padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
    padding-left: max(15px, env(safe-area-inset-left, 0px));
  }
  .trip-card { grid-template-columns: 54px minmax(0, 1fr); }
  .trip-card-route strong, .trip-meta span { min-width: 0; }
  .journey-stop { grid-template-columns: 48px 15px minmax(0, 1fr); gap: 10px; }
  .journey-stop:first-child:after { left: 65px; }
  .journey-resources { grid-template-columns: minmax(0, 1fr); }
  .panel-heading { flex-wrap: wrap; }
  .audit-detail summary { min-height: 44px; padding: 8px 0; }
  .table-scroll-hint { display: block; margin: 0; padding: 12px 18px; color: #5e777f; font-size: 11px; }
  .pagination { flex-wrap: wrap; }

  /* Stejný HTML pohled jako na PC; bez druhé skryté agendy a detekce zařízení. */
  .week-calendar, .month-week { display: block; }
  .week-calendar { min-height: 0; }
  .weekday-row, .calendar-weekday-label, .month-day.is-empty { display: none; }
  .month-week + .month-week, .month-day + .month-day, .week-day + .week-day { border: 0; }
  .month-day, .week-day { display: block; min-height: 0; padding: 18px 15px; border-bottom: 1px solid var(--line); }
  .month-day.outside-month { background: #fff; }
  .month-day .calendar-day-heading { text-align: left; }
  .week-day header { display: block; padding: 0; border: 0; background: transparent; }
  .week-day .calendar-day-link, .calendar-day-link { flex-direction: row; justify-content: flex-start; gap: 10px; min-height: 44px; }
  .calendar-day-mobile-label { display: inline; font-size: 12px; color: #4c6871; }
  .calendar-day-link .day-number { width: 32px; height: 32px; flex-shrink: 0; font-size: 14px; }
  .week-day-trips, .month-trips { display: grid; gap: 10px; padding: 10px 0 0; }
  .day-empty { padding: 0 0 0 43px; text-align: left; font-size: 11px; color: #657f87; }
  .calendar-entry, .calendar-entry-month {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 6px 12px;
    padding: 16px 12px;
    min-height: 48px;
  }
  .calendar-entry .calendar-entry-time { grid-column: 1; grid-row: 1 / 5; display: flex; flex-direction: column; gap: 4px; font-size: 15px; }
  .calendar-entry .calendar-entry-arrival { display: block; font-size: 11px; font-weight: 400; }
  .calendar-entry .calendar-entry-route { grid-column: 2; font-size: 14px; }
  .calendar-entry .calendar-entry-origin { display: block; }
  .calendar-entry .calendar-entry-arrow { display: block; padding: 3px 0; }
  .calendar-entry .calendar-entry-driver, .calendar-entry .calendar-entry-vehicle { display: block; grid-column: 2; font-size: 11px; }
  .calendar-entry .status-badge { display: inline-flex; grid-column: 2; justify-self: start; font-size: 10px; margin-top: 3px; }
  .calendar-mobile-empty { display: block; }
  .calendar-pagination { gap: 12px; }
  .calendar-pagination > p { font-size: 12px; text-align: left; }
  .calendar-pagination > .button { flex: 1 1 170px; }
  .calendar-pagination > span { flex-basis: 100%; text-align: center; }
}

@media (max-width: 380px) {
  .page-heading > .button { width: 100%; }
  .page-heading > .button .icon { display: inline-block; }
  .calendar-entry, .calendar-entry-month { gap: 6px 9px; padding: 14px 10px; }
  .session-resume { padding: 16px; }
  .session-resume .panel { padding: 22px; }
}

/* IE Group: oficiální antracitová identita; barvy provozních stavů zůstávají významové. */
body { font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; }
.brand { flex-direction: column; align-items: flex-start; gap: 15px; }
.brand-logo { display: block; width: 184px; max-width: 100%; height: auto; aspect-ratio: 358 / 98; }
.brand-caption { display: block; font-size: 17px; }
.brand small { color: var(--brand-grey); }
.sidebar { color: #e5e4e3; overflow-y: auto; }
.sidebar .brand { padding: 0 12px; }
.nav-label { margin-top: 32px; color: var(--brand-grey); }
.nav-item, .nav-item .icon { color: #bfc0c2; }
.nav-item:hover { color: #fff; background: var(--brand-hover); }
.nav-item.active { color: #fff; background: #353b3d; }
.nav-item.active .icon { color: #fff; }
.sidebar-note { color: #c5c5c6; }
.sidebar-note small, .account-info span { color: var(--brand-grey); }
.connection-dot { background: var(--brand-grey); }
.account-panel { border-color: #353b3d; }
.avatar { background: #e9e5e2; color: #4d484a; }
.mobile-brand { display: none; }
.private-badge, .icon-button { color: var(--muted); }
.button-primary { box-shadow: 0 3px 7px #11161812; }
.button-primary:hover { box-shadow: 0 3px 10px #11161825; }
.button-secondary { border-color: var(--line); color: #464244; }
.button-secondary:hover, .icon-button:hover { background: #efebe8; }
.count-badge, .form-symbol, .empty-icon, .vehicle-symbol {
  background: var(--brand-soft);
  color: var(--brand);
  border-color: var(--line);
}
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible,
.table-scroll:focus-visible { outline-color: var(--brand-focus); }
.form-field label { color: #514d4f; }
.required-mark { color: var(--muted); }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--brand-focus); }
.form-field input[readonly] { background: var(--brand-soft); }
.form-field input::placeholder, .form-field textarea::placeholder { color: #7a7779; }
.mfa-secret { background: var(--brand-soft); border-color: #d8d4d1; color: var(--ink); }
.setup-steps { color: #5f5b5d; }
.view-switch { background: #eeebe9; border-color: var(--line); }
.view-switch a, .filters summary, .result-count { color: var(--muted); }
.view-switch a[aria-current] { color: var(--ink); box-shadow: 0 1px 4px #11161812; }
.filters { background: #fcfbfa; }
.weekday-row, .week-day header { background: #fbfaf9; }
.weekday-row span, .day-number { color: var(--muted); }
.day-number:hover { background: #e6e2df; }
.is-today .day-number:hover { background: var(--brand-hover); color: #fff; }
.month-day.is-today, .week-day.is-today { background: var(--brand-soft); }
.week-day.is-today header { background: #eeebe8; }
.outside-month { background: #faf8f7; }
.outside-month > .day-number { color: #aaa6a5; }
.calendar-footer, .agenda-date, .trip-purpose, .trip-meta,
.calendar-entry-time, .calendar-entry-arrow, .calendar-entry-driver,
.calendar-entry-vehicle, .calendar-day-mobile-label,
.calendar-page-empty, .day-empty { color: var(--muted); }
.trip-card:hover { background: #fcfbfa; box-shadow: 0 3px 15px #11161808; }
.calendar-entry.trip-border-PLANNED:hover { background: #edf0f3; }
.trip-card-route .icon, .trip-card-arrow .icon { color: #959093; }
.journey-time > span, .field-caption, .journey-resources dt,
.journey-resources dd small, .trip-notes h3, .trip-notes p,
.history-list li > span:not(.history-marker), .history-list time,
.record-meta, .table-scroll-hint, td small { color: var(--muted); }
.stop-marker { border-color: var(--brand-grey); }
.journey-stop:first-child:after { background: #ddd8d5; }
.stop-marker.destination { box-shadow: 0 0 0 4px #e9e5e2; }
.journey-resources { background: #fbfaf9; }
.history-list li:not(:last-child):before { background: var(--line); }
.history-marker { background: #e9e5e2; box-shadow: inset 0 0 0 2px var(--brand-grey); }
th { color: var(--muted); background: #fcfbfa; }
.empty-cell { color: var(--muted); }
.registration { background: var(--brand-soft); border-color: var(--line); }
.audit-detail pre { background: var(--brand-soft); }
.auth-shell { background: var(--brand-soft); }
.login-layout { border-color: var(--line); box-shadow: 0 12px 70px #11161810; }
.login-story { color: #eeecea; }
.login-story .brand-logo { width: 220px; }
.login-story .brand-caption { font-size: 18px; }
.login-story-content > .eyebrow, .login-footer { color: var(--brand-grey); }
.login-story p { color: #c6c3c2; }
.decorative-route span { border-color: var(--brand-grey); }
.decorative-route span:last-child { background: #fff; box-shadow: 0 0 0 6px #ffffff14; }
.decorative-route i { background: #747578; }
.login-help, .secure-caption { color: var(--muted); }
.secure-caption { border-color: var(--line); }
.install-banner { border-color: var(--line); background: var(--brand-soft); }
.install-banner strong { color: var(--ink); }
.install-banner span { color: var(--muted); }
.mobile-nav { border-color: var(--line); box-shadow: 0 -3px 20px #11161808; }
.mobile-nav > a { color: var(--muted); }
.mobile-nav .mobile-add { color: #fff; }

@media (max-width: 760px) {
  .topbar {
    background: var(--brand);
    border-color: var(--brand);
    min-height: calc(76px + env(safe-area-inset-top, 0px));
    padding-top: calc(8px + env(safe-area-inset-top, 0px));
    padding-bottom: 8px;
  }
  .topbar-label { display: none; }
  .mobile-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
    min-height: 48px;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .3px;
  }
  .mobile-brand img { display: block; width: 122px; max-width: 100%; height: auto; aspect-ratio: 358 / 98; }
  .topbar .icon-button { color: #fff; }
  .topbar .icon-button:hover { background: var(--brand-hover); }
  .topbar .private-badge { color: var(--brand-grey); }
  .topbar a:focus-visible, .topbar button:focus-visible { outline-color: #fff; }
  .login-story .brand { gap: 12px; }
  .login-story .brand-logo { width: 176px; }
  .login-story .brand-caption { font-size: 16px; }
  .login-story-content { padding-top: 24px; }
  .week-day header { background: transparent; }
}

.sso-form { margin-top: 12px; }
.count-badge { display: inline-flex; min-width: 22px; min-height: 22px; align-items: center; justify-content: center; padding: 0 5px; border-radius: 20px; background: #fff; color: var(--ink); font-size: 11px; }
.mfa-deadline { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.mfa-deadline p { margin: 5px 0 0; }
.mfa-deadline .button { flex-shrink: 0; }
.security-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-bottom: 20px; }
.record-card, .device-card { display: block; min-width: 0; padding: 24px; margin-bottom: 16px; overflow-wrap: anywhere; }
.record-card h2, .device-card h2 { margin: 0 0 12px; font-size: 18px; line-height: 1.4; }
.record-card p, .device-card p { margin: 10px 0; line-height: 1.65; }
.record-card code, .device-card code { white-space: normal; overflow-wrap: anywhere; }
.record-card .filter-form, .device-card .filter-form { padding: 16px 0; }

/* Focused planning: simple form, explicit choices and safe calendar shortcuts. */
.trip-form-panel { max-width: 860px; }
.form-section { padding: 0; margin: 0; border: 0; min-width: 0; }
.form-section + .form-section { padding-top: 22px; border-top: 1px solid var(--line); }
.form-section legend { display: flex; gap: 10px; align-items: center; font-size: 16px; font-weight: 650; padding: 0 0 16px; }
.form-section legend > span { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; background: var(--brand-soft); border-radius: 50%; font-size: 12px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-section > .help-text { margin: -5px 0 14px; }
.form-optional { border: 1px solid var(--line); border-radius: 10px; padding: 0 16px; }
.form-optional > summary { padding: 15px 0; cursor: pointer; font-weight: 600; }
.form-optional > summary span { font-size: 12px; color: var(--muted); font-weight: 400; margin-left: 8px; }
.form-optional > div { padding-bottom: 16px; }
.form-error-summary a { text-decoration: underline; }
.lookup-fallback-actions { border-top: 1px solid var(--line); padding-top: 12px; }
.lookup-fallback-actions button { border: 0; background: none; padding: 8px 0; cursor: pointer; }
.lookup-fallback-actions .help-text { margin: 3px 0 0; }
.resource-picker { position: relative; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.picker-enhanced > .form-field:has(select[hidden]) { display: none; }
.picker-options { position: absolute; z-index: 40; left: 0; right: 0; top: 76px; max-height: 260px; overflow: auto; overscroll-behavior: contain; background: #fff; border: 1px solid var(--line); border-radius: 9px; box-shadow: 0 12px 30px #11161822; }
.picker-options button { display: block; width: 100%; min-height: 44px; text-align: left; padding: 11px 13px; border: 0; border-bottom: 1px solid var(--line); background: #fff; color: var(--ink); font: inherit; overflow-wrap: anywhere; cursor: pointer; }
.picker-options button:hover, .picker-options button[aria-selected="true"] { background: var(--brand-soft); }
.picker-clear, .picker-fallback { align-self: flex-start; min-height: 30px; border: 0; background: none; padding: 3px 0; color: var(--muted); font-size: 12px; cursor: pointer; text-decoration: underline; }
.filter-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 20px; border-bottom: 1px solid var(--line); }
.filter-chip { display: inline-flex; align-items: center; gap: 12px; min-height: 38px; border: 1px solid var(--line); border-radius: 24px; padding: 7px 12px; font-size: 12px; background: var(--brand-soft); }
.filter-chip > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.filter-chip > span:last-child { font-size: 19px; }
.calendar-day-add { display: flex; align-items: center; justify-content: center; gap: 4px; min-height: 36px; margin: 5px 7px; color: var(--muted); font-size: 10px; border: 1px dashed var(--line); border-radius: 6px; }
.calendar-day-add .icon { width: 13px; height: 13px; }
.calendar-day-add:hover { background: var(--brand-soft); color: var(--ink); }
.month-day > .calendar-day-add { width: 100%; margin: 0; }
.drop-target { outline: 2px solid var(--brand-focus); outline-offset: -3px; background: var(--brand-soft); }
.is-dragging { opacity: .5; }
[draggable="true"] { cursor: grab; }
[draggable="true"]:active { cursor: grabbing; }
.next-trip { box-shadow: 0 0 0 1px var(--ink); }
.next-trip-label { display: block; width: fit-content; font-size: 10px; font-weight: 650; background: var(--ink); color: #fff; padding: 3px 7px; border-radius: 4px; margin-bottom: 8px; }
.trip-tools { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 20px; }
.change-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.change-comparison > section { padding: 16px; background: var(--brand-soft); border-radius: 8px; overflow-wrap: anywhere; }
.change-comparison > section:last-child { border: 1px solid #b4c4bb; background: #f4f8f5; }
.change-comparison p:last-child { margin-bottom: 0; }
.calendar-view-preference { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.calendar-view-preference .button { width: 100%; }
.security-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin: 0 0 20px; }
.security-summary > * { padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.notification-priority { display: inline-block; padding: 4px 8px; border-radius: 5px; background: #fff0db; color: #735019; font-size: 12px; font-weight: 650; }
.notification-history { margin-top: 12px; }
.notification-history summary { cursor: pointer; min-height: 36px; }
@media (max-width: 760px) {
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .change-comparison { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .form-section legend { font-size: 15px; }
  .filter-chips { padding: 10px 12px; }
  .filter-chip { min-height: 44px; max-width: 100%; }
  .calendar-day-add { justify-content: flex-start; min-height: 44px; padding: 0 12px; margin: 6px 0 12px; font-size: 12px; }
  .calendar-page .month-day.is-empty[data-drop-date] { display: block; }
  .calendar-page .month-day.outside-month.is-empty { display: none; }
  .trip-tools { gap: 8px; }
  .trip-tools .button { flex: 1 1 auto; }
  .picker-clear { min-height: 40px; }
}
.record-card .form-actions, .device-card .form-actions { margin-top: 20px; flex-wrap: wrap; }
@media (max-width: 760px) {
  .record-card, .device-card { padding: 20px 17px; }
  .record-card .form-actions form, .device-card .form-actions form { width: 100%; }
  .record-card .form-actions .button, .device-card .form-actions .button { width: 100%; }
}
.security-card { padding: 25px; min-width: 0; }
.security-card h2 { display: flex; align-items: center; gap: 10px; }
.security-card p { color: var(--muted); }
.security-card .button, .security-card form { margin-top: 8px; }
.security-list { list-style: none; padding: 0; margin: 20px 0 0; }
.security-list li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.security-list strong, .security-list small { display: block; }
.security-list small { color: var(--muted); margin-top: 4px; }
.security-status { display: inline-flex; align-items: center; gap: 7px; padding: 5px 10px; border-radius: 20px; background: #edf5ef; color: #235c3b; font-size: 12px; font-weight: 600; }
.security-status::before { content: ''; width: 6px; height: 6px; background: currentColor; border-radius: 50%; }
.security-wide { grid-column: 1 / -1; }
.button-danger { background: #fff; color: #923c36; border-color: #e4bdb8; }
.button-danger:hover { background: #fff3f1; }
.recovery-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 20px; background: var(--brand-soft); border-radius: 10px; font-family: Consolas, monospace; overflow-wrap: anywhere; }
.lookup-results { list-style: none; padding: 0; margin: 8px 0; border: 1px solid var(--line); border-radius: 8px; max-height: 280px; overflow-y: auto; }
.lookup-results:empty { display: none; }
.lookup-results button { display: block; width: 100%; padding: 12px; border: 0; border-bottom: 1px solid var(--line); background: #fff; color: var(--ink); min-height: 48px; text-align: left; overflow-wrap: anywhere; }
.lookup-results button:hover { background: var(--brand-soft); }
.feature-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.narrow-panel { max-width: 640px; padding: 28px; margin: 30px auto; }
@media (max-width: 760px) {
  .security-grid { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .security-card { padding: 20px; }
  .security-list li { flex-wrap: wrap; }
  .security-list .button { width: 100%; }
  .mfa-deadline { align-items: flex-start; flex-direction: column; }
  .mfa-deadline .button { width: 100%; }
  .recovery-codes { grid-template-columns: minmax(0, 1fr); }
  .feature-actions .button { flex: 1 1 120px; min-height: 48px; }
}
/* Kalendář je hlavní pracovní plocha; ostatní nástroje jsou v rozbalovací nabídce. */
.calendar-page .topbar { height: 64px; }
.calendar-page .main-content { padding-top: 20px; }
.calendar-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.calendar-heading h1 { font-size: 24px; letter-spacing: -.5px; margin: 0; }
.calendar-heading .button { flex-shrink: 0; min-height: 44px; }
.calendar-toolbar { display: flex; flex-direction: row; align-items: center; gap: 12px 20px; padding: 16px 20px; }
.date-navigation { display: flex; flex-wrap: wrap; gap: 12px; width: auto; flex: 1 1 320px; }
.date-navigation h2 { font-size: 18px; line-height: 1.35; overflow-wrap: anywhere; }
.date-controls { order: -1; display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.date-controls .today-button { min-height: 44px; margin: 0; padding: 10px 13px; }
.date-controls .arrow-group .icon-button { width: 44px; height: 44px; }
.calendar-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.calendar-tools .view-switch { align-self: auto; }
.calendar-tools .view-switch a { display: flex; align-items: center; justify-content: center; min-height: 40px; min-width: 44px; font-size: 12px; }
.calendar-more { position: relative; }
.calendar-more summary { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 7px; font-size: 12px; font-weight: 600; list-style: none; cursor: pointer; }
.calendar-more summary::-webkit-details-marker { display: none; }
.calendar-more summary::after { content: '⌄'; margin-left: 8px; }
.calendar-more[open] summary { background: var(--brand-soft); }
.calendar-more-content { position: absolute; top: calc(100% + 8px); right: 0; z-index: 25; width: min(320px, calc(100vw - 32px)); padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 8px 28px #1116181a; }
.calendar-more-content > a { display: flex; align-items: center; min-height: 48px; padding: 10px 12px; border-radius: 6px; font-size: 13px; font-weight: 600; }
.calendar-more-content > a:hover { background: var(--brand-soft); }
.calendar-more-content > p { margin: 8px 12px 4px; font-size: 12px; color: var(--muted); }
.calendar-date-picker { display: grid; gap: 10px; padding: 0 0 12px; margin-bottom: 6px; border-bottom: 1px solid var(--line); }
.calendar-date-picker .button { min-height: 44px; }
.calendar-page .filters summary { min-height: 44px; padding: 9px 20px; }
.calendar-page .filters .help-text { flex-basis: 100%; margin: 0; }
.calendar-page .agenda { padding: 16px 20px; }
.calendar-page .trip-card:last-child { margin-bottom: 0; }
.calendar-page .empty-state { padding: 38px 20px; }
.calendar-page .empty-state .button { margin: 4px; }
.calendar-page .mfa-deadline { margin-bottom: 14px; padding: 8px 12px; }
.calendar-page .mfa-deadline .button { min-height: 44px; }
.trip-card:focus-visible, .calendar-entry:focus-visible { outline-offset: 2px; }
.mobile-nav > a[aria-current] { color: var(--ink); font-weight: 700; }
.mobile-nav > form { display: flex; flex: 1 1 0; max-width: 150px; margin: 0; }
.mobile-nav > form > button { width: 100%; min-height: 48px; padding: 8px; border: 0; border-radius: 8px; color: var(--ink); background: transparent; font-size: 12px; }

/* Průvodce ukazuje stav, nikoli odkazy na dosud nepovolené firemní stránky. */
.onboarding-guide { max-width: 720px; padding: 16px 18px; margin-bottom: 22px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.onboarding-guide h2 { margin-bottom: 12px; font-size: 15px; }
.onboarding-steps { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.onboarding-step { display: flex; align-items: center; gap: 8px; flex: 1 1 130px; min-width: 0; }
.step-number { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex-shrink: 0; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); font-size: 12px; }
.onboarding-step strong, .onboarding-step small { display: block; overflow-wrap: anywhere; }
.onboarding-step strong { color: var(--muted); font-size: 12px; font-weight: 500; }
.onboarding-step small { color: var(--muted); font-size: 10px; }
.step-current .step-number { color: #fff; background: var(--brand); border-color: var(--brand); }
.step-current strong { color: var(--ink); font-weight: 700; }
.step-done .step-number { color: #235c3b; background: #edf5ef; border-color: #c7ddce; }
.onboarding-guide > p { margin: 12px 0 0; color: var(--muted); font-size: 12px; }
.onboarding-shell .page-heading { max-width: 720px; margin-bottom: 18px; }
.onboarding-shell .main-content h1 { font-size: 26px; }
.onboarding-shell .verification-panel .form-symbol { display: none; }
.onboarding-shell .verification-panel h1 { margin-top: 0; }
.account-shortcuts { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.account-shortcuts .button { min-height: 48px; }
.account-shortcuts form { margin: 0; }
.account-administration { padding: 20px; margin-bottom: 22px; }
.account-administration h2 { margin-bottom: 12px; }
.account-administration .account-shortcuts { margin-bottom: 0; }
.form-panel + .install-help { margin-top: 20px; }

@media (any-pointer: coarse) {
  .calendar-tools .view-switch a, .calendar-more summary { min-height: 44px; }
}

@media (max-width: 760px) {
  .calendar-page .topbar { height: auto; min-height: calc(64px + env(safe-area-inset-top, 0px)); padding-top: calc(4px + env(safe-area-inset-top, 0px)); padding-bottom: 4px; }
  .calendar-page .mobile-brand img { width: 110px; }
  .calendar-page .main-content { padding-top: 12px; }
  .calendar-heading { height: 0; margin: 0; }
  .calendar-heading h1 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .calendar-heading > .button { display: none; }
  .calendar-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 12px 10px 10px; }
  .date-navigation, .calendar-tools { display: contents; }
  .date-navigation h2 { grid-column: 1 / -1; grid-row: 1; font-size: 18px; margin-bottom: 2px; }
  .date-controls { grid-column: 1; grid-row: 2; order: 0; gap: 4px; }
  .date-controls .today-button { min-width: 48px; min-height: 48px; padding: 8px; font-size: 12px; }
  .date-controls .arrow-group .icon-button { width: 44px; height: 48px; min-height: 48px; }
  .calendar-more { grid-column: 2; grid-row: 2; }
  .calendar-more summary { min-height: 48px; padding: 8px; font-size: 11px; }
  .calendar-more summary::after { margin-left: 4px; }
  .calendar-more-content { width: min(300px, calc(100vw - 54px)); }
  .calendar-more-content .button { min-height: 48px; }
  .calendar-tools .view-switch { grid-column: 1 / -1; grid-row: 3; display: flex; padding: 2px; margin: 0; }
  .calendar-tools .view-switch a { min-height: 48px; padding: 8px 4px; font-size: 12px; }
  .calendar-page .filters summary { min-height: 48px; padding: 8px 12px; gap: 6px; }
  .calendar-page .agenda { padding: 12px; }
  .calendar-page .empty-state { padding: 26px 14px; }
  .calendar-page .empty-icon { margin-bottom: 14px; width: 46px; height: 46px; }
  .calendar-page .empty-state p { font-size: 12px; }
  .calendar-page .mfa-deadline { flex-direction: row; align-items: center; gap: 8px; font-size: 11px; }
  .calendar-page .mfa-deadline .button { width: auto; padding: 8px; font-size: 11px; min-height: 48px; }
  .onboarding-guide { padding: 14px; margin-bottom: 18px; }
  .onboarding-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 8px; }
  .onboarding-step { gap: 6px; }
  .onboarding-step strong { font-size: 11px; }
  .onboarding-shell .main-content { padding-top: 18px; }
  .onboarding-shell .main-content h1 { font-size: 24px; }
  .account-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .account-shortcuts .button, .account-shortcuts form { width: 100%; min-width: 0; }
  .account-administration { padding: 16px; }
  .login-story-content { padding-top: 16px; padding-bottom: 0; }
  .login-story h1 { font-size: 23px; }
}

@media print{.sidebar,.topbar,.mobile-nav,.page-heading>.button,.calendar-heading>.button,.calendar-more,.onboarding-guide,.filters,.view-switch,.arrow-group,.today-button,.install-banner,.status-actions,.navigate-button,.back-link,.session-resume{display:none!important}.workspace{margin:0}.main-content{padding:0}.panel{box-shadow:none}.calendar-toolbar{padding-left:0}.status-badge{border:1px solid #bbb}.calendar-footer{color:#555}.trip-card,.calendar-entry{break-inside:avoid}body{background:white}.detail-layout{display:block}.detail-sidebar{display:block;margin-top:20px}}
