/* AIRAC — midnight interface. Print styles remain in the original modules. */
@media screen {
 :root{color-scheme:dark;--red:#ed2946;--muted:#98adc4;--line:#23384c;--surface:#102031;--surface-raised:#14283b;--ink:#eaf2fb;--cyan:#63cfff;--copal-blue:linear-gradient(135deg,#122a40,#0b1828);--copal-blue-start:#142c43;--copal-blue-end:#0b1828;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#07121e}
 html{background:#07121e}body{font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:radial-gradient(ellipse at 90% 0%,#12324a55,transparent 48%),#07121e;min-height:100dvh;line-height:1.5}
 body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(#4aa8cd03 1px,transparent 1px),linear-gradient(90deg,#4aa8cd03 1px,transparent 1px);background-size:48px 48px;z-index:-1}
 h1,h2,h3,h4,strong{color:inherit}h1{font-size:30px;letter-spacing:-1px;line-height:1.25}h2{font-size:18px;font-weight:650}p{font-size:14px}.eyebrow{font-size:10px;color:#79c6ec;letter-spacing:2.2px}a{color:#80d5ff}label,.small,.muted,small,.count,#context,.filters #context{color:var(--muted)}
 aside{width:228px;background:linear-gradient(180deg,#0c1c2c,#081421);border-right:1px solid #27425888;padding:25px 14px;box-shadow:12px 0 40px #00000012}
 aside .brand{padding:0 13px 24px;margin-bottom:20px;border-bottom:1px solid var(--line)}aside .brand img{width:166px;height:58px;object-fit:contain}aside .brand span{color:#718fa9;font-size:9px;letter-spacing:2.4px;margin-top:12px}
 aside nav{gap:4px}aside nav button{min-height:44px;font-size:13px;font-weight:500;padding:11px 13px;gap:12px;color:#9bb1c9!important;border-radius:8px;border:1px solid transparent!important}
 aside nav button svg{width:18px;height:18px}aside nav button:hover{background:#183149!important;color:#f1f7ff!important;border-color:#294761!important}
 aside nav button.active{background:linear-gradient(90deg,#17394f,#10273c)!important;border-color:#31556d!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--red),0 3px 16px #0002!important}aside nav button.active svg{color:#ff5a73;filter:drop-shadow(0 0 5px #ee294655)}
 body:not(.login-page):not(.employee-portal)>main{margin-left:228px;padding:0 30px 44px;max-width:2200px}
 .accountbar{margin:0 -30px;padding:0 30px;min-height:70px;background:#0a1929ed;border-bottom:1px solid #28445c88;box-shadow:0 6px 24px #0002;backdrop-filter:blur(18px);color:var(--ink)}.sessionclock{font-size:12px;color:#a8c3d9;letter-spacing:.3px}.accountbar .accountidentity{font-weight:500}.accountbar #accountName{font-size:13px}.account-role{color:#95acc2;font-weight:400}.accountbar button{color:#a9bfd4!important}.accountbar button:hover{background:#193147!important;color:#fff!important}.accountbar .avatarbutton{background:#18324a!important;border-color:#3b607e!important;box-shadow:0 0 16px #46b7ee12}.avatarbutton{width:36px;height:36px}
 header{padding:27px 0 23px}.syncbar,.syncbar button{color:var(--muted)}.filters{background:linear-gradient(135deg,#102235,#0d1c2c);border:1px solid var(--line);box-shadow:0 6px 22px #0002;border-radius:12px;padding:17px;gap:13px;margin-bottom:20px}.filters label{font-size:12px}.filters .check{font-size:12px}.filters #context{font-size:11px}
 input,select,textarea{color:var(--ink);background:#0a1928;border:1px solid #2b435b;border-radius:7px;box-shadow:inset 0 2px 5px #0002;font:inherit;font-size:14px;max-width:100%}input::placeholder,textarea::placeholder{color:#70879f;opacity:1}input:focus,select:focus,textarea:focus{border-color:#65c3eb;box-shadow:0 0 0 3px #42b5e514}input:disabled,input[readonly],#incentiveEntryDialog input[readonly],#controlEntryDialog input[readonly]{background:#112133;color:#a5b7c9}input[type=checkbox],input[type=radio]{accent-color:var(--red)}option{background:#102336;color:#edf5ff}input[type=file]{box-shadow:none}input[type=file]::file-selector-button{background:#ed2946;border-radius:7px}
 button,button.link,.wa-open{background:#172f45!important;color:#dbefff!important;border-color:#2b4a64!important;border-radius:7px;box-shadow:0 3px 8px #0002;font-size:13px;font-weight:600;padding:10px 14px;transition:background .16s,border-color .16s,transform .16s}
 button:hover,button.link:hover,.wa-open:hover{background:#22445f!important;border-color:#5488a6!important;box-shadow:0 5px 15px #0003}button.primary,#importTop,#processPaste,#saveNexus,.delete-user,.fleet-geotab,#geotabLink{background:linear-gradient(110deg,#ed2946,#c91f3d)!important;color:#fff!important;border-color:#f44260!important;box-shadow:0 4px 16px #df243b20}button.primary:hover,#importTop:hover,#processPaste:hover{background:#fa3858!important;border-color:#ff6079!important}
 button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #81d7fa;outline-offset:3px}button:disabled{opacity:.5;transform:none}
 .panel,.card,.alert-disclosure,.control-metrics>div,.incentive-metrics>div,.presence-metrics>div{color:var(--ink);background:linear-gradient(135deg,#11273a,#0d1d2d);border:1px solid #253e53;border-radius:12px;box-shadow:0 6px 22px #00000020,inset 0 1px 0 #8fc9e408}
 .panel{padding:22px;margin-bottom:22px}.panel h2{margin-bottom:20px}.cards{gap:14px;margin-bottom:23px}.card,.operation-cards .card,.objects-cards .card,.card:first-child{position:relative;overflow:hidden;background:linear-gradient(130deg,#132b40,#0b1c2b);border:1px solid #29465e;box-shadow:0 8px 25px #0002;border-radius:12px;padding:21px;min-height:132px;color:var(--ink)}
 .card:before{content:"";position:absolute;left:20px;right:20px;top:0;height:2px;background:linear-gradient(90deg,#58bce9aa,transparent);pointer-events:none}.card:after{content:"";position:absolute;width:90px;height:90px;right:-40px;bottom:-50px;background:#35a9d90a;border:1px solid #5bc9fb12;border-radius:50%;pointer-events:none}
 .card .label,.operation-cards .card .label,.objects-cards .card .label{font-size:12px;font-weight:500;color:#adc6db;letter-spacing:.15px}.card .value{font-size:32px;font-weight:650;letter-spacing:-1px;margin:12px 0 6px;font-variant-numeric:tabular-nums}.card .hint,.operation-cards .card .hint,.objects-cards .card .hint{font-size:12px;color:#8eabc3}.operation-cards .card:nth-child(2) .value{color:#78d4ff}.operation-cards .card:nth-child(4) .value{color:#ff6c83}.card.alert:before{background:linear-gradient(90deg,#fa4967,transparent)}.card.alert .value{color:#ff7187}.operation-cards .card.mean-low{background:linear-gradient(135deg,#3b1c2c,#211c2a);border-color:#673144}.operation-cards .card.mean-ok{background:linear-gradient(135deg,#133b35,#122b2b);border-color:#245b50}
 .tablewrap{border:1px solid #243d52;border-radius:9px;scrollbar-color:#345a75 #0c1a28}table{color:#c9dbec;font-size:13px}th{background:#142b40;color:#9fbad1;border-bottom:1px solid #2c4a61;font-size:11px;font-weight:600;padding:13px 12px;letter-spacing:.2px}td,td:first-child{color:#ccdfef;border-color:#23394b;padding:12px}td:first-child{font-weight:600}tbody tr:nth-child(even){background:#10233666}tbody tr:hover{background:#17374e88}.table-notes{color:#91abc2}.table-notes summary{font-size:12px}.tag,.incentive-tag{background:#1c344a;color:#bad1e7;border:1px solid #2d4c65}.tag.red{background:#ed29461c;color:#ff879b;border-color:#ed294644}.tag.green{background:#31cf9c18;color:#7de3bb;border-color:#31cf9c44}
 td.mean-low,td.load-high,#content td.complaint-red{background:#652a3b66;color:#ff93a5}td.mean-ok,td.load-low,#content td.complaint-green{background:#164c3d66;color:#7ce5b9}td.load-medium,#content td.complaint-yellow{background:#654e1b66;color:#f8d67e}.rank-collaborator{color:#c2d7e9}.rank-warning,.penalized-jump{color:#ff8198}.rank-track,.bar,.analytics-track{background:#20364a}.bar span{background:linear-gradient(90deg,#286eaa,#70d7ff);box-shadow:0 0 8px #58c6f333}.series-0{background:#5ab5ee}.series-1{background:#ed4965}.analytics-row>strong{color:#a9c3d9}.load-low{--load-color:#38c89b}.load-medium{--load-color:#ecc357}.load-high{--load-color:#fa607b}
 .note,.incentive-warning,.control-alert-panel,.presence-issues{background:#30291c;color:#f1d49a;border-color:#6c5730;border-left-color:#e4b747}.incentive-source-alert{color:#f1cd84}.control-alert-clear,.control-notice,.incentive-notice,.presence-notice,#message{background:#153b32;color:#96e3c0;border-color:#2a6953}.control-global-alert{background:#3e311b!important;color:#f1d49a!important;border-color:#806130!important}.control-pending,.incentive-tag.is-pending,.presence-state,.presence-tag{background:#44361d;color:#f4d58c;border-color:#705c32}.control-ok,.incentive-tag.is-eligible,.presence-state.is-valid,.presence-tag.is-submitted{background:#173e32;color:#84dcb2;border-color:#2b6951}#message.error,.control-invalid,.presence-error{background:#402030;color:#ff93a6;border-color:#764052}#passwordError,#avatarError,#fleetError,#complaintError,#controlEntryError,#incentiveEntryError{color:#ff8ea3}
 .control-metrics strong,.incentive-metrics strong,.presence-metrics strong{color:#eef6ff;font-weight:600}.control-metrics span,.control-metrics small,.incentive-metrics span,.incentive-metrics small,.presence-metrics span,.presence-metrics small,.presence-metrics em{color:#97b4cd}.presence-missing strong{color:#ff8ba0!important}.presence-covered strong{color:#6adbb1!important}.presence-intro{background:linear-gradient(120deg,#17334c,#0d1c2d);border:1px solid #2b4861;border-left:3px solid var(--red)}.presence-leaders>div,.presence-add,.presence-empty,.schedule-fill,.control-mileage-preview,.incentive-preview{background:#11283b;color:#c9deee;border-color:#2b4a62}.presence-day-heading p,.presence-shift-read span,.presence-empty,.account-last-seen{color:#99b3cb}.presence-group-tabs button,.presence-quick button{background:#172f45!important;color:#b8d2e7!important;border-color:#2b4a64!important}.presence-group-tabs button[aria-pressed=true]{background:#23516d!important;color:#fff!important;border-color:#4d92b3!important}.incentive-targets>div{border-color:#2b455d;background:#102438}.incentive-targets span,.incentive-table td small,.control-table small{color:#9cb4c9}
 dialog,#patternRankingDialog,#airacInstallDialog{background:#0f2234;color:#e9f3ff;border:1px solid #365974;box-shadow:0 25px 100px #0009;border-radius:14px}dialog::backdrop{background:#020911b8;backdrop-filter:blur(7px)}.dialoghead{border-bottom:1px solid #28445d;padding-bottom:16px}.dialoghead h2{font-size:19px}.drop{background:#0b1c2c;border:1px dashed #45677f;color:#aec7de}.drop:hover{border-color:#70c6ec}#complaintReceived{background:#0a1928;color:#eaf2fb;border-color:#2b435b}#complaintTermSection{border-color:#2d4962}.avatarpreview{background:#1b354d}.portal-online-tooltip{background:#12293d;color:#e2effc;border-color:#3a607b;box-shadow:0 12px 35px #0006}.portal-online-tooltip li{border-color:#28445b}.portal-online-tooltip li span{color:#9db6ce}.online-dot{box-shadow:0 0 10px #32c66e55}.account-last-seen{color:#94aec5}
 #patternRankingDialog .dialoghead{background:#0f2234}#patternRankingDialog .dialoghead button{flex-shrink:0}.damage-record-top{color:#d4e9f8}.damage-meta{color:#9bb5ce}.damage-record{border-color:#2c465d}.fleet-plate-link{color:#7dcdf5}.account-actions .delete-user{background:#482636!important;color:#ffadbf!important;border-color:#895065!important}#createUserError,#damageError{color:#ff8fa5}#createdUserCopyStatus{color:#7cddb0}
 .pattern-green{background:#163b30!important;color:#87e5b3!important}.pattern-red{background:#492332!important;color:#ff93a8!important}.pattern-purple{background:#37264d!important;color:#d7a6fc!important}.pattern-orange{background:#49311f!important;color:#ffc48a!important}.pattern-yellow{background:#42391e!important;color:#f6db88!important}.pattern-gray,.pattern-unknown{background:#213346!important;color:#a9c0d6!important}.pattern-distributor-link{background:transparent!important;color:#7dd2ff!important;border-color:transparent!important;box-shadow:none;padding:3px}.pattern-ranking-penalized{color:#ff879d!important}.complaint-summary-green,.employee-complaint-green{background:#163b30!important;color:#91e5b9;border-color:#2d6d50}.complaint-summary-yellow,.employee-complaint-yellow{background:#40351f!important;color:#f3d78c;border-color:#776235}.complaint-summary-red,.employee-complaint-red{background:#422332!important;color:#ff9bb0;border-color:#794055}.complaint-summary-card{box-shadow:0 8px 20px #0002}
 .schedule-grid-scroll{border-color:#3a546b}.schedule-grid th,.schedule-grid td{border-color:#344d61}.schedule-grid thead th,.schedule-grid .schedule-group{background:#172e43;color:#c5dced}.schedule-grid .schedule-name,.schedule-grid .schedule-row-action{background:#102438;color:#d4e6f5}.schedule-grid thead .schedule-name,.schedule-grid caption{background:#19374d;color:#eff8ff}.schedule-grid thead .schedule-weekend{background:#2d4054;color:#bdcedd}.schedule-grid input{color:inherit;box-shadow:none}.schedule-grid select option{background:#183046;color:#fff}.shift-empty{background:#0d2132!important;color:#c2d8eb!important}.shift-green{background:#206649!important;color:#f0fff8!important}.shift-yellow{background:#d9bd48!important;color:#1d271e!important}.shift-gray{background:#415268!important;color:#e9f1f9!important}.shift-navy{background:#163955!important;color:#dcefff!important}.schedule-holidays{background:#322435;color:#e3c9d6;border-left-color:#f4506c}.schedule-legend td,.schedule-legend th{border-color:#36526b}.schedule-state{color:#ff8aa3}
 .portal-chat-launcher{background:linear-gradient(135deg,#f73655,#c61f3e)!important;border:1px solid #ff6a8355;box-shadow:0 8px 30px #e5264730,0 0 0 5px #ed294608}.portal-chat-panel{background:#102335;border-color:#385b74;box-shadow:0 20px 70px #0008}.portal-chat-header{background:linear-gradient(110deg,#17334b,#102237);border-bottom:1px solid #32506a}.portal-chat-messages{background:#091a2a}.portal-chat-message{background:#17324a;border-color:#294a65;color:#e7f4ff}.portal-chat-mine{background:#173e49;border-color:#2e6471}.portal-chat-message>div{color:#83cee9}.portal-chat-message time,.portal-chat-empty,.portal-chat-deleted,.portal-chat-media figcaption span,.portal-chat-compose-actions small{color:#9bb4cc}.portal-chat-message .portal-chat-delete{color:#f99aae!important}.portal-chat-media figcaption a{color:#80d7ff}.portal-chat-tabs{border-color:#2b455c}#portalChat .portal-chat-tabs button{background:#102335!important;color:#9bb8d1!important}#portalChat .portal-chat-tabs button[aria-selected=true]{background:#19354b!important;color:#a0e2ff!important;border-bottom-color:#f34f6c}#portalChat .portal-chat-controls button,#portalChat .portal-chat-compose-actions #portalChatEmojiToggle,#portalChat .portal-chat-compose-actions #portalChatAttach,#portalChat .portal-chat-emoji-picker button{background:#1a354c!important;color:#d8eaff!important;border-color:#35536b!important}.portal-chat-attachment{background:#173148;border-color:#2b4b66}.portal-chat-status{color:#ffc0cc}.portal-chat-attachment small{color:#9cb9d1}.accountbar #portalChatPending{background:#4c371e!important;color:#ffe2a0!important;border-color:#8d6838!important}
 .employee-header{background:#0d2032;border-bottom:1px solid #2a455c}.employee-nav button{background:#19374f!important;color:#c7dced!important}.employee-nav button[aria-pressed=true]{background:#265770!important;border-color:#62bce3!important}.employee-complaint-item{background:#11283b;border-color:#304b62}.employee-complaint-item dt{color:#9cb6cb}.employee-targets{color:#d4e6f5}
 .future-overview{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,.75fr);gap:22px;margin-bottom:0}.future-chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.future-chart-head small{font-size:11px;white-space:nowrap}.future-columns{display:flex;align-items:stretch;gap:clamp(8px,2vw,25px);height:198px;padding:22px 5px 0;border-bottom:1px solid #31516b;background:repeating-linear-gradient(to top,transparent 0,transparent 43px,#4b729521 44px,#4b729521 45px)}.future-column{min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px}.future-column strong{font-size:12px;color:#d7edff;font-weight:600}.future-column i{display:block;width:100%;max-width:50px;min-height:3px;border:1px solid #89ddff44;border-bottom:0;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#67c9f6,#235e9c);box-shadow:0 0 16px #59bffc10}.future-chart-labels{display:flex;gap:clamp(8px,2vw,25px);padding:10px 5px 0}.future-chart-labels span{flex:1;text-align:center;min-width:0;font-size:11px;color:#abc3db}.future-donut-wrap{display:flex;align-items:center;justify-content:center;gap:24px;min-height:221px;flex-wrap:wrap}.future-donut{height:145px;width:145px;flex:0 0 145px;position:relative;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#41c9a0 calc(var(--value)*1%),#243d52 0);box-shadow:0 0 35px #43d0a011}.future-donut:before{content:"";position:absolute;inset:11px;background:#0d2132;border-radius:50%;box-shadow:inset 0 0 0 1px #355568}.future-donut strong{position:relative;font-size:29px;font-weight:600;color:#daf8f0}.future-legend{display:grid;gap:13px;font-size:12px}.future-legend span{display:flex;align-items:center;gap:8px;color:#aec9dc}.future-legend i{height:7px;width:7px;border-radius:50%;background:#42cba3;flex-shrink:0}.future-legend .remaining i{background:#637e99}.future-legend b{color:#e0effa;margin-left:auto;font-weight:600}.future-group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.future-group-card{min-width:0;background:linear-gradient(130deg,#132b40,#0d1f30);border:1px solid #2b475f;border-radius:10px;padding:20px}.future-group-card h3{display:flex;justify-content:space-between;margin:0;color:#dceefd;font-size:15px}.future-group-card h3 svg{width:20px;height:20px;color:#7198b9}.future-group-card strong{display:block;font-size:28px;margin:12px 0 0;font-weight:600}.future-group-card p{margin:4px 0 13px;font-size:12px;color:#96b5ce}.future-group-card .bar{height:6px}.future-group-card .bar span{background:linear-gradient(90deg,#2f9f87,#50d4a7)}.future-group-card small{display:block;margin-top:12px;font-size:11px;color:#a5bed2}
 body.login-page{padding:38px;display:grid;place-items:center;background:radial-gradient(ellipse at 10% 15%,#193c5688,transparent 50%),#07121e}.login-page>.login-shell{width:min(1080px,100%);display:grid;grid-template-columns:1.25fr 1fr;min-height:620px;border:1px solid #2a455d;border-radius:18px;overflow:hidden;box-shadow:0 35px 110px #0007;background:#0b1b2b}.login-visual{position:relative;isolation:isolate;padding:44px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:radial-gradient(ellipse at 40% 60%,#16466980,transparent 65%),linear-gradient(145deg,#112a40,#081725)}.login-visual:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,transparent 60%,#e6274630 60.2%,transparent 60.6%),linear-gradient(140deg,transparent 68%,#55c8f333 68.2%,transparent 68.5%)}.login-visual img{width:210px;height:76px;object-fit:contain;object-position:left}.login-visual .login-brand-caption{font-size:9px;color:#8daec7;letter-spacing:2.6px;text-transform:uppercase;margin-top:10px}.login-visual h2{font-size:36px;line-height:1.15;font-weight:400;letter-spacing:-1px;margin:22px 0 17px;max-width:360px}.login-visual h2 strong{color:#fff;display:block;font-weight:650}.login-visual p{color:#9bb8cf;max-width:320px;font-size:13px;line-height:1.7}.login-visual footer{display:flex;gap:20px;color:#83a5bf;font-size:9px;text-transform:uppercase;letter-spacing:1.5px;margin-top:25px}.login-art{display:block;width:calc(100% + 44px);height:200px;margin:0 -22px;opacity:.95}.login-page main{background:#0c1d2e;padding:50px 42px;width:100%;max-width:none;border:0;border-radius:0;box-shadow:none;align-self:center;color:#eaf4ff}.login-page .loginlogo{display:none}.login-page main>h1{text-align:left;font-size:25px;font-weight:600;letter-spacing:-.6px;margin:0 0 5px}.login-page .login-intro{color:#8daac3;font-size:13px;margin:0 0 25px}.login-page .headerdelivery{display:none}.login-page form h2{font-size:15px;margin-top:0;color:#c0d6e8}.login-page label{font-weight:500;font-size:12px;color:#abc2d8;margin:18px 0}.login-page input{margin-top:7px;font-size:16px;padding:13px;background:#10273a;border-color:#2e4b63}.login-page form>button{width:100%;min-height:46px;margin-top:10px;background:linear-gradient(110deg,#ee2c49,#cc2140)!important;border:1px solid #ff4f6b!important;color:#fff!important}.login-page form>button.secondary{background:#163249!important;border:1px solid #31536b!important;color:#bdd8eb!important}.login-page .help{font-size:12px;color:#8aa5bd;line-height:1.7}.login-page #error{color:#ff8ba1}.login-page #registerResult{color:#86e0b6}.login-page #registerForm p{font-size:13px;color:#a9c0d3}.login-page main>.airac-install{width:100%;margin-top:18px;font-size:12px;background:#142e43!important;color:#aac7dc!important}.login-page #airacInstallDialog{font-family:inherit}.login-page .login-visual:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#ee2948,transparent)}
 @media(min-width:1700px){body:not(.login-page):not(.employee-portal)>main{padding-left:40px;padding-right:40px}.accountbar{margin-left:-40px;margin-right:-40px;padding-left:40px;padding-right:40px}}
 @media(max-width:1250px) and (min-width:741px){aside{width:200px}aside .brand img{width:145px}body:not(.login-page):not(.employee-portal)>main{margin-left:200px;padding-left:22px;padding-right:22px}.accountbar{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px}.future-donut-wrap{gap:14px}.future-donut{width:125px;height:125px;flex-basis:125px}.future-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
 @media(max-width:950px){.future-overview{grid-template-columns:1fr}.future-donut-wrap{min-height:180px;justify-content:flex-start;padding:0 10px;gap:35px}.future-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-page>.login-shell{grid-template-columns:1fr 1fr}.login-visual{padding:30px}.login-visual h2{font-size:30px}.login-page main{padding:35px 28px}}
 @media(max-width:740px){body:not(.login-page):not(.employee-portal)>main{margin-left:0;padding:0 max(14px,env(safe-area-inset-left)) calc(90px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-right));max-width:100%;min-width:0}body>aside{position:relative;width:100%;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;border-right:0;border-bottom:1px solid #25435b;background:#0b1c2c;box-shadow:none}aside .brand{margin:0;padding:0;border:0;display:flex;align-items:center;gap:10px}aside .brand img{height:42px;width:130px}aside .brand span{display:none}aside .brand-home{margin-right:auto}#airacMobileMenu{background:#17384f!important;border-color:#315974!important;color:#dbf1ff!important;border-radius:7px}aside #nav{padding-top:10px}aside nav button{font-size:13px;padding:12px}body>main>.accountbar{margin:0 -14px;padding:12px 14px;width:auto;min-height:82px;gap:7px;background:#0c1e2e;box-shadow:none}.sessionclock{font-size:11px;text-align:left;letter-spacing:.15px}.accountbar #accountName{font-size:12px;gap:4px}.accountbar .avatarbutton{width:31px;height:31px}.accountbar .accountidentity{gap:6px;min-width:0}.accountbar .account-role{font-size:11px}.accountbar .pencil,.logoutcross{width:31px}.accountbar .pencil{padding:6px!important}header{padding:24px 0 20px}h1{font-size:26px}.eyebrow{font-size:9px;letter-spacing:1.9px}.filters{padding:14px;border-radius:11px;gap:12px;margin-bottom:17px}.filters label{font-size:12px}.filters input,.filters select,input,select,textarea{font-size:16px;min-height:44px}.filter-actions{gap:8px}.filter-actions button{font-size:12px;padding:11px 10px;min-height:44px}.card,.operation-cards .card,.objects-cards .card,.card:first-child{padding:17px;min-height:123px;border-radius:11px}.card .value{font-size:28px}.card .label,.operation-cards .card .label{font-size:12px}.card .hint,.operation-cards .card .hint{font-size:11px}.cards{gap:10px}.panel{padding:17px;border-radius:11px;margin-bottom:17px}.panel h2{font-size:17px}.grid2,.route-charts,.analytics-grid{gap:0}.tablewrap{max-width:100%}th{font-size:11px;padding:12px 10px}td{font-size:13px;padding:12px 10px}.future-overview{gap:0}.future-columns{height:175px;gap:10px}.future-column strong{font-size:10px}.future-chart-labels{gap:10px}.future-chart-head{align-items:flex-start}.future-chart-head small{white-space:normal;text-align:right;font-size:10px;max-width:100px}.future-donut-wrap{gap:25px;padding:3px 5px}.future-group-grid{gap:10px}.future-group-card{padding:16px}.future-group-card strong{font-size:26px}.future-group-card small{font-size:11px}.control-metrics,.incentive-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.control-metrics>div,.incentive-metrics>div{padding:15px}.control-metrics>div:last-child:nth-child(odd){grid-column:1/-1}.incentive-metrics strong{font-size:24px}.control-metrics span,.incentive-metrics span{font-size:12px}.control-metrics small,.incentive-metrics small{font-size:11px}.control-toolbar button,.incentive-controls button,.schedule-toolbar button,.presence-toolbar button{min-height:44px}dialog{padding:18px;max-height:calc(100dvh - 24px);width:calc(100vw - 24px)}.portal-chat-panel{left:12px;right:12px;width:auto;bottom:calc(82px + env(safe-area-inset-bottom));max-height:calc(100dvh - 106px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.portal-chat-launcher{width:54px;height:54px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.employee-header{gap:10px}.employee-nav{gap:8px;padding:0 14px}.employee-nav button{font-size:12px;min-height:44px;padding:10px 12px}.employee-portal main{padding:20px 14px 90px}}
 @media(max-width:650px){body.login-page{padding:18px 14px;background:radial-gradient(ellipse at 50% 0%,#173e59,transparent 70%),#07121e}.login-page>.login-shell{display:flex;flex-direction:column;min-height:0;max-width:450px;border-radius:16px}.login-visual{padding:27px 25px 22px;min-height:205px}.login-visual img{width:157px;height:48px}.login-visual .login-brand-caption{font-size:8px;letter-spacing:1.8px;margin-top:6px}.login-visual h2{font-size:24px;max-width:250px;margin:20px 0 0}.login-visual h2 strong{display:inline}.login-visual p,.login-art,.login-visual footer{display:none}.login-page main{padding:28px 25px 25px;border-top:1px solid #27455b;align-self:stretch}.login-page main>h1{font-size:23px}.login-page .login-intro{font-size:12px;margin-bottom:24px}.login-page label{font-size:13px}.login-page input{min-height:48px}.login-page .help{font-size:12px}.login-page form>button{min-height:48px}}
 @media(prefers-reduced-motion:reduce){button,*:before,*:after{transition:none!important;animation:none!important}}
}
/* Glass-metal buttons: the red treatment identifies primary actions. */
@media screen {
 .filter-disclosure-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 11px;padding:4px 0;min-width:0}
 .filter-disclosure-heading[hidden]{display:none!important}.filter-disclosure-heading>span{font-size:12px;font-weight:600;color:#9ebbd2;letter-spacing:.3px}
 .filter-disclosure-heading .filter-disclosure-toggle{font-size:12px;padding:8px 12px;min-height:36px;white-space:nowrap}
 .future-group-average-label{display:block;font-size:12px;color:#a7c3db;margin-top:18px}.future-group-card .future-group-average{font-size:38px;line-height:1.2;margin:7px 0 5px;letter-spacing:-1px}
 .future-group-card.mean-low .future-group-average{color:#ff8ba0}.future-group-card.mean-ok .future-group-average{color:#7cdeb4}.future-group-card.mean-low .bar span{background:linear-gradient(90deg,#c92d4a,#ff8297)}
 .future-group-card .future-group-target{margin:0 0 15px;font-size:11px}.future-group-card .future-group-volume{margin:16px 0 0;padding-top:12px;border-top:1px solid #2c475d;font-size:11px;line-height:1.7;color:#91aec5}
 @media(max-width:740px){.filter-disclosure-heading .filter-disclosure-toggle{min-height:44px}.future-group-card .future-group-average{font-size:34px}.future-group-average-label{font-size:11px}.future-group-card .future-group-volume{font-size:10px}}
}
@media print{.filter-disclosure-heading{display:none!important}}
@media screen {
 body :is(button,.fleet-gps-link,.wa-open):not(:where(.avatarbutton,.pencil,.logoutcross,.portal-chat-launcher,#portalOnlineButton,.pattern-distributor-link,.portal-chat-delete)){
  background:linear-gradient(180deg,#8ddcff12 0%,transparent 47%),linear-gradient(115deg,#204963,#112a42)!important;
  border:1px solid #4f92b299!important;color:#e1f5ff!important;border-radius:8px;
  box-shadow:inset 0 1px 0 #c4f0ff25,inset 0 -2px 0 #030d1c55,0 4px 12px #0003,0 0 12px #48c7fa08;
  letter-spacing:.3px;font-weight:600;text-shadow:0 1px 2px #00101d66;
  transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;
 }
 body :is(button.primary,#importTop,#processPaste,#saveNexus,.fleet-gps-link,.wa-open),body.login-page form>button:not(.secondary){
  background:linear-gradient(180deg,#ffafbd20,transparent 45%),linear-gradient(110deg,#f23554,#b71a39)!important;
  border-color:#ff607caa!important;color:#fff!important;
  box-shadow:inset 0 1px 0 #ffd6df40,inset 0 -2px 0 #760c2855,0 5px 16px #0003,0 0 16px #ee29461c;
 }
 body .account-actions .delete-user{background:linear-gradient(135deg,#652a42,#361f32)!important;border-color:#a8526f!important;color:#ffbacb!important}
 body .login-page form>button.secondary,body.login-page form>button.secondary{background:linear-gradient(180deg,#a1e1ff10,transparent 50%),linear-gradient(115deg,#23445d,#142c43)!important;border-color:#4b7e9c!important;color:#d4edff!important}
 body aside nav button{background:linear-gradient(110deg,#16304699,#0d1f3199)!important;border-color:#33536b88!important;box-shadow:inset 0 1px 0 #b5e5ff08,0 3px 8px #0002!important;border-radius:8px;color:#b8d1e6!important}
 body aside nav button.active{background:linear-gradient(110deg,#275570,#13344f)!important;border-color:#5d9bbd!important;color:#f0fbff!important;box-shadow:inset 3px 0 0 #ff486b,inset 0 1px 0 #a5e4ff20,0 0 18px #5acbff14!important}
 body .presence-group-tabs button[aria-pressed=true],body .employee-nav button[aria-pressed=true]{background:linear-gradient(110deg,#285a76,#153a55)!important;border-color:#69b8d9!important;box-shadow:inset 0 1px 0 #a5e4ff30,0 0 14px #5acbff18}
 body button:focus-visible,body .fleet-gps-link:focus-visible,body .wa-open:focus-visible{outline:2px solid #a2eaff;outline-offset:4px}
 body :is(button,.fleet-gps-link,.wa-open):active:not(:disabled):not(:where(.avatarbutton,.pencil,.logoutcross,#portalOnlineButton,.pattern-distributor-link,.portal-chat-delete)){transform:translateY(1px);box-shadow:inset 0 2px 6px #0005,0 0 9px #5ccfff18}
 body button:disabled{transform:none!important;box-shadow:none!important;opacity:.45}
 body input[type=file]::file-selector-button{background:linear-gradient(120deg,#f43c59,#b81c3a);border:1px solid #ff81976b;box-shadow:inset 0 1px 0 #ffc4d133,0 3px 10px #0003;font-weight:600;letter-spacing:.2px}
 @media(hover:hover) and (pointer:fine){
  body :is(button,.fleet-gps-link,.wa-open):hover:not(:disabled):not(:where(.avatarbutton,.pencil,.logoutcross,.portal-chat-launcher,#portalOnlineButton,.pattern-distributor-link,.portal-chat-delete)){background:linear-gradient(180deg,#9de8ff18,transparent 50%),linear-gradient(115deg,#2a617e,#183b57)!important;border-color:#81d5f6!important;box-shadow:inset 0 1px 0 #c4f0ff40,0 5px 18px #0003,0 0 18px #54cfff22;transform:translateY(-1px)}
  body :is(button.primary,#importTop,#processPaste,#saveNexus,.fleet-gps-link,.wa-open):hover,body.login-page form>button:not(.secondary):hover{background:linear-gradient(180deg,#ffbdcb24,transparent 50%),linear-gradient(110deg,#ff4564,#d72548)!important;border-color:#ff9db1!important;box-shadow:inset 0 1px 0 #ffe0e650,0 5px 20px #0003,0 0 20px #ed294638}
  body aside nav button.active:hover{background:linear-gradient(110deg,#306582,#194462)!important;border-color:#80cce8!important;box-shadow:inset 3px 0 0 #ff5e7c,0 0 18px #5acbff22!important}
 }
 @media(prefers-reduced-motion:reduce){body button,body .fleet-gps-link,body .wa-open{transition:none!important;transform:none!important}}
}

.copal-total{padding:24px 28px;margin-bottom:20px;border:1px solid #397db4;border-left:5px solid #ed1537;border-radius:16px;background:linear-gradient(120deg,#123956,#0b1c2c);box-shadow:0 0 25px #3da5ff18}.copal-total span{color:#a8d9ff;font-weight:700;letter-spacing:.08em;font-size:12px}.copal-total h2{font-size:clamp(36px,6vw,58px);margin:9px 0;color:white;font-variant-numeric:tabular-nums}.copal-total h2 small{font-size:18px;color:#bbd0df}.copal-total p{margin:4px 0 10px}.portal-chat-mention{color:#a9ddff;background:#16415e;padding:2px 5px;border-radius:5px}.portal-chat-mentioned{display:block;color:#ffd275;font-weight:700;margin-bottom:5px}.portal-chat-mentions{padding:10px;max-height:190px;overflow:auto;background:#102a3c}.portal-chat-mentions input{width:100%;margin-bottom:6px}.portal-chat-mentions button{display:block;width:100%;text-align:left;margin:4px 0}

.portal-chat-reply-preview{display:flex;gap:10px;align-items:center;padding:10px;margin-bottom:8px;border-left:3px solid #5dbcfb;background:#163247;border-radius:8px}.portal-chat-reply-preview div{flex:1;min-width:0}.portal-chat-reply-preview p,.portal-chat-reply-quote span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:12px}.portal-chat-reply-quote{display:block;text-align:left;width:100%;padding:8px 10px!important;border-left:3px solid #5dbcfb!important;margin:5px 0!important;background:#173c5680!important}.portal-chat-reply-quote strong,.portal-chat-reply-quote span{display:block}.portal-chat-reply{font-size:11px!important;padding:4px 8px!important;margin-top:6px}.portal-chat-highlight{outline:2px solid #70c9ff;box-shadow:0 0 15px #70c9ff88}

.accountbar .avatarbutton{padding:0!important;position:relative;aspect-ratio:1;overflow:hidden;border-radius:50%;gap:0!important}.accountbar .avatarbutton img{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center;border-radius:50%;margin:0!important;padding:0!important;flex-shrink:0}.avatarbutton #userAvatar[hidden],.avatarbutton #avatarPlaceholder[hidden]{display:none!important}.portal-chat-header>div{flex:1;min-width:0}.portal-chat-author{display:flex!important;align-items:center;gap:8px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:left;color:inherit!important;min-width:0;max-width:100%;white-space:normal!important}.portal-chat-author>span{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;min-width:0}.portal-chat-author strong{overflow-wrap:anywhere}.portal-chat-author-role{font-size:10px;color:#99b6cc;font-weight:400}.portal-chat-author-role:before{content:'· ';}.portal-chat-author-photo{width:32px!important;height:32px!important;flex:0 0 32px;object-fit:cover!important;object-position:center;border-radius:50%;display:block}.portal-chat-meta{align-items:center;gap:8px;flex-wrap:wrap}.portal-chat-meta time{font-size:10px;white-space:nowrap}#portalChatProfile{width:min(92vw,390px);max-height:85dvh;overflow:auto}.portal-chat-profile-body{text-align:center;padding:24px 12px}.portal-chat-profile-photo{width:110px;height:110px;object-fit:cover;border-radius:50%;display:block;margin:0 auto 18px}.portal-chat-profile-body h3{margin-bottom:6px}.portal-chat-profile-body p{margin:6px 0}#portalChatPanel.portal-chat-maximized{position:fixed!important;inset:24px!important;width:calc(100vw - 48px)!important;max-width:1100px!important;height:calc(100dvh - 48px)!important;max-height:none!important;margin:auto!important;z-index:1100;box-shadow:0 20px 100px #000b}.portal-chat-maximized .portal-chat-messages{flex:1;min-height:0}.portal-chat-maximized .portal-chat-media img,.portal-chat-maximized .portal-chat-media video{max-height:42dvh}.portal-chat-maximized .portal-chat-message{max-width:80%}@media(max-width:600px){#portalChatPanel.portal-chat-maximized{inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;width:calc(100vw - 16px)!important;height:auto!important;max-width:none!important}.portal-chat-maximized .portal-chat-message{max-width:94%}.portal-chat-author-role{font-size:9px}}

/* Compact author identity and message rhythm, inspired by a group conversation. */
#portalChat .portal-chat-message{border-radius:3px 12px 12px 12px;padding:10px 12px 7px;background:#192e3e!important;border:1px solid #294353;box-shadow:0 1px 2px #0002}
#portalChat .portal-chat-mine{border-radius:12px 3px 12px 12px;background:#173b40!important;border-color:#295158}
#portalChat .portal-chat-meta{display:block;margin-bottom:7px;border:0;padding:0}
#portalChat button.portal-chat-author,#portalChat button.portal-chat-author:hover,#portalChat button.portal-chat-author:active{display:flex!important;align-items:center;gap:8px!important;width:auto!important;max-width:100%;padding:0!important;margin:0!important;background:transparent!important;background-image:none!important;border:0!important;border-radius:0;box-shadow:none!important;transform:none!important;letter-spacing:normal;text-transform:none}
#portalChat .portal-chat-author>span{display:flex;flex-direction:column;align-items:flex-start;gap:1px;flex-wrap:nowrap;min-width:0}
#portalChat .portal-chat-author strong{display:block;color:#83d0bc!important;font-size:13px!important;font-weight:600;line-height:1.25;letter-spacing:0;overflow-wrap:anywhere}
#portalChat .portal-chat-author-role{display:block;color:#9db3bd!important;font-size:10px!important;font-weight:400;line-height:1.25;letter-spacing:0}
#portalChat .portal-chat-author-role:before{content:none}
#portalChat .portal-chat-author-photo{width:30px!important;height:30px!important;flex-basis:30px;box-shadow:none;border:0}
#portalChat .portal-chat-message>p{margin:6px 0;font-size:13px;line-height:1.5}
#portalChat .portal-chat-message-time{display:block;text-align:right;color:#91a9b0;font-size:10px;line-height:1.2;margin:4px 0 0;font-variant-numeric:tabular-nums}
#portalChat button.portal-chat-reply,#portalChat button.portal-chat-delete{display:inline-block;margin:4px 10px 0 0!important;padding:2px 0!important;border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;color:#9db3bd!important;font-size:10px!important}
#portalChat button.portal-chat-author:focus-visible{outline:2px solid #83d0bc!important;outline-offset:4px;border-radius:5px}

#portalChatMentionSearch[hidden]{display:none!important}#portalChatMentionUsers{max-height:160px;overflow:auto}#portalChatMentionUsers [aria-selected="true"]{background:#244e60!important;outline:1px solid #83d0bc!important}#portalChat .portal-chat-mentions{max-height:210px;flex-shrink:0}

.portal-chat-all-description{display:block;font-size:10px;font-weight:400;color:#9db3bd;margin-top:3px}

.password-reveal{position:relative;display:flex;align-items:center}.password-reveal input{width:100%;padding-right:90px!important}.password-reveal button{position:absolute;right:8px;width:auto!important;margin:0!important;padding:7px!important;font-size:12px!important}.login-heading{text-align:center}.login-page form>button{display:block;width:100%;text-align:center}.portal-loading{display:inline-flex;align-items:center;gap:12px}.portal-loading i{display:inline-block;width:22px;height:22px;border:2px solid #274d68;border-top-color:#ee2949;border-radius:50%;animation:airacSpin .7s linear infinite}@keyframes airacSpin{to{transform:rotate(360deg)}}#sectionLoading,#requestLoading{position:fixed;z-index:12000;left:50%;top:20px;transform:translateX(-50%);background:#10283e;color:#fff;padding:14px 24px;border:1px solid #4a7797;border-radius:16px;box-shadow:0 8px 40px #0008}#sectionLoading[hidden],#requestLoading[hidden]{display:none}.portal-welcome{text-align:center;width:min(480px,90vw);padding:40px;border:1px solid #5fc8f2;background:#0b1c2c;color:white;border-radius:24px;animation:welcomeIn .45s ease-out}.portal-welcome img{width:190px;max-width:80%;object-fit:contain}.portal-welcome button{margin:8px}.portal-welcome::backdrop{background:#04101ee8;backdrop-filter:blur(8px)}@keyframes welcomeIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}.fleet-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.fleet-type-grid article{display:flex;flex-direction:column;align-items:center;padding:20px;background:#10283e;border:1px solid #29475e;border-radius:18px}.fleet-type-grid img{width:100%;height:100px;object-fit:contain}.fleet-type-grid b{font-size:36px;color:#66cfff}.object-full-detail dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.object-full-detail dl div{background:#10283e;padding:12px;border-radius:10px}.object-full-detail dt{font-size:12px;color:#91abc1}.object-full-detail dd{margin:4px 0;overflow-wrap:anywhere}.airac-status-dialog{width:min(800px,94vw);max-height:90dvh;background:#0b1c2c;color:#edf5ff;border:1px solid #365973;border-radius:20px}.airac-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.airac-status-grid button{display:flex;flex-direction:column;gap:8px}.airac-status-grid img,.airac-status-grid video{width:100%;height:130px;object-fit:cover;border-radius:14px}.airac-status-view img,.airac-status-view video{display:block;max-width:100%;max-height:65dvh;margin:auto}.airac-status-dialog input,.airac-status-dialog textarea{width:100%;box-sizing:border-box}.airac-status-dialog [hidden]{display:none!important}@media(prefers-reduced-motion:reduce){.portal-loading i,.portal-welcome{animation:none}}

.fleet-real-images article{gap:8px}.fleet-real-images article img{height:180px;width:100%;object-fit:contain;background:#fff;border-radius:12px;padding:8px;box-sizing:border-box}.fleet-real-images article img.fleet-reference-photo{object-fit:cover;object-position:50% 54%;padding:0}.fleet-real-images article small{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.fleet-image-unconfirmed{height:180px;display:grid;place-content:center;border:1px dashed #93a5b5;border-radius:12px;color:#b7c7d5;text-align:center}

.fleet-typology-info{max-width:760px}.fleet-typology-info table{width:100%;min-width:0;border-collapse:collapse}.fleet-typology-info th,.fleet-typology-info td{padding:13px 18px;border-bottom:1px solid rgba(143,174,199,.2);font-size:16px}.fleet-typology-info th{text-align:left}.fleet-typology-info td,.fleet-typology-info thead th:last-child{text-align:right}.fleet-typology-info tbody th{font-weight:500}.fleet-typology-info .small{line-height:1.6;margin-top:16px}

/* Informative typology guide */
.panel:has(.fleet-typology-info)>h2,section:has(>.fleet-typology-info)>h2{text-align:center}
.fleet-typology-info{max-width:860px;margin:0 auto;text-align:center}.typology-intro{margin:0 0 24px;font-size:18px;color:#e5edf5;line-height:1.6}.typology-intro span{color:#94aabd;font-size:14px}.typology-table-wrap{border:1px solid #284158;border-radius:18px;overflow:hidden;background:linear-gradient(140deg,#11283c,#0a1c2c);box-shadow:0 16px 40px #0002}.fleet-typology-info table{margin:0;width:100%;min-width:0}.fleet-typology-info thead{background:#142f46}.fleet-typology-info th,.fleet-typology-info td{padding:15px 22px;border-bottom:1px solid #254057;text-align:left}.fleet-typology-info thead th{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#a7bdd0}.fleet-typology-info thead th:nth-child(2),.fleet-typology-info tbody td:nth-child(2){text-align:center}.fleet-typology-info tbody tr{cursor:pointer;transition:background .2s}.fleet-typology-info tbody tr:hover,.fleet-typology-info tbody tr:focus-within{background:#1a354c}.fleet-typology-info tbody tr:last-child>*{border-bottom:0}.fleet-typology-info button[data-typology-open]{background:none;border:0;box-shadow:none;padding:0;transform:none;min-height:44px;text-align:left;color:inherit}.typology-code{display:block;font-size:19px;font-weight:700;letter-spacing:.04em;color:#f4f7fa}.typology-description{display:block;font-size:12px;color:#94aabd;margin-top:4px}.typology-volume{font-size:21px;font-weight:600;color:#e9f1f7;white-space:nowrap}.typology-volume small{font-size:13px;color:#8ba8be;margin-left:6px}.fleet-typology-info button.typology-view{font-size:12px;color:#c2d5e6;white-space:nowrap}.typology-view span{color:#fb4661;font-size:20px;margin-left:8px}.typology-note{max-width:650px;margin:20px auto 0!important;color:#8fa9bc}.typology-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.typology-dialog{width:min(1000px,94vw);max-width:1000px;max-height:92dvh;overflow:auto;padding:0;border:1px solid #31516a;border-radius:22px;background:#0e2437;color:#e9f0f5;box-shadow:0 35px 100px #0009}.typology-dialog::backdrop{background:#020c18c9;backdrop-filter:blur(7px)}.typology-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 28px}.typology-dialog-head h2{font-size:36px;margin:5px 0;color:#fff}.typology-dialog-head p{margin:0;color:#9bb4c8}.typology-eyebrow{font-size:10px;letter-spacing:.15em;color:#fb5c73;font-weight:700}.typology-dialog-head button{width:42px;height:42px;border-radius:50%;padding:0}.typology-stage{background:#fff;min-height:220px;display:grid;place-items:center;margin:0 20px;border-radius:14px;overflow:hidden}.typology-stage img{display:block;width:100%;height:auto;max-height:52dvh;object-fit:contain}.typology-stage img[hidden]{display:none}.typology-image-status{color:#31506a}.typology-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 28px}.typology-dialog-footer>div{text-align:center}.typology-dialog-footer strong{display:block;font-size:24px}.typology-dialog-footer span{display:block;font-size:11px;color:#93acc1;margin-top:4px}.typology-dialog-footer button{font-size:12px}.typology-caption{font-size:11px;line-height:1.6;color:#98b0c3;text-align:center;margin:0 auto;padding:0 28px;max-width:750px}.typology-source{text-align:center;font-size:11px;margin:10px 0 20px}.typology-source a{color:#adc7dc}
@media(max-width:600px){.fleet-typology-info th,.fleet-typology-info td{padding:12px 10px}.typology-code{font-size:16px}.typology-description{font-size:10px;max-width:130px}.typology-volume{font-size:18px}.typology-view{font-size:10px!important}.typology-dialog-head{padding:18px}.typology-dialog-head h2{font-size:30px}.typology-dialog-footer{padding:18px 12px;gap:8px}.typology-dialog-footer button{padding:9px;font-size:10px}.typology-dialog-footer strong{font-size:20px}.typology-stage{margin:0 10px;min-height:150px}.typology-caption{padding:0 16px}.typology-intro{font-size:16px}}
@media(prefers-reduced-motion:reduce){.fleet-typology-info tbody tr{transition:none}}

/* Single interactive card per typology. */
.fleet-typology-info{max-width:960px;margin-inline:auto}
.typology-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0}
.fleet-typology-info .typology-card[data-typology-open]{display:flex;flex-direction:column;align-items:flex-start;text-align:left;position:relative;overflow:hidden;gap:0;padding:22px!important;min-width:0;min-height:182px;border:1px solid #294359!important;border-radius:18px!important;background:linear-gradient(135deg,#142a3b,#0a1826)!important;box-shadow:inset 0 1px 0 #ffffff08,0 8px 22px #00000018!important;color:#eaf5ff!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important}
.fleet-typology-info .typology-card[data-typology-open]:hover{transform:translateY(-3px);border-color:#6cb7cf!important;box-shadow:0 12px 26px #00000030,inset 0 1px 0 #ffffff12!important}
.fleet-typology-info .typology-card[data-typology-open]:focus-visible{outline:3px solid #72d7ef;outline-offset:4px}
.typology-card-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:18px}
.typology-card .typology-code{font-size:18px;letter-spacing:.08em;color:#eaf5ff}
.typology-card-arrow{color:#84bfd0;font-size:22px;font-weight:400}
.typology-card .typology-volume{font-size:34px;line-height:1.15;letter-spacing:-.04em;color:#fff;white-space:nowrap}
.typology-card .typology-volume small{font-size:16px;margin-left:7px;font-weight:500;letter-spacing:0;color:#9db6c9}
.typology-capacity-label{font-size:9px;letter-spacing:.16em;color:#85a1b6;margin-top:5px;font-weight:600}
.typology-card .typology-description{display:block;max-width:none;margin-top:18px;padding-top:12px;border-top:1px solid #ffffff12;width:100%;font-size:12px;font-weight:400;color:#b8cbd8;line-height:1.4}
.typology-card::before{content:'';position:absolute;left:22px;top:0;width:36px;height:3px;background:#ed183c;border-radius:0 0 3px 3px}
@media(max-width:650px){.typology-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fleet-typology-info .typology-card[data-typology-open]{padding:17px!important;min-height:170px}.typology-card .typology-volume{font-size:29px}.typology-card .typology-code{font-size:16px}}
@media(prefers-reduced-motion:reduce){.fleet-typology-info .typology-card[data-typology-open]{transition:none!important}.fleet-typology-info .typology-card[data-typology-open]:hover{transform:none}}

/* Compact, consistent chat tools. */
#portalChat .portal-chat-controls{justify-content:flex-start;align-items:center;gap:5px;padding:8px 12px;flex-wrap:wrap}
#portalChat .portal-chat-controls button{flex:0 0 auto;margin:0!important;min-height:30px;padding:5px 8px!important;border-radius:8px!important;font-size:11px!important;line-height:1.2}
#portalChat .portal-chat-compose-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px}
#portalChat .portal-chat-compose-actions button:is(#portalChatMention,#portalChatEmojiToggle,#portalChatAttach,#chatVoice,#chatPollCreate,#portalChatSend){display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;min-height:36px;margin:0!important;padding:0!important;border:1px solid #35536b!important;border-radius:9px!important;background:#1a354c!important;color:#d8eaff!important;box-shadow:none!important;font-size:20px!important;line-height:1!important;transform:none}
#portalChat .portal-chat-compose-actions button:is(#portalChatMention,#portalChatEmojiToggle,#portalChatAttach,#chatVoice,#chatPollCreate,#portalChatSend):hover{background:#26475e!important;border-color:#6fa4bb!important}
#portalChat .portal-chat-compose-actions button#portalChatSend{flex:0 0 auto;width:auto;min-width:64px;margin-left:auto!important;padding:0 10px!important;font-size:12px!important}
#portalChat .portal-chat-compose-actions>small{order:2;flex:0 0 100%;font-size:10px;margin-top:1px}
#portalChat .portal-chat-messages .chat-suggestions-intro{max-width:330px;margin:12px auto;padding:18px;text-align:left;border:1px solid #315265;border-left:3px solid #48bda0;border-radius:12px;background:#122d3a;color:#d4e9e8;font-size:13px;line-height:1.6}
#portalChat .chat-suggestions-intro strong{display:block;color:inherit;font-size:14px}
#portalChat .chat-suggestions-intro p{margin:8px 0 0;color:inherit;font-size:13px;line-height:1.6}

.objects-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.objects-overview button{display:flex;flex-direction:column;align-items:flex-start;padding:18px!important;background:#132c40!important;border:1px solid #32536b!important;border-radius:14px!important;color:#e3f0fc!important}.objects-overview button[aria-pressed=true]{border-color:#6dc9e2!important;box-shadow:inset 0 -3px #ed284a!important}.objects-overview span{font-size:12px}.objects-overview strong{font-size:28px;margin-top:8px}.object-quick-search{display:flex;gap:10px;align-items:flex-end;margin-bottom:20px;flex-wrap:wrap}.object-quick-search label{flex:1;min-width:200px;font-size:12px}.object-quick-search input{display:block;width:100%;margin-top:7px}.objects-list-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.objects-list-toolbar label{font-size:12px}.objects-list-toolbar select{margin-left:8px}.objects-list-toolbar>span{font-size:12px;color:#99b6ca;margin-right:auto}.objects-main-table td{vertical-align:top}.objects-main-table small{display:block;font-size:11px;opacity:.7;margin-top:4px}.objects-main-table .object-open-link{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:#85d6ed!important;font-weight:700;text-decoration:underline;text-underline-offset:4px}.object-state{display:inline-block;padding:4px 7px;border-radius:6px;font-size:11px;white-space:nowrap;background:#4c3b1c;color:#ffe0a1}.object-delivered{background:#193e35;color:#9de8c5}.object-returned{background:#4d2332;color:#ffb4c4}.objects-pagination{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.object-record-dialog{position:fixed;margin:0 0 0 auto;inset:0;width:min(620px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;border-radius:16px 0 0 16px;padding:26px;overflow:auto}.object-record-dialog::backdrop{background:#0008}.object-record-dialog .dialoghead{display:flex;justify-content:space-between;gap:12px;align-items:center}.object-record-dialog h2{overflow-wrap:anywhere}.object-record-dialog .object-full-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.object-record-dialog dt{font-size:11px;opacity:.7}.object-record-dialog dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:13px}.object-record-dialog .object-full-detail{border-top:1px solid #52748a44;padding-top:16px;margin-top:20px}@media(max-width:650px){.objects-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.objects-overview button{padding:14px!important}.objects-overview strong{font-size:24px}.object-record-dialog{padding:18px}.objects-main-table{min-width:850px}}

@media(min-width:651px){.objects-overview{grid-template-columns:repeat(5,minmax(0,1fr))}}

.portal-audit-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.portal-audit-disclosure>summary::-webkit-details-marker{display:none}.portal-audit-disclosure>summary h2{margin:0}.portal-audit-disclosure>summary span{font-size:12px;opacity:.8}.portal-audit-disclosure[open]>summary{margin-bottom:16px}.portal-audit-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.portal-audit-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px}.portal-audit-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-top:1px solid #7893a633}.portal-audit-row p{margin:5px 0;font-size:12px}.portal-audit-row small{opacity:.7}.portal-audit-row button{flex-shrink:0}#portalAuditDialog{width:min(1100px,95vw);max-height:90dvh;overflow:auto}.portal-audit-diff{width:100%;table-layout:fixed}.portal-audit-diff th{font-size:12px;text-align:left}.portal-audit-diff td{vertical-align:top}.portal-audit-diff pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font:12px/1.5 monospace;max-height:350px;overflow:auto;padding:8px}.portal-audit-diff th:first-child{width:24%}@media(max-width:600px){.portal-audit-row{align-items:flex-start;flex-direction:column}.portal-audit-diff{min-width:700px}}

.nexus-entry-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.nexus-entry-grid label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}.nexus-entry-grid input{width:100%;font-size:22px;text-align:center;padding:14px!important;min-width:0}.nexus-live-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;padding:14px;background:#5abbd011;border:1px solid #68c5da33;border-radius:10px}.nexus-live-summary strong{font-size:20px}.nexus-live-summary span{font-size:12px;opacity:.8}.nexus-paste{padding:12px 0}.nexus-paste summary{cursor:pointer}.nexus-paste textarea{display:block;width:100%;max-width:500px;margin:12px 0}.nexus-editor #nexusSaveStatus{font-size:12px;line-height:1.5}@media(max-width:600px){.nexus-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nexus-live-summary{align-items:flex-start;flex-direction:column}}

/* NEXUS operational panel. */
.panel:has(>.nexus-editor){position:relative;isolation:isolate;overflow:hidden;border:1px solid #306c8b!important;border-radius:20px!important;background:radial-gradient(ellipse at 100% 0,#12658a33,transparent 60%),linear-gradient(135deg,#102b42,#091b2e)!important;box-shadow:0 16px 40px #0002,inset 0 1px #8addff12!important;padding:26px!important}
.panel:has(>.nexus-editor)>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.nexus-editor{position:relative;color:#e4f2ff}.nexus-brand-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.nexus-eyebrow{display:block;font-size:9px;letter-spacing:.23em;color:#8dbbd3;font-weight:600}.nexus-wordmark{display:block;font-size:36px;letter-spacing:.18em;line-height:1.2;margin-top:6px;color:#edfaff;font-weight:750}.nexus-wordmark>span{color:#ed254a;margin-left:6px;letter-spacing:0}.nexus-date-chip{font-size:11px;white-space:nowrap;padding:8px 12px;border:1px solid #4eaed04d;border-radius:30px;background:#69c9e70b;color:#b5e6f8}
.nexus-entry-grid{gap:12px;margin-top:24px}.nexus-entry-grid label{position:relative;border:1px solid #3d739455;border-radius:12px;padding:14px;background:linear-gradient(145deg,#183c5540,#0b233b80);transition:border-color .15s,box-shadow .15s}.nexus-entry-grid label:focus-within{border-color:#5bd5ff;box-shadow:0 0 0 3px #5bd5ff15}.nexus-module-name{display:flex;align-items:center;justify-content:space-between;gap:10px}.nexus-module-name>span{font-size:8px;letter-spacing:.16em;color:#92b4cc}.nexus-module-name>b{font-size:18px;letter-spacing:.04em;color:#73d8fa}.nexus-entry-grid input.nexus{background:#071c2e!important;border:1px solid #2b5069!important;border-radius:8px!important;color:#e9f8ff!important;font-size:25px!important;font-variant-numeric:tabular-nums;box-shadow:none!important;padding:12px 4px!important}.nexus-entry-grid input::placeholder{font-size:11px;color:#829fb4;opacity:1}
.nexus-editor .nexus-live-summary{background:linear-gradient(100deg,#123e56,#0c263e)!important;border:1px solid #3b99b866;border-radius:12px;margin:18px 0;padding:20px;flex-wrap:wrap}.nexus-summary-label{display:block;font-size:8px;letter-spacing:.18em;color:#91c1d4;margin-bottom:7px}.nexus-live-summary #nexusLiveTotal{display:block;font-size:27px;line-height:1.25;letter-spacing:-.03em;color:#dcf7ff}.nexus-progress{min-width:190px;flex:0 1 240px}.nexus-progress #nexusFillStatus{display:block;font-size:11px;margin-bottom:9px;color:#a9cadd;opacity:1}.nexus-progress progress{width:100%;height:5px;display:block;appearance:none;border:0;border-radius:8px;background:#244154;overflow:hidden;accent-color:#56c8eb}.nexus-progress progress::-webkit-progress-bar{background:#244154}.nexus-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#3499ef,#6de4ed);border-radius:8px}.nexus-progress progress::-moz-progress-bar{background:#56c8eb}.nexus-editor[data-complete=true] .nexus-live-summary{border-color:#4dcfb866}.nexus-editor .small,.nexus-editor #nexusSaveStatus{color:#9fbfd2}.nexus-editor .nexus-paste summary{color:#9bd9ef;font-size:12px}.nexus-editor .actions{gap:8px}.nexus-editor #saveNexus{background:linear-gradient(110deg,#176b94,#174d76)!important;border:1px solid #59b7dc88!important;color:#eafaff!important;box-shadow:0 4px 14px #1689b51a!important}.nexus-editor #nexusDiscard,.nexus-editor #nexusApplyPaste{background:#18364a!important;border:1px solid #426a83!important;color:#c4e4f4!important;box-shadow:none!important;font-size:12px}.nexus-paste textarea{background:#0a2034!important;border:1px solid #375b76!important;color:#def4ff!important}
@media(max-width:600px){.panel:has(>.nexus-editor){padding:18px!important}.nexus-wordmark{font-size:29px}.nexus-date-chip{padding:7px 9px}.nexus-entry-grid label{padding:11px}.nexus-progress{width:100%;min-width:0;flex:auto}.nexus-live-summary #nexusLiveTotal{font-size:24px}.nexus-editor .nexus-live-summary{gap:16px}}
@media(prefers-reduced-motion:reduce){.nexus-entry-grid label{transition:none}}

.nexus-editor .nexus-sms-caption{font-size:10px;line-height:1.4;color:#9fbfd2;text-align:left;margin:18px 0 0;font-variant-numeric:tabular-nums}

/* COPAL total: real count with a short arrival animation. */
.copal-total.copal-future{position:relative;overflow:hidden;isolation:isolate;padding:25px 28px;border:1px solid #367999;border-left:3px solid #ed254a;border-radius:20px;background:radial-gradient(ellipse at 95% 55%,#12689544,transparent 55%),linear-gradient(115deg,#0d2d46,#091a2c);box-shadow:0 14px 40px #0002,inset 0 1px #8cddff16}
.copal-future::before{content:'';position:absolute;z-index:-1;inset:0;background-image:linear-gradient(#64d1ff06 1px,transparent 1px),linear-gradient(90deg,#64d1ff06 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}
.copal-future::after{content:'';position:absolute;width:260px;height:260px;border:1px solid #5ac8ef20;border-radius:50%;right:9%;top:45px;box-shadow:0 0 0 24px #5ac8ef06,0 0 0 50px #5ac8ef04;z-index:-1;pointer-events:none}
.copal-future-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}.copal-total .copal-location{font-size:11px;letter-spacing:.12em;line-height:1.6;color:#9ac8e1;max-width:75%}.copal-date{flex-shrink:0;padding:7px 10px;border:1px solid #67bddd44;border-radius:7px;font-size:10px;letter-spacing:.09em;font-variant-numeric:tabular-nums;background:#58bce50a;color:#b5e3f6}
.copal-counter-area{margin-top:25px}.copal-total .copal-counter-label{display:block;font-size:9px;font-weight:500;letter-spacing:.22em;color:#83acc5}.copal-total.copal-future h2{margin:7px 0 14px;display:flex;align-items:baseline;gap:14px;line-height:1.1}.copal-total .copal-number{font-size:clamp(44px,6.5vw,72px);letter-spacing:-.045em;color:#e9faff;font-weight:750;font-variant-numeric:tabular-nums;font-feature-settings:'tnum';text-shadow:0 0 24px #6bd4ff20}.copal-total.copal-future h2 small{font-size:14px;font-weight:400;letter-spacing:.02em;color:#8cb5ce}.copal-counter-line{height:2px;width:min(300px,65%);background:linear-gradient(90deg,#5bdaf2,#2076b7,transparent);transform-origin:left;opacity:.8}.copal-sources{display:flex;flex-wrap:wrap;gap:22px;margin-top:20px}.copal-sources small{font-size:10px;letter-spacing:.03em;color:#89adc4}.copal-sources b{font-size:12px;margin-left:7px;color:#c7e6f6;font-weight:600;font-variant-numeric:tabular-nums}.copal-is-counting .copal-counter-line{animation:copal-charge 1.15s ease-out both}.copal-count-complete .copal-number{animation:copal-arrival .75s ease-out both}.copal-count-complete .copal-counter-line{animation:copal-line-arrival .75s ease-out both}
@keyframes copal-charge{from{transform:scaleX(0);opacity:.2}to{transform:scaleX(1);opacity:.8}}@keyframes copal-arrival{0%{text-shadow:0 0 28px #62dfff99;filter:brightness(1.35)}45%{text-shadow:0 0 44px #62dfff66}100%{text-shadow:0 0 24px #6bd4ff20;filter:brightness(1)}}@keyframes copal-line-arrival{0%{box-shadow:0 0 12px #60ddff;opacity:1}100%{box-shadow:0 0 0 transparent;opacity:.8}}
@media(max-width:600px){.copal-total.copal-future{padding:18px}.copal-future-head{gap:10px}.copal-total .copal-location{font-size:9px;letter-spacing:.07em;max-width:65%}.copal-date{padding:6px;font-size:9px}.copal-counter-area{margin-top:23px}.copal-total.copal-future h2{gap:10px}.copal-total .copal-number{font-size:48px}.copal-total.copal-future h2 small{font-size:12px}.copal-sources{gap:16px}.copal-future::after{right:-110px}}
@media(prefers-reduced-motion:reduce){.copal-is-counting .copal-counter-line,.copal-count-complete .copal-number,.copal-count-complete .copal-counter-line{animation:none!important}}

/* Original AIRAC symbol as an animated watermark. */
.copal-total.copal-future::after{width:240px;height:240px;inset:38px 7% auto auto;border:0;border-radius:0;box-shadow:none;background:#83d7f5;-webkit-mask-image:url('/airac-copal-watermark.png');mask-image:url('/airac-copal-watermark.png');mask-mode:luminance;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;opacity:.12;transform-origin:center;animation:copal-logo-watermark 7s ease-in-out infinite;pointer-events:none}
@keyframes copal-logo-watermark{0%,100%{transform:translateY(0) scale(1);opacity:.10}50%{transform:translateY(-7px) scale(1.025);opacity:.17}}
@media(max-width:600px){.copal-total.copal-future::after{width:200px;height:200px;top:58px;right:-15px;opacity:.10}}
@media(prefers-reduced-motion:reduce){.copal-total.copal-future::after{animation:none;opacity:.12}}
/* AIRAC conversation layout: compact group identity, speech bubbles and composer. */
#portalChat{--chat-bg:#091722;--chat-surface:#102637;--chat-in:#173245;--chat-out:#29364a;--chat-text:#edf4fa;--chat-muted:#a7bccb;--chat-line:#ffffff12;--chat-accent:#ed2946}
#portalChat #portalChatPanel{border:1px solid var(--chat-line);border-radius:20px;background:var(--chat-surface);box-shadow:0 20px 70px #0007;width:430px;max-width:calc(100vw - 24px)}
#portalChat .portal-chat-header{padding:14px 16px;gap:6px;background:#102637;border-bottom:1px solid var(--chat-line)}
#portalChat .portal-chat-header>div{flex:1;min-width:0;border-left:3px solid var(--chat-accent);padding-left:10px}
#portalChat .portal-chat-header strong{font-size:15px;letter-spacing:.6px;color:#fff}
#portalChat .portal-chat-header small{font-size:10px;color:#a7bccb;margin-top:3px}
#portalChat .portal-chat-header>button{width:40px;height:40px;min-height:40px;padding:0!important;border-radius:50%!important}
#portalChat .portal-chat-tabs{background:var(--chat-surface);padding:0 12px;gap:5px;border-color:var(--chat-line);flex-shrink:0}
#portalChat .portal-chat-tabs button{background:transparent!important;color:var(--chat-muted)!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;padding:12px 5px!important;font-size:12px;box-shadow:none!important}
#portalChat .portal-chat-tabs button[aria-selected=true]{color:var(--chat-text)!important;border-bottom-color:var(--chat-accent)!important;background:transparent!important}
#portalChat .portal-chat-controls{justify-content:flex-start;gap:4px;padding:7px 10px;background:var(--chat-surface);border-bottom:1px solid var(--chat-line);flex-shrink:0}
#portalChat .portal-chat-controls button{background:transparent!important;color:var(--chat-muted)!important;border:0!important;border-radius:14px!important;min-height:30px;padding:5px 8px!important;font-size:10px!important;box-shadow:none!important}
#portalChat .portal-chat-controls button:hover{background:var(--chat-in)!important;color:var(--chat-text)!important}
#portalChat .portal-chat-messages{padding:18px 16px 10px;background-color:var(--chat-bg);background-image:radial-gradient(#87a5bb10 .8px,transparent .8px);background-size:18px 18px;scrollbar-width:thin;scrollbar-color:#416078 transparent}
#portalChat .portal-chat-message{width:fit-content;max-width:88%;min-width:155px;margin:0 auto 12px 0;padding:10px 12px 8px;border:0!important;border-radius:0 13px 13px 13px!important;background:var(--chat-in)!important;color:var(--chat-text);box-shadow:0 2px 3px #0002}
#portalChat .portal-chat-message:before{content:'';position:absolute;left:-7px;top:0;border-top:8px solid var(--chat-in);border-left:8px solid transparent}
#portalChat .portal-chat-message.portal-chat-mine{margin-left:auto;margin-right:0;background:var(--chat-out)!important;border-radius:13px 0 13px 13px!important}
#portalChat .portal-chat-mine:before{left:auto;right:-7px;border-left:0;border-right:8px solid transparent;border-top-color:var(--chat-out)}
#portalChat .portal-chat-meta{margin-bottom:7px}
#portalChat .portal-chat-author-photo{width:26px!important;height:26px!important;flex:0 0 26px!important;border-radius:50%;object-fit:cover}
#portalChat .portal-chat-author>span{display:flex;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:3px 7px}
#portalChat .portal-chat-author strong{color:#b6d4ed!important;font-size:12px!important;line-height:1.3}
#portalChat .portal-chat-author-role{color:var(--chat-muted)!important;font-size:9px!important;line-height:1.3}
#portalChat .portal-chat-message p{font-size:14px;line-height:1.5;color:var(--chat-text);margin:4px 0 7px;letter-spacing:normal}
#portalChat .portal-chat-message-time{color:var(--chat-muted)!important;font-size:10px;margin:0;clear:both;line-height:1.4}
#portalChat .portal-chat-reply{float:left;margin:3px 0 0!important;padding:4px 0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--chat-muted)!important;font-size:10px!important}
#portalChat .chat-message-tools{justify-content:flex-end;gap:7px;margin:0;min-height:28px}
#portalChat .chat-read-count{font-size:9px;color:var(--chat-muted)!important}
#portalChat .chat-more-toggle{color:var(--chat-muted)!important;border-radius:50%!important}
#portalChat .chat-message-menu{clear:both;float:none;background:var(--chat-surface);border-color:var(--chat-line);font-size:12px}
#portalChat .chat-hover-reactions{top:-13px;right:0}
#portalChat .chat-reaction-counts{clear:both}
#portalChat .portal-chat-reply-quote{width:100%;border:0!important;border-left:3px solid var(--chat-accent)!important;border-radius:5px!important;background:#0002!important;padding:8px 10px!important;box-shadow:none!important;margin:4px 0 8px!important}
#portalChat .portal-chat-reply-quote strong{color:#c6dcec!important}
#portalChat .portal-chat-reply-quote span{color:var(--chat-muted)!important}
#portalChat .portal-chat-media{margin:4px -5px 7px}
#portalChat .portal-chat-media img,#portalChat .portal-chat-media video{border-radius:9px;max-height:280px}
#portalChat .portal-chat-status:empty{display:none}
#portalChat .portal-chat-status{background:var(--chat-surface);color:var(--chat-muted);font-size:11px;padding:5px 14px}
#portalChat #portalChatForm{margin:0;padding:10px;background:var(--chat-surface);border-top:1px solid var(--chat-line);max-height:55dvh;overflow-y:auto}
#portalChat #portalChatForm>label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#portalChat #portalChatText{border:1px solid var(--chat-line)!important;border-radius:22px!important;background:var(--chat-bg)!important;color:var(--chat-text)!important;padding:12px 16px!important;height:46px;min-height:46px;max-height:110px;font-size:16px;line-height:1.35;resize:vertical;box-shadow:none!important}
#portalChat #portalChatText::placeholder{color:var(--chat-muted)}
#portalChat .portal-chat-compose-actions{display:flex;flex-wrap:wrap;align-items:center;gap:3px;margin-top:6px}
#portalChat .portal-chat-compose-actions button:is(#portalChatMention,#portalChatFormatToggle,#portalChatEmojiToggle,#portalChatAttach,#chatVoice,#chatPollCreate){width:36px;height:36px;min-height:36px;flex:0 0 36px;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--chat-muted)!important;padding:0!important;font-size:20px!important;box-shadow:none!important}
#portalChat .portal-chat-compose-actions button#portalChatFormatToggle{font-size:14px!important}
#portalChat .portal-chat-compose-actions button#portalChatSend{width:42px;min-width:42px;height:42px;min-height:42px;flex:0 0 42px;margin-left:auto!important;border:0!important;border-radius:50%!important;background:var(--chat-accent)!important;color:white!important;font-size:20px!important;padding:0!important;box-shadow:none!important}
#portalChat .portal-chat-compose-actions>small{flex-basis:100%;font-size:9px;text-align:right;color:var(--chat-muted)}
#portalChat .chat-typing{color:var(--chat-muted);font-size:11px}
#portalChat .portal-chat-empty{color:var(--chat-muted);font-size:13px}
html[data-theme=light] #portalChat{--chat-bg:#edf1f4;--chat-surface:#fff;--chat-in:#fff;--chat-out:#e3eaf3;--chat-text:#172f43;--chat-muted:#596e80;--chat-line:#18354c18}
html[data-theme=light] #portalChat .portal-chat-author strong{color:#274b6e!important}
html[data-theme=light] #portalChat .portal-chat-reply-quote strong{color:#274b6e!important}
html[data-theme=light] #portalChat .chat-message-menu button,html[data-theme=light] #portalChat .chat-message-menu a{color:#274b6e!important}
@media(max-width:740px){#portalChat #portalChatPanel:not(.portal-chat-maximized){left:8px;right:8px;width:auto;max-width:none;bottom:calc(78px + env(safe-area-inset-bottom));border-radius:16px;max-height:calc(100dvh - 96px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}#portalChat .portal-chat-messages{padding:14px 12px 8px}#portalChat .portal-chat-message{max-width:91%}#portalChat .portal-chat-header{padding:10px 12px}#portalChat .chat-more-toggle{min-width:36px;min-height:36px}}
@media(max-width:360px){#portalChat .portal-chat-compose-actions{gap:1px}#portalChat .portal-chat-compose-actions button:is(#portalChatMention,#portalChatFormatToggle,#portalChatEmojiToggle,#portalChatAttach,#chatVoice,#chatPollCreate){width:32px;flex-basis:32px}}
#portalChat .chat-private-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--chat-surface);border-bottom:1px solid var(--chat-line);flex-shrink:0}#portalChat .chat-private-bar label{font-size:10px;color:var(--chat-muted)}#portalChat .chat-private-bar select{flex:1;min-width:0;max-width:100%;background:var(--chat-bg);color:var(--chat-text);border:1px solid var(--chat-line);font-size:12px;border-radius:8px;padding:8px}#portalChat .chat-private-bar button{font-size:10px;padding:9px!important;background:var(--chat-in)!important;color:var(--chat-text)!important;border:0!important;white-space:nowrap}.chat-private-dialog{width:min(480px,94vw);max-height:85dvh;overflow:auto}.chat-private-dialog input{width:100%;font-size:16px;margin:10px 0}.chat-private-dialog [data-people]{max-height:50dvh;overflow:auto}.chat-private-dialog [data-person]{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin:6px 0;min-height:48px}.chat-private-dialog [data-person] img{width:32px;height:32px;border-radius:50%;object-fit:cover}
/* Conversation/media presentation inspired by the supplied messenger reference. */
#portalChat .portal-chat-message{padding:11px 13px 9px;border-radius:0 17px 17px 17px!important;background:#182c3c!important;box-shadow:0 3px 12px #0002}
#portalChat .portal-chat-mine{border-radius:17px 0 17px 17px!important;background:#283a52!important}
#portalChat .portal-chat-message:before{border-top-color:#182c3c}#portalChat .portal-chat-mine:before{border-top-color:#283a52}
#portalChat .portal-chat-author strong{font-size:12px!important;color:#e2edf7!important}#portalChat .portal-chat-author-photo{width:30px!important;height:30px!important;flex-basis:30px!important}
#portalChat .portal-chat-message p{font-size:14px;line-height:1.65;margin:6px 0 8px}#portalChat .portal-chat-meta{margin-bottom:8px}
#portalChat .chat-has-photo{width:330px;max-width:88%}#portalChat .chat-has-photo .portal-chat-media{margin:2px -6px 8px;overflow:hidden;border-radius:12px}#portalChat .chat-has-photo .portal-chat-media a{display:block}#portalChat .chat-has-photo .portal-chat-media img{display:block;width:100%;height:auto;max-height:390px;object-fit:contain;border-radius:12px;background:#07121e}
#portalChat .chat-has-voice{width:300px;max-width:88%}#portalChat .airac-voice{display:flex;align-items:center;gap:12px;padding:10px 2px;min-width:0}#portalChat .airac-voice-play{width:40px;height:40px;min-height:40px;flex:0 0 40px;background:var(--chat-accent)!important;color:white!important;border:0!important;border-radius:50%!important;font-size:18px!important;padding:0!important;box-shadow:none!important}
#portalChat .airac-voice-track{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}#portalChat .airac-voice-track input{width:100%;height:24px;min-width:0;padding:0;border:0;appearance:none;-webkit-appearance:none;cursor:pointer;border-radius:0;background:repeating-linear-gradient(90deg,transparent 0 2px,#173044 2px 4px),linear-gradient(to right,#ed2946 var(--voice-progress,0%),#7292aa55 var(--voice-progress,0%));background-size:100% 14px;background-position:center;background-repeat:no-repeat;box-shadow:none!important}#portalChat .airac-voice-track input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:22px;background:#ef5168;border-radius:5px}#portalChat .airac-voice-track input::-moz-range-thumb{width:10px;height:22px;background:#ef5168;border-radius:5px;border:0}#portalChat .airac-voice-track input:disabled{opacity:.4;cursor:default}#portalChat .airac-voice-time{font-size:10px;color:var(--chat-muted);font-variant-numeric:tabular-nums;text-align:right}
#portalChat .portal-chat-messages[data-wallpaper=midnight],[data-wallpaper=midnight]{background-color:#080f1c;background-image:none}
#portalChat .portal-chat-messages[data-wallpaper=lines],[data-wallpaper=lines]{background-color:#0d1b2a;background-image:repeating-linear-gradient(135deg,transparent 0 28px,#91b1cd0c 28px 29px)}
#portalChat .portal-chat-messages[data-wallpaper=dots],[data-wallpaper=dots]{background-color:#10202e;background-image:radial-gradient(#8cb7d52b 1px,transparent 1px);background-size:18px 18px}
#portalChat .portal-chat-messages[data-wallpaper=burgundy],[data-wallpaper=burgundy]{background-color:#231823;background-image:radial-gradient(ellipse at top right,#a3234033,transparent 70%)}
#portalChat .portal-chat-messages[data-wallpaper=paper],[data-wallpaper=paper]{background-color:#e8e9e6;background-image:repeating-linear-gradient(45deg,transparent 0 30px,#314a6410 30px 31px)}
#portalChat .portal-chat-messages[data-wallpaper=photo]{background-size:cover;background-position:center;background-repeat:no-repeat}
.chat-wallpaper-dialog{width:min(540px,94vw);max-height:85dvh;overflow:auto}.chat-wallpaper-dialog p{font-size:13px}.chat-wallpaper-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.chat-wallpaper-options button{min-width:0;padding:8px;font-size:12px}.chat-wallpaper-options button[aria-pressed=true]{outline:2px solid #ed2946;outline-offset:2px}.chat-wallpaper-options span{display:block;height:65px;border-radius:6px;margin-bottom:8px}.chat-wallpaper-options [data-wallpaper=original]{background:#091722}.chat-wallpaper-dialog input{max-width:100%;font-size:16px}
html[data-theme=light] #portalChat .portal-chat-message{background:#fff!important}html[data-theme=light] #portalChat .portal-chat-mine{background:#e3eaf3!important}html[data-theme=light] #portalChat .portal-chat-message:before{border-top-color:#fff}html[data-theme=light] #portalChat .portal-chat-mine:before{border-top-color:#e3eaf3}html[data-theme=light] #portalChat .portal-chat-author strong{color:#213e58!important}
@media(max-width:740px){#portalChat .chat-has-photo,#portalChat .chat-has-voice{max-width:91%}}
/* Single AIRAC pill composer, matching the supplied writing-bar reference. */
#portalChat .airac-composer-bar{display:flex;align-items:center;gap:6px;min-width:0;min-height:48px;padding:3px 7px;border:1px solid #3b526c;border-radius:27px;background:#192d43;box-shadow:0 3px 16px #0002}
#portalChat .airac-composer-bar:focus-within{border-color:#e31e2f;box-shadow:0 0 0 2px #e31e2f18}
#portalChat #portalChatForm .airac-composer-bar #portalChatText{flex:1;min-width:0;width:auto;height:40px;min-height:40px;max-height:120px;padding:10px 2px!important;resize:vertical;background:transparent!important;border:0!important;border-radius:0!important;color:#f1f5fb!important;box-shadow:none!important;outline:none;font-size:16px;line-height:20px}
#portalChat .airac-composer-bar #portalChatText::placeholder{color:#aebfd0}
#portalChat .airac-composer-bar #portalChatEmojiToggle,#portalChat .airac-composer-bar #portalChatSend{display:grid;place-items:center;flex:0 0 38px;width:38px;min-width:38px;height:38px;min-height:38px;border:0!important;border-radius:50%!important;padding:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;transform:none;color:#e31e2f!important;font-size:23px!important;line-height:1}
#portalChat .airac-composer-bar #portalChatEmojiToggle{color:#b6c7d8!important;font-size:22px!important}
#portalChat .airac-composer-bar #portalChatSend:hover{background:#e31e2f1c!important;color:#ff4157!important}
#portalChat .airac-composer-bar #portalChatSend:focus-visible,#portalChat .airac-composer-bar #portalChatEmojiToggle:focus-visible{outline:2px solid #ed2946;outline-offset:1px}
#portalChat .portal-chat-compose-actions{justify-content:flex-start;margin-top:4px;gap:3px}
html[data-theme=light] #portalChat .airac-composer-bar{background:#eef2f7;border-color:#c5d1de;box-shadow:none}
html[data-theme=light] #portalChat #portalChatForm .airac-composer-bar #portalChatText{color:#192d43!important}
html[data-theme=light] #portalChat .airac-composer-bar #portalChatText::placeholder{color:#64788d}
html[data-theme=light] #portalChat .airac-composer-bar #portalChatEmojiToggle{color:#192d43!important}
#portalChat .portal-chat-compose-actions #chatShareLocation{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-height:36px;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--chat-muted)!important;font-size:19px!important;box-shadow:none!important}
.chat-location-card{display:block;min-width:0;width:260px;max-width:100%;overflow:hidden;border:1px solid #65829b33;border-radius:12px;background:#0d2032;margin:8px 0;padding-bottom:10px;color:#e4eff8}
.chat-location-visual{height:84px;display:grid;place-items:center;background-color:#193248;background-image:linear-gradient(30deg,transparent 43%,#7393aa20 44%,#7393aa20 46%,transparent 47%),linear-gradient(120deg,transparent 42%,#7393aa20 43%,#7393aa20 45%,transparent 46%);background-size:54px 60px}
.chat-location-visual span{font-size:30px}.chat-location-card>strong,.chat-location-card>small{display:block;padding:0 12px;margin-top:8px}.chat-location-card>strong{font-size:13px}.chat-location-card>small{font-size:10px;color:#a7becf;line-height:1.5}.chat-location-card>div:last-child{display:flex;gap:8px;flex-wrap:wrap;padding:0 12px;margin-top:12px}.chat-location-card a{font-size:11px;color:#e9f0f7;text-decoration:none;padding:8px;border:1px solid #65829b44;border-radius:7px;background:#1e3a50}.chat-location-card a:hover{border-color:#ed2946}
.chat-location-dialog{width:min(440px,94vw);max-height:85dvh;overflow:auto}.chat-location-dialog .chat-location-card{width:100%}.chat-location-dialog .actions{margin-top:18px}
html[data-theme=light] .chat-location-card{background:#edf3f8;color:#192d43}html[data-theme=light] .chat-location-card>small{color:#52697d}
#portalChat .airac-composer-bar #chatComposerPlus{display:grid;place-items:center;flex:0 0 34px;width:34px;height:38px;min-height:38px;border:0!important;border-radius:50%!important;margin:0!important;padding:0!important;background:transparent!important;color:#e31e2f!important;font-size:28px!important;font-weight:400;box-shadow:none!important}
#portalChat .airac-composer-bar #chatComposerPlus:hover,#portalChat .airac-composer-bar #chatComposerPlus[aria-expanded=true]{background:#e31e2f1c!important}
#portalChat #chatComposerOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:240px;overflow:auto;margin:0 0 10px;padding:10px;background:var(--chat-bg);border:1px solid var(--chat-line);border-radius:16px}
#portalChat #chatComposerOptions[hidden]{display:none!important}
#portalChat #chatComposerOptions button{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;width:100%;height:auto;margin:0!important;padding:9px!important;text-align:left;white-space:normal;border:1px solid var(--chat-line)!important;border-radius:10px!important;background:var(--chat-in)!important;color:var(--chat-text)!important;font-size:11px!important;line-height:1.4;box-shadow:none!important;transform:none}
#portalChat #chatComposerOptions button:hover{border-color:#ed2946!important}
#portalChat #chatComposerOptions .chat-option-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;color:#ed2946;font-size:19px}
#portalChat #chatComposerOptions button:disabled{opacity:.5}
@media(max-width:360px){#portalChat #chatComposerOptions{grid-template-columns:1fr}}
/* Shared wallpaper extends behind messages and the writing bar. */
#portalChat .chat-conversation-canvas{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden;background-color:var(--chat-bg);background-image:radial-gradient(#87a5bb10 .8px,transparent .8px);background-size:18px 18px}
#portalChat .chat-conversation-canvas[data-wallpaper=original]{background-color:var(--chat-bg);background-image:radial-gradient(#87a5bb10 .8px,transparent .8px);background-size:18px 18px}
#portalChat .chat-conversation-canvas[data-wallpaper=photo]{background-size:cover;background-position:center;background-repeat:no-repeat}
#portalChat .chat-conversation-canvas>.portal-chat-messages{background:transparent!important;padding-bottom:8px}
#portalChat .chat-conversation-canvas>#portalChatForm{background:transparent!important;border-top:0!important;padding:4px 10px 8px!important;flex-shrink:0}
#portalChat .chat-conversation-canvas>.portal-chat-status{background:transparent!important;min-height:0;margin:0}
#portalChat .chat-conversation-canvas>.portal-chat-status:empty{display:none}
.chat-page #portalChat .chat-conversation-canvas>#portalChatForm{padding:4px 16px 10px!important}
@media(max-width:740px){.chat-page #portalChat .chat-conversation-canvas>#portalChatForm{padding:4px 8px 6px!important}}
