:root{--surface:#fff;--surface-soft:#f2f7f7;--ink:#163b45;--muted:#627c84;--line:#dce8eb;--blue:#097f86;--navy:#103e4a;--shadow:0 8px 30px #123b4a06;color:var(--ink);background:#f3f7f9;color-scheme:light}
:root[data-theme=dark]{--surface:#162832;--surface-soft:#1b323d;--ink:#e1eef1;--muted:#9fb6bf;--line:#304953;--blue:#66d5c8;--navy:#d5eeef;--green:#60d5a8;--red:#ff8ba0;--amber:#f2c56e;--shadow:0 8px 30px #0002;color-scheme:dark;background:#0c1c26}
body{background:transparent;color:var(--ink)}[hidden]{display:none!important}
.sidebar{position:sticky;inset:0 0 auto;width:100%;height:88px;padding:0 clamp(20px,3vw,56px);display:flex;flex-direction:row;align-items:center;gap:32px;background:var(--surface);border-top:4px solid #219e9c;border-bottom:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow);transform:none}
.sidebar .brand{margin:0;padding:8px 12px;width:130px;flex-shrink:0;border-radius:12px;background:#fff}.sidebar .brand img{width:106px;height:auto;max-height:52px;object-fit:contain}
.sidebar nav{display:flex;align-items:center;gap:6px;flex:1}.sidebar nav>a,.nav-dropdown>summary{display:flex;align-items:center;gap:9px;padding:12px 16px;border-radius:10px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;list-style:none;margin:0;white-space:nowrap}.nav-dropdown>summary::-webkit-details-marker{display:none}.sidebar nav a:hover,.nav-dropdown>summary:hover,.nav-dropdown[open]>summary{background:var(--surface-soft);color:var(--ink)}.sidebar nav a.active,.nav-dropdown:has(a.active)>summary{background:#087e7f14;color:var(--blue);box-shadow:none}.sidebar nav a span{font-size:19px;width:20px}.chevron{font-size:18px;transition:transform .2s}.nav-dropdown[open] .chevron{transform:rotate(180deg)}.nav-dropdown{position:relative}.nav-popover{position:absolute;top:calc(100% + 14px);left:0;min-width:235px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px #061a3026;z-index:50}.nav-popover a{display:flex;gap:10px;padding:13px 14px;margin:0;border-radius:9px;color:var(--ink);font-size:14px}.header-actions{display:flex;align-items:center;gap:24px}.logout-btn{margin:0;padding:10px 0;border:0;background:none;color:var(--muted);white-space:nowrap;font-size:14px}.shell{margin-left:0;min-width:0}.topbar{height:78px;padding:0 clamp(20px,3vw,56px);background:transparent;border:0}.breadcrumb{font-size:14px}.breadcrumb b{color:var(--ink)}.profile{margin-left:auto}.profile small{color:var(--muted);font-size:12px}.avatar{background:#209e9420;color:var(--blue);border-radius:14px}.demo{margin:0 clamp(20px,3vw,56px);border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--muted);padding:10px 16px;font-size:12px}.demo span{color:var(--blue);font-size:11px;letter-spacing:.7px}.shell main{max-width:1600px;padding:30px clamp(20px,3vw,56px) 48px;min-height:calc(100vh - 280px)}h1{font-size:30px;font-weight:700;letter-spacing:-1px;color:var(--ink)}h2,h3{color:var(--ink)}.page-head{margin-bottom:28px}.page-head p{font-size:14px}.cards{gap:20px}.stat{position:relative;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.stat:hover{transform:translateY(-3px);box-shadow:0 12px 28px #123b4a10}.stat strong{font-size:36px;letter-spacing:-1.2px;color:var(--ink)}.stat label{font-size:14px;color:var(--muted)}.stat small{color:var(--muted);font-size:12px}.stat-icon{border-radius:14px;width:48px;height:48px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:22px 24px;border-color:var(--line)}.panel-body{padding:24px}.panel-foot{background:var(--surface-soft);border-color:var(--line);color:var(--muted)}.btn{border-radius:11px;background:var(--surface);border-color:var(--line);color:var(--ink);font-weight:600;min-height:42px}.btn.primary{background:linear-gradient(120deg,#138f7c,#087d99);border-color:transparent;color:#fff}.date-chip{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:10px}.toolbar{gap:12px}input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:12px 14px;font-size:14px}textarea{font-family:inherit}input::placeholder,textarea::placeholder{color:var(--muted)}th{background:var(--surface-soft);color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px;padding:16px}td{padding:18px 16px;color:var(--ink);border-color:var(--line);font-size:14px}td b,td strong{color:var(--ink)}td small{color:var(--muted);font-size:12px;margin-top:5px}tbody tr:hover{background:var(--surface-soft)}.badge{border-radius:7px;font-size:12px}.segmented{background:var(--surface-soft);border-radius:10px}.segmented button{color:var(--muted)}.segmented button.active{background:var(--surface);color:var(--blue);box-shadow:0 2px 6px #0001}.steps,.person-option,.batch-validation,.check,.rule,.confirmation-vehicle,.new-person-documents,.attachment-row,.audit-event{border-color:var(--line)}.person-option{border-radius:12px}.summary,.note,.services-field,.upload-panel,.import-drop{background:var(--surface-soft);border-color:var(--line);border-radius:12px;color:var(--ink)}.service-card-body,.upload-label{background:var(--surface);border-color:var(--line)}.service-copy b,.service-copy small,.services-field legend,.confirmation-grid dd,.confirmation-person h3,.new-person-documents h3,.person-option b,.check b,.summary strong{color:var(--ink)}.services-help,.services-foot,.confirmation-grid dt,.confirmation-vehicle p,.check small,.summary small,.person-option small,.attachment-copy small,.audit-event small{color:var(--muted)}.tabs button{color:var(--muted)}.tabs button.active{color:var(--blue);border-color:var(--blue)}.chart text{fill:var(--muted)}.chart .grid{stroke:var(--line)}.track{background:var(--surface-soft)}dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 100px #0005;width:min(800px,calc(100vw - 32px));padding:28px}dialog::backdrop{background:#06172299;backdrop-filter:blur(5px)}.icon-btn{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}footer{border-color:var(--line);color:var(--muted);padding:22px clamp(20px,3vw,56px)}#menu{display:none}.login-entry{background:var(--surface)}.login-card{max-width:510px}.login-card h2{font-size:34px;letter-spacing:-1px}.login-theme{position:absolute;right:32px;top:24px;z-index:5}.login-tag,.login-security,.login-footer,.login-footer span{color:var(--muted)}.login-brand{border-radius:0 32px 32px 0}.login-fields input:disabled{background:var(--surface-soft)}
[data-theme=dark] .badge{background:#1a454d;color:#85dedc}[data-theme=dark] .badge.green,[data-theme=dark] .stat-icon.green{background:#173f36;color:#6ddcaf}[data-theme=dark] .badge.red,[data-theme=dark] .stat-icon.red{background:#452c39;color:#ff9db0}[data-theme=dark] .badge.amber,[data-theme=dark] .stat-icon.amber{background:#443c29;color:#f2ca7f}[data-theme=dark] .stat-icon{background:#1b454a;color:#7ddbd2}[data-theme=dark] .note.warning{background:#393321;color:#f2ca7f;border-color:#665838}[data-theme=dark] .service-card input:checked+.service-card-body,[data-theme=dark] .person-option.selected,[data-theme=dark] .person-option:hover{background:#1c403e;color:var(--ink)}[data-theme=dark] .diff-before{background:#392c36}[data-theme=dark] .diff-after{background:#1a3a33}[data-theme=dark] .checkbox-path{stroke:#9fe3d5}[data-theme=dark] .btn.danger{background:#452c39;color:#ff9db0;border-color:#764453}[data-theme=dark] .service-symbol,[data-theme=dark] .file-icon,[data-theme=dark] .batch-chip{background:#1e4447;color:#8bddd5}[data-theme=dark] .batch-protocols>div{background:var(--surface-soft)}
@media(max-width:1100px){.sidebar{gap:16px;padding-inline:20px}.sidebar nav>a,.nav-dropdown>summary{padding:12px 10px}.header-actions{gap:14px}.sidebar nav a span{display:none}.sidebar .brand{width:112px}.sidebar .brand img{width:88px}}
@media(max-width:800px){.sidebar{height:76px;justify-content:space-between}.sidebar nav{display:none;position:absolute;top:76px;left:16px;right:16px;background:var(--surface);padding:12px;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px #0003}.sidebar.open nav{display:flex;flex-direction:column;align-items:stretch}.nav-popover{position:static;box-shadow:none;margin:4px 0 8px;min-width:0;background:var(--surface-soft)}.nav-dropdown summary{justify-content:space-between}.sidebar nav a span{display:inline}.sidebar nav>a,.nav-dropdown>summary{padding:14px}#menu{display:block;margin-right:12px}.topbar{padding:12px 20px;height:82px}.profile small{max-width:160px}.breadcrumb{display:none}.profile b{font-size:14px}.demo{line-height:1.6}.demo span{display:block}.cards{gap:12px}.stat{padding:20px}.page-head{gap:18px;flex-wrap:wrap}h1{font-size:26px}.login-brand{border-radius:0}.login-theme{right:20px;top:18px}.login-entry{padding-top:70px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* From Uiverse.io by Galahhad — compact sizing and keyboard access. */
.theme-switch{--toggle-size:14px;--container-width:5.625em;--container-height:2.5em;--container-radius:6.25em;--container-light-bg:#3D7EAE;--container-night-bg:#1D1F2C;--circle-container-diameter:3.375em;--sun-moon-diameter:2.125em;--sun-bg:#ECCA2F;--moon-bg:#C4C9D1;--spot-color:#959DB1;--circle-container-offset:calc((var(--circle-container-diameter) - var(--container-height))/2 * -1);--stars-color:#fff;--clouds-color:#F3FDFF;--back-clouds-color:#AACADF;--transition:.5s cubic-bezier(0,-.02,.4,1.25);--circle-transition:.3s cubic-bezier(0,-.02,.35,1.17);position:relative;display:block;cursor:pointer;flex-shrink:0}
.theme-switch,.theme-switch *,.theme-switch *::before,.theme-switch *::after{box-sizing:border-box;margin:0;padding:0;font-size:var(--toggle-size)}
.theme-switch__container{width:var(--container-width);height:var(--container-height);background:var(--container-light-bg);border-radius:var(--container-radius);overflow:hidden;cursor:pointer;box-shadow:0 -.062em .062em #0004,0 .062em .125em #ffffffef;transition:var(--transition);position:relative}
.theme-switch__container::before{content:"";position:absolute;z-index:1;inset:0;box-shadow:0 .05em .187em #0004 inset,0 .05em .187em #0004 inset;border-radius:var(--container-radius)}
.theme-switch__checkbox{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%)}.theme-switch__checkbox:focus-visible+.theme-switch__container{outline:3px solid var(--blue);outline-offset:5px}
.theme-switch__circle-container{width:var(--circle-container-diameter);height:var(--circle-container-diameter);background:#ffffff1a;position:absolute;left:var(--circle-container-offset);top:var(--circle-container-offset);border-radius:var(--container-radius);box-shadow:inset 0 0 0 3.375em #ffffff1a,inset 0 0 0 3.375em #ffffff1a,0 0 0 .625em #ffffff1a,0 0 0 1.25em #ffffff1a;display:flex;transition:var(--circle-transition);pointer-events:none}
.theme-switch__sun-moon-container{pointer-events:auto;position:relative;z-index:2;width:var(--sun-moon-diameter);height:var(--sun-moon-diameter);margin:auto;border-radius:var(--container-radius);background:var(--sun-bg);box-shadow:.062em .062em .062em 0 #feffef9c inset,0 -.062em .062em 0 #a1872a inset;filter:drop-shadow(.062em .125em .125em #0004) drop-shadow(0 .062em .125em #0004);overflow:hidden;transition:var(--transition)}
.theme-switch__moon{transform:translateX(100%);width:100%;height:100%;background:var(--moon-bg);border-radius:inherit;box-shadow:.062em .062em .062em 0 #feffef9c inset,0 -.062em .062em 0 #969696 inset;transition:var(--transition);position:relative}
.theme-switch__spot{position:absolute;top:.75em;left:.312em;width:.75em;height:.75em;border-radius:var(--container-radius);background:var(--spot-color);box-shadow:0 .0312em .062em #0004 inset}.theme-switch__spot:nth-of-type(2){width:.375em;height:.375em;top:.937em;left:1.375em}.theme-switch__spot:nth-of-type(3){width:.25em;height:.25em;top:.312em;left:.812em}
.theme-switch__clouds{width:1.25em;height:1.25em;background:var(--clouds-color);border-radius:var(--container-radius);position:absolute;bottom:-.625em;left:.312em;box-shadow:.937em .312em var(--clouds-color),-.312em -.312em var(--back-clouds-color),1.437em .375em var(--clouds-color),.5em -.125em var(--back-clouds-color),2.187em 0 var(--clouds-color),1.25em -.062em var(--back-clouds-color),2.937em .312em var(--clouds-color),2em -.312em var(--back-clouds-color),3.625em -.062em var(--clouds-color),2.625em 0 var(--back-clouds-color),4.5em -.312em var(--clouds-color),3.375em -.437em var(--back-clouds-color),4.625em -1.75em 0 .437em var(--clouds-color),4em -.625em var(--back-clouds-color),4.125em -2.125em 0 .437em var(--back-clouds-color);transition:var(--transition)}
.theme-switch__stars-container{position:absolute;color:var(--stars-color);top:-100%;left:.312em;width:2.75em;height:auto;transition:var(--transition)}.theme-switch__stars-container svg{display:block;width:100%;height:auto}.theme-switch__checkbox:checked+.theme-switch__container{background:var(--container-night-bg)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter))}.theme-switch__circle-container:hover{left:calc(var(--circle-container-offset) + .187em)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__circle-container:hover{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter) - .187em)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__moon{transform:translateX(0)}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__clouds{bottom:-4.062em}.theme-switch__checkbox:checked+.theme-switch__container .theme-switch__stars-container{top:50%;transform:translateY(-50%)}
.login-page{background:var(--surface)}.field label{font-size:14px}.bar-row,.bar-row b{color:var(--ink)}.step{color:var(--muted)}.step.active{color:var(--blue)}.step span{background:var(--surface-soft);color:var(--muted)}.error-box{background:var(--surface-soft);color:var(--red);border-color:var(--red)}.service-symbol{color:var(--blue)}
@media(prefers-reduced-motion:reduce){.theme-switch *{transition:none!important}}
/* Sidebar refinement: TES brand, readable surfaces and spacious login. */
.sidebar{position:fixed;inset:14px auto 14px 14px;width:264px;height:calc(100dvh - 28px);padding:26px 18px 20px;display:flex;flex-direction:column;align-items:stretch;gap:0;border:0;border-radius:26px;background:linear-gradient(155deg,#5ebfb5 0%,#1581bc 48%,#199f7c 100%);color:#fff;box-shadow:0 12px 36px #0b606526;overflow-y:auto;scrollbar-width:thin;z-index:40}
.sidebar .brand{width:100%;min-height:104px;margin:0 0 30px;padding:18px 14px;border-radius:18px;background:#073e4a;flex-shrink:0;display:flex;justify-content:center}.sidebar .brand img{width:196px;max-width:100%;height:auto;max-height:none;filter:none;opacity:1}
.sidebar .nav-label{font-size:12px;letter-spacing:1.7px;color:#edffff;margin:0 12px 16px;font-weight:700}.sidebar nav{display:flex;position:static;flex:0 0 auto;flex-direction:column;align-items:stretch;gap:7px;padding:0;background:none;border:0;box-shadow:none}.sidebar nav>a{display:flex;gap:12px;min-height:50px;padding:13px 14px;border-radius:14px;white-space:normal;color:#fff;font-size:14px;line-height:1.4;font-weight:600}.sidebar nav>a>svg{width:21px;height:21px;flex:0 0 21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar nav>a .nav-text{display:block;width:auto;font-size:14px}.sidebar nav>a:hover{background:#ffffff24;color:#fff}.sidebar nav>a.active{background:#fff;color:#076c80;box-shadow:0 4px 15px #04414f13}.sidebar .header-actions{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin-top:auto;padding:28px 12px 0}.sidebar-theme{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.sidebar .logout-btn{color:#fff;text-align:left;border-top:1px solid #ffffff45;padding:18px 0 0}.sidebar .header-actions>small{color:#e4fffa;font-size:12px;line-height:1.5}.shell{margin-left:292px}.shell main{padding:28px 32px 48px}.topbar{padding:0 32px;height:90px}.demo{margin:0 32px}.shell footer{padding-inline:32px}
.person-option,.field label.person-option{background:var(--surface);color:var(--ink);padding:20px;border-color:var(--line);border-radius:14px;gap:16px}.person-option .person-copy{gap:6px}.person-option .person-copy b{font-size:15px;line-height:1.5;color:var(--ink)}.person-option .person-copy small{font-size:13px;line-height:1.6;color:var(--muted)}.search-results{gap:12px}.field label{color:var(--ink);font-size:14px;line-height:1.5}.person-option:hover,.person-option.selected{background:var(--surface-soft);border-color:var(--blue)}.form-grid{gap:24px}.service-card-body{color:var(--ink)}.batch-validation,.check{background:var(--surface);color:var(--ink)}
.login-entry{padding:80px clamp(28px,5vw,90px) 36px}.login-card{max-width:520px}.login-tag{display:block;font-size:12px;line-height:1.7;letter-spacing:1.4px}.login-card h2{margin:24px 0 16px;line-height:1.2}.login-card>p{font-size:16px;line-height:1.75}.login-fields{margin-top:36px;gap:24px}.login-fields label{margin-bottom:10px}.login-fields input,.login-fields select{height:54px;font-size:15px;padding:12px 16px}.login-card .note{margin:24px 0;padding:18px 20px;font-size:14px;line-height:1.75}.login-card #demo-enter{width:100%;min-height:52px;margin:0 0 24px;font-size:16px}.login-card #login-form>.muted{font-size:14px;line-height:1.8;margin:0}.login-security{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;line-height:1.6}.login-footer{margin-top:48px;font-size:12px;line-height:1.7;flex-wrap:wrap}.login-welcome h1{color:#fff}.login-brand>img{background:#073e4a;border-radius:18px;padding:18px;width:min(100%,300px);filter:none;opacity:1}.login-theme{z-index:10}
@media(min-width:801px) and (max-width:1200px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two,.batch-layout{grid-template-columns:1fr}.shell main{padding-inline:24px}.topbar{padding-inline:24px}.demo{margin-inline:24px}}
@media(max-width:800px){.sidebar{inset:10px auto 10px 10px;width:min(280px,calc(100vw - 68px));height:calc(100dvh - 20px);transform:translateX(calc(-100% - 24px));transition:transform .25s ease}.sidebar.open{transform:translateX(0)}.sidebar nav,.sidebar.open nav{display:flex;position:static;padding:0;background:none;border:0;box-shadow:none}.shell{margin-left:0}.shell main{padding:24px 18px 40px}.topbar{padding:12px 18px}.demo{margin:0 18px}#menu{display:block;position:relative;z-index:45}.sidebar.open~.shell #menu{position:fixed;left:min(302px,calc(100vw - 50px));top:24px;box-shadow:0 4px 20px #0003}.sidebar .brand{width:100%}.sidebar .brand img{width:196px}.sidebar .header-actions{gap:18px}.person-option,.field label.person-option{padding:16px;flex-wrap:wrap}.person-option .person-copy{flex-basis:calc(100% - 48px)}.person-option>.badge{margin-left:40px}.login-entry{padding:68px 24px 30px}.login-card h2{font-size:30px}.login-footer{gap:12px}.form-grid{gap:20px}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
/* Logo variants apply only to portal navigation; login keeps its white asset. */
.sidebar .brand{height:164px;min-height:164px;background:#fff;align-items:center}
.sidebar .brand .logo-light{display:block;width:196px;height:auto}
.sidebar .brand .logo-dark{display:none}
[data-theme=dark] .sidebar .brand{background:#073e4a}
[data-theme=dark] .sidebar .brand .logo-light{display:none}
[data-theme=dark] .sidebar .brand .logo-dark{display:block;width:196px;height:auto}
/* Logos sit directly on the page/sidebar background in either theme. */
.sidebar .brand,[data-theme=dark] .sidebar .brand,.login-brand>img{background:transparent;border:0;border-radius:0;box-shadow:none}


/* Runtime motion tokens own transitions in CSS and fadeSurface. */
:root{--motion-duration:180ms;--motion-enter-duration:200ms;--motion-easing:ease-out}
.btn,.icon-btn,.text-link,.sidebar nav>a,input,select,textarea,.service-card-body{transition:background-color var(--motion-duration) var(--motion-easing),border-color var(--motion-duration) var(--motion-easing),color var(--motion-duration) var(--motion-easing),box-shadow var(--motion-duration) var(--motion-easing),opacity var(--motion-duration) var(--motion-easing)}
.btn:disabled,.text-link:disabled{opacity:.6}
.loading-surface{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:14px;min-height:144px;padding:28px;max-width:460px;margin:auto}
.loading-surface p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.flow-progress{display:block;width:100%;height:6px;appearance:none;-webkit-appearance:none;border:0;border-radius:6px;overflow:hidden;background:var(--line);accent-color:var(--blue)}
.flow-progress::-webkit-progress-bar{background:var(--line);border-radius:6px}
.flow-progress::-webkit-progress-value{background:var(--blue);border-radius:6px;transition:width var(--motion-duration) linear,background-color var(--motion-duration) ease-out}
.flow-progress::-moz-progress-bar{background:var(--blue);border-radius:6px;transition:width var(--motion-duration) linear}
.flow-progress:indeterminate{opacity:.6}
.transfer-feedback{min-height:70px;margin:20px 0 10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);transition:background-color var(--motion-enter-duration),border-color var(--motion-enter-duration),color var(--motion-enter-duration)}
.transfer-status{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:24px;margin-bottom:8px;font-size:13px;line-height:1.6}
#document-status{min-width:0;overflow-wrap:anywhere}
#document-percent{min-width:4ch;text-align:right;font-variant-numeric:tabular-nums}
.transfer-feedback[data-state=idle] .flow-progress{visibility:hidden}
.transfer-feedback[data-state=success]{border-color:var(--brand-green);color:var(--ink)}
.transfer-feedback[data-state=success] .flow-progress{accent-color:var(--brand-green)}
.transfer-feedback[data-state=success] .flow-progress::-webkit-progress-value{background:var(--brand-green)}
.transfer-feedback[data-state=success] .flow-progress::-moz-progress-bar{background:var(--brand-green)}
.transfer-feedback[data-state=error]{border-color:var(--red)}
.transfer-feedback[data-state=error] .flow-progress{visibility:hidden}
.inline-confirm{margin:16px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.inline-confirm h3{margin:0 0 8px;font-size:16px;overflow-wrap:anywhere}
.inline-confirm p{color:var(--muted);line-height:1.6}
.inline-confirm .actions{margin-top:16px;padding:0}
.upload-panel[aria-busy=true]{border-color:var(--blue)}
.animated-button[aria-busy=true] .arr-1{visibility:hidden}
.animated-button[aria-busy=true]::after{content:"";position:absolute;right:14px;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:quiet-spin 800ms linear infinite}
.error-box{animation:feedback-enter var(--motion-enter-duration) ease-out}
#toast{transition:opacity var(--motion-enter-duration) ease-out,transform var(--motion-enter-duration) ease-out;transform:translateY(3px)}
#toast.visible{transform:translateY(0)}
dialog::backdrop{animation:feedback-enter var(--motion-enter-duration) ease-out}
@keyframes feedback-enter{from{opacity:.35}to{opacity:1}}
@keyframes quiet-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){.loading-surface{padding:24px 16px}.transfer-feedback{padding:12px}.inline-confirm .actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){
 .btn,.icon-btn,.text-link,.sidebar nav>a,input,select,textarea,.service-card-body,.transfer-feedback,#toast,.flow-progress::-webkit-progress-value,.flow-progress::-moz-progress-bar{transition:none}
 .error-box,dialog::backdrop,.animated-button[aria-busy=true]::after{animation:none}
 #toast,#toast.visible{transform:none}
}


/* Operational request rhythm: retain document scrolling and the existing theme owners. */
#access-form .panel-body{display:flex;flex-direction:column;gap:26px}
#access-form .panel-body>.form-grid{margin:0;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}
#access-form .field{min-width:0;margin-bottom:0}
#access-form .field>label{display:block;margin-bottom:8px}
#access-form input:not([type=checkbox]):not([type=radio]),#access-form select,#access-form textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
#access-form .services-field{margin:0;padding:22px;min-width:0}
#access-form .services-help{margin-bottom:18px}
#access-form .service-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;align-items:stretch}
#access-form .service-copy b{font-size:15px;line-height:1.45;word-break:normal;overflow-wrap:normal;hyphens:none}
#access-form .service-card-body{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:16px;min-height:90px;height:100%;width:100%;min-width:0;box-sizing:border-box;background:var(--surface);border-color:var(--line);border-radius:12px}
#access-form .visitor-import-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
#access-form .visitor-import-actions h3{margin:0;font-size:16px}
#access-form .vehicle-section,#access-form .machinery-section,#access-form .tools-section{padding:22px 0 0;border-top:1px solid var(--line)}
#access-form .vehicle-check{min-height:44px;line-height:1.5;margin:0}
#access-form .vehicle-check+.muted{line-height:1.6}
#access-form .vehicle-check .animated-check{flex:0 0 auto}
#access-form .tools-fields{display:block;max-width:none;margin-top:16px}
#tool-items{display:grid;gap:16px}
.tool-item,.vehicle-item{border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);padding:18px;min-width:0;margin:0}
.tool-item legend,.vehicle-item legend{padding:0 6px;font-weight:600;color:var(--ink)}
.tool-item-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;line-height:1.5}
.tool-item-fields{display:grid;grid-template-columns:minmax(100px,0.4fr) minmax(0,1fr);gap:16px}
.tool-item-fields .full{grid-column:1/-1}
.tool-item-fields textarea{min-height:110px;resize:none}
.tool-add{margin-top:14px;gap:8px}
#tool-list-status{margin:8px 0 0;min-height:1.3em}
.confirmation-tool+.confirmation-tool{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.confirmation-tool h4{margin:0 0 12px}
.template-downloads{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:20px 0}
.audit-heading{align-items:flex-start;gap:16px}
.audit-heading h2{margin:0}
.audit-heading p{margin:6px 0 0;line-height:1.5;color:var(--muted)}
.audit-panel .audit-filters{padding:22px 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;background:var(--surface-soft);border-bottom:1px solid var(--line)}
.audit-filters .field{min-width:0;margin:0}
.audit-filters label{display:block;margin-bottom:8px;font-size:13px;color:var(--ink)}
.audit-filters input,.audit-filters select{width:100%;min-width:0}
.audit-search-field{grid-column:span 2}
.audit-search-wrap,.search-input-wrap{position:relative;min-width:0}
.search-input-wrap{flex:1}
.toolbar .search-input-wrap{flex:1 1 170px;max-width:400px}
.toolbar .search-input-wrap input{min-width:0;max-width:none}
@media(max-width:700px){.toolbar .search-input-wrap{max-width:none}}
.audit-search-wrap input,.search-input-wrap input{padding-right:46px;width:100%}
#audit-search-clear,.search-clear{position:absolute;right:5px;top:5px;height:34px;min-height:34px;width:34px;cursor:pointer}
.audit-filter-actions{display:flex;gap:10px;align-items:end;grid-column:span 2;flex-wrap:wrap}
#audit-filter-error{grid-column:1/-1}
#audit-filter-error:empty{display:none}
.audit-status{padding:16px 24px 0;color:var(--muted);font-size:13px;line-height:1.6}
#audit-results{min-height:160px}
.audit-event{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;background:var(--surface);overflow:hidden}
.audit-event:last-child{margin-bottom:0}
.audit-event summary{padding:18px;gap:12px}
.audit-event summary:hover{background:var(--surface-soft)}
.audit-event summary:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
.audit-event-copy{min-width:0;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}
.audit-event-copy b{font-size:14px;line-height:1.5}
.audit-event .audit-detail{font-size:14px;color:var(--ink);line-height:1.5}
.audit-chevron{font-size:20px;color:var(--muted)}
.audit-event[open] .audit-chevron{transform:rotate(180deg)}
.audit-event-body{padding:0 18px 18px}
.audit-record-meta{color:var(--muted);font-size:12px;line-height:1.7;padding:12px 0}
.audit-event table{table-layout:fixed;width:100%;min-width:540px}
.audit-event thead th:first-child{width:24%}
.audit-event tbody th{background:var(--surface-soft);font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink);white-space:normal;overflow-wrap:anywhere;vertical-align:top}
.audit-event td{max-width:none;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.audit-event .diff-before{background:color-mix(in srgb,var(--red) 6%,var(--surface))}
.audit-event .diff-after{background:color-mix(in srgb,var(--blue) 6%,var(--surface))}
.audit-pagination{gap:14px;line-height:1.5}
@media(max-width:1100px){.audit-panel .audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filter-actions{grid-column:1/-1}}
@media(max-width:640px){
 #access-form .panel-body{gap:22px;padding:20px 16px}
 #access-form .panel-body>.form-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 #access-form .services-field{padding:16px 12px}
 #access-form .service-options{grid-template-columns:minmax(0,1fr);gap:10px}
 #access-form .service-copy b{font-size:14px}
 #access-form .service-copy small{font-size:12px;overflow-wrap:normal}
 #access-form .visitor-import-actions{align-items:stretch}
 #access-form .visitor-import-actions .btn{width:100%;white-space:normal}
 #access-form input:not([type=checkbox]):not([type=radio]),#access-form select,#access-form textarea{font-size:16px}
 #request-vehicle-fields{grid-template-columns:minmax(0,1fr)}
 .tool-item,.vehicle-item{padding:14px 12px}
 .tool-item-fields{grid-template-columns:minmax(0,1fr)}
 .tool-item-fields .full{grid-column:auto}
 #access-form .actions{padding:18px 16px}
 #access-form .actions>.btn{width:100%;white-space:normal}
 .audit-panel .audit-filters{padding:18px 16px;gap:14px;grid-template-columns:minmax(0,1fr)}
 .audit-panel .audit-filters>*{width:auto}
 .audit-search-field,.audit-filter-actions{grid-column:auto}
 .audit-filter-actions .btn{flex:1}
 .audit-status{padding:14px 16px 0}
 #audit-results{padding:16px 12px}
 .audit-heading{flex-wrap:wrap;padding:20px 16px}
 .audit-event summary{padding:16px 12px;align-items:flex-start}
 .audit-event summary .badge{margin-left:22px;font-size:11px}
 .audit-event-body{padding:0 12px 14px}
 .audit-pagination{padding:16px 12px}
 .audit-pagination #audit-count{font-size:12px}
 .tabs{overflow-x:auto;flex-wrap:nowrap}
 .tabs button{white-space:nowrap;flex:0 0 auto;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.audit-chevron{transition:none}}
.visitor-import-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:24px 0 16px}.visitor-import-actions h3{margin:0}.toolbar{flex-wrap:wrap}#visitor-preview{margin-top:20px}#visitor-preview table{min-width:480px}

/* Requester totals reuse the shared bar chart and semantic theme colors. */
.requester-row{width:100%;grid-template-columns:minmax(0,1.2fr) minmax(40px,1fr) minmax(26px,max-content);padding:8px 0;min-height:44px;color:var(--ink);font-weight:400;text-align:left}.requester-copy{min-width:0;overflow-wrap:anywhere}.requester-copy>span{display:block;font-weight:600}.requester-copy small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.4}.requester-row .track{background:var(--surface-soft)}.requester-row .track>span{background:var(--blue)}.requester-row:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:4px}

.machinery-section{padding:20px 0}.machinery-section>.vehicle-check{min-height:44px;margin:0}.machinery-fields{display:grid;grid-template-columns:minmax(0,110px) minmax(0,1fr);gap:16px;max-width:420px;margin-top:16px;align-items:end}.machinery-fields input{width:100%;min-width:0}.machinery-fields .field{min-width:0}.machinery-section .animated-check input:focus-visible~svg{outline-color:var(--blue)}#access-form [aria-invalid=true]{border-color:var(--red)}
@media(max-width:480px){.machinery-fields{grid-template-columns:minmax(0,88px) minmax(0,1fr);gap:12px}}

/* F.A.L.T identity: shared transparent mark, no plate behind either logo. */
.platform-lockup{display:flex;align-items:center;gap:12px;min-width:0}
.sidebar .brand.platform-brand{height:auto;min-height:120px;padding:12px 4px;margin-bottom:26px;flex-direction:column;gap:12px;color:var(--ink);text-align:center;background:transparent}
.sidebar .brand .platform-symbol{display:block;width:46px;height:46px;max-width:none;object-fit:contain;flex-shrink:0;filter:brightness(0)}
[data-theme=dark] .sidebar .brand .platform-symbol{filter:brightness(0) invert(1)}
.platform-wordmark{font-size:28px;font-weight:750;line-height:1.2;letter-spacing:-.7px;white-space:nowrap}
.platform-description{max-width:196px;font-size:12px;line-height:1.6;font-weight:600;overflow-wrap:break-word}
.sidebar .brand.platform-brand:hover{opacity:.85}
.sidebar .brand.platform-brand:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.sidebar .brand.platform-brand:active{opacity:.7}
.platform-lockup-login{gap:16px;margin-bottom:20px}
.platform-lockup-login .platform-symbol{width:58px;height:58px;object-fit:contain;flex-shrink:0;filter:brightness(0) invert(1)}
.login-welcome .platform-lockup-login h1{margin:0}
.login-welcome .login-product-description{display:block}

.tools-section{padding:20px 0}.tools-section>.vehicle-check{min-height:44px;margin:0}.tools-fields{display:grid;grid-template-columns:minmax(0,110px) minmax(0,1fr);gap:16px;max-width:420px;margin-top:16px;align-items:end}.tools-fields input{width:100%;min-width:0}.tools-fields .field{min-width:0}.tools-section .animated-check input:focus-visible~svg{outline-color:var(--blue)}#access-form [aria-invalid=true]{border-color:var(--red)}
@media(max-width:480px){.tools-fields{grid-template-columns:minmax(0,88px) minmax(0,1fr);gap:12px}}
.tools-fields .full{grid-column:1/-1}.tools-fields textarea{width:100%;min-width:0}#other-service-field{margin-top:16px}

/* Services are horizontal multi-select tiles; let available panel width drive columns. */
#access-form .services-field{background:var(--surface);padding-top:18px}
#access-form .services-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
#access-form .services-help{margin:0;max-width:44ch;line-height:1.6}
#access-form .services-count{flex:0 0 auto;padding:6px 10px;border-radius:8px;background:var(--surface-soft);color:var(--blue);font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}
#access-form label.service-card{margin:0;display:block;min-width:0}
#access-form .service-card input{position:absolute;width:1px;height:1px;margin:0;padding:0}
#access-form .service-copy{display:block;min-width:0}
#access-form .service-copy small{margin-top:5px;font-size:12px;line-height:1.45;font-weight:500;letter-spacing:.02em;overflow-wrap:normal;word-break:normal;color:var(--muted)}
#access-form .service-symbol{width:40px;height:40px;border-radius:10px;background:var(--surface-soft)}
#access-form .service-symbol img{width:30px;height:30px}
#access-form .service-tick{width:20px;height:20px;border-radius:6px;font-size:13px;border-color:var(--line);background:var(--surface)}
#access-form .service-card input:checked+.service-card-body{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 6%,var(--surface));box-shadow:0 0 0 1px var(--blue)}
#access-form .service-card input:checked+.service-card-body .service-tick{background:var(--blue);border-color:var(--blue);color:var(--surface)}
#access-form .service-card input:focus-visible+.service-card-body{outline:3px solid var(--blue);outline-offset:3px}
#access-form .service-card:hover .service-card-body{border-color:var(--blue)}
#access-form .service-card:active .service-card-body{background:var(--surface-soft)}
@media(max-width:1440px){.grid-two.batch-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){
 #access-form .services-intro{flex-direction:column;gap:10px;margin-bottom:16px}
 #access-form .service-card-body{grid-template-columns:36px minmax(0,1fr) 20px;gap:10px;padding:14px 12px;min-height:82px}
 #access-form .service-symbol{width:36px;height:36px}
 #access-form .service-symbol img{width:28px;height:28px}
}
@media(prefers-reduced-motion:reduce){#access-form .service-card-body{transition:none}}
@media(forced-colors:active){#access-form .service-card input:checked+.service-card-body{border:2px solid Highlight}#access-form .service-card input:checked+.service-card-body .service-tick{background:Highlight;color:HighlightText}}
/* Listing upload reuses the form's surfaces, buttons and natural document flow. */
.tool-listing-upload{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.tool-listing-upload h4{font-size:15px;line-height:1.5;margin:0 0 8px}
.tool-listing-upload>p{line-height:1.6;margin-bottom:16px}
.tool-listing-selected{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.tool-listing-selected>div{min-width:0;flex:1 1 180px}
.tool-listing-selected b,.tool-listing-record p{overflow-wrap:anywhere}
.tool-listing-selected small{display:block;color:var(--muted);margin-top:5px}
.tool-listing-record{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.tool-listing-record p{line-height:1.65;margin:0 0 12px}
.tool-listing-download-status{min-height:24px;margin-top:10px;color:var(--muted)}
.tool-listing-record a[aria-disabled="true"]{opacity:.65;cursor:progress}
.tool-listing-upload .btn,#add-tool,#import-visitors,.template-downloads .btn{max-width:100%;white-space:normal;text-align:center}
#request-listing-feedback{margin-top:20px}

/* Repeatable vehicle fields reuse tool fieldsets, form columns and theme tokens. */
.vehicle-help{margin:8px 0 16px}.vehicle-list{display:grid;gap:16px;margin:16px 0}.vehicle-item{min-width:0;margin:0}.vehicle-item-actions{display:flex;justify-content:flex-end;margin-bottom:12px}.vehicle-add{margin:0 0 10px}.confirmation-vehicle-item+.confirmation-vehicle-item{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.confirmation-vehicle-item h4{margin:12px 0}

/* Person modals share spacing between identity fields, vehicle disclosure and actions. */
#modal .form-grid+.vehicle-section{margin-top:24px}
#modal .vehicle-section{margin-bottom:20px}
#modal .vehicle-section>.vehicle-check{min-height:44px;margin:0}
