/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#1b214e;--ink-soft:#27306f;--paper:#f4f6fa;--white:#fff;--navy:#27306f;--navy-deep:#171d4f;--navy-soft:#e8eef6;--red:#d7030b;--red-dark:#b90008;--line:#dce2ec;--muted:#6b7188;--success:#0c7a48;--error:#b42318}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.app-shell{min-height:100vh;padding-bottom:32px}.topbar{z-index:20;background:#fff;border-bottom:1px solid #e2e6ef;justify-content:space-between;align-items:center;height:86px;padding:0 clamp(20px,5vw,72px);display:flex;position:relative;box-shadow:0 8px 30px #27306f14}.topbar:after,.admin-topbar:after{background:linear-gradient(120deg, var(--red) 0 43%, white 43% 50%, var(--navy) 50% 100%);content:"";width:76px;height:4px;position:absolute;bottom:-1px;right:clamp(20px,5vw,72px);transform:skew(-18deg)}.brand{align-items:center;gap:17px;display:flex}.brand-logo{width:320px;max-width:min(320px,52vw);height:auto}.brand-area{color:var(--navy);letter-spacing:.19em;text-transform:uppercase;border-left:1px solid #d6dbe7;padding:7px 0 7px 17px;font-size:10px;font-weight:800}.header-actions{align-items:center;gap:8px;display:flex;position:relative}.header-menu{z-index:50;background:#fff;border:1px solid #d8deeb;border-radius:12px;min-width:225px;padding:7px;display:grid;position:absolute;top:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 16px 42px #12184833}.header-menu button{color:var(--navy);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;width:100%;min-height:43px;padding:9px 12px;font-weight:750;display:flex}.header-menu button:hover{background:var(--navy-soft)}.header-menu .header-menu-logout{color:var(--red);border-top:1px solid #e4e8f0;margin-top:5px;padding-top:11px}.driver-name{color:var(--navy);margin-right:4px;font-size:12px;font-weight:800}.driver-login-loading,.driver-login-page{color:#fff;background:linear-gradient(105deg,#121848f5,#1e265eb8),url(/brand/hattendorf-lkw.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.driver-login-card{border-left:6px solid var(--red);color:var(--ink);background:#fff;border-radius:14px;width:100%;max-width:470px;padding:38px;box-shadow:0 24px 80px #070c305c}.driver-login-card>img{max-width:100%;height:auto;margin-bottom:34px}.driver-login-icon{background:var(--navy-soft);color:var(--navy);border-radius:11px;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:22px;display:flex}.driver-login-card h1{color:var(--navy-deep);margin:0 0 10px;font-size:30px}.driver-login-copy{color:var(--muted);margin:0 0 24px;line-height:1.55}.driver-login-card form,.driver-login-card label{gap:8px;display:grid}.driver-login-card form{gap:16px}.driver-login-card label span{font-size:12px;font-weight:800}.driver-login-card input{border:1px solid #cfd5e1;border-radius:8px;outline:none;min-height:48px;padding:11px 13px}.driver-login-card input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #27306f1f}.driver-login-card button{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:50px;margin-top:4px;font-weight:800;display:flex}.driver-login-card button:disabled{cursor:not-allowed;opacity:.6}.driver-login-card>small{color:var(--muted);text-align:center;margin-top:20px;display:block}.driver-login-error{color:var(--error);background:#fff0ee;border-radius:8px;align-items:center;gap:8px;padding:12px;font-size:13px;display:flex}.icon-button{background:var(--navy-soft);color:var(--navy);cursor:pointer;border:1px solid #d8deeb;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;transition:background .16s,transform .16s;display:flex;position:relative}.icon-button:hover{background:#dce5f1;transform:translateY(-1px)}.notification-dot{background:var(--red);border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:7px;right:7px}.hero{color:#fff;background:linear-gradient(92deg,#121848fa 0%,#1b2258ed 44%,#1b225861 76%,#1b22582e 100%),url(/brand/hattendorf-lkw.jpg) 50%/cover no-repeat;position:relative;overflow:hidden}.hero:after{background:linear-gradient(90deg, var(--red) 0 42%, white 42% 49%, var(--navy) 49% 100%);content:"";opacity:.94;width:clamp(46px,7vw,96px);height:180%;position:absolute;top:-42%;right:-100px;transform:rotate(18deg)}.hero-inner{z-index:2;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:center;gap:64px;max-width:1240px;min-height:520px;margin:0 auto;padding:72px 32px 76px;display:grid;position:relative}.eyebrow,.section-kicker{color:var(--red);letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:900}.eyebrow{color:#e4e7f2;align-items:center;gap:9px;display:flex}.live-dot{background:var(--red);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #d7030b2e}.hero h1{letter-spacing:-.055em;max-width:720px;margin:0;font-size:clamp(46px,6vw,78px);font-weight:800;line-height:.93}.hero h1 span{color:#fff;display:inline-block;position:relative}.hero h1 span:after{background:var(--red);content:"";width:112px;height:6px;position:absolute;bottom:-12px;left:2px;transform:skew(-18deg)}.hero-text{color:#e0e3ee;max-width:610px;margin:26px 0 30px;font-size:17px;line-height:1.65}.primary-action{background:var(--red);cursor:pointer;color:#fff;border:0;border-radius:8px;align-items:center;gap:11px;min-height:52px;padding:0 18px;font-size:15px;font-weight:800;transition:background .16s,transform .16s;display:inline-flex}.primary-action:hover{background:var(--red-dark);transform:translateY(-2px)}.primary-action svg:last-child{margin-left:4px}.status-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#171d4fe0;border:1px solid #ffffff38;border-radius:16px;padding:26px;position:relative}.status-card:before{background:var(--red);content:"";border-radius:16px 0 0 16px;width:5px;position:absolute;top:-1px;bottom:-1px;left:-1px}.status-card-head{letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:12px;font-size:12px;font-weight:900;display:flex}.status-icon{color:var(--red);background:#fff;border-radius:9px;justify-content:center;align-items:center;width:43px;height:43px;display:flex}.status-card>p{color:#eeeeea;margin:22px 0;font-size:18px;font-weight:700;line-height:1.5}.status-meta{color:#aeb0aa;border-top:1px solid #ffffff24;align-items:center;gap:8px;padding-top:17px;font-size:12px;display:flex}.status-meta svg{color:#fff}.content-section{max-width:1240px;margin:0 auto;padding:64px 32px 0}.section-heading{justify-content:space-between;align-items:end;gap:36px;margin-bottom:28px;display:flex}.section-heading h2,.support-strip h2,.modal-header h2{color:var(--navy-deep);letter-spacing:-.035em;margin:0;font-size:clamp(25px,3vw,36px);line-height:1.1}.section-copy{color:var(--muted);max-width:340px;margin:0;font-size:14px;line-height:1.6}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.feature-card{background:var(--white);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:116px;padding:18px;transition:border .17s,box-shadow .17s,transform .17s;display:grid}.feature-card:hover{border-color:#b9c4db;transform:translateY(-3px);box-shadow:0 14px 30px #27306f1c}.feature-card-accent{background:var(--navy);border-color:var(--navy);color:#fff;position:relative;overflow:hidden}.feature-card-accent:before{background:var(--red);content:"";width:5px;position:absolute;top:0;bottom:0;left:0}.feature-icon{background:var(--navy-soft);color:var(--navy);border-radius:9px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.feature-card-accent .feature-icon{color:#fff;background:#ffffff24}.feature-content{min-width:0}.feature-content strong,.feature-content small{display:block}.feature-content strong{font-size:15px;line-height:1.25}.feature-content small{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.4}.feature-card-accent .feature-content small{color:#d9ddec}.feature-arrow{color:#a7a8a2}.feature-card-accent .feature-arrow{color:#fff}.soon-badge{background:var(--navy-soft);color:var(--navy);letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:5px 7px;font-size:9px;font-weight:900}.recent-section{padding-top:76px}.training-section{scroll-margin-top:90px}.training-heading{align-items:center}.training-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.training-card{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:12px;min-height:94px;padding:15px;display:flex}.training-icon{background:var(--navy-soft);color:var(--navy);border-radius:9px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.training-card time,.training-card strong{display:block}.training-card time{color:var(--navy);margin-bottom:6px;font-size:14px;font-weight:700;line-height:1.25}.training-card strong{color:var(--navy-deep);font-size:15px}.training-contact{background:var(--navy);border-left:5px solid var(--red);color:#fff;border-radius:9px;align-items:center;gap:8px;min-height:50px;margin-top:14px;padding:0 16px;font-size:12px;display:flex}.training-contact span{color:#d9ddec}.section-heading.compact,.document-heading{align-items:center}.search-box{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:9px;min-width:280px;padding:0 12px;display:flex}.search-box:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px #27306f1a}.search-box svg{color:var(--navy);flex:none}.search-box input{background:0 0;border:0;outline:0;width:100%;min-height:44px}.filter-row{scrollbar-width:none;gap:7px;margin:-6px 0 14px;padding:6px 0;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-row button{color:var(--navy);cursor:pointer;background:0 0;border:1px solid #cdd5e4;border-radius:99px;flex:none;min-height:34px;padding:0 13px;font-size:11px;font-weight:800}.filter-row button.active{background:var(--navy);border-color:var(--navy);color:#fff}.text-button{cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;font-size:13px;font-weight:800;display:flex}.upload-list{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.upload-row{color:inherit;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:16px;min-height:78px;padding:12px 18px;text-decoration:none;display:grid}.upload-row+.upload-row{border-top:1px solid #e8ecf3}.upload-row:hover{background:#f7f9fc}.file-icon,.empty-icon{background:var(--navy-soft);color:var(--navy);border-radius:9px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.file-main,.file-main strong,.file-main small,.file-meta strong,.file-meta small{display:block}.file-main{min-width:0}.file-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.file-main small,.file-meta small{color:var(--muted);margin-top:5px;font-size:11px}.file-meta{text-align:right;min-width:130px}.file-meta strong{font-size:12px}.empty-state{align-items:center;gap:16px;min-height:116px;padding:22px;display:flex}.empty-state strong{font-size:14px}.empty-state p{color:var(--muted);margin:5px 0 0;font-size:12px}.empty-state>button{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:8px;align-items:center;gap:7px;min-height:42px;margin-left:auto;padding:0 14px;font-size:12px;font-weight:800;display:flex}.support-strip{color:#fff;background:linear-gradient(110deg,#171d4ffa,#27306ff0),url(/brand/hattendorf-lkw.jpg) 50%/cover;border-radius:10px;justify-content:space-between;align-items:center;max-width:1176px;margin:74px auto 32px;padding:28px 32px;display:flex;position:relative;overflow:hidden}.contacts-section{padding-top:76px}.contacts-heading{align-items:center}.central-contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.central-contact-card{background:var(--navy);color:#fff;border-radius:11px;min-height:220px;padding:23px;position:relative}.central-contact-card:before{background:var(--red);content:"";border-radius:11px 0 0 11px;width:5px;position:absolute;top:0;bottom:0;left:0}.contact-card-icon{background:#ffffff24;border-radius:9px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.central-contact-card h3{margin:17px 0 13px;font-size:18px}.contact-line{color:#fff;border-top:1px solid #ffffff21;grid-template-columns:58px minmax(0,1fr);align-items:flex-start;gap:12px;padding:10px 0;font-size:12px;text-decoration:none;display:grid}.contact-line span{color:#bfc5dc}.contact-line strong{overflow-wrap:anywhere}.contact-line:hover strong{text-decoration:underline}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.person-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:18px}.person-head{align-items:center;gap:13px;display:flex}.person-head>span{background:var(--navy-soft);color:var(--navy);border-radius:9px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:12px;font-weight:900;display:flex}.person-head h3{margin:0;font-size:15px}.person-head p{color:var(--muted);margin:4px 0 0;font-size:11px}.person-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:15px;display:grid}.person-actions a{background:var(--paper);color:var(--navy);border-radius:7px;align-items:center;gap:6px;min-height:38px;padding:8px 9px;font-size:10px;font-weight:800;text-decoration:none;display:flex;overflow:hidden}.person-actions a:hover{background:var(--navy-soft)}.person-actions svg{flex:none}.person-actions span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.support-strip:before{background:var(--red);content:"";width:6px;position:absolute;top:0;bottom:0;left:0}.support-strip>div{align-items:center;gap:17px;display:flex}.support-strip .section-kicker{color:#d9ddec;margin-bottom:7px}.support-strip h2{color:#fff;font-size:23px}.support-icon{color:var(--red);background:#fff;border-radius:10px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.support-strip>button{cursor:pointer;min-height:44px;color:var(--navy);background:#fff;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 15px;font-size:12px;font-weight:900;display:flex}.mobile-nav{display:none}.admin-link-wrap{text-align:right;max-width:1176px;margin:0 auto}.admin-link-wrap a{color:#858680;font-size:10px;text-decoration:none}.admin-link-wrap a:hover{color:var(--navy);text-decoration:underline}.toast{background:var(--navy-deep);border:1px solid var(--navy);color:#fff;z-index:80;border-radius:10px;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:14px 18px;font-size:13px;font-weight:700;animation:.22s both toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 14px 42px #00000038}.toast svg{color:#ff5660;flex:none}.modal-backdrop{z-index:100;background:#080808bd;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.upload-modal{background:var(--paper);border-radius:16px;width:100%;max-width:680px;max-height:calc(100vh - 40px);padding:28px;animation:.22s both modal-in;overflow:auto;box-shadow:0 32px 80px #00000061}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;display:flex}.modal-header h2{font-size:30px}.close-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.upload-modal form{flex-direction:column;gap:18px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.upload-modal label>span{margin-bottom:8px;font-size:12px;font-weight:800;display:block}.upload-modal input,.upload-modal select,.upload-modal textarea{color:var(--ink);background:#fff;border:1px solid #d4d4ce;border-radius:8px;outline:none;width:100%;padding:12px 13px}.upload-modal textarea{resize:vertical}.upload-modal input:focus,.upload-modal select:focus,.upload-modal textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px #27306f1f}.drop-zone{text-align:center;background:#fff;border:1px dashed #b8b8b0;border-radius:12px;flex-direction:column;align-items:center;padding:26px 18px;display:flex;position:relative}.drop-zone>input{cursor:pointer;opacity:0;position:absolute;inset:0}.drop-icon{background:var(--navy-soft);color:var(--navy);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:13px;display:flex}.drop-zone strong{font-size:14px}.drop-zone p{color:var(--muted);margin:7px 0 13px;font-size:11px}.drop-zone button{background:var(--navy);color:#fff;border:0;border-radius:7px;min-height:38px;padding:0 13px;font-size:12px;font-weight:800}.selected-files{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.selected-files-head,.selected-file{align-items:center;display:flex}.selected-files-head{background:var(--navy-soft);justify-content:space-between;padding:10px 13px;font-size:11px}.selected-files-head span{color:var(--muted)}.selected-file{gap:10px;padding:10px 12px}.selected-file+.selected-file{border-top:1px solid #ecece7}.selected-file>span{min-width:0}.selected-file strong,.selected-file small{display:block}.selected-file strong{text-overflow:ellipsis;white-space:nowrap;max-width:490px;font-size:12px;overflow:hidden}.selected-file small{color:var(--muted);margin-top:3px;font-size:10px}.selected-file button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;margin-left:auto;display:flex}.form-message{border-radius:8px;align-items:flex-start;gap:9px;padding:11px 12px;font-size:12px;font-weight:700;line-height:1.45;display:flex}.form-message.success{color:var(--success);background:#e7f6ee}.form-message.error{color:var(--error);background:#fff0ee}.form-message svg{flex:none}.form-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:2px;padding-top:18px;display:flex}.form-footer p{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.submit-button{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:8px;align-items:center;gap:9px;min-height:46px;padding:0 16px;font-size:12px;font-weight:900;display:flex}.submit-button:disabled{cursor:not-allowed;opacity:.45}.spin{animation:.9s linear infinite spin}.admin-shell{background:var(--paper);min-height:100vh}.admin-topbar{background:#fff;border-bottom:1px solid #e2e6ef;justify-content:space-between;align-items:center;min-height:76px;padding:0 clamp(18px,5vw,64px);display:flex;position:relative;box-shadow:0 8px 30px #27306f14}.admin-topbar>a{color:var(--navy);align-items:center;gap:7px;font-size:12px;font-weight:800;text-decoration:none;display:flex}.admin-topbar>a:hover{color:var(--red)}.login-wrap{justify-content:center;align-items:center;min-height:calc(100vh - 76px);padding:28px 18px;display:flex}.login-card{border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;max-width:430px;padding:38px;box-shadow:0 24px 70px #14141417}.login-icon{background:var(--navy-soft);color:var(--navy);border-radius:11px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:22px;display:flex}.login-card h1,.admin-heading h1{color:var(--navy-deep);letter-spacing:-.045em;margin:0;font-size:clamp(30px,4vw,44px);line-height:1.05}.login-card>p:not(.section-kicker),.admin-heading>div>p:not(.section-kicker){color:var(--muted);margin:16px 0 24px;font-size:14px;line-height:1.65}.login-card form{flex-direction:column;gap:13px;display:flex}.login-card label span,.admin-form label>span{margin-bottom:8px;font-size:12px;font-weight:800;display:block}.login-card input,.admin-form input,.admin-form select,.admin-form textarea{background:#fff;border:1px solid #d0d0c9;border-radius:8px;outline:none;width:100%;min-height:47px;padding:11px 13px}.admin-form textarea{resize:vertical;min-height:92px}.login-card input:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px #27306f1f}.login-card form>button{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:48px;font-size:12px;font-weight:900;display:flex}.login-card form>button:disabled{opacity:.5}.auth-error{color:var(--error);background:#fff0ee;border-radius:7px;padding:10px;font-size:12px;font-weight:700}.admin-content{flex-direction:column;max-width:1050px;margin:0 auto;padding:62px 28px 80px;display:flex}.admin-heading{justify-content:space-between;align-items:flex-end;margin-bottom:32px;display:flex}.admin-heading>div{max-width:660px}.logout-button,.admin-account>a,.admin-account>button{cursor:pointer;background:0 0;border:1px solid #c8c8c1;border-radius:8px;align-items:center;gap:7px;min-height:40px;padding:0 12px;font-size:11px;font-weight:800;display:flex}.admin-account{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;max-width:390px;padding:9px;display:grid}.admin-account>span{background:var(--navy-soft);color:var(--navy);border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.admin-account>div{min-width:0}.admin-account strong,.admin-account small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-account strong{font-size:11px}.admin-account small{color:var(--muted);margin-top:3px;font-size:9px}.admin-account>a,.admin-account>button{color:inherit;min-height:36px;text-decoration:none}.admin-panel{border:1px solid var(--line);background:#fff;border-radius:10px;padding:30px}.admin-files-panel,.admin-upload-panel,.category-admin-panel,.training-admin-panel,.quick-access-admin-panel,.driver-accounts-panel,.admin-users-panel{margin-top:24px}.admin-user-add{grid-template-columns:.9fr 1fr 1fr auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}.admin-user-add label>span{margin-bottom:8px;font-size:12px;font-weight:800;display:block}.admin-user-add input{border:1px solid #d0d0c9;border-radius:8px;outline:none;width:100%;min-height:44px;padding:10px 12px}.admin-user-add input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #27306f1f}.admin-user-list{border:1px solid #e4e8f0;border-radius:10px;overflow:hidden}.admin-user-row{grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.admin-user-row+.admin-user-row{border-top:1px solid #e4e8f0}.admin-user-row>div{gap:3px;display:grid}.admin-user-row small{color:var(--muted)}.admin-user-avatar{color:var(--navy);background:#e7ecf7;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.admin-user-hint{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.5}.contacts-admin-panel{margin-top:24px}.contact-admin-group{border-top:1px solid #e4e8f0;padding-top:20px}.contact-admin-group+.contact-admin-group{margin-top:24px}.contact-admin-group h3{color:var(--navy);margin:0 0 14px;font-size:17px}.contact-add-form{grid-template-columns:1.1fr 1fr .55fr 1fr 1.25fr auto;align-items:end;gap:10px;margin-bottom:16px;display:grid}.contact-add-form.central{grid-template-columns:1.1fr .7fr 1fr 1.2fr auto}.contact-add-form label>span,.central-contact-admin-row label>span,.person-contact-admin-row label>span{margin-bottom:7px;font-size:12px;font-weight:800;display:block}.contact-add-form input,.central-contact-admin-row input,.person-contact-admin-row input{border:1px solid #d0d0c9;border-radius:8px;outline:none;width:100%;min-height:42px;padding:9px 11px}.contact-add-form input:focus,.central-contact-admin-row input:focus,.person-contact-admin-row input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #27306f1f}.contact-admin-list{border:1px solid #e4e8f0;border-radius:10px;overflow:hidden}.central-contact-admin-row,.person-contact-admin-row{align-items:end;gap:9px;padding:12px;display:grid}.central-contact-admin-row{grid-template-columns:1fr .6fr .9fr .6fr .9fr 1.2fr auto auto}.person-contact-admin-row{grid-template-columns:1fr .9fr .45fr .9fr 1.2fr auto auto}.central-contact-admin-row+.central-contact-admin-row,.person-contact-admin-row+.person-contact-admin-row{border-top:1px solid #e4e8f0}.driver-account-add{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;margin-bottom:20px;display:grid}.driver-account-add label>span,.driver-account-row label>span{margin-bottom:8px;font-size:12px;font-weight:800;display:block}.driver-account-add input,.driver-account-row input:not([type=checkbox]){border:1px solid #d0d0c9;border-radius:8px;outline:none;width:100%;min-height:44px;padding:10px 12px}.driver-account-add input:focus,.driver-account-row input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #27306f1f}.driver-account-list{border:1px solid #e4e8f0;border-radius:10px;margin-bottom:18px;overflow:hidden}.driver-import-box{background:#f7f8fc;border:1px dashed #9ba7ca;border-radius:10px;gap:14px;margin-bottom:20px;padding:18px;display:grid}.driver-import-copy{align-items:center;gap:12px;display:flex}.driver-import-copy>div{gap:3px;display:grid}.driver-import-copy small{color:var(--muted);line-height:1.45}.driver-import-icon{color:var(--navy);background:#e7ecf7;border-radius:9px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.driver-import-select{color:var(--navy);cursor:pointer;background:#fff;border:1px solid #cbd3e5;border-radius:8px;justify-self:start;align-items:center;gap:8px;min-height:42px;padding:9px 14px;font-size:13px;font-weight:800;display:inline-flex}.driver-import-select:hover{border-color:var(--navy)}.driver-import-select input{display:none}.driver-import-preview{background:#fff;border:1px solid #dce2ef;border-radius:9px;grid-template-columns:minmax(160px,.65fr) minmax(220px,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.driver-import-preview>div:first-child{gap:4px;display:grid}.driver-import-preview span{color:var(--muted);font-size:12px}.driver-import-sample{gap:3px;display:grid}.driver-import-skipped{color:#a52218;background:#fff1ef;border-radius:8px;gap:5px;padding:12px 14px;font-size:13px;display:grid}.driver-account-row{grid-template-columns:minmax(150px,1fr) minmax(140px,.8fr) minmax(180px,1fr) 90px auto auto;align-items:end;gap:10px;padding:14px;display:grid}.driver-account-row+.driver-account-row{border-top:1px solid #e4e8f0}.driver-enabled-toggle{align-items:center;gap:7px;min-height:44px;display:flex}.driver-enabled-toggle input{accent-color:var(--navy);width:18px;height:18px}.driver-enabled-toggle span{margin:0!important}.quick-access-admin-form{gap:18px;display:grid}.quick-access-section-fields{grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);gap:12px;display:grid}.quick-access-admin-form label>span{margin-bottom:8px;font-size:12px;font-weight:800;display:block}.quick-access-admin-form input[type=text],.quick-access-admin-form input:not([type]),.quick-access-admin-form select{background:#fff;border:1px solid #d0d0c9;border-radius:8px;outline:none;width:100%;min-height:44px;padding:10px 12px}.quick-access-admin-form input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #27306f1f}.quick-access-edit-list{border:1px solid #e4e8f0;border-radius:10px;overflow:hidden}.quick-access-edit-row{grid-template-columns:110px minmax(160px,.65fr) minmax(230px,1fr) minmax(150px,.55fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.quick-access-row-actions{align-items:center;gap:7px;min-height:44px;display:flex}.quick-access-row-actions button:disabled{cursor:not-allowed;opacity:.35}.quick-access-add-button{color:var(--navy);cursor:pointer;background:#fff;border:1px dashed #929dc1;border-radius:8px;align-self:start;align-items:center;gap:8px;min-height:43px;padding:9px 14px;font-weight:800;display:flex}.quick-access-add-button:hover{background:var(--navy-soft)}.quick-access-add-button:disabled{cursor:not-allowed;opacity:.5}.quick-access-edit-row+.quick-access-edit-row{border-top:1px solid #e4e8f0}.quick-access-visibility{align-items:center;gap:8px;min-height:44px;display:flex}.quick-access-visibility input{accent-color:var(--navy);width:18px;height:18px}.quick-access-visibility>span{margin:0!important}.training-add-form{grid-template-columns:minmax(180px,.75fr) minmax(150px,.55fr) minmax(0,1fr) auto;align-items:flex-end;gap:12px;margin-bottom:18px;display:grid}.training-add-form label>span{margin-bottom:8px;font-size:12px;font-weight:800;display:block}.training-add-form input,.training-add-form select,.training-admin-row input,.training-admin-row select,.schedule-topic-manager input{background:#fff;border:1px solid #d0d0c9;border-radius:8px;outline:none;width:100%;min-height:44px;padding:10px 12px}.training-add-form input:focus,.training-add-form select:focus,.training-admin-row input:focus,.training-admin-row select:focus,.schedule-topic-manager input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #27306f1f}.training-admin-list{border:1px solid #e4e8f0;border-radius:10px;margin-bottom:18px;overflow:hidden}.training-admin-row{grid-template-columns:auto minmax(150px,.7fr) minmax(145px,.45fr) minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.training-admin-row+.training-admin-row{border-top:1px solid #e4e8f0}.training-admin-row>svg{color:var(--navy)}.schedule-topic-manager{background:#f6f8fc;border:1px solid #e1e6f0;border-radius:10px;margin-bottom:22px;padding:18px}.schedule-topic-manager h3{color:var(--navy);margin:0 0 12px;font-size:15px}.schedule-topic-add,.schedule-topic-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.schedule-topic-list{gap:8px;margin-top:12px;display:grid}.schedule-topic-row{grid-template-columns:minmax(0,1fr) auto auto}.schedule-groups{gap:28px;display:grid}.schedule-group h3{color:var(--navy);margin:0 0 13px;font-size:18px}.schedule-empty{color:var(--muted);margin:0}.category-add-form{grid-template-columns:minmax(0,1fr) auto;align-items:flex-end;gap:12px;margin-bottom:18px;display:grid}.category-add-form label>span{margin-bottom:8px;font-size:12px;font-weight:800;display:block}.category-add-form input,.category-admin-row input{background:#fff;border:1px solid #d0d0c9;border-radius:8px;outline:none;width:100%;min-height:44px;padding:10px 12px}.category-add-form input:focus,.category-admin-row input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #27306f1f}.category-admin-list{border:1px solid #e4e8f0;border-radius:10px;margin-bottom:18px;overflow:hidden}.category-fixed-row,.category-admin-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.category-fixed-row{background:#f7f9fc;grid-template-columns:auto minmax(0,1fr) auto}.category-fixed-row small{color:var(--muted);font-size:10px}.category-admin-row+.category-admin-row,.category-fixed-row+.category-admin-row{border-top:1px solid #e4e8f0}.category-fixed-row>svg,.category-admin-row>svg{color:var(--navy)}.category-save-button,.category-delete-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:40px;font-size:10px;font-weight:900;display:flex}.category-save-button{background:var(--navy);border:1px solid var(--navy);color:#fff;padding:0 11px}.category-delete-button{color:var(--red);background:#fff1f0;border:1px solid #f2b9b4;width:40px}.category-save-button:disabled,.category-delete-button:disabled{cursor:wait;opacity:.55}.notice-form-footer{border-top:1px solid #e4e8f0;justify-content:space-between;align-items:center;padding-top:18px;display:flex}.notice-form-footer small{color:var(--muted);font-size:10px}.notice-toggle{cursor:pointer;align-items:center;gap:10px;width:fit-content;display:flex}.notice-toggle input{opacity:0;width:1px;height:1px;position:absolute}.notice-toggle>span{background:#c8ceda;border-radius:20px;width:46px;height:26px;transition:background .2s;position:relative}.notice-toggle>span:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0000003d}.notice-toggle input:checked+span{background:var(--navy)}.notice-toggle input:checked+span:after{transform:translate(20px)}.notice-toggle input:focus-visible+span{box-shadow:0 0 0 3px #27306f33}.notice-toggle strong{font-size:12px}.admin-files-panel .form-message{margin-bottom:18px}.admin-files-status{color:var(--muted);justify-content:center;align-items:center;gap:9px;min-height:90px;font-size:12px;display:flex}.admin-files-list{border:1px solid #e4e8f0;border-radius:10px;overflow:hidden}.admin-file-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.admin-file-row+.admin-file-row{border-top:1px solid #e4e8f0}.admin-file-icon{background:var(--navy-soft);color:var(--navy);border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.admin-file-copy{min-width:0}.admin-file-copy strong,.admin-file-copy small,.admin-file-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-file-copy strong{color:var(--navy-deep);font-size:13px}.admin-file-copy small,.admin-file-copy span{color:var(--muted);margin-top:4px;font-size:10px}.delete-file-button{color:var(--red);cursor:pointer;background:#fff1f0;border:1px solid #f2b9b4;border-radius:8px;align-items:center;gap:7px;min-height:40px;padding:0 12px;font-size:11px;font-weight:900;display:flex}.delete-file-button:hover{background:var(--red);border-color:var(--red);color:#fff}.delete-file-button:disabled{cursor:wait;opacity:.65}.panel-heading{border-bottom:1px solid #e4e8f0;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:22px;display:flex}.panel-heading>span{background:var(--navy);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.panel-heading h2{color:var(--navy-deep);letter-spacing:-.025em;margin:0;font-size:20px}.panel-heading p{color:var(--muted);margin:5px 0 0;font-size:11px}.admin-form{flex-direction:column;gap:18px;display:flex}.admin-drop-zone{text-align:center;background:#f7f9fc;border:1px dashed #9aa8c6;border-radius:11px;flex-direction:column;align-items:center;min-height:190px;padding:26px;display:flex;position:relative}.admin-drop-zone>input{cursor:pointer;opacity:0;position:absolute;inset:0}.admin-drop-zone>svg{color:var(--red);margin-bottom:12px}.admin-drop-zone strong{font-size:14px}.admin-drop-zone p{color:var(--muted);margin:7px 0 14px;font-size:11px}.admin-drop-zone button{background:var(--navy);color:#fff;border:0;border-radius:7px;min-height:37px;padding:0 13px;font-size:11px;font-weight:900}@keyframes spin{to{transform:rotate(360deg)}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}@media (width<=900px){.hero-inner{grid-template-columns:1fr;gap:36px;padding-top:54px;padding-bottom:56px}.status-card{max-width:620px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.training-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){body{background:var(--paper)}.app-shell{padding-bottom:86px}.topbar{height:68px;padding:0 16px}.brand{gap:10px}.brand-logo{width:205px;max-width:205px}.brand-area,.desktop-menu{display:none}.icon-button{width:39px;height:39px}.hero:after{opacity:.72;width:90px;height:280px;top:-75px;right:-62px}.hero-inner{min-height:auto;padding:40px 18px 34px;display:block}.hero h1{font-size:42px}.hero h1 span:after{width:82px;height:5px;bottom:-9px}.hero-text{margin:20px 0 24px;font-size:14px;line-height:1.55}.training-heading{align-items:flex-start;display:block}.training-heading .section-copy{margin-top:12px}.training-grid{grid-template-columns:1fr}.primary-action{justify-content:center;width:100%}.status-card{margin-top:28px;padding:19px}.status-card>p{margin:17px 0;font-size:15px}.content-section{padding:38px 15px 0}.section-heading{align-items:flex-start;margin-bottom:20px;display:block}.document-heading .search-box{width:100%;min-width:0;margin-top:16px}.section-heading h2{font-size:26px}.section-copy{margin-top:12px}.feature-grid{grid-template-columns:1fr;gap:10px}.feature-card{min-height:92px;padding:14px}.feature-icon{width:48px;height:48px}.recent-section,.contacts-section{padding-top:46px}.central-contact-grid,.people-grid{grid-template-columns:1fr}.central-contact-card{min-height:0;padding:20px}.person-actions{grid-template-columns:1fr}.person-actions a{font-size:11px}.text-button{margin-top:14px}.upload-row{grid-template-columns:auto minmax(0,1fr) auto;gap:11px;padding:12px}.file-meta{display:none}.empty-state{flex-wrap:wrap;align-items:flex-start}.empty-state>button{justify-content:center;width:100%;margin:4px 0 0}.support-strip{align-items:stretch;margin:44px 15px 0;padding:22px;display:block}.admin-link-wrap{padding:0 18px}.support-strip>button{justify-content:center;width:100%;margin-top:18px}.mobile-nav{border-top:1px solid var(--line);padding:7px 5px max(7px, env(safe-area-inset-bottom));z-index:60;background:#fff;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;font-size:9px;font-weight:800;display:flex}.mobile-nav .active{color:var(--navy)}.mobile-nav .active svg{color:var(--red)}.toast{font-size:12px;bottom:84px}.modal-backdrop{align-items:flex-end;padding:0}.upload-modal{max-height:94vh;padding:20px 16px max(22px, env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.form-grid{grid-template-columns:1fr}.form-footer{flex-direction:column;align-items:stretch;gap:15px}.submit-button{justify-content:center;width:100%}.admin-topbar{min-height:68px;padding:0 15px}.admin-topbar>a{font-size:0}.admin-topbar>a svg{width:22px;height:22px}.login-card{padding:28px 22px}.admin-content{padding:42px 15px 60px}.admin-heading{align-items:flex-start;display:block}.logout-button,.admin-account{margin-top:20px}.admin-account{width:100%;max-width:none}.admin-account>a span{display:none}.admin-panel{padding:20px 15px}.notice-form-footer{flex-direction:column;align-items:stretch;gap:14px}.category-add-form,.training-add-form{grid-template-columns:1fr;align-items:stretch}.quick-access-section-fields,.quick-access-edit-row,.driver-account-add,.driver-account-row,.admin-user-add,.contact-add-form,.contact-add-form.central,.central-contact-admin-row,.person-contact-admin-row{grid-template-columns:1fr}.central-contact-admin-row .category-save-button,.central-contact-admin-row .category-delete-button,.person-contact-admin-row .category-save-button,.person-contact-admin-row .category-delete-button{justify-content:center;width:100%}.driver-import-preview{grid-template-columns:1fr}.driver-import-preview .submit-button,.driver-account-row .category-save-button,.driver-account-row .category-delete-button{justify-content:center;width:100%}.driver-name{display:none}.training-add-form .submit-button{justify-content:center;width:100%}.training-admin-row{grid-template-columns:auto minmax(0,1fr) auto}.training-admin-row>select,.training-admin-row>input[type=date],.training-admin-row>input:not([type]){grid-column:2/4}.training-admin-row .category-save-button{grid-column:1/3}.training-admin-row .category-delete-button{grid-column:3}.schedule-topic-add,.schedule-topic-row{grid-template-columns:1fr}.schedule-topic-row .category-save-button,.schedule-topic-row .category-delete-button,.category-add-form .submit-button{justify-content:center;width:100%}.category-admin-row{grid-template-columns:auto minmax(0,1fr) auto}.category-save-button{grid-column:1/3}.category-delete-button{grid-column:3}.notice-form-footer .submit-button{justify-content:center;width:100%}.admin-file-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.delete-file-button{grid-column:1/-1;justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.001ms!important}}
