*{box-sizing:border-box}body{margin:0;background:#f5f3fa;color:#30283e;font:14px 'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #e3daef;border-radius:10px;padding:10px 14px;background:#fff;color:#655773;font-weight:600}button:hover{background:#f0e9fa}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #b694e5;outline-offset:2px}.primary{background:#6536b7;border-color:#6536b7;color:white;box-shadow:0 4px 12px #6536b722}.primary:hover{background:#512b87}.danger{color:#bc344c}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:white;border-right:1px solid #e8e0f0;padding:28px 18px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:10px;align-items:center;font-size:19px;font-weight:750;letter-spacing:-.6px}.brandmark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#6536b7;color:white;font-size:23px}.brand small{display:block;letter-spacing:2px;font-size:9px;color:#a392b4;margin-top:2px}.navlabel{font-size:10px;letter-spacing:2px;color:#a99ab8;margin:40px 12px 12px}.nav{display:flex;flex-direction:column;gap:6px}.nav button{text-align:left;border:0;padding:13px;background:none;font-weight:500}.nav button.active{background:#f0e8fb;color:#6536b7;font-weight:700}.nav button span{margin-right:12px;font-size:18px}.sidebar footer{margin-top:auto;border-top:1px solid #eee7f4;padding-top:20px}.profile{display:flex;gap:10px;align-items:center;margin-bottom:14px}.avatar{width:36px;height:36px;background:#eee5fa;color:#6536b7;border-radius:11px;display:grid;place-items:center;font-weight:700}.muted{font-size:12px;color:#91849e}.workspace{margin-left:220px;min-width:0}.topbar{height:74px;background:#f8f6fbe8;backdrop-filter:blur(12px);border-bottom:1px solid #e7dfef;padding:0 30px;display:flex;align-items:center;justify-content:space-between}.topbar strong{font-size:13px}.topbar span{color:#9a8aaa}.topbar .pill{background:#eaf6f0;color:#358766}.content{padding:30px;max-width:1920px;margin:auto}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2px;color:#9b8baa;font-weight:700;margin-bottom:7px}h1{font-size:28px;letter-spacing:-.8px;margin:0}h2{font-size:18px;margin:0}p.sub{color:#91849e;margin:8px 0 0;font-size:13px}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat{background:white;border:1px solid #e5dbef;border-top:3px solid #b291e2;padding:18px 20px;border-radius:16px}.stat:nth-child(2){background:#fff7e8;border-color:#eec377}.stat:nth-child(3){background:#fff0f3;border-color:#e99eac}.stat:nth-child(4){background:#effaf4;border-color:#86c9a6}.stat .label{font-size:12px;color:#8a7d98}.stat strong{font-size:28px;display:block;margin:7px 0 3px;font-weight:700}.panel{background:white;border:1px solid #e8e0f0;border-radius:17px;box-shadow:0 4px 18px #4c2a7805;margin-bottom:20px;overflow:hidden}.toolbar{padding:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search{min-width:230px;flex:1}.toolbar select{width:auto;max-width:220px}.pill{display:inline-flex;align-items:center;border-radius:7px;padding:5px 9px;font-size:11px;background:#f1ebf9;color:#805eae}.sheet{overflow:auto;max-height:calc(100vh - 360px);min-height:280px;position:relative;border-top:1px solid #eee8f4}table{border-collapse:separate;border-spacing:0;width:100%;text-align:left;font-size:12px}th{position:sticky;top:0;z-index:4;background:#f9f7fc;border-bottom:1px solid #e6ddef;color:#897899;font-size:10px;letter-spacing:.5px;text-transform:uppercase;height:49px;padding:9px 12px;white-space:nowrap}td{padding:12px;border-bottom:1px solid #f0eaf6;white-space:nowrap;height:53px;max-width:300px;overflow:hidden;text-overflow:ellipsis;background:#fff}th,td{min-width:150px}.checkcell{min-width:42px;width:42px;padding:12px 10px}.sticky{position:sticky;z-index:2;border-right:1px solid #eee7f4}th.sticky{z-index:6;background:#f9f7fc}.sheet tr:hover td{background:#faf7ff}.sheet tr.cleared td{background:#e7f5eafa;color:#5c7963}.sheet tr.cleared:hover td{background:#dff0e4}.sheet tr.cleared td .pill{opacity:.85}.sr{min-width:75px;max-width:75px;width:75px}.job{min-width:155px;width:155px;max-width:155px;font-weight:600}.party{min-width:210px;width:210px;max-width:210px;font-weight:600}.selected-row td{background:#f3edfc}.sheet td.editable{cursor:cell}.sheet td.editable:hover{box-shadow:inset 0 0 0 1px #cab3e7}.sheet td input,.sheet td select{min-width:120px;padding:6px}.sheet td button{padding:5px 8px;font-size:11px}th button{padding:0;border:0;background:none;text-transform:uppercase;font-size:10px;letter-spacing:.5px;color:inherit}.money{font-variant-numeric:tabular-nums;font-weight:600}.alert-No{background:#e4f6e9;color:#287343}.alert-Yes{background:#fff1b4;color:#937118}.alert-R{background:#ffe0e5;color:#b72d46}.sheetfoot{padding:12px 16px;display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#9a8aa8}.filters{padding:0 16px 16px;display:flex;gap:9px;flex-wrap:wrap}.filter-item{display:flex;gap:6px;align-items:center;background:#faf7ff;border:1px solid #e7ddf1;padding:8px;border-radius:10px}.filter-item input,.filter-item select{max-width:150px;padding:7px}.filter-item button{padding:5px 8px}.empty{padding:65px 20px;text-align:center;color:#9485a1}.empty strong{color:#5f4f70;font-size:17px;display:block;margin-bottom:10px}.empty p{line-height:1.8}.empty-icon{font-size:35px;color:#b49bcc;margin-bottom:15px}input,select,textarea{width:100%;min-width:0;background:#fdfcfe;border:1px solid #e5dced;border-radius:9px;padding:10px 11px;color:#40314f}input:focus,select:focus,textarea:focus{outline:2px solid #d8c6ef;border-color:#ad8cd5}input[type=checkbox]{width:16px;height:16px;accent-color:#6536b7;cursor:pointer}textarea{min-height:80px;resize:vertical}.field{display:flex;flex-direction:column;gap:7px}.field>span{font-size:12px;color:#85728f;font-weight:600}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.full{grid-column:1/-1}.section-label{grid-column:1/-1;font-size:10px;color:#9b84ad;letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid #eee8f4;padding:15px 0 8px}.hint{font-size:11px;color:#9887a4}.error{color:#b93047;font-size:12px;padding:10px 0}.error:empty{display:none}dialog{width:900px;max-width:calc(100vw - 28px);max-height:90vh;border:1px solid #e4daef;border-radius:20px;padding:0;color:#342740;box-shadow:0 25px 100px #29113d40}dialog::backdrop{background:#26133365;backdrop-filter:blur(4px)}.modalhead{padding:23px 26px;border-bottom:1px solid #eee7f5;display:flex;align-items:center;justify-content:space-between}.modalbody{padding:24px 26px;overflow:auto;max-height:65vh}.modalfoot{padding:16px 26px;border-top:1px solid #eee7f5;display:flex;gap:10px;justify-content:flex-end;background:#fff}.modalfoot .left{margin-right:auto}.options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.option{display:flex;align-items:center;gap:9px;font-size:12px}.permissions th,.permissions td{min-width:80px}.permissions th:first-child,.permissions td:first-child{min-width:200px}.permissions input{width:16px}.history-card{padding:20px 24px;border-bottom:1px solid #eee8f4}.history-card header{display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.history-change{font-size:12px;padding:5px 0;color:#7e6c8c}.history-change del{color:#b17480;margin:0 8px}.history-change ins{text-decoration:none;color:#36876b}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-art{padding:9vw;background:#4b267e;color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-art:after{content:'';position:absolute;width:400px;height:400px;border:65px solid #ffffff05;border-radius:50%;right:-220px;bottom:-150px}.login-art .brandmark{background:#ffffff15}.login-art h1{font-size:48px;line-height:1.12;margin-top:65px;letter-spacing:-1.7px}.login-art p{color:#cebae4;line-height:1.9}.login-art small{color:#bca1d9}.login-form{display:grid;place-items:center;padding:40px}.login-form form{width:340px;max-width:100%}.login-form .field{margin-top:22px}.login-form button{width:100%;margin-top:25px;padding:13px}.login-form .muted{margin-top:30px;text-align:center;font-size:11px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#3f2856;color:#fff;padding:13px 22px;border-radius:12px;box-shadow:0 6px 25px #34204330;z-index:100;display:none;max-width:90vw}.tooltip{display:inline-flex;margin-left:7px;color:#9070b1;cursor:help}.mobile-nav{display:none}.usercards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.usercard{padding:24px}.usercard h2{margin:12px 0 4px}.usercard button{margin-top:20px}.note{padding:14px 18px;background:#f1ebfa;color:#806397;border-radius:12px;font-size:12px;line-height:1.7;margin-bottom:18px}@media(max-width:1000px){.sidebar{width:180px;padding:24px 12px}.workspace{margin-left:180px}.content{padding:20px}.brand{font-size:16px}.formgrid{grid-template-columns:repeat(2,1fr)}.options-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{display:none}.workspace{margin:0}.topbar{padding:0 15px;height:58px}.content{padding:18px 12px 80px}.pagehead{align-items:flex-start;flex-direction:column}h1{font-size:25px}.stats{grid-template-columns:repeat(2,1fr);gap:9px}.stat{padding:12px}.stat strong{font-size:24px}.sheet{max-height:60vh;min-height:300px}.toolbar{padding:12px}.toolbar .search{min-width:100%;}.formgrid{grid-template-columns:1fr}.modalbody{padding:18px;max-height:65vh}.modalhead,.modalfoot{padding:16px}.options-grid{grid-template-columns:1fr 1fr}.login{grid-template-columns:1fr}.login-art{display:none}.login-form{padding:25px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fff;border-top:1px solid #e6ddee;padding:8px;z-index:40}.mobile-nav button{border:0;font-size:11px}.sheetfoot{flex-direction:column}.sr{min-width:55px;width:55px;max-width:55px}.job{min-width:100px;width:100px;max-width:100px}.party{min-width:130px;width:130px;max-width:130px}.sheet td,.sheet th{font-size:11px}.filter-item{width:100%}.topbar .pill{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Compact register revision */
.register-view .topbar{height:45px}.register-view .content{padding:12px 16px}.register-view .pagehead{margin-bottom:10px}.register-view h1{font-size:23px}.register-view .toolbar{padding:10px;gap:8px}.register-view .filters:empty{display:none}.register-view .sheet{height:calc(100dvh - 215px);max-height:none}.sheet th,.sheet td{min-width:0;padding:8px;height:40px}.sheet th{height:44px;background:#eee7f7;color:#58436e}.sheet th.sticky{background:#eee7f7}.sheet th button{font-size:12px;font-weight:800;white-space:normal;line-height:1.2;text-align:left}.sheet .sr,.sheet .job,.sheet .party{width:auto;min-width:0;max-width:none}.sheet .checkcell{padding:8px}.sheet td{text-transform:uppercase;font-size:13px}.sheet .status-select{width:100%;min-width:0;padding:5px 3px;font-size:12px;font-weight:650;background:#ffffff85;border-color:#dacdea}.sheet td.boe .status-select{width:calc(100% - 32px)}.tooltip{font-size:24px;font-weight:800;vertical-align:middle;margin-left:6px;line-height:1}.sheet tr.red-alert td,.sheet tr.red-alert:hover td{background:#ffccd2;color:#8e2334}.sheet tr.red-alert.cleared td{background:#ffccd2;color:#8e2334}.alert-NO{background:#e4f6e9!important;color:#287343}.alert-YES{background:#fff1b4!important;color:#937118}.minirow{display:flex;justify-content:space-between;gap:10px;padding:10px;border-bottom:1px solid #eee7f4}.register-view .sheetfoot{padding:8px 12px}.sheet td input:not([type=checkbox]){min-width:0;width:100%}#shipment-form input[type=text],#master-values{text-transform:uppercase}@media(max-width:700px){.register-view .content{padding:10px 8px 80px}.register-view .pagehead{flex-direction:row;align-items:center;flex-wrap:wrap}.register-view .sheet{height:calc(100dvh - 295px)}.mobile-nav{overflow:auto;justify-content:flex-start}.mobile-nav button{flex-shrink:0}.register-view .toolbar .search{min-width:100%}}
.sheet th button{max-width:100%;overflow-wrap:anywhere}.sheet th.quantity button{font-size:11px;letter-spacing:0}.sheet .status-select.alert-R{background:#ffdbe0;color:#9e2339}
/* v3 responsive inline controls */
.status-select{background:#fff;color:#3b2d4a;border-color:#e1d5ed}.status-select.alert-R{background:#ffdbe0;color:#98283c;border-color:#ef9ba8}.status-select.alert-YES{background:#fff;color:#6d536d}.status-select.alert-NO{background:#fff;color:#6d536d}.sheet tr.yellow-alert td,.sheet tr.green-alert td{background:#fff}.boe-info{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;margin-left:6px;border-radius:50%;border:2px solid #8968ae;background:#fff;color:#694598;font-weight:800;font-style:normal;font-family:Georgia,serif}.boe-info:hover{background:#f0e8fb}.boe-tip{white-space:pre-wrap;background:#fffefb;border:1px solid #4c3f52;color:#3f3446;padding:9px 11px;box-shadow:0 4px 12px #27173238;font-size:12px;line-height:1.45;z-index:5000;max-width:330px}.floating-picker{position:fixed;z-index:4500;background:#fff;border:1px solid #d9c9e8;border-radius:14px;box-shadow:0 14px 40px #38214735;padding:12px}.calendar-popup{width:310px}.calendar-popup header{display:flex;gap:6px;align-items:center;margin-bottom:10px}.calendar-popup header button{padding:7px 10px}.calendar-popup header select{width:90px}.calendar-popup header input{width:76px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-week{color:#796b8b;font-weight:700;padding:5px 0}.calendar-days button{padding:7px 2px;border:0;background:#fff}.calendar-days button:hover,.calendar-days button.selected{background:#6536b7;color:#fff;border-radius:8px}.calendar-popup footer{display:flex;justify-content:space-between;margin-top:10px}.combo-popup{width:250px}.combo-search{margin-bottom:8px}.combo-options{max-height:180px;overflow:auto}.combo-options button{display:block;width:100%;text-align:left;border:0;border-radius:7px;padding:8px;background:#fff}.combo-options button:hover{background:#f0e8fb}.combo-popup small{display:block;color:#8d7c9d;margin-top:8px}.combo-wrap{display:flex;align-items:stretch}.combo-wrap input{border-radius:9px 0 0 9px}.combo-toggle{border-radius:0 9px 9px 0;padding:8px 10px}.date-cell{border:0;background:transparent;color:#3f3150;padding:5px 7px;font-variant-numeric:tabular-nums}.date-cell:hover{background:#f1e9fb}.monthly{padding:18px}.monthly h2{margin-bottom:5px}.month-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px}.month-grid article{background:#f8f5fc;border:1px solid #e7dff0;border-radius:9px;padding:9px;text-align:center}.month-grid span{display:block;font-size:11px;color:#86758e}.month-grid strong{display:block;font-size:20px;color:#6536b7;margin-top:4px}.year-label{display:flex;align-items:center;gap:7px;color:#806d91;font-size:10px;font-weight:700}.year-label select{width:145px;padding:6px 8px;font-size:11px}.sheet td.partyContact{font-variant-numeric:tabular-nums}@media(max-width:700px){.calendar-popup{width:290px}.month-grid{grid-template-columns:repeat(3,1fr)}.year-label select{width:120px}}
.floating-picker,.boe-tip{margin:0;inset:auto;position:fixed}.sheet tr.yellow-alert td,.sheet tr.yellow-alert:hover td{background:#fff1bc;color:#705a20}.sheet tr.green-alert td,.sheet tr.green-alert:hover td{background:#e5f5e8;color:#315f40}.sheet tr.cleared:not(.red-alert) td{background:#e5f5e8;color:#587960}.sheet .status-select:not([data-field=alert]){background:white!important;color:#493851!important}.sheet th.cleared,.sheet td.cleared{text-align:center}.sheet td.cleared input{width:20px;height:20px;min-width:20px;padding:0;margin:auto;display:block}.sheet td button.boe-info{width:24px;height:24px;padding:0;font-size:16px}.sheet td.boe .status-select{width:calc(100% - 34px)}

/* v4 requested interaction and top navigation */
.alert-NO{background:#dcecff!important;color:#2b5d91!important}.sheet tr.green-alert td,.sheet tr.green-alert:hover td{background:#dcecff;color:#2b5d91}.sheet{overflow-x:auto;overflow-y:visible;max-height:none}.sheet table{margin-bottom:2px}.calendar-popup{z-index:6000;max-height:calc(100dvh - 30px);overflow:auto}.field.full{grid-column:1/-1}
.sidebar{position:sticky;top:0;inset:0;width:100%;height:74px;min-height:74px;padding:12px 24px;display:flex;flex-direction:row;align-items:center;gap:24px;border-right:0;border-bottom:1px solid #e8e0f0;z-index:30}.sidebar .brand{flex:0 0 auto;margin:0}.sidebar .navlabel{display:none}.sidebar .nav{flex-direction:row;align-items:center;gap:3px;flex:1;overflow:auto}.sidebar .nav button{white-space:nowrap;padding:10px 12px}.sidebar footer{margin:0 0 0 auto;padding:0;border:0;display:flex;align-items:center;gap:10px}.sidebar footer .profile{margin:0}.sidebar footer .row{flex-wrap:nowrap}.workspace{margin-left:0}.topbar{height:46px;padding:0 24px}.mobile-nav{display:none!important}@media(max-width:700px){.sidebar{height:62px;min-height:62px;padding:8px 12px;gap:10px}.sidebar .brand small,.sidebar .nav button span{display:none}.sidebar .brandmark{width:36px;height:36px}.sidebar .nav button{font-size:11px;padding:8px}.sidebar footer .profile div:not(.avatar),.sidebar footer .row button:first-child{display:none}.sidebar footer .row{gap:4px}.sidebar footer .row button{font-size:10px;padding:7px}.topbar{height:40px;padding:0 12px}.content{padding-top:16px}}

.field textarea{width:100%;min-height:110px;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;text-transform:uppercase}.boe-tip{max-width:420px;white-space:pre-wrap;overflow-wrap:anywhere}.sheet tr.cleared td,.sheet tr.cleared:hover td{background:#def3e4;color:#376247}.sidebar .nav{display:flex;min-width:0}.sidebar footer .profile{display:none}.register-view .sheet{height:calc(100dvh - 290px);overflow:auto}.calendar-popup{width:320px;border:1px solid #d7c9ec;border-radius:18px;padding:18px;box-shadow:0 24px 80px #29203a40}.calendar-days button{border-radius:9px;min-height:34px}.calendar-days button:hover{background:#eee6fa}.content{padding-top:12px}
.sheet tr.cleared:not(.red-alert) td,.sheet tr.cleared.red-alert td,.sheet tr.cleared:hover td{background:#def3e4;color:#376247}

.field textarea{width:100%;min-height:110px;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;text-transform:uppercase}.boe-tip{max-width:420px;white-space:pre-wrap;overflow-wrap:anywhere}.sheet tr.cleared td,.sheet tr.cleared:hover td{background:#def3e4;color:#376247}.sidebar .nav{display:flex;min-width:0}.sidebar footer .profile{display:none}.register-view .sheet{height:calc(100dvh - 290px);overflow:auto}.calendar-popup{width:320px;border:1px solid #d7c9ec;border-radius:18px;padding:18px;box-shadow:0 24px 80px #29203a40}.calendar-days button{border-radius:9px;min-height:34px}.calendar-days button:hover{background:#eee6fa}.content{padding-top:12px}

.master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.master-card{background:#fff;border:1px solid #e7dff0;border-radius:18px;padding:20px;box-shadow:0 8px 24px #4320640c}.master-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.master-card h2{margin:0;font-size:16px;color:#3b2d4d}.master-card textarea{width:100%;box-sizing:border-box;min-height:74px;margin-bottom:10px;resize:vertical}.master-count{font-size:12px;color:#765d91;background:#f1eafe;padding:5px 9px;border-radius:99px}.master-list{margin-top:14px;max-height:180px;overflow:auto}.master-list .minirow{padding:7px 0}.master-list .minirow button{font-size:11px;padding:4px 8px}@media(max-width:850px){.master-grid{grid-template-columns:1fr}}

/* V6 compact controls */
.master-tabs{display:flex;gap:8px;overflow:auto;padding:6px 0 16px}.master-tabs button{flex-shrink:0;border:0;padding:13px 18px;border-radius:12px;background:white;font-weight:700}.master-tabs [aria-selected=true]{background:#ede4fb;color:#6536b7}.master-grid{display:block}.master-card[hidden]{display:none}.master-list{max-height:420px}.sheet th button[data-sort]{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-height:30px}.sort-arrow{flex-shrink:0;margin-left:auto}.date-cell{display:flex!important;align-items:center;justify-content:space-between;width:100%;gap:8px;min-height:30px}.calendar-icon{display:inline-block;width:15px;height:15px;border:1.7px solid #7952aa;border-radius:3px;position:relative;flex-shrink:0}.calendar-icon:before{content:'';position:absolute;top:3px;left:0;right:0;border-top:2px solid #7952aa}.custom-date{padding-right:32px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%237952aa' stroke-width='1.5'%3E%3Crect x='2' y='4' width='14' height='12' rx='2'/%3E%3Cpath d='M2 8h14M6 2v4m6-4v4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.combo-wrap{display:flex;position:relative;min-width:0;width:100%}.combo-wrap input{width:100%;padding-right:36px!important;min-height:36px}.combo-toggle{position:absolute!important;right:0;top:0;bottom:0;width:34px!important;border:0!important;border-left:1px solid #e3d9ef!important;background:transparent!important;border-radius:0 8px 8px 0!important}.combo-popup{min-width:260px;max-width:360px;padding:12px;border:1px solid #e3d9ef;border-radius:14px;box-shadow:0 12px 40px #29123a26}.combo-options{max-height:250px;overflow:auto;padding-top:6px}.combo-options button{display:block;width:100%;text-align:left;padding:11px;border:0;border-radius:8px;background:white}.combo-options button:hover{background:#eee6fa}.combo-search{width:100%}.options-grid{display:flex;flex-direction:column;gap:4px}.options-grid .option{display:flex;align-items:center;gap:12px;padding:9px}.sheet input[type=checkbox],.options-grid input[type=checkbox]{appearance:auto!important;opacity:1!important;width:18px;height:18px;accent-color:#6536b7}select{padding-right:30px!important;border-radius:10px;min-height:36px}.sheet td .status-select{min-height:32px}.calendar-popup{transform:none!important}

/* Gateway Desk branding — 25 October 2026 */
.gateway-brand{gap:10px;letter-spacing:-.6px;color:#153957;align-items:center}
.gateway-mark{display:block;width:47px;height:43px;object-fit:contain;flex:0 0 47px}
.gateway-wordmark{font-size:20px;line-height:1.12;font-weight:750;white-space:nowrap}
.gateway-brand small{font-size:8px;letter-spacing:1.8px;color:#4d7b9b;margin-top:7px;font-weight:650}
.sidebar .gateway-wordmark{font-size:19px}.sidebar .gateway-mark{width:40px;height:40px;flex-basis:40px}
.primary{background:#1769a4;border-color:#1769a4;box-shadow:0 4px 12px #1769a41a}.primary:hover{background:#125783;border-color:#125783}
.nav button.active{background:#edf5fb;color:#1769a4}.avatar{background:#edf5fb;color:#1769a4}
button:focus-visible,a:focus-visible{outline-color:#229dd0}
.login{background:#fff;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.login-art{padding:clamp(36px,6vw,96px);background:linear-gradient(145deg,#0e2235 0%,#103b58 65%,#135a71 100%);justify-content:center;min-height:100vh}
.login-art:after{border-color:#62b6ca0c;width:500px;height:500px;right:-300px;bottom:-210px;pointer-events:none}
.company-lockup{display:flex;align-items:center;gap:20px;position:relative;z-index:1}
.company-lockup img{width:94px;height:90px;object-fit:contain;padding:9px;background:#fff;border-radius:18px;flex-shrink:0}
.company-lockup>div{font-size:clamp(22px,2.4vw,34px);font-weight:700;letter-spacing:-.7px;line-height:1.2}
.company-tagline{font-size:9px;letter-spacing:1.8px;color:#b9d7e5;margin-top:22px;line-height:1.8}
.login-kicker{margin-top:76px;font-size:10px;letter-spacing:2.5px;font-weight:600;color:#91c76b}
.login-art h1{font-size:clamp(40px,4.2vw,64px);line-height:1.07;margin-top:18px;letter-spacing:-2px}
.login-art p{font-size:16px;line-height:1.8;color:#c1d6e1;margin:22px 0 0}
.login-signoff{display:flex;align-items:center;gap:10px;margin-top:54px;color:#a8c2d1;font-size:11px}
.login-signoff span{width:6px;height:6px;border-radius:50%;background:#87c653}
.login-form{padding:48px 36px;background:#fff}.login-form form{width:380px;max-width:100%}
.login-form .gateway-brand{margin-bottom:44px;gap:13px}.login-form .gateway-wordmark{font-size:26px}.login-form .gateway-mark{width:57px;height:53px;flex-basis:57px}
.login-form .eyebrow{color:#4f7b98;letter-spacing:2px;margin-bottom:10px}
.login-form h1{color:#16374f;font-size:32px;letter-spacing:-1px}.login-form p.sub{color:#647b8b;font-size:14px;line-height:1.6}
.login-form .field>span{color:#415e72}.login-form input{border-color:#d6e2ea;background:#fbfdff;color:#16374f;border-radius:9px;padding:13px 14px}
.login-form input:focus{border-color:#2485b8;outline:3px solid #2485b81c}
.login-form button{padding:14px;border-radius:9px}.login-form .muted{color:#708594;line-height:1.6}
@media(max-width:900px){.login{grid-template-columns:1fr}.login-art{display:none}.login-form{min-height:100vh;padding:32px 24px}.login-form .gateway-brand{margin-bottom:36px}}
@media(max-width:380px){.login-form .gateway-wordmark{font-size:23px}.login-form .gateway-mark{width:48px;flex-basis:48px}.login-form h1{font-size:29px}}

/* Gateway Desk navigation and Settings */
.ui-icon{display:inline-block;width:20px;height:20px;flex:0 0 20px;vertical-align:middle}
.sidebar .brand-home{display:flex;align-items:center;flex:0 0 auto;background:transparent;border:0;padding:4px 2px;text-align:left;border-radius:9px;box-shadow:none}
.sidebar .brand-home:hover{background:#f2f7fb}.sidebar .brand-home:focus-visible{outline:3px solid #2485b8;outline-offset:4px}
.sidebar .nav button,.mobile-nav button{display:flex;align-items:center;gap:9px}
.sidebar .nav button .nav-text{display:inline;margin:0;font-size:inherit}
.sidebar .nav button .ui-icon{color:#59748c}.sidebar .nav button.active .ui-icon{color:#1769a4}
.sidebar .signout-button{display:inline-flex;gap:7px;align-items:center}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1000px}
.settings-card{display:flex;align-items:flex-start;gap:18px;padding:26px;background:#fff;border:1px solid #dde6ed;border-radius:16px;text-align:left;box-shadow:0 3px 14px #15395704;font-weight:400;transition:border-color .15s,box-shadow .15s}
.settings-card:hover{background:#fff;border-color:#8ebbd8;box-shadow:0 6px 22px #1539570c}
.settings-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:13px;background:#edf5fb;color:#1769a4}
.settings-icon .ui-icon{width:24px;height:24px}.password-icon{background:#eff7eb;color:#448631}
.settings-copy{display:flex;flex-direction:column;gap:9px;min-width:0}.settings-copy strong{font-size:18px;color:#16374f;font-weight:650;line-height:1.3}
.settings-copy>span{font-size:13px;color:#647b8b;line-height:1.7}.settings-copy em{font-size:9px;font-style:normal;font-weight:700;letter-spacing:1.6px;color:#6c8497;margin-top:8px}
.settings-arrow{margin-left:auto;color:#6689a0;padding-top:4px}.settings-back{display:inline-flex;gap:7px;align-items:center;border:0;background:transparent;padding:0 0 14px;color:#1769a4;font-size:12px}.settings-back:hover{background:transparent;color:#10466e}
@media(max-width:1100px){.sidebar{gap:12px;padding-left:16px;padding-right:16px}.sidebar .nav button{padding:10px 9px;gap:7px}}
@media(max-width:700px){.sidebar .nav button .nav-text{display:inline}.sidebar .nav button .ui-icon{width:18px;height:18px;flex-basis:18px}.sidebar footer .row button.signout-button{display:inline-flex}.sidebar .brand-home .gateway-wordmark{display:none}.sidebar .brand-home .gateway-mark{width:34px;height:34px;flex-basis:34px}.sidebar .brand-home{padding:2px}.sidebar{gap:8px;padding-left:10px;padding-right:10px}.sidebar .signout-button span{display:none}.settings-grid{grid-template-columns:1fr}.settings-card{padding:20px;gap:14px}.settings-copy strong{font-size:17px}.settings-back{margin-bottom:3px}}
/* Gateway Desk v1 — account preferences, team cards and modern operations */
:root{--surface:#fff;--canvas:#f4f7fb;--ink:#16354c;--muted:#698092;--line:#dce5ed;--accent:#1769a4;--soft:#edf5fb;--input:#f9fbfd;--shadow:0 8px 30px #142b4a08}
html[data-theme=dark]{color-scheme:dark;--surface:#152335;--canvas:#0b1522;--ink:#e7eef7;--muted:#9db0c4;--line:#2b3b50;--accent:#6dbcf8;--soft:#203a52;--input:#102033;--shadow:0 8px 30px #0002}
body{background:var(--canvas);color:var(--ink)}button{color:var(--ink);border-color:var(--line);background:var(--surface)}button:hover{background:var(--soft)}.primary{background:#1769a4;color:#fff;border-color:#1769a4}.primary:hover{background:#125783}
.sidebar,.topbar,dialog,.panel,.stat,.usercard,.settings-card,.appearance-panel,.profile-settings{background:var(--surface);color:var(--ink);border-color:var(--line)}.topbar{backdrop-filter:blur(12px)}.muted,.sub,p.sub,.hint,.eyebrow,.topbar span,.field>span{color:var(--muted)}.sidebar .nav button.active{background:var(--soft);color:var(--accent)}.sidebar .nav button .ui-icon,.sidebar .nav button.active .ui-icon{color:inherit}.gateway-brand{color:var(--ink)}.gateway-brand small{color:var(--muted)}
input,select,textarea{color:var(--ink);background:var(--input);border-color:var(--line);accent-color:#2587c5}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input:focus,select:focus,textarea:focus{outline-color:#2587c5}.settings-copy strong{color:var(--ink)}.settings-copy>span,.settings-copy em{color:var(--muted)}.settings-card:hover{background:var(--surface)}.sidebar .brand-home:hover{background:var(--soft)}
.appearance-panel{margin-top:24px;border:1px solid var(--line);border-radius:18px;padding:28px;max-width:1000px;box-shadow:var(--shadow)}.appearance-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.personal-label{font-size:9px;letter-spacing:1.5px;color:var(--accent);border:1px solid var(--line);padding:7px 10px;border-radius:20px;white-space:nowrap}.appearance-panel fieldset{border:0;padding:0;margin:26px 0 0;min-width:0}.appearance-panel legend{font-size:14px;font-weight:700;margin-bottom:12px}.view-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.view-choice{position:relative;display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);padding:16px;border-radius:12px;cursor:pointer}.view-choice.selected{border:2px solid #2587c5;padding:15px;background:var(--soft)}.view-choice>input{position:absolute;top:14px;right:14px;width:auto}.view-choice>strong{font-size:15px}.view-choice>span:last-child{font-size:12px;color:var(--muted);line-height:1.5}.view-thumbnail{display:grid;height:78px;background:var(--canvas);padding:10px;gap:5px;margin-bottom:4px;border-radius:7px;margin-right:22px}.view-thumbnail.classic{grid-template-columns:repeat(3,1fr)}.view-thumbnail.classic i{border:1px solid var(--line);background:var(--surface);border-radius:2px}.view-thumbnail.modern{grid-template-columns:repeat(3,1fr)}.view-thumbnail.modern i{border-radius:5px;background:linear-gradient(135deg,#247bc5,#3dc5c3);opacity:.8}.mode-choices{display:flex;gap:14px}.theme-choice{display:flex;align-items:center;gap:10px;padding:13px 22px;border:1px solid var(--line);border-radius:11px;cursor:pointer}.theme-choice input{width:auto}.theme-choice:has(input:checked){border-color:#2587c5;background:var(--soft)}.theme-orb{width:17px;height:17px;border-radius:50%;background:#f4c762}.theme-orb.dark{background:#153957;border:1px solid #6c8fac;box-shadow:inset -4px -2px 0 #9ec9e8}.profile-settings{max-width:1000px;margin-top:20px;padding:24px 28px;border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:20px}.profile-settings p{font-size:13px;color:var(--muted)}.profile-settings button{flex-shrink:0}
.team-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:20px}.team-card{width:280px;max-width:100%;display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);padding:24px;border-radius:18px;box-shadow:var(--shadow)}.team-card.owner-card{width:360px;background:linear-gradient(130deg,#123653,#176e8a);color:#fff;border-color:transparent}.team-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.team-card .avatar{width:44px;height:44px;font-size:20px}.team-status{font-size:9px;letter-spacing:1.1px;font-weight:700;background:var(--soft);color:var(--accent);border-radius:20px;padding:6px 9px}.owner-card .team-status,.owner-card .avatar{background:#ffffff20;color:#fff}.team-card h2{font-size:20px;margin:2px 0 0;overflow-wrap:anywhere}.team-role{font-size:12px;color:var(--muted);margin:0}.owner-card .team-role,.owner-card .team-contacts{color:#c4e2ee}.team-contacts{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:12px;overflow-wrap:anywhere;margin:6px 0 10px}.team-card>button{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.owner-card>button{background:#ffffff14;border-color:#ffffff45;color:white}.contact-warning{font-size:11px;line-height:1.5;color:#b86c17;margin:0 0 12px}.owner-card .contact-warning{color:#ffe5a3}
.user-dialog{width:min(1050px,96vw)!important}.user-dialog .modalbody{padding:24px;max-height:72vh}.user-dialog .account-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.account-grid .field{min-width:0}.account-grid .field input,.account-grid select{width:100%}.active-option{align-self:center;display:flex;gap:10px;align-items:center}.active-option input{width:auto}.permission-title{margin:22px 0 12px}.permission-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.permission-chip{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:9px;font-size:13px;background:var(--input);cursor:pointer}.permission-chip input{width:17px;height:17px;margin:0}.permission-chip:has(input:checked){border-color:#4b9dce;background:var(--soft)}.default-access{font-size:12px;color:var(--muted);margin:14px 0}.owner-notice{background:var(--soft);border-left:3px solid #2587c5;padding:12px;font-size:12px;border-radius:5px}.column-access{border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:20px}.column-access summary{cursor:pointer;font-weight:650}.column-access summary span{display:block;font-size:11px;font-weight:400;color:var(--muted);margin:6px 0}.column-access .row{margin:16px 0}.permissions-scroll{max-height:280px;overflow:auto}.legacy-help{font-size:11px;color:var(--muted);line-height:1.6;margin-top:18px}.legacy-help summary{cursor:pointer}.enrollment-note{padding:12px 18px;background:var(--soft);border:1px solid var(--line);border-radius:10px;margin-bottom:18px;font-size:12px}.enrollment-note button{padding:2px 5px;border:0;background:none;color:var(--accent)}
.modern-view .content{max-width:1600px;padding:28px 32px 50px}.control-hero{position:relative;overflow:hidden;min-height:300px;border-radius:24px;padding:40px 48px;background:radial-gradient(ellipse at 85% 20%,#1a7a8f70,transparent 50%),linear-gradient(115deg,#10283d,#123e5d 60%,#15526b);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:40px;box-shadow:0 18px 44px #08203318}.hero-copy{position:relative;z-index:1;max-width:650px}.control-hero .eyebrow{color:#8fc6dc;font-size:10px;letter-spacing:2.4px}.control-hero h1{font-size:clamp(34px,3.3vw,52px);line-height:1.08;letter-spacing:-1.7px;margin:18px 0}.control-hero h1 span{color:#8fe1d1}.control-hero p{color:#c3dbe7;font-size:14px;line-height:1.7;max-width:420px}.hero-cta{margin-top:8px;color:#153957;background:#fff;border:0;display:inline-flex;gap:20px;align-items:center}.hero-orbit{position:relative;width:320px;height:250px;flex-shrink:0}.orbit-ring{position:absolute;width:230px;height:230px;border:1px solid #8fd3e040;border-radius:50%;left:45px;top:10px;transform:rotate(-25deg) scaleY(.7)}.orbit-ring.ring-two{transform:rotate(40deg) scaleY(.8);width:280px;height:280px;left:20px;top:-15px}.orbit-core{position:absolute;inset:80px 115px;display:grid;place-items:center;background:linear-gradient(150deg,#4db8dc44,#77dcbb22);border:1px solid #b5e4e66b;border-radius:22px;transform:rotate(-8deg);box-shadow:0 0 70px #48c6d130}.orbit-core svg{width:46px;height:46px;color:#b0f0e4}.orbit-chip{position:absolute;border:1px solid #8ecfdd55;background:#153e55ee;border-radius:20px;padding:9px 16px;color:#b6e2e6;font-size:9px;letter-spacing:1.8px}.chip-a{top:22px;left:20px}.chip-b{right:0;top:103px}.chip-c{bottom:0;left:25px}
.modern-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0 32px}.modern-stats article{display:flex;align-items:center;gap:18px;background:var(--surface);border:1px solid var(--line);padding:22px;border-radius:16px}.stat-icon{display:grid;place-items:center;flex-shrink:0;background:var(--soft);color:var(--accent);width:42px;height:42px;border-radius:12px}.modern-stats article:nth-child(3) .stat-icon{color:#c28225;background:#fcf0dc}.modern-stats article:nth-child(4) .stat-icon{color:#2c8962;background:#e4f4ec}.modern-stats article div>span{font-size:12px;color:var(--muted)}.modern-stats strong{font-size:30px;display:block;margin-top:4px;font-weight:650;letter-spacing:-1px}.modern-section-title{display:flex;justify-content:space-between;align-items:center;margin:28px 0 16px}.modern-section-title h2{font-size:22px}.modern-section-title button{display:flex;align-items:center;gap:10px}
.shipment-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.shipment-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;padding:22px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;min-width:0;border-top:3px solid #3686ba}.shipment-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #15395713}.shipment-card.complete{border-top-color:#43a481}.shipment-card.attention{border-top-color:#d67e58}.shipment-card-top,.card-top-right{display:flex;align-items:center;justify-content:space-between;gap:10px}.job-tag{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:650;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.job-tag .ui-icon{width:16px;height:16px;flex-basis:16px}.card-top-right input{width:16px;height:16px;flex-shrink:0;margin:0}.status-badge{background:var(--soft);color:var(--accent);padding:5px 8px;border-radius:5px;font-size:9px;font-weight:700;white-space:nowrap;text-transform:uppercase}.complete .status-badge{color:#25835e;background:#e6f6ee}.attention .status-badge{color:#b4643c;background:#fff0e7}.shipment-card h2{font-size:18px;line-height:1.35;margin:18px 0 20px;overflow-wrap:anywhere;letter-spacing:-.4px}.card-route{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card-route>div:first-child,.card-route>div:last-child{flex:1;min-width:0}.card-route>div:last-child{text-align:right}.card-route span{font-size:8px;letter-spacing:1.6px;color:var(--muted);display:block;margin-bottom:6px}.card-route strong{font-size:14px;font-weight:650;overflow-wrap:anywhere}.route-track{display:flex;align-items:center;width:64px;flex-shrink:0;color:#6fa9bd}.route-track i{width:4px;height:4px;border:1px solid #6fa9bd;border-radius:50%}.route-track b{flex:1;display:grid;place-items:center;border-top:1px dashed #6fa9bd;position:relative}.route-track svg{position:absolute;top:-10px;background:var(--surface);width:19px}.card-data{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin:20px 0}.card-data span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.card-data strong{font-size:12px;font-weight:550;overflow-wrap:anywhere}.card-milestones{display:flex;gap:10px;flex-wrap:wrap;font-size:9px;color:var(--muted);margin-bottom:18px;min-height:12px}.card-milestones i{display:inline-block;width:5px;height:5px;background:#9baaba;border-radius:50%;margin-right:4px}.card-milestones i.done{background:#45ac84}.shipment-card footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;gap:8px}.card-ref{font-size:10px;color:var(--muted)}.shipment-card footer>div{display:flex;align-items:center}.card-open{font-size:11px;color:var(--accent);border:0;background:none;display:flex;gap:9px;align-items:center;padding:7px 0}.card-open svg{width:17px;height:17px}.card-delete{margin-left:10px;border:0;background:transparent;padding:4px 8px}.modern-months{margin-top:28px}.modern-months .monthly{padding:24px;border-radius:18px}.modern-months .month-grid article{background:var(--input);border-color:var(--line)}.modern-empty{grid-column:1/-1;text-align:center;padding:55px 25px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);background:var(--surface)}.modern-empty h2{color:var(--ink)}
.modern-sheet{max-height:none!important;min-height:0!important;border:0;padding:0 20px 20px;overflow:visible!important;background:var(--canvas)}.modern-sheet .shipment-cards{gap:16px}.card-selection-bar,.card-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;color:var(--muted);padding:18px 0}.card-selection-bar label{display:flex;align-items:center;gap:8px}.card-selection-bar input{width:16px}.card-pagination{justify-content:center;margin-top:14px}.modern-view .sheetfoot{border-top:1px solid var(--line);background:var(--surface)}.modern-view .toolbar{padding:20px}.modern-view .pagehead h1{font-size:28px}.floating-picker,.calendar-popup,.combo-popup,.boe-tip{background:var(--surface);color:var(--ink);border-color:var(--line)}.combo-options button{background:var(--surface);color:var(--ink);text-align:left}.combo-options button:hover,.combo-options button:focus{background:var(--soft);color:var(--accent)}
html[data-theme=dark] .modalhead,html[data-theme=dark] .modalfoot,html[data-theme=dark] .toolbar,html[data-theme=dark] .sheetfoot,html[data-theme=dark] th,html[data-theme=dark] th.sticky{background:#16273b;color:var(--ink);border-color:var(--line)}html[data-theme=dark] td{background:var(--surface);color:var(--ink);border-color:var(--line)}html[data-theme=dark] .sheet tr:hover td{background:#20364b}html[data-theme=dark] .sheet tr.cleared td{background:#173c35;color:#b9ebd7}html[data-theme=dark] .sheet tr.red-alert td{background:#492c35;color:#ffd2d7}html[data-theme=dark] .sheet tr.yellow-alert td{background:#453d28;color:#f4e2ac}html[data-theme=dark] .sheet tr.green-alert td{background:#203953;color:#beddf6}html[data-theme=dark] .selected-row td{box-shadow:inset 0 -2px #60b5eb}html[data-theme=dark] .stat:nth-child(2){background:#3a3325}html[data-theme=dark] .stat:nth-child(3){background:#3e2834}html[data-theme=dark] .stat:nth-child(4){background:#193b32}html[data-theme=dark] .stat .label,html[data-theme=dark] .settings-copy em{color:var(--muted)}html[data-theme=dark] .pill,html[data-theme=dark] .avatar,html[data-theme=dark] .filter-item{background:var(--soft);color:var(--accent)}html[data-theme=dark] .monthly,html[data-theme=dark] .month-grid article,html[data-theme=dark] .master-card,html[data-theme=dark] .master-card-head,html[data-theme=dark] .minirow,html[data-theme=dark] .note{background:var(--surface);color:var(--ink);border-color:var(--line)}html[data-theme=dark] .master-card input,html[data-theme=dark] .master-card textarea,html[data-theme=dark] .calendar-days button,html[data-theme=dark] .date-cell,html[data-theme=dark] .combo-toggle{background:var(--input);color:var(--ink)}html[data-theme=dark] .settings-icon{background:var(--soft);color:var(--accent)}html[data-theme=dark] .complete .status-badge{background:#1c473c;color:#95e7c4}html[data-theme=dark] .attention .status-badge{background:#4a352d;color:#ffc198}html[data-theme=dark] .error{color:#ff9b9b}html[data-theme=dark] .permissions tr td{background:var(--surface)}html[data-theme=dark] .boe-info{color:var(--accent);background:var(--soft)}html[data-theme=dark] .primary{color:white;background:#1769a4}html[data-theme=dark] .danger{color:#ff9caa}
@media(max-width:1200px){.shipment-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.modern-stats article{padding:16px;gap:12px}.hero-orbit{width:280px}.control-hero{padding:32px}}
@media(max-width:800px){.modern-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-orbit{display:none}.control-hero{min-height:260px}.modern-view .content{padding:20px 16px 40px}.user-dialog .account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-chips{grid-template-columns:repeat(3,minmax(0,1fr))}.appearance-heading{flex-direction:column}.profile-settings{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.shipment-cards{grid-template-columns:1fr}.view-choices{grid-template-columns:1fr}.appearance-panel{padding:20px}.theme-choice{padding:12px 16px}.team-card,.team-card.owner-card{width:100%}.user-dialog .account-grid{grid-template-columns:1fr}.permission-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.modern-stats{gap:10px}.modern-stats article{padding:14px;gap:10px}.stat-icon{width:30px;height:30px;border-radius:9px}.modern-stats strong{font-size:25px}.modern-stats article div>span{font-size:10px}.control-hero{padding:28px 24px}.card-selection-bar{align-items:flex-start;flex-direction:column}.modern-sheet{padding:0 12px 14px}.modern-section-title{gap:10px}.modern-section-title h2{font-size:20px}.modern-section-title button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.shipment-card,.settings-card{transition:none}.shipment-card:hover{transform:none}}
.month-grid article strong{color:var(--accent)}.month-grid article span{color:var(--muted)}
html[data-theme=dark] .gateway-mark{background:#f5fbff;border-radius:9px;padding:3px}

/* Let card rows determine register height; keep narrow headers within their bar. */
.modern-sheet{height:auto!important}.year-label{color:var(--muted)}
@media(max-width:560px){.topbar,.register-view .topbar{height:auto;min-height:52px;padding:9px 12px;gap:12px}.topbar>strong{font-size:11px;line-height:1.5;min-width:0}.topbar>.row{flex-shrink:0;flex-wrap:nowrap}.topbar .pill{display:none}.year-label{font-size:0;gap:0}.year-label select{font-size:11px;width:115px}.user-dialog .modalbody{max-height:calc(90dvh - 150px)}}

/* Gateway Desk v2: full-width, compact operations workspace. */
.content,.modern-view .content{width:100%;max-width:none;margin:0;padding:24px}.register-view .content{padding:16px 24px}
.settings-grid,.appearance-panel,.profile-settings{max-width:none;width:100%}.settings-grid{gap:16px}.settings-card{padding:22px}.appearance-panel{padding:24px}.view-thumbnail{height:58px}.view-choice{transition:none}.topbar{backdrop-filter:none}
.modern-dashboard-head{margin-bottom:18px}.modern-dashboard-head .row button{display:inline-flex;align-items:center;gap:10px}.modern-stats{margin:0 0 24px}.modern-stats article{padding:16px 20px}.modern-section-title{margin:22px 0 14px}
.shipment-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:16px;align-items:start}.shipment-card{padding:18px;border-radius:14px;transition:none;box-shadow:none}.shipment-card:hover{transform:none;box-shadow:none}.shipment-card-top{align-items:flex-start;gap:12px}.compact-card-heading{min-width:0}.shipment-card h2{margin:8px 0 0;font-size:16px;line-height:1.4;letter-spacing:0}.job-tag{font-size:11px}.card-top-right{flex-shrink:0}.shipment-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:0;margin:16px 0 10px;border-top:1px solid var(--line)}.shipment-details>div{min-width:0;padding:10px 12px 10px 0;border-bottom:1px solid var(--line)}.shipment-details dt{font-size:9px;font-weight:650;letter-spacing:.35px;color:var(--muted);line-height:1.4}.shipment-details dd{font-size:12px;line-height:1.5;font-weight:550;margin:5px 0 0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.shipment-card footer{border-top:0;padding-top:0}.shipment-card.attention{--surface:#fff0f2;--input:#fff7f8;--line:#efc4cc;--ink:#702735;--muted:#874b58;--accent:#ae304d;background:var(--surface);border-color:#dc8799;border-top:3px solid #cc4261}.attention .status-badge{background:#bd3454;color:#fff}
html[data-theme=dark] .shipment-card.attention{--surface:#41232e;--input:#4b2b37;--line:#70404f;--ink:#ffe8ed;--muted:#e4b9c4;--accent:#ffa4bb;background:var(--surface);border-color:#a55b70;border-top:3px solid #f17a98}html[data-theme=dark] .attention .status-badge{background:#8c3650;color:#fff0f5}
.directory-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.directory-nav{display:grid;gap:6px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.directory-nav button{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid transparent;background:transparent;padding:12px 10px;font-size:11px;font-weight:650;color:var(--muted);min-width:0}.directory-nav button>span:nth-child(2){flex:1;overflow-wrap:anywhere}.directory-nav button b{font-size:10px;border-radius:6px;background:var(--canvas);padding:4px 6px;color:var(--muted)}.directory-symbol{display:grid;place-items:center;color:var(--accent);width:28px;height:28px;flex-shrink:0;border-radius:7px;background:var(--soft)}.directory-symbol svg{width:16px;height:16px}.directory-nav button[aria-current=page]{background:var(--soft);border-color:var(--line);color:var(--accent)}.directory-body{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;min-width:0}.directory-heading h2{font-size:19px;color:var(--ink)}.directory-total{font-size:12px;padding:9px 13px;background:var(--soft);color:var(--accent);border-radius:8px}.directory-add{display:flex;align-items:flex-end;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.directory-add .field{flex:1;min-width:0}.directory-add textarea{min-height:64px;max-height:180px;text-transform:uppercase}.directory-add button{margin-bottom:1px;white-space:nowrap}.directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 14px}.directory-toolbar label{flex:1;max-width:520px}.directory-toolbar>span{color:var(--muted);font-size:11px;white-space:nowrap}#directory-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}.directory-item{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--input);min-width:0}.directory-initial{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:8px;background:var(--soft);color:var(--accent);font-size:11px;font-weight:700}.directory-item strong{flex:1;font-size:12px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.directory-item button{font-size:10px;padding:6px 8px;color:var(--muted);background:var(--surface)}.directory-item button:hover{color:#c33a56;border-color:#c33a56}.directory-empty{padding:35px 16px;text-align:center;color:var(--muted);grid-column:1/-1;border:1px dashed var(--line);border-radius:10px;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.master-tabs button{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.master-tabs [aria-selected=true]{background:var(--soft);color:var(--accent);border-color:var(--accent)}.master-card h2,.master-card-head h2{color:var(--ink)}.master-count{background:var(--soft);color:var(--accent)}.master-card,.master-card-head,.minirow{border-color:var(--line)}.master-card p{color:var(--muted)}
.modern-view .combo-popup{border-radius:14px;padding:10px;border-color:var(--line);box-shadow:0 16px 40px #061a2b33;background:var(--surface)}.modern-view .combo-search{background:var(--input);border-color:var(--line);border-radius:8px;font-size:12px;padding:10px 12px}.modern-view .combo-options{display:grid;gap:4px;padding:4px 0;max-height:280px}.modern-view .combo-options button{display:flex;align-items:center;gap:10px;border:1px solid transparent;background:var(--surface);color:var(--ink);padding:10px;border-radius:8px;font-size:12px}.modern-view .combo-options button:before{content:'';width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--accent);opacity:.55}.modern-view .combo-options button:hover,.modern-view .combo-options button:focus{background:var(--soft);border-color:var(--line);color:var(--accent)}
.sheet td .date-cell{width:100%;min-width:0;max-width:100%;gap:4px;padding:4px;font-size:11px;overflow:hidden;min-height:28px}.date-cell>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-cell .calendar-icon{width:12px;height:12px;flex:0 0 12px;border:1.4px solid currentColor;border-radius:2px;color:var(--accent);margin:0}.calendar-icon:before{top:3px;border-top:1px solid currentColor}.custom-date{background-size:14px 14px;background-position:right 8px center;padding-right:27px!important}.ui-icon{max-width:24px;max-height:24px}.profile-settings button{display:inline-flex;align-items:center;gap:10px}
html[data-theme=dark] .custom-date{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%237fc8ff' stroke-width='1.4'%3E%3Crect x='2' y='3' width='12' height='11' rx='2'/%3E%3Cpath d='M2 7h12M5 1v4m6-4v4'/%3E%3C/svg%3E")}html[data-theme=dark] .calendar-week{color:var(--muted)}html[data-theme=dark] .calendar-days button:hover,html[data-theme=dark] .calendar-days button.selected{background:var(--accent);color:#102334}html[data-theme=dark] .history-change{color:var(--muted)}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#9aaec2;opacity:1}html[data-theme=dark] .settings-copy strong{color:var(--ink)}
@media(max-width:900px){.directory-layout{grid-template-columns:190px minmax(0,1fr);gap:12px}.directory-body{padding:18px}.directory-add{flex-direction:column;align-items:stretch}.shipment-cards{grid-template-columns:1fr}}
@media(max-width:700px){.content,.modern-view .content,.register-view .content{padding:16px 12px}.directory-layout{grid-template-columns:1fr}.directory-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:6px}.directory-nav button{padding:7px;font-size:10px;gap:6px}.directory-nav button .directory-symbol{width:22px;height:22px}.directory-toolbar{flex-wrap:wrap}.directory-toolbar label{max-width:none;flex-basis:100%}.settings-grid{grid-template-columns:1fr}.appearance-panel{padding:18px}.shipment-details{grid-template-columns:repeat(2,minmax(0,1fr))}.shipment-card{padding:14px}.shipment-card h2{font-size:14px}.card-top-right{gap:7px}.status-badge{font-size:8px}.modern-dashboard-head .row{flex-wrap:wrap}.modern-stats article{padding:14px}.profile-settings{padding:18px}.theme-choice{padding:12px 16px}}
/* V3: complete remarks on hover/focus, compact previews in both views. */
.remark-preview{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help;outline-offset:2px}.shipment-details .remark-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:pre-wrap;overflow-wrap:anywhere}.remark-tip{position:fixed;inset:auto;margin:0;z-index:6000;width:max-content;max-width:min(480px,calc(100vw - 24px));max-height:min(360px,60vh);overflow:auto;padding:15px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 12px 36px #061a2b35;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-transform:none}.remark-preview:focus-visible{outline:2px solid var(--accent)}
/* Gateway Desk v5 */
.boe-stack{display:flex;flex-direction:column;gap:12px;min-width:0}.boe-date-under{border-top:1px solid var(--line);padding-top:8px}.boe-date-under small{display:block;font-size:10px;font-weight:700;color:var(--muted);margin-bottom:3px}.boe-stack .date-cell{width:100%}
.notice-bell{position:relative;display:inline-flex;align-items:center;gap:5px;padding:9px;flex-shrink:0}.notice-count{display:inline-grid;place-items:center;min-width:17px;height:17px;border-radius:20px;padding:0 4px;background:#e57409;color:white;font-size:10px;font-weight:800}.notice-popup,.equipment-tip{position:fixed;inset:auto;margin:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 15px 50px #0003;padding:16px;width:min(440px,calc(100vw - 16px));max-height:min(500px,70vh);overflow:auto;z-index:1000}.notice-popup header,.equipment-tip header,.equipment-tip footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.notice-popup header button,.equipment-tip header button{padding:4px 10px}.eta-notice{margin:20px 0;padding:20px}.eta-notice h2{display:flex;align-items:center;gap:9px;font-size:17px;margin:0 0 14px}.notice-items{display:grid;gap:8px}.eta-notice .notice-items{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));max-height:310px;overflow:auto}.notice-item{display:flex;flex-direction:column;gap:5px;text-align:left;white-space:normal;padding:12px;background:var(--input);border-left:3px solid #ef8a16;line-height:1.45}.notice-item strong{overflow-wrap:anywhere}.notice-item span{font-size:12px;color:var(--ink)}.notice-item small{font-weight:400;color:var(--muted)}
.equipment-trigger{display:block;cursor:help;text-decoration:underline dotted;text-underline-offset:5px;min-height:24px;line-height:24px}.equipment-tip{width:min(480px,calc(100vw - 16px))}.equipment-boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.equipment-slot{border:1px solid var(--line);border-radius:10px;background:var(--input);padding:12px;min-height:105px}.equipment-slot small{display:block;color:var(--muted);font-size:10px;font-weight:700;margin-bottom:12px}.equipment-slot>span{font-size:11px;color:var(--muted)}.empty-job{margin-top:6px;border:1px dashed var(--line);border-radius:5px;padding:5px;color:var(--muted);min-height:29px}.equipment-tip footer{margin:12px 0 0;font-size:11px}.remark-preview{display:block;width:100%;cursor:help}.remark-tip{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:700px){.equipment-boxes{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar footer .row{gap:5px;flex-wrap:nowrap}.notice-bell{padding:7px}.eta-notice{padding:14px}}
.mobile-notice{display:none}@media(max-width:700px){.mobile-notice{display:inline-flex}.topbar .mobile-notice .notice-count{color:white}.topbar>.row{gap:6px}}

/* v6: one consistent signal colour across an entire row/card. */
.red-alert{--signal-bg:#ffc4cd;--signal-ink:#76152b;--signal-border:#dc3655}
.yellow-alert{--signal-bg:#ffe16a;--signal-ink:#594200;--signal-border:#d89c00}
.green-alert{--signal-bg:#a9e7b8;--signal-ink:#104a2b;--signal-border:#259756}
html[data-theme=dark] .red-alert{--signal-bg:#6b2637;--signal-ink:#ffe6ec;--signal-border:#ff7791}
html[data-theme=dark] .yellow-alert{--signal-bg:#66500c;--signal-ink:#fff0ae;--signal-border:#ffd34d}
html[data-theme=dark] .green-alert{--signal-bg:#1d5439;--signal-ink:#d6ffe5;--signal-border:#68d993}
#sheet tr:is(.red-alert,.yellow-alert,.green-alert) td,#sheet tr:is(.red-alert,.yellow-alert,.green-alert):hover td{background:var(--signal-bg)!important;color:var(--signal-ink)!important}
#sheet tr:is(.red-alert,.yellow-alert,.green-alert) .date-cell,#sheet tr:is(.red-alert,.yellow-alert,.green-alert) .status-select{background:transparent!important;color:var(--signal-ink)!important}
#sheet tr:is(.red-alert,.yellow-alert,.green-alert) .boe-date-under small{color:var(--signal-ink)}
.shipment-card:is(.red-alert,.yellow-alert,.green-alert){--ink:var(--signal-ink);--muted:var(--signal-ink);--surface:var(--signal-bg);--accent:var(--signal-ink);background:var(--signal-bg);color:var(--signal-ink);border-color:var(--signal-border);border-top:3px solid var(--signal-border)}
.shipment-card:is(.red-alert,.yellow-alert,.green-alert) .status-badge{background:var(--signal-border);color:var(--signal-ink)}
.shipment-card:is(.red-alert,.yellow-alert,.green-alert) .date-cell{background:transparent;color:var(--signal-ink)}
.equipment-job{width:100%;min-width:0;margin-top:6px;padding:7px;border:1px solid var(--line);border-radius:6px;text-transform:uppercase}.equipment-slot{display:block}.equipment-tip footer{flex-wrap:wrap}.equipment-save-status{font-size:12px;max-width:100%;overflow-wrap:anywhere}.equipment-tip [data-save-jobs]{padding:9px 12px}.equipment-job[readonly]{border-style:dashed}
.shipment-card:is(.red-alert,.yellow-alert,.green-alert) .status-badge{background:#ffffff55;color:var(--signal-ink);border:1px solid var(--signal-border)}html[data-theme=dark] .shipment-card:is(.red-alert,.yellow-alert,.green-alert) .status-badge{background:#0002}

/* v7: ETA is an independent reminder, never the entire row's colour. */
html #sheet tr td.eta-due,html #sheet tr:hover td.eta-due,
html .shipment-card .shipment-details>div.eta-due{background:#ffae42!important;color:#542600!important;box-shadow:inset 4px 0 #c85c00,inset 0 0 0 1px #c85c00}
html #sheet tr td.eta-due .date-cell,html .shipment-card .eta-due dt,html .shipment-card .eta-due dd{color:#542600!important;background:transparent!important;font-weight:800}
html .shipment-card .shipment-details>div.eta-due{padding:10px;border-radius:7px}
html[data-theme=dark] #sheet tr td.eta-due,html[data-theme=dark] #sheet tr:hover td.eta-due,
html[data-theme=dark] .shipment-card .shipment-details>div.eta-due{background:#9b490b!important;color:#fff1dc!important;box-shadow:inset 4px 0 #ffb95c,inset 0 0 0 1px #ffb95c}
html[data-theme=dark] #sheet tr td.eta-due .date-cell,html[data-theme=dark] .shipment-card .eta-due dt,html[data-theme=dark] .shipment-card .eta-due dd{color:#fff1dc!important}

/* v8 compact register and neutral alert reset */
#sheet:not(.modern-sheet) td{height:62px;padding:4px 8px;font-size:12px}
#sheet .boe-stack{gap:2px}#sheet .boe-date-under{padding-top:2px}#sheet .boe-date-under small{font-size:8px;margin:0}#sheet .date-cell{padding:3px 4px;min-height:25px}#sheet .status-select{padding:5px;min-height:30px}#sheet .boe-info{width:20px;height:20px;font-size:16px}
html #sheet tr.neutral-alert td,html #sheet tr.neutral-alert:hover td{background:var(--surface,#fff)!important;color:var(--ink,#203746)!important}
#sheet.sheet{max-height:calc(100dvh - 235px)}.filters:empty{display:none}.sheetfoot{padding:7px 12px}.options-grid .option{display:flex;justify-content:space-between;gap:12px}.options-grid .option label{display:flex;align-items:center;gap:6px}
/* v10: compact operations, personal completion and independent ETA reminder. */
#sheet:not(.modern-sheet) td{height:44px;padding:2px 7px;font-size:12px;line-height:1.2}
#sheet:not(.modern-sheet) th{padding:6px 7px;height:36px;font-size:11px}
#sheet .boe-stack{gap:0}#sheet .boe-date-under{padding:0;border:0}#sheet .date-cell{min-height:21px;padding:1px 3px;font-size:11px}#sheet .status-select{min-height:26px;padding:3px 4px;font-size:11px}
#sheet .equipment-trigger{min-height:19px;line-height:19px;font-size:12px}#sheet .boe-info{width:18px;height:18px;font-size:14px}#sheet td>button{padding:4px 7px}
.clearance-tabs{display:flex;gap:4px;border:1px solid var(--line);background:var(--surface);padding:4px;border-radius:11px;margin-left:auto}.clearance-tabs button{border:0;font-size:12px;padding:7px 13px}.clearance-tabs button.active{background:var(--soft);color:var(--accent)}.clearance-tabs span{display:inline-block;margin-left:5px;padding:1px 5px;background:var(--canvas);border-radius:4px}
html #sheet.sheet tr:is(.neutral-alert,.red-alert,.yellow-alert,.green-alert) td.eta-due,html #sheet.sheet tr:hover td.eta-due,
html .shipment-card .shipment-details>div.eta-due{background:#b7dcff!important;color:#063c73!important;box-shadow:inset 3px 0 #167bd3,inset 0 0 0 1px #69aeeb}
html #sheet.sheet tr td.eta-due .date-cell,html .shipment-card .eta-due dt,html .shipment-card .eta-due dd{background:transparent!important;color:#063c73!important;font-weight:800}
html[data-theme=dark] #sheet.sheet tr:is(.neutral-alert,.red-alert,.yellow-alert,.green-alert) td.eta-due,
html[data-theme=dark] #sheet.sheet tr:hover td.eta-due,html[data-theme=dark] .shipment-card .shipment-details>div.eta-due{background:#164f82!important;color:#e9f5ff!important;box-shadow:inset 3px 0 #62b5ff,inset 0 0 0 1px #4599df}
html[data-theme=dark] #sheet.sheet tr td.eta-due .date-cell,html[data-theme=dark] .shipment-card .eta-due dt,html[data-theme=dark] .shipment-card .eta-due dd{color:#e9f5ff!important}
.notice-item{border-left-color:#167bd3}.notice-item .notice-job{font-size:20px;line-height:1.2;font-weight:800;color:var(--accent);letter-spacing:.3px}.notice-count{background:#167bd3}
.container-entry{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:7px;min-width:0;background:var(--signal-bg,var(--input));color:var(--signal-ink,var(--ink))}.container-entry .equipment-job{margin:0;padding:4px 5px;min-height:25px;height:25px;font-size:11px;flex:1;width:0;color:inherit;background:transparent;border:0}.container-entry .container-alert{padding:2px;width:40px;min-width:40px;height:25px;font-size:11px;font-weight:800;color:inherit;background:transparent;border:1px solid currentColor;border-radius:5px}.container-entry .container-alert option{background:var(--surface);color:var(--ink)}
.equipment-boxes{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.equipment-tip{width:min(560px,calc(100vw - 16px));padding:12px}.equipment-tip header strong{font-size:14px}.equipment-tip footer{margin-top:8px}.container-form-label{display:block;margin:8px 0 5px;font-size:11px;color:var(--muted)}.container-form-list{display:grid;gap:5px;max-height:220px;overflow:auto}.equipment-form-group{min-width:0}.equipment-form-group input{max-width:100%}
.large-notepad{display:block;width:100%;min-height:45vh;max-height:65vh;resize:vertical;white-space:pre-wrap;line-height:1.7;padding:16px;font-size:14px}.field textarea{width:100%;resize:vertical;line-height:1.6;min-height:120px}.remark-edit{font-size:10px;padding:3px 7px;margin-top:5px}
.vault-search{width:100%;max-width:560px;margin-bottom:22px}.password-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px}.password-card{display:flex;flex-direction:column;gap:10px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.password-card h2{margin:0;font-size:19px;overflow-wrap:anywhere}.password-card p{margin:0;font-size:12px;overflow-wrap:anywhere}.password-card button{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.vault-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--soft);color:var(--accent)}.masked-password{font-size:22px;letter-spacing:3px;color:var(--muted);padding-top:10px}.vault-password{display:flex;gap:6px}.vault-password input{min-width:0;width:100%}.vault-password button{flex-shrink:0}.password-card .ui-icon{width:20px;height:20px}
@media(max-width:700px){.pagehead{flex-wrap:wrap}.clearance-tabs{margin-left:0}.equipment-boxes{grid-template-columns:1fr}.notice-item .notice-job{font-size:18px}}
#sheet .container-entry{padding:1px 3px;min-height:25px;height:25px;gap:3px}
#sheet .container-entry .equipment-job{height:22px;min-height:22px;min-width:0;padding:1px 3px;font-size:11px}
.container-entry .container-alert,#sheet .container-entry .container-alert{height:22px;min-height:22px;min-width:36px;width:36px;padding:0 11px 0 3px!important;font-size:11px}
.container-entry.neutral-alert{--signal-bg:var(--input);--signal-ink:var(--ink)}
#sheet th.cleared button{white-space:nowrap;font-size:10px;gap:3px}
.container-entry .container-alert,#sheet .container-entry .container-alert{appearance:none;text-align:center;padding:0!important;cursor:pointer}
.shipment-details>[data-card-field=equipment]{grid-column:span 2}
/* v11: numbered container cards and readable private notes. */
.container-box{min-width:0;padding:12px;background:var(--input);border:1px solid var(--line);border-radius:10px}
.container-label{display:block;margin-bottom:8px;font-size:12px;font-weight:700;color:var(--ink);text-transform:none}
.container-box .container-entry{background:var(--signal-bg,var(--surface));padding:4px;min-height:34px}
.equipment-boxes{gap:10px}.equipment-tip header{margin-bottom:14px}.equipment-tip footer{margin-top:14px}
#password-note-form input,#password-note-form textarea,.password-card,.password-card *{text-transform:none}
.password-card h2{font-size:24px;line-height:1.3}.password-card .password-site{font-size:16px;line-height:1.5}
.password-preview{display:flex;align-items:center;gap:10px;min-height:46px;margin-top:6px}
.password-preview .masked-password{flex:1;min-width:0;padding:0;line-height:1.5}
.password-preview .revealed-password{font-family:ui-monospace,monospace;font-size:15px;letter-spacing:0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.password-card .password-eye{flex:0 0 36px;width:36px;height:36px;padding:8px;margin:0;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;background:var(--soft);color:var(--accent)}
.password-eye svg{width:20px;height:20px}.password-eye[aria-pressed=true]{border-color:var(--accent)}
.boe-status-control{display:flex;align-items:center;gap:6px;width:100%;min-width:0}
#sheet .boe-status-control .status-select{flex:1;width:0;min-width:0;margin:0}
#sheet .boe-status-control .boe-info,.boe-status-control .boe-info{position:static;display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;min-width:22px;padding:0!important;margin:0;border:0;border-radius:50%;background:transparent;color:var(--accent);line-height:1;font:inherit;vertical-align:middle}
.boe-status-control .boe-info svg{display:block;width:20px;height:20px}.boe-status-control .boe-info:hover{background:var(--soft)}
/* v12 selection actions and soft operational colours */
.pagehead>.clearance-tabs{margin-left:0;margin-right:auto}.pagehead>.row{justify-content:flex-end}
#selection-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.selected-count{font-size:11px;color:var(--muted)}
#sheet .checkcell input[type=checkbox],#sheet .card-top-right input[type=checkbox],#sheet #card-select-all{width:14px!important;height:14px!important;min-width:14px!important;margin:0;padding:0}
.equipment-trigger{display:inline-block!important}.equipment-counts{display:inline-flex;gap:8px;align-items:center;margin-left:9px;font-size:11px;vertical-align:middle}.equipment-counts>span{display:inline-flex;align-items:center;gap:4px}.count-dot{width:7px;height:7px;display:inline-block;border-radius:50%;flex-shrink:0}.count-dot.yellow{background:#e6b62b}.count-dot.red{background:#df6c7c}
.red-alert,html[data-theme=dark] .red-alert{--signal-bg:#fbdde2;--signal-ink:#633744;--signal-border:#d8909e}
.yellow-alert,html[data-theme=dark] .yellow-alert{--signal-bg:#fff2cf;--signal-ink:#63552a;--signal-border:#d9be70}
.green-alert,html[data-theme=dark] .green-alert{--signal-bg:#dcefe2;--signal-ink:#325b42;--signal-border:#89b99a}
html #sheet.sheet tr:is(.neutral-alert,.red-alert,.yellow-alert,.green-alert) td.eta-due,html #sheet.sheet tr:hover td.eta-due,
html[data-theme=dark] #sheet.sheet tr:is(.neutral-alert,.red-alert,.yellow-alert,.green-alert) td.eta-due,html[data-theme=dark] #sheet.sheet tr:hover td.eta-due,
html .shipment-card .shipment-details>div.eta-due,html[data-theme=dark] .shipment-card .shipment-details>div.eta-due{background:#ffe4c4!important;color:#69461e!important;box-shadow:inset 3px 0 #e8ae6a,inset 0 0 0 1px #efc593}
html #sheet.sheet tr td.eta-due .date-cell,html[data-theme=dark] #sheet.sheet tr td.eta-due .date-cell,html .shipment-card .eta-due dt,html .shipment-card .eta-due dd,html[data-theme=dark] .shipment-card .eta-due dt,html[data-theme=dark] .shipment-card .eta-due dd{color:#69461e!important}
.custom-row{--signal-bg:var(--row-color);--signal-ink:#283f50}
html #sheet.sheet tr.custom-row td:not(.eta-due),html #sheet.sheet tr.custom-row:hover td:not(.eta-due){background:var(--row-color)!important;color:#283f50!important}
html #sheet.sheet tr.custom-row td:not(.eta-due) .date-cell,html #sheet.sheet tr.custom-row .status-select{color:#283f50!important}
html .shipment-card.custom-row{--ink:#283f50;--muted:#496274;--surface:var(--row-color);--accent:#27526e;background:var(--row-color);color:#283f50;border-color:#a8b9c4}
.common-colors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}.common-colors button{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;padding:10px}.common-colors i{display:block;width:100%;height:36px;border-radius:7px;background:var(--swatch);border:1px solid #0001}.color-input-label{display:flex;align-items:center;gap:15px;font-size:13px}.color-input-label input{width:70px;height:40px;padding:3px;cursor:pointer}#row-color-preview{padding:18px;margin-top:16px;border:1px solid #0001;border-radius:9px;color:#283f50;font-weight:600}
@media(max-width:700px){.common-colors{grid-template-columns:repeat(2,minmax(0,1fr))}}
#sheet .status-select.alert-NO{background:transparent!important;color:inherit!important}
html .shipment-card.custom-row .date-cell{background:transparent!important;color:#283f50!important}
html .shipment-card.custom-row .status-badge{background:#ffffffaa!important;color:#283f50!important;border:1px solid #a8b9c4}

/* v13 layout corrections */
.export-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:20px}.export-toolbar .field{flex:1;min-width:180px}.export-toolbar button{min-height:42px;margin:0}.export-columns .option{justify-content:flex-start;gap:10px;cursor:pointer}.export-columns .option input{flex:0 0 17px;width:17px;margin:0}.container-form-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));max-height:none;overflow:visible;gap:10px}#form-containers{min-width:0}.field[hidden]{display:none!important}#modal textarea,#modal .large-notepad{min-height:64px;max-height:none;resize:none;overflow:hidden;line-height:1.6}.sheet td .remark-preview,.shipment-details .remark-preview{display:block;white-space:nowrap;overflow-wrap:normal;overflow:hidden;text-overflow:ellipsis;line-height:1.2;max-height:1.2em;-webkit-line-clamp:unset}.sheet td.boeNotes,.sheet td.remark1,.sheet td.remark2{white-space:nowrap;vertical-align:middle}.sheet th,.sheet td{max-width:none}.sheet td.job,.sheet td.party{max-width:none;width:auto}.sheet th button{white-space:nowrap}
@media(max-width:600px){.export-columns{grid-template-columns:1fr}.container-form-list{grid-template-columns:1fr}.export-toolbar{align-items:stretch}.export-toolbar button{width:100%}}

.password-preview[hidden]{display:none!important}

/* v15 counters, audit and backup controls */
.stats,.modern-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.backup-panel{padding:20px}.backup-panel code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:var(--input)}.backup-list article{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.backup-list article>div{flex:1;min-width:220px}.history-change{white-space:pre-wrap;overflow-wrap:anywhere}.history-card header{flex-wrap:wrap}@media(max-width:1100px){.stats,.modern-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.stats,.modern-stats{grid-template-columns:1fr}}

/* Gateway Desk v20 login redesign: logo blue/green theme, cargo plane scene */
.login-v20{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);background:#eef4fb}
.login-v20 .login-art{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:clamp(34px,4.5vw,72px);color:#fff;background:linear-gradient(135deg,#070d2b 0%,#2e3191 42%,#1769a4 74%,#0f8fb8 100%)}
.login-v20 .login-art-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(#ffffff 1px,transparent 1px),linear-gradient(90deg,#ffffff 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(180deg,black,transparent 88%)}
.login-v20 .login-art-glow{position:absolute;border-radius:50%;filter:blur(2px)}
.login-v20 .login-art-glow-one{width:340px;height:340px;right:-110px;top:-90px;background:#2db3e766;box-shadow:0 0 90px #2db3e7}
.login-v20 .login-art-glow-two{width:240px;height:240px;left:-90px;bottom:-70px;background:#92c83d40;box-shadow:0 0 80px #92c83d55}
.login-v20 .login-art-inner{position:relative;z-index:2;max-width:620px}
.login-v20 .login-art-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:34px}
.login-v20 .company-lockup{display:flex;align-items:center;gap:14px;font-size:21px;line-height:1.15;font-weight:800}
.login-v20 .company-lockup img{width:62px;height:52px;object-fit:contain;padding:7px;border-radius:14px;background:#ffffff;box-shadow:0 10px 30px #00000045,0 0 0 3px #92c83d}
.login-v20 .login-art-badge{flex-shrink:0;padding:9px 12px;border:1px solid #ffffff55;border-radius:999px;background:#ffffff14;font-size:10px;letter-spacing:2px;font-weight:800;backdrop-filter:blur(8px)}
.login-v20 .login-plane-scene{position:relative;height:150px;margin:8px 0 28px;border-bottom:1px solid #ffffff2e}
.login-v20 .login-route-svg{position:absolute;inset:0;width:100%;height:100%}
.login-v20 .login-plane{position:absolute;left:0;top:38px;font-size:46px;line-height:1;filter:drop-shadow(0 10px 12px #00000055);animation:login-plane-fly 9s ease-in-out infinite}
.login-v20 .login-cargo{position:absolute;left:0;bottom:12px;display:flex;gap:8px}
.login-v20 .cargo-box{padding:8px 10px;border-radius:6px;font-size:10px;font-weight:900;letter-spacing:1px;box-shadow:0 8px 20px #00000030}
.login-v20 .cargo-blue{background:#2e3191;color:#fff;border:1px solid #8fb7ff}
.login-v20 .cargo-green{background:#257f45;color:#fff;border:1px solid #92c83d}
.login-v20 .cargo-sky{background:#e8fbff;color:#0b3550;border:1px solid #2db3e7}
.login-v20 .login-kicker{margin-top:6px;font-size:11px;letter-spacing:2.5px;font-weight:800;color:#92c83d}
.login-v20 .login-art h1{margin-top:16px;font-size:clamp(42px,4.4vw,66px);line-height:1.02;letter-spacing:-2px;color:#fff}
.login-v20 .login-art h1 span{background:linear-gradient(90deg,#7dd7ff,#92c83d);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-v20 .login-art p{margin-top:20px;max-width:520px;font-size:16px;line-height:1.75;color:#d9eaf5}
.login-v20 .login-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.login-v20 .login-chips span{padding:10px 14px;border-radius:999px;border:1px solid #ffffff35;background:#ffffff12;font-size:12px;font-weight:750;backdrop-filter:blur(8px)}
.login-v20 .login-route{display:flex;align-items:center;gap:12px;margin-top:28px;font-size:12px;font-weight:900;letter-spacing:2px;color:#fff}
.login-v20 .login-route i{width:28px;height:2px;background:linear-gradient(90deg,#2db3e7,#92c83d)}
.login-v20 .login-signoff{display:flex;align-items:center;gap:10px;margin-top:36px;color:#b9d4e5;font-size:11px;line-height:1.6}
.login-v20 .login-signoff span{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#92c83d;box-shadow:0 0 0 5px #92c83d22}
.login-v20 .login-form{display:grid;place-items:center;padding:clamp(24px,4vw,56px);background:radial-gradient(circle at 20% 10%,#d9efff 0,transparent 32%),radial-gradient(circle at 90% 90%,#dcf2c9 0,transparent 30%),#eef4fb}
.login-v20 .login-card{width:420px;max-width:100%;padding:36px 36px 28px;border:1px solid #dbe7f3;border-radius:24px;background:#fff;box-shadow:0 24px 60px #16354c1f,0 0 0 1px #ffffff inset}
.login-v20 .login-logo-wrap{margin-bottom:26px;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,#eef4ff,#eafff3);border:1px solid #d7e6f5}
.login-v20 .login-logo-wrap .gateway-brand{gap:13px}
.login-v20 .login-logo-wrap .gateway-mark{width:54px;height:50px;flex-basis:54px;filter:drop-shadow(0 6px 10px #2e319133)}
.login-v20 .login-logo-wrap .gateway-wordmark{font-size:25px;color:#132c4d}
.login-v20 .login-form .eyebrow{color:#257f45;letter-spacing:2px;font-weight:850}
.login-v20 .login-form h1{margin-top:8px;color:#0d2440;font-size:33px;letter-spacing:-1px}
.login-v20 .login-form p.sub{color:#647b8b;font-size:14px;line-height:1.6}
.login-v20 .login-form .field{margin-top:20px}
.login-v20 .login-form .field>span{color:#415e72;font-weight:750}
.login-v20 .login-input{display:flex;align-items:center;gap:10px;margin-top:8px;border:1.5px solid #d6e2ea;border-radius:13px;background:#f8fbfd;transition:border-color .2s,box-shadow .2s}
.login-v20 .login-input:focus-within{border-color:#2db3e7;box-shadow:0 0 0 4px #2db3e71f;background:#fff}
.login-v20 .login-input-icon{flex-shrink:0;padding-left:14px;color:#2e3191;font-size:13px;font-weight:800}
.login-v20 .login-input input{flex:1;min-width:0;border:0;background:transparent;color:#16374f;padding:14px 0}
.login-v20 .login-input input:focus{outline:0;box-shadow:none}
.login-v20 .login-show{flex-shrink:0;border:0;background:transparent;color:#1769a4;padding:10px 14px 10px 4px;font-size:12px;font-weight:800;cursor:pointer}
.login-v20 .login-form .error:empty{display:none}
.login-v20 .login-form .error{margin-top:16px;padding:11px 13px;border-radius:10px;background:#fff0f1;color:#8e2334;font-size:13px}
.login-v20 .login-submit{position:relative;overflow:hidden;width:100%;margin-top:24px;padding:15px;border:0;border-radius:13px;background:linear-gradient(90deg,#2e3191,#1769a4 55%,#2db3e7);color:#fff;font-size:15px;font-weight:850;letter-spacing:.2px;box-shadow:0 14px 28px #2e319144;transition:transform .2s,box-shadow .2s}
.login-v20 .login-submit:hover{transform:translateY(-1px);box-shadow:0 18px 32px #2e319155}
.login-v20 .login-submit:after{content:'';position:absolute;top:0;bottom:0;width:80px;left:-120px;background:linear-gradient(90deg,transparent,#ffffff55,transparent);transform:skewX(-20deg);animation:login-shine 3.5s ease-in-out infinite}
.login-v20 .login-form .legacy-help{margin-top:20px}
.login-v20 .login-form .muted{margin-top:22px;text-align:center;color:#708594;line-height:1.6;font-size:11px}
@keyframes login-plane-fly{0%{transform:translate(0,0) rotate(8deg)}50%{transform:translate(290px,-22px) rotate(8deg)}100%{transform:translate(0,0) rotate(8deg)}}
@keyframes login-shine{0%,65%{left:-120px}100%{left:130%}}
@media(max-width:900px){
.login-v20{grid-template-columns:1fr;overflow:visible}
.login-v20 .login-art{display:flex;padding:30px 24px 26px;min-height:430px}
.login-v20 .login-art-top{margin-bottom:18px}
.login-v20 .login-plane-scene{height:118px;margin:0 0 18px}
.login-v20 .login-art h1{font-size:38px}
.login-v20 .login-art p{display:none}
.login-v20 .login-chips{margin-top:18px}
.login-v20 .login-route{margin-top:18px}
.login-v20 .login-signoff{margin-top:20px}
.login-v20 .login-form{display:block;padding:24px 20px 32px;min-height:0}
.login-v20 .login-card{margin:0 auto;padding:28px 22px}
}
@media(max-width:420px){
.login-v20 .login-art-badge{display:none}
.login-v20 .login-art h1{font-size:33px}
.login-v20 .login-card{padding:24px 18px}
}
@media(prefers-reduced-motion:reduce){
.login-v20 .login-plane,.login-v20 .login-submit:after{animation:none}
}

/* Gateway Desk v21: aligned login, China ports, animated harbour crane */
.login-v21 *{box-sizing:border-box}
.login-v21{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);background:#eef4fb;overflow-x:hidden}
.login-v21 .login-art{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:36px clamp(28px,4vw,64px);color:#fff;background:linear-gradient(135deg,#070d2b 0%,#2e3191 42%,#1769a4 74%,#0f8fb8 100%)}
.login-v21 .login-art-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(#ffffff 1px,transparent 1px),linear-gradient(90deg,#ffffff 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(180deg,black,transparent 88%)}
.login-v21 .login-art-glow{position:absolute;border-radius:50%;filter:blur(2px)}
.login-v21 .login-art-glow-one{width:320px;height:320px;right:-110px;top:-90px;background:#2db3e766;box-shadow:0 0 90px #2db3e7}
.login-v21 .login-art-glow-two{width:230px;height:230px;left:-90px;bottom:-70px;background:#92c83d40;box-shadow:0 0 80px #92c83d55}
.login-v21 .login-art-inner{position:relative;z-index:2;width:100%;max-width:620px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.login-v21 .login-art-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0}
.login-v21 .company-lockup{display:flex;align-items:center;gap:14px;font-size:21px;line-height:1.15;font-weight:800}
.login-v21 .company-lockup img{width:62px;height:52px;object-fit:contain;padding:7px;border-radius:14px;background:#fff;box-shadow:0 10px 30px #00000045,0 0 0 3px #92c83d}
.login-v21 .login-art-badge{flex-shrink:0;padding:9px 12px;border:1px solid #ffffff55;border-radius:999px;background:#ffffff14;font-size:10px;letter-spacing:2px;font-weight:800;white-space:nowrap}
.login-v21 .login-plane-scene{position:relative;width:100%;height:122px;margin:0;overflow:hidden;border-bottom:1px solid #ffffff2e}
.login-v21 .login-route-svg{position:absolute;inset:0;width:100%;height:100%}
.login-v21 .login-plane{position:absolute;left:2%;top:32px;font-size:42px;line-height:1;filter:drop-shadow(0 10px 12px #00000055);animation:login-plane-fly-v21 9s ease-in-out infinite}
.login-v21 .login-cargo{position:absolute;left:0;bottom:10px;display:flex;gap:8px;flex-wrap:wrap}
.login-v21 .cargo-box{padding:8px 10px;border-radius:6px;font-size:10px;font-weight:900;letter-spacing:1px;box-shadow:0 8px 20px #00000030}
.login-v21 .cargo-blue{background:#2e3191;color:#fff;border:1px solid #8fb7ff}
.login-v21 .cargo-green{background:#257f45;color:#fff;border:1px solid #92c83d}
.login-v21 .cargo-sky{background:#e8fbff;color:#0b3550;border:1px solid #2db3e7}
.login-v21 .login-kicker{margin:0;font-size:11px;letter-spacing:2.5px;font-weight:800;color:#92c83d}
.login-v21 .login-art h1{margin:0;font-size:clamp(38px,4vw,58px);line-height:1.05;letter-spacing:-1.5px;color:#fff}
.login-v21 .login-art h1 span{background:linear-gradient(90deg,#7dd7ff,#92c83d);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-v21 .login-art p{margin:0;max-width:560px;font-size:16px;line-height:1.7;color:#d9eaf5}
.login-v21 .login-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.login-v21 .login-chips span{padding:10px 14px;border-radius:999px;border:1px solid #ffffff35;background:#ffffff12;font-size:12px;font-weight:750}
.login-v21 .login-route{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:0;font-size:12px;font-weight:700;letter-spacing:.4px;color:#fff}
.login-v21 .login-route span{white-space:nowrap}
.login-v21 .login-route b{color:#92c83d;letter-spacing:1px}
.login-v21 .login-route i{width:26px;height:2px;flex-shrink:0;background:linear-gradient(90deg,#2db3e7,#92c83d)}
.login-v21 .login-harbour{position:relative;width:100%;height:186px;margin:0;border:1px solid #ffffff2e;border-radius:18px;background:linear-gradient(180deg,#0a2a5e 0%,#0e4d8a 58%,#0a6fa8 100%);overflow:hidden}
.login-v21 .harbour-label{position:absolute;z-index:6;top:12px;left:14px;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.8px;font-weight:850;color:#fff}
.login-v21 .live-dot{width:8px;height:8px;border-radius:50%;background:#92c83d;box-shadow:0 0 0 4px #92c83d22;animation:harbour-pulse 1.6s ease-in-out infinite}
.login-v21 .harbour-dock{position:absolute;left:14px;bottom:36px;display:flex;flex-direction:column-reverse;gap:4px}
.login-v21 .dock-box{width:52px;height:20px;border:1px solid #ffffff66;border-radius:3px}
.login-v21 .dock-green{background:#257f45}
.login-v21 .dock-blue{background:#2e3191}
.login-v21 .harbour-crane{position:absolute;left:0;top:34px;bottom:36px;width:76%}
.login-v21 .crane-tower{position:absolute;left:22px;top:0;bottom:0;width:10px;background:#e8f4ff;background-image:repeating-linear-gradient(45deg,transparent 0 6px,#9fc6dd 6px 8px)}
.login-v21 .crane-jib{position:absolute;left:22px;top:0;width:100%;height:10px;background:#e8f4ff}
.login-v21 .crane-cabin{position:absolute;left:14px;top:10px;width:26px;height:20px;border-radius:4px;background:#92c83d;border:1px solid #ffffff88}
.login-v21 .crane-trolley{position:absolute;top:10px;left:14%;width:46px;animation:crane-move 9s ease-in-out infinite}
.login-v21 .crane-cable{width:2px;height:52px;margin:0 auto;background:#fff;animation:crane-drop 9s ease-in-out infinite}
.login-v21 .crane-load{width:46px;height:22px;margin:0 auto;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff88;border-radius:3px;background:#92c83d;color:#0b2a12;font-size:8px;font-weight:900;letter-spacing:.5px}
.login-v21 .harbour-ship{position:absolute;left:30%;right:5%;bottom:28px;height:96px}
.login-v21 .ship-containers{position:absolute;left:8%;right:8%;bottom:34px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.login-v21 .ship-box{height:20px;border:1px solid #ffffff66;border-radius:3px}
.login-v21 .ship-blue{background:#2e3191}
.login-v21 .ship-green{background:#257f45}
.login-v21 .ship-sky{background:#2db3e7}
.login-v21 .ship-white{background:#e8fbff}
.login-v21 .ship-hull{position:absolute;left:0;right:0;bottom:0;height:36px;display:flex;align-items:center;justify-content:center;background:#0b1e3a;color:#fff;font-size:9px;letter-spacing:1.5px;font-weight:850;clip-path:polygon(0 0,100% 0,92% 100%,8% 100%)}
.login-v21 .harbour-water{position:absolute;left:0;right:0;bottom:0;height:30px;background:linear-gradient(90deg,#2db3e7,#7dd7ff,#2db3e7);background-size:200% 100%;opacity:.55;animation:harbour-water 6s linear infinite}
.login-v21 .login-signoff{display:flex;align-items:center;gap:10px;margin:0;color:#b9d4e5;font-size:11px;line-height:1.6}
.login-v21 .login-signoff span{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#92c83d;box-shadow:0 0 0 5px #92c83d22}
.login-v21 .login-form{display:grid;place-items:center;padding:clamp(24px,4vw,56px);background:radial-gradient(circle at 20% 10%,#d9efff 0,transparent 32%),radial-gradient(circle at 90% 90%,#dcf2c9 0,transparent 30%),#eef4fb}
.login-v21 .login-card{width:420px;max-width:100%;padding:32px 34px 26px;border:1px solid #dbe7f3;border-radius:24px;background:#fff;box-shadow:0 24px 60px #16354c1f}
.login-v21 .login-logo-wrap{margin:0 0 24px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#eef4ff,#eafff3);border:1px solid #d7e6f5}
.login-v21 .login-logo-wrap .gateway-brand{gap:13px;margin:0}
.login-v21 .login-logo-wrap .gateway-mark{width:54px;height:50px;flex-basis:54px;filter:drop-shadow(0 6px 10px #2e319133)}
.login-v21 .login-logo-wrap .gateway-wordmark{font-size:25px;color:#132c4d}
.login-v21 .login-form .eyebrow{margin:0;color:#257f45;letter-spacing:2px;font-weight:850}
.login-v21 .login-form h1{margin:8px 0 0;color:#0d2440;font-size:33px;letter-spacing:-1px}
.login-v21 .login-form p.sub{margin:8px 0 0;color:#647b8b;font-size:14px;line-height:1.6}
.login-v21 .login-form .field{margin-top:20px;gap:8px}
.login-v21 .login-form .field>span:first-child{color:#415e72;font-weight:750}
.login-v21 .login-input{display:flex;align-items:stretch;gap:0;height:52px;margin:0;border:1.5px solid #d6e2ea;border-radius:13px;background:#f8fbfd;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.login-v21 .login-input:focus-within{border-color:#2db3e7;box-shadow:0 0 0 4px #2db3e71f;background:#fff}
.login-v21 .login-input-icon{flex:0 0 auto;display:flex;align-items:center;padding:0 14px;background:#eaf3ff;border-right:1px solid #d6e2ea;color:#2e3191;font-size:13px;font-weight:800;line-height:1}
.login-v21 .login-input input{flex:1 1 auto;min-width:0;height:100%;margin:0;border:0;border-radius:0;background:transparent;color:#16374f;padding:0 14px;font-size:15px}
.login-v21 .login-input input:focus{outline:0;box-shadow:none}
.login-v21 .login-show{flex:0 0 auto;width:auto;height:100%;margin:0;border:0;border-radius:0;background:transparent;color:#1769a4;padding:0 14px;font-size:12px;font-weight:800;cursor:pointer}
.login-v21 .login-form .error:empty{display:none}
.login-v21 .login-form .error{margin:16px 0 0;padding:11px 13px;border-radius:10px;background:#fff0f1;color:#8e2334;font-size:13px}
.login-v21 .login-submit{position:relative;overflow:hidden;width:100%;margin:24px 0 0;padding:15px;border:0;border-radius:13px;background:linear-gradient(90deg,#2e3191,#1769a4 55%,#2db3e7);color:#fff;font-size:15px;font-weight:850;letter-spacing:.2px;box-shadow:0 14px 28px #2e319144;transition:transform .2s,box-shadow .2s}
.login-v21 .login-submit:hover{transform:translateY(-1px);box-shadow:0 18px 32px #2e319155}
.login-v21 .login-submit:after{content:'';position:absolute;top:0;bottom:0;width:80px;left:-120px;background:linear-gradient(90deg,transparent,#ffffff55,transparent);transform:skewX(-20deg);animation:login-shine-v21 3.5s ease-in-out infinite}
.login-v21 .login-form .legacy-help{margin:20px 0 0}
.login-v21 .login-form .muted{margin:22px 0 0;text-align:center;color:#708594;line-height:1.6;font-size:11px}
@keyframes login-plane-fly-v21{0%{left:2%;transform:translateY(0) rotate(8deg)}50%{left:72%;transform:translateY(-14px) rotate(8deg)}100%{left:2%;transform:translateY(0) rotate(8deg)}}
@keyframes login-shine-v21{0%,65%{left:-120px}100%{left:130%}}
@keyframes crane-move{0%,100%{left:4%}50%{left:62%}}
@keyframes crane-drop{0%,100%{height:52px}50%{height:86px}}
@keyframes harbour-pulse{0%,100%{box-shadow:0 0 0 4px #92c83d22}50%{box-shadow:0 0 0 8px #92c83d00}}
@keyframes harbour-water{from{background-position:0 0}to{background-position:200% 0}}
@media(max-width:900px){
.login-v21{grid-template-columns:1fr;overflow-x:hidden}
.login-v21 .login-art{display:flex;padding:30px 24px 26px}
.login-v21 .login-plane-scene{height:110px}
.login-v21 .login-art h1{font-size:38px}
.login-v21 .login-art p{display:none}
.login-v21 .login-harbour{height:170px}
.login-v21 .login-form{display:block;padding:24px 20px 32px;min-height:0}
.login-v21 .login-card{margin:0 auto;padding:28px 22px}
}
@media(max-width:420px){
.login-v21 .login-art-badge{display:none}
.login-v21 .login-art h1{font-size:33px}
.login-v21 .login-card{padding:24px 18px}
.login-v21 .login-harbour{height:160px}
}
@media(prefers-reduced-motion:reduce){
.login-v21 .login-plane,.login-v21 .login-submit:after,.login-v21 .crane-trolley,.login-v21 .crane-cable,.login-v21 .harbour-water,.login-v21 .live-dot{animation:none}
}
/* Gateway Desk v22: realistic colourful ship, phased crane cycle, plane on dotted path with flags, punchy China-India copy */
.login-v22 *{box-sizing:border-box}
.login-v22{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);background:#eef4fb;overflow-x:hidden}
.login-v22 .login-art{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:36px clamp(28px,4vw,64px);color:#fff;background:linear-gradient(135deg,#070d2b 0%,#2e3191 42%,#1769a4 74%,#0f8fb8 100%)}
.login-v22 .login-art-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(#ffffff 1px,transparent 1px),linear-gradient(90deg,#ffffff 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(180deg,black,transparent 88%)}
.login-v22 .login-art-glow{position:absolute;border-radius:50%;filter:blur(2px)}
.login-v22 .login-art-glow-one{width:320px;height:320px;right:-110px;top:-90px;background:#2db3e766;box-shadow:0 0 90px #2db3e7}
.login-v22 .login-art-glow-two{width:230px;height:230px;left:-90px;bottom:-70px;background:#92c83d40;box-shadow:0 0 80px #92c83d55}
.login-v22 .login-art-inner{position:relative;z-index:2;width:100%;max-width:620px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.login-v22 .login-art-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0}
.login-v22 .company-lockup{display:flex;align-items:center;gap:14px;font-size:21px;line-height:1.15;font-weight:800}
.login-v22 .company-lockup img{width:62px;height:52px;object-fit:contain;padding:7px;border-radius:14px;background:#fff;box-shadow:0 10px 30px #00000045,0 0 0 3px #92c83d}
.login-v22 .login-art-badge{flex-shrink:0;padding:9px 12px;border:1px solid #ffffff55;border-radius:999px;background:#ffffff14;font-size:10px;letter-spacing:2px;font-weight:800;white-space:nowrap}
.login-v22 .login-plane-scene{position:relative;width:100%;height:122px;margin:0;overflow:hidden;border-bottom:1px solid #ffffff2e}
.login-v22 .login-route-svg{position:absolute;inset:0;width:100%;height:100%}
.login-v22 .login-plane{position:absolute;left:2%;top:32px;font-size:42px;line-height:1;filter:drop-shadow(0 10px 12px #00000055);animation:login-plane-fly-v22 9s ease-in-out infinite}
.login-v22 .login-cargo{position:absolute;left:0;bottom:10px;display:flex;gap:8px;flex-wrap:wrap}
.login-v22 .cargo-box{padding:8px 10px;border-radius:6px;font-size:10px;font-weight:900;letter-spacing:1px;box-shadow:0 8px 20px #00000030}
.login-v22 .cargo-blue{background:#2e3191;color:#fff;border:1px solid #8fb7ff}
.login-v22 .cargo-green{background:#257f45;color:#fff;border:1px solid #92c83d}
.login-v22 .cargo-sky{background:#e8fbff;color:#0b3550;border:1px solid #2db3e7}
.login-v22 .login-kicker{margin:0;font-size:11px;letter-spacing:2.5px;font-weight:800;color:#92c83d}
.login-v22 .login-art h1{margin:0;font-size:clamp(38px,4vw,58px);line-height:1.05;letter-spacing:-1.5px;color:#fff}
.login-v22 .login-art h1 span{background:linear-gradient(90deg,#7dd7ff,#92c83d);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-v22 .login-art p{margin:0;max-width:560px;font-size:16px;line-height:1.7;color:#d9eaf5}
.login-v22 .login-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.login-v22 .login-chips span{padding:10px 14px;border-radius:999px;border:1px solid #ffffff35;background:#ffffff12;font-size:12px;font-weight:750}
.login-v22 .login-route{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:0;font-size:12px;font-weight:700;letter-spacing:.4px;color:#fff}
.login-v22 .login-route span{white-space:nowrap}
.login-v22 .login-route b{color:#92c83d;letter-spacing:1px}
.login-v22 .login-route i{width:26px;height:2px;flex-shrink:0;background:linear-gradient(90deg,#2db3e7,#92c83d)}
 .login-v22 .login-harbour{position:relative;width:100%;height:200px;margin:0;border:1px solid #ffffff2e;border-radius:18px;background:linear-gradient(180deg,#0a2a5e 0%,#0e4d8a 58%,#0a6fa8 100%);overflow:hidden}
.login-v22 .harbour-label{position:absolute;z-index:6;top:12px;left:14px;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.8px;font-weight:850;color:#fff}
.login-v22 .live-dot{width:8px;height:8px;border-radius:50%;background:#92c83d;box-shadow:0 0 0 4px #92c83d22;animation:harbour-pulse 1.6s ease-in-out infinite}
.login-v22 .harbour-dock{position:absolute;left:14px;bottom:36px;display:flex;flex-direction:column-reverse;gap:4px}
.login-v22 .dock-box{width:52px;height:20px;border:1px solid #ffffff66;border-radius:3px}
.login-v22 .dock-green{background:#257f45}
.login-v22 .dock-blue{background:#2e3191}
.login-v22 .harbour-crane{position:absolute;z-index:5;left:0;top:34px;bottom:36px;width:76%}
.login-v22 .crane-tower{position:absolute;left:22px;top:0;bottom:0;width:10px;background:#e8f4ff;background-image:repeating-linear-gradient(45deg,transparent 0 6px,#9fc6dd 6px 8px)}
.login-v22 .crane-jib{position:absolute;left:22px;top:0;width:100%;height:10px;background:#e8f4ff}
.login-v22 .crane-cabin{position:absolute;left:14px;top:10px;width:26px;height:20px;border-radius:4px;background:#92c83d;border:1px solid #ffffff88}
.login-v22 .crane-trolley{position:absolute;top:10px;left:14%;width:46px;animation:crane-move-v22 12s linear infinite}
.login-v22 .crane-cable{width:2px;height:52px;margin:0 auto;background:#fff;animation:crane-drop-v22 12s linear infinite}
.login-v22 .crane-load{width:46px;height:22px;animation:crane-load-v22 12s linear infinite;margin:0 auto;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff88;border-radius:3px;background:#92c83d;color:#0b2a12;font-size:8px;font-weight:900;letter-spacing:.5px}
.login-v22 .harbour-ship{position:absolute;z-index:2;left:30%;right:5%;bottom:28px;height:96px}
.login-v22 .ship-containers{position:absolute;left:4%;right:20%;bottom:36px;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
.login-v22 .ship-box{height:18px;border:1px solid #ffffff66;border-radius:3px;background-image:repeating-linear-gradient(90deg,transparent 0 3px,rgba(0,0,0,.14) 3px 4px)}
.login-v22 .ship-blue{background:#2e3191}
.login-v22 .ship-green{background:#257f45}
.login-v22 .ship-sky{background:#2db3e7}
.login-v22 .ship-white{background:#e8fbff}
.login-v22 .ship-red{background:#d7263d}
.login-v22 .ship-orange{background:#f46036}
.login-v22 .ship-yellow{background:#ffc53d}
.login-v22 .ship-purple{background:#6a4c93}
.login-v22 .ship-bridge{position:absolute;right:2%;bottom:36px;width:14%;height:72px;background:#f2f8ff;border:1px solid #ffffff88;border-radius:3px 3px 0 0}
.login-v22 .ship-bridge:before{content:'';position:absolute;top:-10px;left:20%;right:20%;height:10px;background:#d7263d}
.login-v22 .ship-bridge span{display:block;height:8px;margin:6px 5px;background:#1769a4;border-radius:2px}
.login-v22 .ship-hull{position:absolute;left:0;right:0;bottom:0;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0b1e3a 0 68%,#e4572e 68% 100%);color:#fff;font-size:9px;letter-spacing:1.5px;font-weight:850;clip-path:polygon(0 0,100% 0,92% 100%,8% 100%)}
.login-v22 .harbour-water{position:absolute;z-index:1;left:0;right:0;bottom:0;height:30px;background:linear-gradient(90deg,#2db3e7,#7dd7ff,#2db3e7);background-size:200% 100%;opacity:.55;animation:harbour-water 6s linear infinite}
.login-v22 .login-signoff{display:flex;align-items:center;gap:10px;margin:0;color:#b9d4e5;font-size:11px;line-height:1.6}
.login-v22 .login-signoff span{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#92c83d;box-shadow:0 0 0 5px #92c83d22}
.login-v22 .login-form{display:grid;place-items:center;padding:clamp(24px,4vw,56px);background:radial-gradient(circle at 20% 10%,#d9efff 0,transparent 32%),radial-gradient(circle at 90% 90%,#dcf2c9 0,transparent 30%),#eef4fb}
.login-v22 .login-card{width:420px;max-width:100%;padding:32px 34px 26px;border:1px solid #dbe7f3;border-radius:24px;background:#fff;box-shadow:0 24px 60px #16354c1f}
.login-v22 .login-logo-wrap{margin:0 0 24px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#eef4ff,#eafff3);border:1px solid #d7e6f5}
.login-v22 .login-logo-wrap .gateway-brand{gap:13px;margin:0}
.login-v22 .login-logo-wrap .gateway-mark{width:54px;height:50px;flex-basis:54px;filter:drop-shadow(0 6px 10px #2e319133)}
.login-v22 .login-logo-wrap .gateway-wordmark{font-size:25px;color:#132c4d}
.login-v22 .login-form .eyebrow{margin:0;color:#257f45;letter-spacing:2px;font-weight:850}
.login-v22 .login-form h1{margin:8px 0 0;color:#0d2440;font-size:33px;letter-spacing:-1px}
.login-v22 .login-form p.sub{margin:8px 0 0;color:#647b8b;font-size:14px;line-height:1.6}
.login-v22 .login-form .field{margin-top:20px;gap:8px}
.login-v22 .login-form .field>span:first-child{color:#415e72;font-weight:750}
.login-v22 .login-input{display:flex;align-items:stretch;gap:0;height:52px;margin:0;border:1.5px solid #d6e2ea;border-radius:13px;background:#f8fbfd;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.login-v22 .login-input:focus-within{border-color:#2db3e7;box-shadow:0 0 0 4px #2db3e71f;background:#fff}
.login-v22 .login-input-icon{flex:0 0 auto;display:flex;align-items:center;padding:0 14px;background:#eaf3ff;border-right:1px solid #d6e2ea;color:#2e3191;font-size:13px;font-weight:800;line-height:1}
.login-v22 .login-input input{flex:1 1 auto;min-width:0;height:100%;margin:0;border:0;border-radius:0;background:transparent;color:#16374f;padding:0 14px;font-size:15px}
.login-v22 .login-input input:focus{outline:0;box-shadow:none}
.login-v22 .login-show{flex:0 0 auto;width:auto;height:100%;margin:0;border:0;border-radius:0;background:transparent;color:#1769a4;padding:0 14px;font-size:12px;font-weight:800;cursor:pointer}
.login-v22 .login-form .error:empty{display:none}
.login-v22 .login-form .error{margin:16px 0 0;padding:11px 13px;border-radius:10px;background:#fff0f1;color:#8e2334;font-size:13px}
.login-v22 .login-submit{position:relative;overflow:hidden;width:100%;margin:24px 0 0;padding:15px;border:0;border-radius:13px;background:linear-gradient(90deg,#2e3191,#1769a4 55%,#2db3e7);color:#fff;font-size:15px;font-weight:850;letter-spacing:.2px;box-shadow:0 14px 28px #2e319144;transition:transform .2s,box-shadow .2s}
.login-v22 .login-submit:hover{transform:translateY(-1px);box-shadow:0 18px 32px #2e319155}
.login-v22 .login-submit:after{content:'';position:absolute;top:0;bottom:0;width:80px;left:-120px;background:linear-gradient(90deg,transparent,#ffffff55,transparent);transform:skewX(-20deg);animation:login-shine-v22 3.5s ease-in-out infinite}
.login-v22 .login-form .legacy-help{margin:20px 0 0}
.login-v22 .login-form .muted{margin:22px 0 0;text-align:center;color:#708594;line-height:1.6;font-size:11px}
@keyframes login-plane-fly-v22{0%{left:2%;transform:translateY(0) rotate(8deg)}50%{left:72%;transform:translateY(-14px) rotate(8deg)}100%{left:2%;transform:translateY(0) rotate(8deg)}}
@keyframes login-shine-v22{0%,65%{left:-120px}100%{left:130%}}
@keyframes crane-move-v22{0%,20%{left:4%}50%,70%{left:62%}95%,100%{left:4%}}
@keyframes crane-drop-v22{0%,12%{height:78px}22%,68%{height:18px}92%{height:18px}100%{height:78px}}
@keyframes harbour-pulse{0%,100%{box-shadow:0 0 0 4px #92c83d22}50%{box-shadow:0 0 0 8px #92c83d00}}
@keyframes harbour-water{from{background-position:0 0}to{background-position:200% 0}}
@media(max-width:900px){
.login-v22{grid-template-columns:minmax(0,1fr);overflow-x:hidden}.login-v22 .login-art,.login-v22 .login-form,.login-v22 .login-art-inner{min-width:0}
.login-v22 .login-art{display:flex;padding:30px 24px 26px}
.login-v22 .login-plane-scene{height:110px}
.login-v22 .login-art h1{font-size:38px}
.login-v22 .login-art p{display:none}
.login-v22 .login-harbour{height:170px}
.login-v22 .login-form{display:block;padding:24px 20px 32px;min-height:0}
.login-v22 .login-card{margin:0 auto;padding:28px 22px}
}
@media(max-width:420px){
.login-v22 .login-art-badge{display:none}
.login-v22 .login-art h1{font-size:33px}
.login-v22 .login-card{padding:24px 18px}
.login-v22 .login-harbour{height:160px}
}
@media(prefers-reduced-motion:reduce){
.login-v22 .login-plane,.login-v22 .login-submit:after,.login-v22 .crane-trolley,.login-v22 .crane-cable,.login-v22 .crane-load,.login-v22 .harbour-water,.login-v22 .live-dot{animation:none}
}

.login-v22 .login-route-svg{overflow:visible}
@keyframes crane-load-v22{0%,12%{opacity:0}18%,62%{opacity:1}70%,100%{opacity:0}}

/* Gateway Desk v23: vector flags colourful ship, phased crane cycle, plane on dotted path with flags, punchy China-India copy */
.login-v23 *{box-sizing:border-box}
.login-v23{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);background:#eef4fb;overflow-x:hidden}
.login-v23 .login-art{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:36px clamp(28px,4vw,64px);color:#fff;background:linear-gradient(135deg,#070d2b 0%,#2e3191 42%,#1769a4 74%,#0f8fb8 100%)}
.login-v23 .login-art-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(#ffffff 1px,transparent 1px),linear-gradient(90deg,#ffffff 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(180deg,black,transparent 88%)}
.login-v23 .login-art-glow{position:absolute;border-radius:50%;filter:blur(2px)}
.login-v23 .login-art-glow-one{width:320px;height:320px;right:-110px;top:-90px;background:#2db3e766;box-shadow:0 0 90px #2db3e7}
.login-v23 .login-art-glow-two{width:230px;height:230px;left:-90px;bottom:-70px;background:#92c83d40;box-shadow:0 0 80px #92c83d55}
.login-v23 .login-art-inner{position:relative;z-index:2;width:100%;max-width:620px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.login-v23 .login-art-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0}
.login-v23 .company-lockup{display:flex;align-items:center;gap:14px;font-size:21px;line-height:1.15;font-weight:800}
.login-v23 .company-lockup img{width:62px;height:52px;object-fit:contain;padding:7px;border-radius:14px;background:#fff;box-shadow:0 10px 30px #00000045,0 0 0 3px #92c83d}
.login-v23 .login-art-badge{flex-shrink:0;padding:9px 12px;border:1px solid #ffffff55;border-radius:999px;background:#ffffff14;font-size:10px;letter-spacing:2px;font-weight:800;white-space:nowrap}
.login-v23 .login-plane-scene{position:relative;width:100%;height:122px;margin:0;overflow:hidden;border-bottom:1px solid #ffffff2e}
.login-v23 .login-route-svg{position:absolute;inset:0;width:100%;height:100%}
.login-v23 .login-plane{position:absolute;left:2%;top:32px;font-size:42px;line-height:1;filter:drop-shadow(0 10px 12px #00000055);animation:login-plane-fly-v23 9s ease-in-out infinite}
.login-v23 .login-cargo{position:absolute;left:0;bottom:10px;display:flex;gap:8px;flex-wrap:wrap}
.login-v23 .cargo-box{padding:8px 10px;border-radius:6px;font-size:10px;font-weight:900;letter-spacing:1px;box-shadow:0 8px 20px #00000030}
.login-v23 .cargo-blue{background:#2e3191;color:#fff;border:1px solid #8fb7ff}
.login-v23 .cargo-green{background:#257f45;color:#fff;border:1px solid #92c83d}
.login-v23 .cargo-sky{background:#e8fbff;color:#0b3550;border:1px solid #2db3e7}
.login-v23 .login-kicker{margin:0;font-size:11px;letter-spacing:2.5px;font-weight:800;color:#92c83d}
.login-v23 .login-art h1{margin:0;font-size:clamp(38px,4vw,58px);line-height:1.05;letter-spacing:-1.5px;color:#fff}
.login-v23 .login-art h1 span{background:linear-gradient(90deg,#7dd7ff,#92c83d);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-v23 .login-art p{margin:0;max-width:560px;font-size:16px;line-height:1.7;color:#d9eaf5}
.login-v23 .login-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.login-v23 .login-chips span{padding:10px 14px;border-radius:999px;border:1px solid #ffffff35;background:#ffffff12;font-size:12px;font-weight:750}
.login-v23 .login-route{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:0;font-size:12px;font-weight:700;letter-spacing:.4px;color:#fff}
.login-v23 .login-route span{white-space:nowrap}
.login-v23 .login-route b{color:#92c83d;letter-spacing:1px}
.login-v23 .login-route i{width:26px;height:2px;flex-shrink:0;background:linear-gradient(90deg,#2db3e7,#92c83d)}
 .login-v23 .login-harbour{position:relative;width:100%;height:200px;margin:0;border:1px solid #ffffff2e;border-radius:18px;background:linear-gradient(180deg,#0a2a5e 0%,#0e4d8a 58%,#0a6fa8 100%);overflow:hidden}
.login-v23 .harbour-label{position:absolute;z-index:6;top:12px;left:14px;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.8px;font-weight:850;color:#fff}
.login-v23 .live-dot{width:8px;height:8px;border-radius:50%;background:#92c83d;box-shadow:0 0 0 4px #92c83d22;animation:harbour-pulse 1.6s ease-in-out infinite}
.login-v23 .harbour-dock{position:absolute;left:14px;bottom:36px;display:flex;flex-direction:column-reverse;gap:4px}
.login-v23 .dock-box{width:52px;height:20px;border:1px solid #ffffff66;border-radius:3px}
.login-v23 .dock-green{background:#257f45}
.login-v23 .dock-blue{background:#2e3191}
.login-v23 .harbour-crane{position:absolute;z-index:5;left:0;top:34px;bottom:36px;width:76%}
.login-v23 .crane-tower{position:absolute;left:22px;top:0;bottom:0;width:10px;background:#e8f4ff;background-image:repeating-linear-gradient(45deg,transparent 0 6px,#9fc6dd 6px 8px)}
.login-v23 .crane-jib{position:absolute;left:22px;top:0;width:100%;height:10px;background:#e8f4ff}
.login-v23 .crane-cabin{position:absolute;left:14px;top:10px;width:26px;height:20px;border-radius:4px;background:#92c83d;border:1px solid #ffffff88}
.login-v23 .crane-trolley{position:absolute;top:10px;left:14%;width:46px;animation:crane-move-v23 12s linear infinite}
.login-v23 .crane-cable{width:2px;height:52px;margin:0 auto;background:#fff;animation:crane-drop-v23 12s linear infinite}
.login-v23 .crane-load{width:46px;height:22px;animation:crane-load-v23 12s linear infinite;margin:0 auto;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff88;border-radius:3px;background:#92c83d;color:#0b2a12;font-size:8px;font-weight:900;letter-spacing:.5px}
.login-v23 .harbour-ship{position:absolute;z-index:2;left:30%;right:5%;bottom:28px;height:96px}
.login-v23 .ship-containers{position:absolute;left:4%;right:20%;bottom:36px;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
.login-v23 .ship-box{height:18px;border:1px solid #ffffff66;border-radius:3px;background-image:repeating-linear-gradient(90deg,transparent 0 3px,rgba(0,0,0,.14) 3px 4px)}
.login-v23 .ship-blue{background:#2e3191}
.login-v23 .ship-green{background:#257f45}
.login-v23 .ship-sky{background:#2db3e7}
.login-v23 .ship-white{background:#e8fbff}
.login-v23 .ship-red{background:#d7263d}
.login-v23 .ship-orange{background:#f46036}
.login-v23 .ship-yellow{background:#ffc53d}
.login-v23 .ship-purple{background:#6a4c93}
.login-v23 .ship-bridge{position:absolute;right:2%;bottom:36px;width:14%;height:72px;background:#f2f8ff;border:1px solid #ffffff88;border-radius:3px 3px 0 0}
.login-v23 .ship-bridge:before{content:'';position:absolute;top:-10px;left:20%;right:20%;height:10px;background:#d7263d}
.login-v23 .ship-bridge span{display:block;height:8px;margin:6px 5px;background:#1769a4;border-radius:2px}
.login-v23 .ship-hull{position:absolute;left:0;right:0;bottom:0;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0b1e3a 0 68%,#e4572e 68% 100%);color:#fff;font-size:9px;letter-spacing:1.5px;font-weight:850;clip-path:polygon(0 0,100% 0,92% 100%,8% 100%)}
.login-v23 .harbour-water{position:absolute;z-index:1;left:0;right:0;bottom:0;height:30px;background:linear-gradient(90deg,#2db3e7,#7dd7ff,#2db3e7);background-size:200% 100%;opacity:.55;animation:harbour-water 6s linear infinite}
.login-v23 .login-signoff{display:flex;align-items:center;gap:10px;margin:0;color:#b9d4e5;font-size:11px;line-height:1.6}
.login-v23 .login-signoff span{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#92c83d;box-shadow:0 0 0 5px #92c83d22}
.login-v23 .login-form{display:grid;place-items:center;padding:clamp(24px,4vw,56px);background:radial-gradient(circle at 20% 10%,#d9efff 0,transparent 32%),radial-gradient(circle at 90% 90%,#dcf2c9 0,transparent 30%),#eef4fb}
.login-v23 .login-card{width:420px;max-width:100%;padding:32px 34px 26px;border:1px solid #dbe7f3;border-radius:24px;background:#fff;box-shadow:0 24px 60px #16354c1f}
.login-v23 .login-logo-wrap{margin:0 0 24px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#eef4ff,#eafff3);border:1px solid #d7e6f5}
.login-v23 .login-logo-wrap .gateway-brand{gap:13px;margin:0}
.login-v23 .login-logo-wrap .gateway-mark{width:54px;height:50px;flex-basis:54px;filter:drop-shadow(0 6px 10px #2e319133)}
.login-v23 .login-logo-wrap .gateway-wordmark{font-size:25px;color:#132c4d}
.login-v23 .login-form .eyebrow{margin:0;color:#257f45;letter-spacing:2px;font-weight:850}
.login-v23 .login-form h1{margin:8px 0 0;color:#0d2440;font-size:33px;letter-spacing:-1px}
.login-v23 .login-form p.sub{margin:8px 0 0;color:#647b8b;font-size:14px;line-height:1.6}
.login-v23 .login-form .field{margin-top:20px;gap:8px}
.login-v23 .login-form .field>span:first-child{color:#415e72;font-weight:750}
.login-v23 .login-input{display:flex;align-items:stretch;gap:0;height:52px;margin:0;border:1.5px solid #d6e2ea;border-radius:13px;background:#f8fbfd;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.login-v23 .login-input:focus-within{border-color:#2db3e7;box-shadow:0 0 0 4px #2db3e71f;background:#fff}
.login-v23 .login-input-icon{flex:0 0 auto;display:flex;align-items:center;padding:0 14px;background:#eaf3ff;border-right:1px solid #d6e2ea;color:#2e3191;font-size:13px;font-weight:800;line-height:1}
.login-v23 .login-input input{flex:1 1 auto;min-width:0;height:100%;margin:0;border:0;border-radius:0;background:transparent;color:#16374f;padding:0 14px;font-size:15px}
.login-v23 .login-input input:focus{outline:0;box-shadow:none}
.login-v23 .login-show{flex:0 0 auto;width:auto;height:100%;margin:0;border:0;border-radius:0;background:transparent;color:#1769a4;padding:0 14px;font-size:12px;font-weight:800;cursor:pointer}
.login-v23 .login-form .error:empty{display:none}
.login-v23 .login-form .error{margin:16px 0 0;padding:11px 13px;border-radius:10px;background:#fff0f1;color:#8e2334;font-size:13px}
.login-v23 .login-submit{position:relative;overflow:hidden;width:100%;margin:24px 0 0;padding:15px;border:0;border-radius:13px;background:linear-gradient(90deg,#2e3191,#1769a4 55%,#2db3e7);color:#fff;font-size:15px;font-weight:850;letter-spacing:.2px;box-shadow:0 14px 28px #2e319144;transition:transform .2s,box-shadow .2s}
.login-v23 .login-submit:hover{transform:translateY(-1px);box-shadow:0 18px 32px #2e319155}
.login-v23 .login-submit:after{content:'';position:absolute;top:0;bottom:0;width:80px;left:-120px;background:linear-gradient(90deg,transparent,#ffffff55,transparent);transform:skewX(-20deg);animation:login-shine-v23 3.5s ease-in-out infinite}
.login-v23 .login-form .legacy-help{margin:20px 0 0}
.login-v23 .login-form .muted{margin:22px 0 0;text-align:center;color:#708594;line-height:1.6;font-size:11px}
@keyframes login-plane-fly-v23{0%{left:2%;transform:translateY(0) rotate(8deg)}50%{left:72%;transform:translateY(-14px) rotate(8deg)}100%{left:2%;transform:translateY(0) rotate(8deg)}}
@keyframes login-shine-v23{0%,65%{left:-120px}100%{left:130%}}
@keyframes crane-move-v23{0%,20%{left:4%}50%,70%{left:62%}95%,100%{left:4%}}
@keyframes crane-drop-v23{0%,12%{height:78px}22%,68%{height:18px}92%{height:18px}100%{height:78px}}
@keyframes harbour-pulse{0%,100%{box-shadow:0 0 0 4px #92c83d22}50%{box-shadow:0 0 0 8px #92c83d00}}
@keyframes harbour-water{from{background-position:0 0}to{background-position:200% 0}}
@media(max-width:900px){
.login-v23{grid-template-columns:minmax(0,1fr);overflow-x:hidden}.login-v23 .login-art,.login-v23 .login-form,.login-v23 .login-art-inner{min-width:0}
.login-v23 .login-art{display:flex;padding:30px 24px 26px}
.login-v23 .login-plane-scene{height:110px}
.login-v23 .login-art h1{font-size:38px}
.login-v23 .login-art p{display:none}
.login-v23 .login-harbour{height:170px}
.login-v23 .login-form{display:block;padding:24px 20px 32px;min-height:0}
.login-v23 .login-card{margin:0 auto;padding:28px 22px}
}
@media(max-width:420px){
.login-v23 .login-art-badge{display:none}
.login-v23 .login-art h1{font-size:33px}
.login-v23 .login-card{padding:24px 18px}
.login-v23 .login-harbour{height:160px}
}
@media(prefers-reduced-motion:reduce){
.login-v23 .login-plane,.login-v23 .login-submit:after,.login-v23 .crane-trolley,.login-v23 .crane-cable,.login-v23 .crane-load,.login-v23 .harbour-water,.login-v23 .live-dot{animation:none}
}

.login-v23 .login-route-svg{overflow:visible}
@keyframes crane-load-v23{0%,12%{opacity:0}18%,62%{opacity:1}70%,100%{opacity:0}}

/* v26: compact controls and full-width row-flow choices */
#modal .options-grid.export-columns{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;grid-auto-flow:row;gap:6px 14px;width:100%}
#modal .export-columns .option{display:flex;justify-content:flex-start;align-items:center;gap:9px;margin:0;padding:8px 4px;min-height:36px}
#modal .options-grid.column-picker{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))!important;gap:6px 14px}
#modal .column-picker .option{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:8px;margin:0}
#modal .column-picker .option label{display:flex;align-items:center;justify-content:flex-start;gap:6px;font-size:12px;min-width:0}
#modal .column-picker input{width:16px;height:16px;flex:0 0 16px;margin:0}
#sheet th.incentive button,#sheet th.superintendent button,#sheet th.examiner button{white-space:normal;line-height:1.15;gap:3px;font-size:11px;padding:0}
#sheet th.incentive,#sheet th.superintendent,#sheet th.examiner,#sheet td.incentive,#sheet td.superintendent,#sheet td.examiner{padding-left:6px;padding-right:6px;width:135px;min-width:0;max-width:135px}
#sheet td.incentive,#sheet td.superintendent,#sheet td.examiner{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#form-containers .container-form-list.single-container{width:min(100%,400px);grid-template-columns:minmax(0,1fr)}
.history-toolbar{display:flex;align-items:flex-end;justify-content:flex-start;gap:10px}
.history-toolbar .field{margin:0;flex:0 1 250px;min-width:0}
.history-toolbar #history-filter{height:44px;margin:0;align-self:flex-end}
#history-events .history-card{padding:12px 16px;min-height:0;margin:0}
#history-events .history-card header{display:flex;justify-content:flex-start;align-items:center;gap:8px 16px;margin-bottom:7px}
#history-events .history-card header span{font-size:12px;color:var(--muted)}
#history-events .history-change{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;line-height:1.45;margin:4px 0}
#history-events .history-change strong{font-size:11px}
.backup-list article{justify-content:flex-start;padding:12px 0;gap:8px}
.backup-list article>div{flex:0 1 490px;min-width:220px;overflow-wrap:anywhere}
.backup-list article p{margin:5px 0}
.clear-password-settings{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
#clear-password-form .field{margin-bottom:12px}
#clear-password-form input,#clear-operation-password,#delete-backup-password{text-transform:none}
#add-financial-year{white-space:nowrap;padding:9px 12px}
@media(max-width:600px){#modal .options-grid.export-columns,#modal .options-grid.column-picker{grid-template-columns:1fr!important}.history-toolbar .field{flex:1}.backup-list article>div{flex-basis:100%}}
/* v27: register controls share the Operations strip. */
.register-view .topbar{height:auto;min-height:48px;display:flex;flex-wrap:wrap;gap:5px 8px;padding:5px 12px;align-items:center}
.register-view .topbar>strong{font-size:11px;white-space:nowrap}
#register-controls{display:flex;align-items:center;gap:5px;flex:1;flex-wrap:wrap;min-width:0}
#register-controls button,#register-controls select{padding:6px 8px;min-height:30px;height:30px;border-radius:7px;font-size:11px;white-space:nowrap}
#register-controls .search{width:140px;min-width:100px;flex:1;max-width:260px;height:30px;padding:5px 8px;font-size:12px;order:2}
#register-controls .clearance-tabs{padding:2px;gap:2px}#register-controls .clearance-tabs button{height:26px;min-height:26px}
#register-controls #sort{width:95px}#register-controls #selection-actions:empty{display:none}
#register-controls>[data-action=filter],#register-controls>#sort,#register-controls>[data-action=direction],#register-controls>[data-action=columns],#register-controls>[data-action=reset]{order:3}
.register-view .topbar>.row{gap:5px}.register-view .topbar .pill{display:none}.register-view .year-label{font-size:0;gap:0}.register-view #financial-year{height:30px;padding:5px;font-size:11px;max-width:145px}.register-view #add-financial-year{height:30px;font-size:11px;padding:5px}
.register-view #content{padding:6px 10px 0}.register-view .filters:empty{display:none}.register-view .filters{padding:3px 7px}.register-view .filter-item{font-size:10px;padding:2px 5px}
.register-view #sheet{min-height:180px}.register-view .sheetfoot{padding:5px 8px;font-size:10px;min-height:25px}
#sheet .column-heading{display:flex;align-items:center;gap:3px}#sheet .column-heading>[data-sort]{min-width:0;flex:1}
#sheet .column-heading>.column-filter{flex:0 0 19px;width:19px;height:23px;min-height:0;padding:0;font-size:19px;border:0;background:transparent;color:inherit;line-height:1}
#sheet .column-filter.is-filtered{background:#dcecff!important;color:#125b99!important;border-radius:4px}
#sheet td.editable:hover,#sheet td.editing-cell,#sheet td:focus-within{outline:1px solid #111!important;outline-offset:-1px;box-shadow:inset 0 0 0 1px #111!important}
#sheet td input:focus,#sheet td textarea:focus,#sheet td select:focus{outline-color:#111!important;border-color:#111!important;box-shadow:none!important}
#modal.compact-notes{width:min(560px,calc(100vw - 24px));max-width:560px}#modal.compact-notes .modalhead,#modal.compact-notes .modalfoot{padding:12px 16px}#modal.compact-notes .modalhead h2{font-size:18px}#modal.compact-notes .modalbody{padding:12px 16px;max-height:55vh}#modal.compact-notes #remark-editor{min-height:100px;max-height:40vh!important;overflow:auto!important}
#modal.multi-filter-dialog{width:min(960px,calc(100vw - 24px))}.filter-row27{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px;align-items:center}.filter-row27 select,.filter-row27 input{flex:1;min-width:110px;width:140px;padding:8px}.filter-row27>button{padding:7px 10px}
.column-filter-popup{width:min(280px,calc(100vw - 20px));padding:12px;display:grid;gap:9px}.column-filter-popup label{display:flex;align-items:center;gap:7px;font-size:12px}.column-filter-popup input:not([type=checkbox]){min-width:0;width:100%;padding:7px}.column-filter-popup input[type=checkbox]{width:15px;height:15px;flex:0 0 15px;margin:0}.column-filter-popup .row{gap:7px}.column-filter-popup button{padding:6px 10px}#column-values27{max-height:230px;overflow:auto;display:grid;gap:8px}#date-error27{color:#b32b39;font-size:12px}
.monthly-head27{display:flex;align-items:center;justify-content:space-between;gap:12px}.monthly-head27 h2{margin:0}.monthly-head27 .active{background:var(--primary,#1769a4);color:white}
.trusted-choice{border:0;margin:16px 0 0;padding:0;display:flex;gap:18px;font-size:12px}.trusted-choice legend{font-weight:600;margin-bottom:7px}.trusted-choice label{display:flex;align-items:center;gap:6px}.trusted-choice input{width:15px;height:15px;margin:0}
@media(max-width:800px){.register-view .topbar>strong{display:none}.register-view .topbar>.row{order:-1;margin-left:auto}.register-view #register-controls{flex-basis:100%}}
/* v28: aligned header icons and date range controls */
#sheet .column-heading{position:relative;min-height:24px;width:100%}
#sheet .column-heading>[data-sort]{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-height:24px;padding:0}
#sheet .column-heading>[data-sort]>.sort-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 14px;width:14px;height:24px;margin:0;line-height:1}
#sheet .column-heading:has(>.column-filter)>[data-sort]>span:first-child{margin-right:25px}
#sheet .column-heading>.column-filter{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:20px;height:24px;min-height:24px;padding:0;margin:0;line-height:1;border-radius:4px}
#sheet .column-filter svg{display:block;width:13px;height:13px;flex:none;margin:0}
.column-filter-popup.date-filter-popup{gap:10px}
.column-filter-popup.date-filter-popup>label{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;margin:0;width:100%}
.column-filter-popup.date-filter-popup input[type=date]{width:100%;height:36px;min-width:0;margin:0;padding:6px 8px;box-sizing:border-box}
.column-filter-popup.date-filter-popup>.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:0;padding-left:42px}
.column-filter-popup.date-filter-popup>.row>button{display:flex;align-items:center;justify-content:center;width:100%;height:34px;margin:0;padding:5px 8px;line-height:1}
.column-filter-popup.date-filter-popup #date-error27:empty{display:none}

/* v29: compact calendar fields, click anywhere to choose a date */
.column-filter-popup.date-filter-popup{width:min(250px,calc(100vw - 20px))}
.column-filter-popup.date-filter-popup>label{grid-template-columns:30px minmax(0,1fr);gap:6px}
.column-filter-popup.date-filter-popup input[type=date]{cursor:pointer;padding:6px}
.column-filter-popup.date-filter-popup input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;margin-left:2px;padding:2px}
.column-filter-popup.date-filter-popup>.row{padding-left:36px}
#register-controls>[data-action=add]{background:#ede6f6;border-color:#dfd4ec;color:#514568;box-shadow:none}
#sheet th.sr,#sheet td.sr{width:48px;min-width:48px;padding-left:5px;padding-right:5px}
#sheet tbody tr:hover>td:not(.eta-due){background-color:#f1f2f3!important;color:#172c3b}
#sheet tbody tr:hover>td.eta-due{outline:1px solid #b8b8b8}
.reminder-launch{border:0;background:transparent;padding:3px 6px;font-size:18px;vertical-align:middle}
#modal.reminder-editor31{width:min(580px,calc(100vw - 20px))}.reminder-date31{display:flex;align-items:flex-end;gap:12px;margin:12px 0}.reminder-date31 .field{flex:1}
#clock31[hidden]{display:none}#clock31{text-align:center;padding:12px}.clock-controls31{display:flex;gap:6px;justify-content:center;align-items:center}.clock-dial31{position:relative;width:220px;height:220px;border-radius:50%;background:var(--input,#f1f2f6);margin:10px auto}.clock-dial31 button{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;padding:0;border:0;border-radius:50%}.clock-dial31 span{position:absolute;width:7px;height:7px;border-radius:50%;background:#1769a4;top:49%;left:49%}
.reminder-list31>div{display:flex;gap:12px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.reminder-list31 span{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}
.alarm-popup31{position:fixed;inset:0;margin:auto;width:min(520px,calc(100vw - 24px));max-height:80vh;border:1px solid #cbd9e5;border-radius:18px;padding:24px;box-shadow:0 24px 90px #0005;background:var(--surface,#fff);color:var(--text,#153957)}.alarm-popup31::backdrop{background:#10223588}.alarm-note31{white-space:pre-wrap;overflow-wrap:anywhere;max-height:45vh;overflow:auto;font-size:18px;line-height:1.5;margin:18px 0}.alarm-popup31 .row{justify-content:flex-end}.alarm-time31{color:var(--muted,#64788b)}
/* v32: unified blue header/button, compact aligned operations controls */
#register-controls>[data-action=add]{background:#1769a4;border-color:#1769a4;color:#fff}
#sheet thead th{background:#1769a4!important;color:#fff!important}
#sheet thead th button,#sheet thead th .sort-arrow,#sheet thead th .column-filter{color:#fff!important}
#sheet thead th .column-filter.is-filtered{background:#104b78!important;color:#fff!important}
.register-view .topbar{justify-content:flex-start;gap:6px}
.register-view .topbar>strong{flex:0 0 auto;margin-right:8px}
#register-controls{justify-content:flex-start;gap:5px}
#register-controls #selection-actions{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}
#register-controls .selected-count{white-space:nowrap;font-size:10px}
#register-controls .search{max-width:none;min-width:110px;flex:1 1 130px}
.register-view .topbar>.row{margin-left:0;align-items:center}
#clock31>label{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0 8px}
#clock31 #exact-minute31{width:80px;height:38px;padding:6px 10px;text-align:center}
#clock-done31{min-width:110px;margin-top:10px}
#sheet td.checkcell{padding-left:2px;padding-right:2px;white-space:nowrap}
.row-grip32{display:inline-flex;align-items:center;justify-content:center;width:14px;height:25px;padding:0;margin:0 2px 0 0;border:0;background:transparent;box-shadow:none;color:#637789;cursor:grab;font-size:17px;vertical-align:middle}
.row-dragging32,.row-dragging32 *{cursor:grabbing!important}
#sheet tr.drop-before32>td{border-top:3px solid #1769a4!important}
#sheet tr.drop-after32>td{border-bottom:3px solid #1769a4!important}
/* v33: reserve consistent right-hand icon slots in every column */
#sheet .column-heading{position:relative;display:block;min-width:0;width:100%;height:24px}
#sheet .column-heading>[data-sort]{display:block;position:relative;box-sizing:border-box;width:100%;height:24px;min-height:24px;text-align:left;padding:0 20px 0 0}
#sheet .column-heading:has(>.column-filter)>[data-sort]{padding-right:46px}
#sheet .column-heading>[data-sort]>span:first-child{display:block;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}
#sheet .column-heading>[data-sort]>.sort-arrow{position:absolute;right:0;top:0;width:14px;height:24px;display:flex;align-items:center;justify-content:center}
#sheet .column-heading>.column-filter{right:20px;top:0;transform:none;width:20px;height:24px}
#register-controls .search{flex:0 1 180px;width:180px;max-width:180px;min-width:100px}

#sheet th.sr,#sheet td.sr{width:60px;min-width:60px;max-width:60px}

.color-choice35{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px}.color-choice35 i{display:inline-block;width:28px;height:28px;border:1px solid #bdc9d6;border-radius:6px}

html #sheet.sheet tr.custom-row td:not(.eta-due),html #sheet.sheet tr.custom-row:hover td:not(.eta-due),html #sheet.sheet tr.custom-row td:not(.eta-due) .date-cell{color:var(--row-ink)!important}
html .shipment-card.custom-row{--ink:var(--row-ink);--muted:var(--row-ink);color:var(--row-ink)}
html .shipment-card.custom-row .date-cell{color:var(--row-ink)!important}
html #sheet.sheet tr.custom-row td:not(.eta-due) .boe-info{color:var(--row-ink)}

/* Consistent positions within the fixed selection column. */
#sheet .checkcell{padding:0!important;vertical-align:middle}
#sheet .checkcell input[type=checkbox]{position:absolute;left:22px;top:50%;transform:translateY(-50%);margin:0!important;vertical-align:middle}
#sheet .checkcell .row-grip32{position:absolute;left:3px;top:50%;transform:translateY(-50%);width:16px;height:26px;margin:0;line-height:1;color:inherit}
@media(max-width:700px){
 html,body{max-width:100%;overflow-x:clip}
 .workspace{margin-left:0;min-width:0}.sidebar{display:none}
 .register-view .topbar{padding:12px;gap:10px;position:relative}
 .register-view .topbar>strong{display:block;font-size:13px;flex:1}
 .register-view .topbar>.row{order:0;margin-left:0;flex-wrap:wrap;max-width:100%}
 #register-controls{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%;order:2}
 #register-controls button,#register-controls select{min-height:42px;height:auto;font-size:13px;padding:9px 11px}
 #register-controls .clearance-tabs{flex:1;order:0}#register-controls .clearance-tabs button{min-height:40px;height:auto}
 #register-controls>[data-action=add]{order:0}
 #register-controls .search{order:1;flex:1 0 100%;width:100%;max-width:100%;min-width:0;height:44px;font-size:16px;padding:10px 12px}
 #register-controls>[data-action=export],#register-controls>[data-color-filter]{order:3}
 #register-controls #sort{width:auto;max-width:160px}
 #register-controls #selection-actions{order:4;flex:1 0 100%;flex-wrap:wrap}
 #register-controls .selected-count{font-size:13px}
 .register-view #content{padding:10px 10px 84px}
 .register-view #sheet.modern-sheet{height:auto!important;max-height:none!important;overflow:visible;min-height:0}
 #sheet .shipment-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:0}
 .shipment-card{min-width:0;padding:14px;border-radius:14px}
 .shipment-card-top{gap:10px;align-items:flex-start}.compact-card-heading{min-width:0;flex:1}
 .shipment-card h2{font-size:16px;overflow-wrap:anywhere}.job-tag{font-size:13px;overflow-wrap:anywhere}
 .card-top-right{gap:8px;max-width:42%;flex-wrap:wrap;justify-content:flex-end}.status-badge{white-space:normal;font-size:11px}
 #sheet .card-top-right input[type=checkbox],#sheet #card-select-all{width:20px!important;height:20px!important;min-width:20px!important}
 .shipment-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .shipment-details>div{min-width:0}.shipment-details dd{font-size:14px;overflow-wrap:anywhere;white-space:normal}.shipment-details dt{font-size:11px}
 .shipment-card footer{gap:8px;flex-wrap:wrap}.shipment-card footer button,.card-pagination button{min-height:42px}
 .card-selection-bar{padding:12px 4px;gap:8px;flex-wrap:wrap;font-size:12px}.card-pagination{padding:14px 4px}
 .mobile-nav{padding-bottom:max(8px,env(safe-area-inset-bottom));overflow-x:auto}.mobile-nav button{min-height:44px;min-width:65px}
 dialog#modal{width:calc(100% - 16px)!important;max-width:calc(100% - 16px)!important;max-height:92dvh;margin:auto;border-radius:16px}
 #modal .modalhead,#modal .modalfoot{padding:12px;gap:8px;flex-wrap:wrap}
 #modal .modalbody{padding:14px;max-height:65dvh;overflow:auto}
 #modal .formgrid{grid-template-columns:minmax(0,1fr)}
 #modal input:not([type=checkbox]):not([type=color]),#modal select,#modal textarea{font-size:16px;max-width:100%;min-width:0}
 #modal button{min-height:42px}#modal .filter-row27{display:flex;flex-direction:column;align-items:stretch}
 #modal .common-colors{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:16px 12px 90px}
}

@media(max-width:700px){
 .register-view .topbar>strong{flex:1 0 100%;white-space:normal}
 .register-view .topbar>.row{width:100%;justify-content:flex-end}
 #register-controls .mobile-tools37{order:3;flex:1 0 100%;border:1px solid #d4e0ec;border-radius:10px;background:var(--surface,#fff)}
 .mobile-tools37 summary{padding:12px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}
 .mobile-tools37>div{display:flex;flex-wrap:wrap;gap:8px;padding:0 10px 10px}
}

.freight-value38{display:inline-block;margin-right:10px;font-weight:600}.freight-status38{width:48px;min-width:48px;padding:4px;border-radius:6px;background:#fff;color:#16394d}

.profile-initial39{display:inline-flex;align-items:center;justify-content:center;border-radius:50%!important;width:32px;height:32px;min-width:32px;padding:0!important;background:#1769a4;color:white;font-weight:700;font-size:14px}
.account-menu39{min-width:180px;padding:14px;display:flex;flex-direction:column;gap:8px}.account-menu39>span{font-size:12px;color:#718396}.account-menu39 button{display:flex;align-items:center;gap:8px}.account-menu39 svg{width:18px;height:18px}
#register-controls>*{order:0!important}#register-controls{flex-wrap:wrap}
#register-controls .search{width:220px;max-width:220px;flex:0 1 220px;min-width:140px}
#register-controls [data-reminders]{flex:none;width:32px;padding:0;font-size:20px}
#register-controls .color-filter-icon39{display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;padding:4px}
.register-view #financial-year{width:104px;max-width:104px;font-size:11px}
.register-view .topbar>.row{flex-wrap:nowrap}
@media(max-width:700px){
 #register-controls .search{flex:1;min-width:0;width:auto;max-width:none;height:42px}
 #register-controls [data-reminders]{height:42px;min-width:34px}
 #register-controls .clearance-tabs{flex:1 0 100%}
 #register-controls .mobile-tools37{order:4!important}
 .register-view .topbar>.row{order:3;justify-content:flex-end;gap:6px}
 .register-view .topbar>.row .mobile-notice{display:none}
 .register-view #financial-year{height:40px;width:110px;max-width:110px}
 .register-view .topbar>.row>[data-action=export]{min-height:40px}
 .register-view .topbar>.row .profile-initial39{width:34px;height:34px}
}

#register-controls .clearance-tabs{margin:0;flex:0 0 auto}
#register-controls>[data-action=add]{margin:0}
.topbar .profile-initial39{background:#1769a4!important;color:#fff!important}
.register-view #financial-year{width:118px;max-width:118px;padding-left:7px;padding-right:22px}
#register-controls .reminder-launch{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:700px){#register-controls .clearance-tabs{flex:1 0 100%}.register-view #financial-year{width:118px;max-width:118px}}

/* Account stays beside the notification in the main navigation. */
.sidebar footer{display:flex;align-items:center;gap:8px}
.sidebar footer .profile-initial39{background:#1769a4!important;color:#fff!important;border-radius:50%!important;flex-shrink:0}


@media(max-width:700px){.sidebar footer{display:none}}

@media(min-width:701px){#register-controls .search{width:330px;max-width:330px;flex:0 1 330px;min-width:330px}}
/* Compact laptop register without shrinking mobile tap targets. */
@media(min-width:701px){
 .register-view .sidebar{min-height:48px;height:auto;padding-top:5px;padding-bottom:5px;gap:14px}
 .register-view .sidebar .brand-home{padding:0}
 .register-view .sidebar .gateway-mark{width:34px;height:34px;flex-basis:34px}
 .register-view .sidebar .gateway-wordmark strong{font-size:18px}
 .register-view .sidebar .nav button{padding:8px 9px;min-height:34px;gap:7px}
 .register-view .sidebar footer .notice-bell{padding:5px 8px;min-height:32px}
 .register-view .topbar{padding-top:4px;padding-bottom:4px;min-height:40px}
 .register-view #sheet th{height:32px;padding-top:4px;padding-bottom:4px}
 .register-view #sheet td{height:40px;padding-top:2px;padding-bottom:2px;line-height:16px}
 .register-view #sheet .container-entry{height:22px;min-height:22px;margin-top:0}
 .register-view #sheet .container-entry .equipment-job,.register-view #sheet .container-entry .container-alert{height:19px;min-height:19px}
 .register-view #sheet .status-select{padding-top:3px;padding-bottom:3px}
 .register-view #sheet .date-cell{min-height:26px;padding-top:2px;padding-bottom:2px}
 .register-view #sheet td>button:not(.row-grip32):not(.date-cell){padding-top:4px;padding-bottom:4px}
 .register-view #content{padding-top:4px}
}
@media(min-width:701px){.register-view #sheet .boe-stack{gap:0;line-height:14px}.register-view #sheet .boe-stack .date-cell{height:19px;min-height:19px;padding:0 3px;line-height:16px}.register-view #sheet .boe-date-under{padding:0;border:0}}

@media(max-width:700px){
 .mobile-nav{display:flex!important;position:fixed;inset:auto 0 0 0;z-index:100;overflow-x:auto;background:var(--surface,#fff);padding:6px 8px max(8px,env(safe-area-inset-bottom));gap:4px;justify-content:flex-start;border-top:1px solid var(--line,#d4e0ec)}
 .mobile-nav button{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-width:76px;min-height:48px;flex:0 0 auto;padding:6px;font-size:11px;touch-action:manipulation}
 .mobile-nav button.active{background:#e8f3fc;color:#1769a4;border-radius:8px}
 .mobile-nav .ui-icon{width:19px;height:19px;flex-basis:19px}
 button,summary{touch-action:manipulation}
 .content,.register-view #content{padding-bottom:calc(95px + env(safe-area-inset-bottom))}
}
@media(min-width:701px){
 .register-view #sheet td.equipment{line-height:14px}
 .register-view #sheet .equipment-trigger,.register-view #sheet .equipment-counts{display:inline-flex;align-items:center;vertical-align:top;line-height:14px;height:14px;margin-top:0;margin-bottom:0}
 .register-view #sheet .status-select,.register-view #sheet .boe-info{vertical-align:middle}
}
@media(min-width:701px){.register-view #sheet:not(.modern-sheet) td{height:40px;line-height:16px}.register-view #sheet .equipment-trigger{min-height:14px}}
/* Desktop register: reveal navigation at the top edge. */
@media(min-width:701px){
 .register-view .sidebar{position:fixed;inset:0 0 auto 0;z-index:110;transform:translateY(calc(-100% + 8px));transition:transform .16s ease;box-shadow:0 3px 12px #16394d12;padding-bottom:8px}
 .register-view .sidebar:hover,.register-view .sidebar:has(:focus-visible){transform:translateY(0)}
 .register-view .sidebar::after{content:"";position:absolute;bottom:0;left:0;right:0;height:8px;background:#e7eff6;pointer-events:none;border-bottom:1px solid #d5e1eb}
 .register-view .workspace{padding-top:8px}
}
@media(prefers-reduced-motion:reduce){.register-view .sidebar{transition:none}}
