/* Corporate adaptation of ifcopr.com; not an official brand manual.
   Shared by Admin, Production, Fleet and the BFF sign-in pages. */
:root{--ifco-blue:#249db8;--ifco-action:#08748b;--ifco-action-hover:#07596c;--ifco-lime:#c8df40;--ifco-charcoal:#20282b;--ifco-muted:#59676e;--ifco-border:#d7dfe3;--ifco-canvas:#f3f5f6;--ifco-soft:#e8f4f7;--ink:#20282b;--muted:#59676e;--line:#d7dfe3;--canvas:#f3f5f6;--surface:#fff;--brand:#08748b;--brand-dark:#07596c;--brand-soft:#e8f4f7;--green:#08748b;--slate:#59676e;--shadow:0 10px 28px #20282b12;color:var(--ink);background:var(--canvas)}
body{color:var(--ink);background:var(--canvas)}
.sidebar,body>aside{background:var(--ifco-charcoal);color:#fff}
.brand-mark{background:var(--ifco-lime);color:var(--ifco-charcoal)}
.brand-lockup span,aside p,.sidebar-note{color:#ced8dd}
.environment,.sandbox-label{border-color:#64737a;color:#e9eff2;background:#ffffff08}
.nav-item,nav button{color:#dce5e9}
.nav-item.active,nav button[aria-current=page]{background:var(--ifco-soft);color:var(--ifco-action-hover);box-shadow:inset 3px 0 var(--ifco-lime)}
.nav-item:hover,nav button:hover{background:#ffffff12;color:#fff}
.nav-item.active:hover,nav button[aria-current=page]:hover{background:var(--ifco-soft);color:var(--ifco-action-hover)}
.user-chip,input,select,textarea{border-color:#aab8bf}
.header-context,.description,.user-chip small,td small,.hint,.kpi-card small,.event-row small{color:var(--ifco-muted)}
.eyebrow,.brand-name{color:var(--ifco-action)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ifco-action);outline-offset:3px}
.button.secondary,.plant-selector summary{background:var(--ifco-soft);border-color:var(--ifco-border);color:var(--ifco-action-hover)}
.plant-options button[aria-pressed="true"],.plant-options button:hover{background:var(--ifco-soft);border-color:#91c5d1}
.icon-button,.actions .icon-button{color:var(--ifco-action)}
button:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--ifco-soft)}
#create,#save,.button.primary{background:var(--ifco-action);color:#fff}
#create:hover:not(:disabled),#save:hover:not(:disabled),.button.primary:hover:not(:disabled){background:var(--ifco-action-hover);color:#fff}
#close,#cancel{color:var(--ink)}
#close:hover:not(:disabled),#cancel:hover:not(:disabled){background:var(--ifco-soft);color:var(--ifco-action-hover)}
input[readonly]{background:#f1f4f5;color:var(--ifco-muted)}
th{background:#f4f6f7}th,td,.event-row,.result-row{border-bottom-color:var(--ifco-border)}
tbody tr:hover{background:#f6fafb}
.kpi-icon,.kpi-card:nth-child(2) .kpi-icon,.empty{background:var(--ifco-soft);color:var(--ifco-action-hover)}
dialog{color:var(--ink);box-shadow:-16px 0 50px #20282b22}dialog::backdrop{background:#20282b55}
.session-hero{background:linear-gradient(145deg,#20282b,#07596c 68%,#08748b);color:#e3eef2}
.session-hero .eyebrow{color:var(--ifco-lime)}
.ifco-auth{background:radial-gradient(circle at 15% 15%,#249db8,#07596c 48%,#20282b 100%)}
.ifco-auth .brand-name{color:var(--ifco-action)}
.ifco-auth .panel>p{color:var(--ifco-muted)}
.ifco-auth button,.ifco-auth input{border-radius:7px}
.ifco-auth .tabs button{background:var(--ifco-soft);color:var(--ifco-action-hover)}
.ifco-auth .tabs button.active,.ifco-auth button.primary{background:var(--ifco-action);color:#fff}
.ifco-auth .tabs button.active:hover,.ifco-auth button.primary:hover{background:var(--ifco-action-hover);color:#fff}
nav button:hover:not(:disabled),.sidebar .nav-item:hover:not(:disabled){background:#ffffff12;color:#fff}
nav button[aria-current=page]:hover:not(:disabled),.sidebar .nav-item.active:hover:not(:disabled){background:var(--ifco-soft);color:var(--ifco-action-hover)}
.settings-tabs button:hover:not(:disabled),.settings-subtabs button:hover:not(:disabled){background:var(--ifco-soft);border-color:#91c5d1;color:var(--ifco-action-hover)}
.settings-tabs button[aria-selected="true"]:hover:not(:disabled),.settings-subtabs button[aria-current="true"]:hover:not(:disabled){background:var(--ifco-action-hover);border-color:var(--ifco-action-hover);color:#fff}
.button.danger:hover:not(:disabled){background:#883b33;color:#fff}
.sidebar nav,body>aside nav{margin-top:24px}
.admin-demo-banner{height:27px;display:grid;place-items:center;background:#f6cd73;color:#52370b;font-size:11px;font-weight:800;letter-spacing:1px}
.admin-demo-banner[hidden]{display:none}
.admin-sidebar-footer{margin-top:auto;border-top:1px solid #ffffff20;padding-top:16px}
.admin-sidebar-footer button{display:flex;align-items:center;gap:12px;width:100%;background:transparent;color:#dce5e9;border:0;text-align:left}
.admin-sidebar-footer button:hover:not(:disabled){background:#ffffff12;color:#fff}
.feedback-dialog{margin:0 0 0 auto;box-sizing:border-box;width:520px;max-width:100vw;height:100dvh;max-height:100dvh;padding:28px;border:0;background:#fff;color:var(--ink);overflow:auto}
.feedback-dialog::backdrop{background:#20282b66}
.feedback-dialog label{display:grid;gap:8px;margin-top:20px}.feedback-dialog textarea{width:100%;box-sizing:border-box;padding:12px;font:inherit;border:1px solid #aab8bf;border-radius:7px;resize:vertical}
.feedback-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin:20px 0}
.feedback-dialog article{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.feedback-dialog article p{white-space:pre-wrap}
.feedback-dialog small,.feedback-dialog .hint{color:var(--muted);font-size:12px}
.feedback-dialog .primary{background:var(--brand);color:white}.feedback-dialog .primary:hover:not(:disabled){background:var(--brand-dark);color:white}
@media(max-width:700px){.sidebar .sidebar-footer{display:block;position:fixed;right:12px;bottom:76px;background:var(--ifco-charcoal);border-radius:7px;padding:4px}.sidebar .sidebar-footer span{display:none}}
/* Shared initial system splash; no artificial delay and no success/error masking. */
.ifco-system-splash{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin:0;padding:24px;max-width:none;width:100%;min-height:100dvh;box-sizing:border-box;background:#f3f5f6;color:#20282b;text-align:center;font:14px system-ui,sans-serif}
.ifco-system-splash img{width:140px;height:100px;object-fit:contain;filter:brightness(0);opacity:.85;margin-bottom:12px}
.ifco-system-splash h1{margin:0;font:700 clamp(26px,4vw,40px)/1.2 system-ui,sans-serif;letter-spacing:0;color:#20282b}
.ifco-system-splash p{margin:0;font:400 14px/1.5 system-ui,sans-serif;color:#536771}
.ifco-splash-spinner{width:28px;height:28px;border:3px solid #d2dee3;border-top-color:#08748b;border-radius:50%;box-sizing:border-box;animation:ifco-splash-turn .8s linear infinite}
body:has(#system-splash)>:not(#system-splash){visibility:hidden}
@keyframes ifco-splash-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ifco-splash-spinner{animation:none}}
/* Keep tab rows clear of the next toolbar/panel, including wrapped rows. */
:root{--ifco-tabs-content-gap:16px}
:root :is(.catalog-tabs,.settings-tabs,.settings-subtabs,[role="tablist"]){margin-block-end:var(--ifco-tabs-content-gap)}
/* This subtab row already participates in a grid: reserve the gap only once. */
:root .shift-holiday-settings{row-gap:var(--ifco-tabs-content-gap)}
:root .shift-holiday-settings>.settings-subtabs{margin-block-end:0}

/* Sidebar option search, matching the approved Admin control. */
:root .ifco-sidebar-search{position:relative;margin:14px 0 8px;flex-shrink:0}
:root .ifco-sidebar-search>.ifco-sidebar-search-icon{position:absolute;left:11px;top:50%;width:17px;height:17px;transform:translateY(-50%);display:grid;place-items:center;color:#aebdc4;pointer-events:none}
:root .ifco-sidebar-search-icon svg{width:17px;height:17px}
:root .ifco-sidebar-search input{box-sizing:border-box;width:100%;min-height:38px;height:38px;padding:8px 30px 8px 36px;border:1px solid #536168;border-radius:7px;background:#293337;color:#fff;font:14px system-ui,sans-serif}
:root .ifco-sidebar-search input::placeholder{color:#aebdc4}
:root .ifco-sidebar-search input:focus-visible{border-color:#8ac6d5;outline-color:#8ac6d5}
:root .ifco-sidebar-search-empty{margin:12px 0;padding:10px;border-radius:7px;background:#ffffff0a;color:#b9c6cc;font-size:13px;line-height:1.4}
:root .ifco-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

:root :is(.brand-subtitle,.sidebar-separator):has(+.ifco-sidebar-search){margin-bottom:0}
