/* Final IFCO BFF shell. Domain-specific tables/forms remain in admin.css. */
@media screen {
html{font-size:16px}body{display:block;font:14px system-ui,sans-serif}
#sidebar{position:fixed;inset:0 auto 0 0;width:248px;height:100dvh;padding:16px;display:flex;flex-direction:column;overflow:auto;background:#20282b}
.brand-lockup{display:block;padding:0 0 12px;border-bottom:1px solid #ffffff26}
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.brand-row img{width:84px;height:60px;object-fit:contain}
#sidebar .brand-lockup p{display:block;color:#c8df40;font-size:13px;margin:4px 0 0}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sidebar-search{position:relative;margin:14px 0 8px}.sidebar-search>[data-icon="search"]{display:grid;place-items:center;position:absolute;left:11px;top:50%;width:17px;height:17px;transform:translateY(-50%);color:#aebdc4;pointer-events:none}.sidebar-search>[data-icon="search"] svg{width:17px;height:17px}.sidebar-search input{width:100%;min-height:38px;padding:8px 30px 8px 36px;border:1px solid #536168;border-radius:7px;background:#293337;color:#fff}.sidebar-search input::placeholder{color:#aebdc4}.sidebar-search input:focus-visible{border-color:#8ac6d5;outline-color:#8ac6d5}
.sidebar-tools{display:flex;gap:4px}#sidebar .sidebar-tools button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;padding:6px;color:#dce5e9;background:transparent;border:1px solid #ffffff35;border-radius:7px}
#sidebar .sidebar-tools button:is(:hover,:focus-visible){color:#005b70;background:#e7f4f7;border-color:#8ac6d5}#sidebar .sidebar-tools button:active{color:#00495a;background:#c5e5ed}
#sidebar .sidebar-tools svg{width:18px;height:18px}
#sidebar nav{display:flex;flex-direction:column;gap:4px;margin-top:0}#sidebar nav button,#sidebar .admin-sidebar-footer button{font-size:14px;font-weight:650;min-height:44px;gap:14px;padding:11px 12px;border:0;border-radius:7px}
#sidebar .nav-group{display:grid;gap:4px;margin-top:10px;padding-top:10px;border-top:1px solid #ffffff1c}#sidebar .nav-group h2{margin:0 10px 4px;color:#9fb0b7;font-size:10px;line-height:1.3;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}#sidebar .nav-standalone{margin-top:10px;padding-top:10px;border-top:1px solid #ffffff1c}#sidebar .nav-standalone button{width:100%}.sidebar-search-empty{margin:12px!important;padding:10px;border-radius:7px;background:#ffffff0a;color:#b9c6cc!important;line-height:1.4}
#sidebar nav svg,#sidebar .admin-sidebar-footer svg{width:19px;height:19px}
.workspace{margin-left:0;width:100%;min-width:0}body.sidebar-pinned .workspace{margin-left:248px;width:calc(100% - 248px)}
.sticky-header{position:sticky;top:0;z-index:50;background:white}.app-header{min-height:64px;height:auto;padding:10px 16px;gap:12px;display:flex;align-items:center}
.view-heading{flex:1;min-width:0}.app-header h2{font-size:20px;letter-spacing:0;line-height:1.2;margin:0 0 3px}.app-header .description{font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-tools{display:flex;align-items:center;gap:12px}.header-divider{height:26px;border-left:1px solid #d2dee3}.app-header .icon-button{height:36px;width:36px;min-height:36px;padding:7px}.app-header #create{min-height:34px;white-space:nowrap}
main{max-width:none;padding:16px;margin:0}#status:empty{display:none}.kpi-grid{gap:12px;margin-bottom:12px}.kpi-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;padding:14px 16px 14px 16px;min-height:96px;gap:8px 16px;overflow:hidden;box-shadow:0 5px 16px #20282b0a}.kpi-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--kpi-accent)}.kpi-heading{display:flex;align-items:center;gap:9px;min-width:0;font-weight:650}.kpi-heading>span:last-child{font-size:12px}.kpi-card strong{align-self:center;justify-self:end;font-size:26px;line-height:1}.kpi-card small{grid-column:1/-1;font-size:11px}.kpi-card .kpi-icon{width:32px;height:32px}.kpi-card .kpi-icon svg{width:17px;height:17px}.kpi-blue{--kpi-accent:#0797b6}.kpi-blue .kpi-icon{background:#e0f4f8;color:#08748b}.kpi-amber{--kpi-accent:#c7830d}.kpi-amber .kpi-icon{background:#fff1d9;color:#a96900}.kpi-lime{--kpi-accent:#86b800}.kpi-lime .kpi-icon{background:#eef8cf;color:#6e9500}.kpi-slate{--kpi-accent:#39798b}.kpi-slate .kpi-icon{background:#e6f0f3;color:#39798b}.dashboard-panels{gap:12px}.panel{padding:18px}.panel h3{margin-bottom:12px}.panel .eyebrow{font-size:10px}.event-row,.result-row{padding:11px 0}.event-row .badge{white-space:nowrap;text-transform:capitalize}.outcome-success,.outcome-succeeded{background:#e4f4e9;color:#21683f}.outcome-failure,.outcome-failed,.outcome-denied{background:#fde9e7;color:#98443b}.result-row{display:block}.result-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;text-transform:capitalize}.result-track{display:block;height:6px;overflow:hidden;border-radius:999px;background:#e8eef0}.result-fill{display:block;height:100%;border-radius:inherit;background:#249db8}.dashboard-note{margin:12px 2px 0!important;padding:0!important;color:#59676e;font-size:11px}.status-retry{min-height:30px;padding:5px 10px;margin-left:8px;border-color:#d5a948;background:#fff;color:#694800}th{padding:10px 14px}td{padding:8px 14px}h3{margin-bottom:16px}
#sidebar-dialog{position:fixed;inset:0 auto 0 0;margin:0;width:min(288px,90vw);max-width:90vw;height:100dvh;max-height:100dvh;padding:0;border:0;border-radius:0;background:#20282b;overflow:auto}
#sidebar-dialog #sidebar{position:static;width:100%;height:100dvh}body.sidebar-modal{overflow:hidden}
#drawer{max-width:100vw;width:520px;max-height:100dvh;border:0}#drawer .heading{margin-bottom:20px}#drawer h2{font-size:23px}#drawer #close{width:36px;height:36px;min-height:36px}
.language-selector{position:relative}.language-selector summary{list-style:none;border:1px solid #d2dee3;border-radius:7px;cursor:pointer}.language-selector summary::-webkit-details-marker{display:none}.language-selector summary:hover{background:#e7f4f7}.language-selector summary:focus-visible{outline:2px solid #08748b;outline-offset:3px}
.language-options{position:absolute;right:0;top:44px;width:244px;padding:8px;background:white;border:1px solid #d2dee3;border-radius:7px;box-shadow:0 8px 24px #20282b26;z-index:60}.language-options button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px}.language-options button+button{margin-top:4px}
@media(max-width:1100px){body.sidebar-pinned .workspace{margin:0;width:100%}.app-header{flex-wrap:wrap}.view-heading{flex-basis:calc(100% - 52px)}.header-tools{margin-left:auto}.dashboard-panels{grid-template-columns:1fr}}
@media(max-width:600px){main{padding:12px}.app-header{padding:10px 12px;gap:8px}.app-header .description{white-space:normal}.kpi-grid{grid-template-columns:1fr}.header-tools{gap:8px}.kpi-card{min-height:88px}}
}
.catalog-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:12px;border-bottom:1px solid var(--line)}
.catalog-tabs button{min-height:36px;padding:6px 12px;font-size:13px}
.catalog-tabs button[aria-pressed=true]{background:var(--brand-soft);color:var(--brand-dark);border-color:var(--brand)}
.maintenance-rules fieldset{min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px;margin:16px 0}
.maintenance-rules legend{font-size:13px;font-weight:650}.maintenance-rules label{margin:10px 0}
.crm-record-field{display:grid;gap:8px;margin:18px 0;font-size:14px}.crm-record-field a{overflow-wrap:anywhere;color:var(--brand)}
#fields label[hidden]{display:none}
.crm-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.crm-panel-heading h3{margin:0;min-width:0}
.crm-actions-trigger{flex:none;font-size:24px;line-height:1}
.crm-actions-menu{position:fixed;inset:auto;margin:0;padding:6px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 8px 24px #20282b26;overflow:auto;box-sizing:border-box}
.crm-actions-menu:popover-open{display:grid;gap:4px}
.crm-actions-menu button{width:100%;min-height:36px;text-align:left;border-color:transparent;padding:8px 12px}
.crm-actions-menu button:hover,.crm-actions-menu button:focus-visible{background:var(--brand-soft);color:var(--brand-dark)}
.crm-sync-table{margin-top:16px;margin-bottom:16px}
.crm-sync-table .data-table-group-control{display:none}
.crm-metrics{margin:16px 0 12px}
.crm-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.crm-info-card{grid-template-columns:minmax(0,1fr);gap:8px;min-height:110px}
.crm-info-card strong{justify-self:start;font-size:18px;margin-left:41px}
.crm-info-card small{line-height:1.6;overflow-wrap:anywhere}
.crm-summary-context{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:10px 12px;background:var(--brand-soft);border:1px solid var(--line);border-radius:8px;font-size:12px}
.crm-summary-rules{flex:1;min-width:200px}.crm-summary-rules summary{cursor:pointer;font-weight:650}
.crm-summary-rules p{margin:8px 0 0;line-height:1.6;max-width:85ch}
.crm-confirmed{font-size:12px;color:var(--brand-dark)}
@media(max-width:1150px){.crm-status-grid{grid-template-columns:1fr}}
body.crm-detail-open{overflow:hidden}
.crm-detail-dialog{position:fixed;inset:0;margin:auto;width:min(1000px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:min(80dvh,760px);max-height:calc(100dvh - 32px);padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);overflow:hidden}
.crm-detail-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px}
.crm-detail-dialog::backdrop{background:#20282b66}
.crm-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.crm-detail-heading h2{font-size:20px;margin:0;min-width:0}
.crm-detail-heading button{flex:none}
.crm-detail-dialog pre{margin:0;min-width:0;min-height:0;padding:16px;overflow:auto;background:var(--brand-soft);border:1px solid var(--line);border-radius:8px;font-size:12px;line-height:1.5;white-space:pre}
.crm-detail-dialog footer{display:flex;justify-content:flex-end;margin:0;padding:0}
@media(max-width:600px){.crm-detail-dialog{padding:14px;gap:12px}.crm-detail-heading h2{font-size:18px}}

.user-access-summary{display:grid;gap:8px;min-width:220px}.user-access-summary strong{font-size:12px;font-weight:650}.user-access-summary small{font-size:11px;line-height:1.5;margin:3px 0 0}
.user-access-cards{display:grid;gap:16px;margin:16px 0}.user-access-card{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}.access-card-heading{display:flex;align-items:center;gap:10px}.access-card-heading h3{font-size:17px;margin:0;flex:1}.access-card-heading .badge{font-size:11px}.access-app-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;font-size:23px;font-weight:800;flex:none}.access-production{background:#fff0dc;color:#a25600}.access-fleet{background:#e2f3f7;color:#00859a}.access-admin{background:#f1e7fa;color:#7542aa}.access-user-name{font-weight:650;margin:0 0 12px}.user-access-card .access-role{font-size:14px;font-weight:600;margin:14px 0 6px}.user-access-card .hint{margin:8px 0 14px}.user-access-card button{min-height:34px;font-size:13px}.access-plant-choices{min-width:0;border:1px solid var(--line);border-radius:8px;margin:16px 0;padding:10px 12px}.access-plant-choices legend{font-size:14px;font-weight:600}.access-plant-choices label{display:flex;align-items:center;gap:10px;margin:6px 0;min-height:32px;font-weight:400}.access-plant-choices input[type=checkbox]{width:18px;height:18px;min-height:18px;padding:0;flex:none;accent-color:var(--brand)}

/* App hues match the launcher palette; role colors describe labels, never permissions. */
.identity-badge{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:3px 8px;border:1px solid var(--badge-border,#d6e0e6);border-radius:7px;background:var(--badge-bg,#edf2f5);color:var(--badge-ink,#405362);font-size:12px;font-weight:650;line-height:1.35;overflow-wrap:anywhere;vertical-align:middle}
.access-badge-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.user-access-summary .access-badge-line{margin-bottom:4px}
.app-badge-admin{--badge-ink:#6b3fa0;--badge-bg:#f0e9f8;--badge-border:#d9c8ee}.app-badge-fleet{--badge-ink:#087c91;--badge-bg:#f2fafb;--badge-border:#b6dfe7}.app-badge-production{--badge-ink:#99520a;--badge-bg:#fff0da;--badge-border:#f0d3a9}
/* Roles use solid fills and white text; applications keep their light palette. */
.role-badge{--badge-ink:#fff;--badge-bg:#405362;--badge-border:var(--badge-bg)}
.role-badge-owner{--badge-bg:#394a59}.role-badge-administrator{--badge-bg:#70408c}.role-badge-operator{--badge-bg:#176577}.role-badge-supervisor{--badge-bg:#245c9b}.role-badge-manager{--badge-bg:#276346}.role-badge-driver{--badge-bg:#865916}.role-badge-mechanic{--badge-bg:#805044}.role-badge-transport-supervisor{--badge-bg:#29589b}.role-badge-transport-manager{--badge-bg:#256957}.role-badge-maintenance-supervisor{--badge-bg:#59499d}.role-badge-maintenance-manager{--badge-bg:#5c651c}

.role-action-matrix{margin:16px 0;border:1px solid var(--line);border-radius:7px}
.role-action-row{padding:12px;min-width:0}.role-action-row+.role-action-row{border-top:1px solid var(--line)}
.role-action-heading{display:flex;align-items:center;gap:8px;margin-bottom:8px}.role-action-heading strong{flex:1;font-size:13px}.role-switch-state{font-size:11px;color:var(--muted,#59676e)}
#fields .role-switch{display:grid;place-items:center;flex:none;width:44px;height:36px;min-height:36px;padding:0;border:0;background:transparent;cursor:pointer}
.role-switch-track{display:block;position:relative;width:34px;height:20px;border:1px solid #70858e;border-radius:999px;background:#e6ecef}
.role-switch-track::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:white;box-shadow:0 1px 2px #0004;transition:transform .12s}
.role-switch[aria-checked=true] .role-switch-track{background:#69c989;border-color:#2e874e}.role-switch[aria-checked=true] .role-switch-track::after{transform:translateX(14px)}
.role-switch:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-radius:7px}
.role-action-picker{min-width:0}.role-action-picker summary{display:flex;align-items:center;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:#f8fafb;font-size:13px;cursor:pointer;list-style:none}
.role-action-picker summary::-webkit-details-marker{display:none}.role-action-picker summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.role-action-options{display:grid;gap:2px;padding:8px;margin-top:5px;border:1px solid var(--line);border-radius:7px;background:white}
#fields .role-action-options label{display:flex;align-items:center;gap:10px;min-height:36px;margin:0;padding:2px 6px;font-size:13px;font-weight:400}
#fields .role-action-options input[type=checkbox]{flex:none;width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:var(--brand)}
.role-action-options small{margin-left:auto;font-size:10px}.role-action-unavailable{color:#65747c}.role-action-unavailable input{opacity:.5}
@media(pointer:coarse){#fields .role-switch,.role-action-picker summary,#fields .role-action-options label{min-height:44px}}
@media(prefers-reduced-motion:reduce){.role-switch-track::after{transition:none}}

.user-access-summary > div{width:fit-content;min-width:220px;max-width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff}
/* IFCO_SUITE_VERSION_STYLE */
/* Shared suite version and full-screen release history. */
/* Shared sidebar frame: only the navigation owns scrolling. */
:is(#sidebar,#production-navigation,#backup-navigation).ifco-sidebar-layout{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;box-sizing:border-box}
dialog#production-navigation.ifco-sidebar-layout:not([open]){display:none}
.ifco-sidebar-layout>.ifco-sidebar-header{flex:none;min-width:0}
:is(#sidebar,#production-navigation,#backup-navigation).ifco-sidebar-layout>.ifco-sidebar-scroll{display:flex;flex-direction:column;justify-content:flex-start;flex:1 1 0;min-height:0;min-width:0;margin-top:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#637378 transparent;padding:2px 2px 4px}
.ifco-sidebar-scroll>*{flex-shrink:0}
:is(#sidebar,#production-navigation,#backup-navigation).ifco-sidebar-layout>:is(.sidebar-footer,.admin-sidebar-footer,.ifco-suite-sidebar-footer){position:static;display:block;flex:none;margin-top:0;padding-top:12px}
.ifco-sidebar-layout>.sidebar-footer>button>span{display:inline}
:is(#sidebar-dialog,#menu-dialog):has(>.ifco-sidebar-layout){overflow:hidden}
#backup-navigation.ifco-sidebar-layout{position:fixed;inset:0 auto 0 0;width:248px}
.backup-sidebar-brand{display:flex;align-items:center;justify-content:space-between}
#backup-menu,#backup-menu-close{display:none}
#backup-navigation .sidebar-search{position:relative;margin:14px 0 8px}
#backup-navigation .sidebar-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#aebdc4;pointer-events:none}
#backup-navigation .sidebar-search input{box-sizing:border-box;width:100%;height:38px;padding:8px 30px 8px 36px;background:#293337;color:#fff;border-color:#536168}
#backup-navigation .sidebar-search input::placeholder{color:#aebdc4}
.backup-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}
#backup-navigation-dialog{position:fixed;inset:0 auto 0 0;margin:0;width:min(288px,90vw);max-width:90vw;height:100dvh;max-height:100dvh;padding:0;border:0;border-radius:0;overflow:hidden;background:#20282b}
#backup-navigation-dialog::backdrop{background:#20282b80}
#backup-navigation-dialog>#backup-navigation{position:static;width:100%}
@media(max-width:1100px){#backup-menu,#backup-menu-close{display:block}#backup-menu-close{width:36px;height:36px;padding:0;background:transparent;color:#dce5e9;border-color:#ffffff35;font-size:24px}body:has(#backup-navigation)>.workspace>header{justify-content:flex-start;gap:12px}body:has(#backup-navigation)>.workspace>header>#logout{margin-left:auto}}
button.ifco-suite-version,:is(#sidebar,#production-navigation,.ifco-auth,aside) button.ifco-suite-version{display:block;width:max-content;max-width:100%;min-height:0;height:auto;margin:3px auto 0;padding:0 9px 2px;border:1px solid #c8df4026;border-radius:6px;background:#ffffff08;color:#c8df40;font-family:inherit;font-size:13px;font-weight:500;line-height:normal;letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:center;cursor:pointer;box-shadow:none}
button.ifco-suite-version:hover,:is(#sidebar,#production-navigation,.ifco-auth,aside) button.ifco-suite-version:hover{background:#ffffff12;color:#c8df40}
button.ifco-suite-version:focus-visible{outline:2px solid #c8df40;outline-offset:2px}
.ifco-sidebar-layout [data-help]{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;gap:14px;padding:11px 12px;border:0;border-radius:7px;background:transparent;color:inherit;font-family:inherit;font-size:14px;font-weight:650;text-align:left;cursor:pointer}
.ifco-sidebar-layout [data-help] svg{width:19px;height:19px;flex:none}
.ifco-sidebar-layout [data-help]:hover{background:#ffffff0c}
/* Comment and version form one stack; the gap belongs to the stack, not inherited button spacing. */
.ifco-comment-version{display:flex;flex-direction:column;align-items:stretch;gap:10px}
:is(#sidebar,#production-navigation).ifco-sidebar-layout .ifco-comment-version>button.ifco-suite-version{margin:0 auto;flex:none}
:is(#sidebar,#production-navigation).ifco-sidebar-layout :is(.admin-sidebar-footer,.sidebar-footer) :is([data-help],.ifco-comment-version>button:not(.ifco-suite-version)){display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;width:100%;min-height:44px;margin:0;padding:11px 12px;border:0;border-radius:7px;color:inherit;background:transparent;gap:14px;font-family:inherit;font-size:14px;font-weight:650;line-height:20px;text-align:left;cursor:pointer}
:is(#sidebar,#production-navigation).ifco-sidebar-layout .ifco-comment-version>button:not(.ifco-suite-version){padding-bottom:0;align-items:flex-end}
.ifco-comment-version .ifco-sidebar-label{display:block;line-height:20px}
.ifco-comment-version [data-icon]{display:flex;align-items:center;line-height:1}
.ifco-comment-version svg{display:block;flex:none;width:19px;height:19px}
:is(#sidebar,#production-navigation).ifco-sidebar-layout :is(.admin-sidebar-footer,.sidebar-footer) button:not(.ifco-suite-version):hover{background:#ffffff12}
:is(#sidebar,#production-navigation,#backup-navigation).ifco-sidebar-layout .ifco-sidebar-scroll button:not([aria-current=page]):hover{background:#ffffff12}
@media(min-width:1101px){
 :is(#sidebar,#production-navigation,#backup-navigation).ifco-sidebar-layout .ifco-sidebar-scroll{gap:2px}
 :is(#sidebar,#production-navigation,#backup-navigation).ifco-sidebar-layout .ifco-sidebar-scroll button{box-sizing:border-box;min-height:36px;margin:0;padding:7px 12px;line-height:20px}
 #sidebar.ifco-sidebar-layout :is(.nav-group,.nav-standalone){margin-top:6px;padding-top:6px}
 #sidebar.ifco-sidebar-layout .nav-group{gap:2px}
 :is(#sidebar,#production-navigation).ifco-sidebar-layout :is(.admin-sidebar-footer,.sidebar-footer) :is([data-help],.ifco-comment-version>button:not(.ifco-suite-version)){min-height:36px;padding-top:7px;padding-bottom:7px;line-height:20px}
 :is(#sidebar,#production-navigation).ifco-sidebar-layout .ifco-comment-version>button:not(.ifco-suite-version){padding-bottom:0}
}
.ifco-sidebar-layout .ifco-sidebar-scroll [data-icon]{display:flex;align-items:center;line-height:1}
.ifco-sidebar-layout .ifco-sidebar-scroll svg{display:block;flex:none;width:19px;height:19px}
/* Footer typography must win over later application theme rules. */
:is(#sidebar,#production-navigation).ifco-sidebar-layout :is(.admin-sidebar-footer,.sidebar-footer) .ifco-comment-version>button:not(.ifco-suite-version){padding-bottom:0;align-items:flex-end;line-height:16px}
:is(#sidebar,#production-navigation).ifco-sidebar-layout .ifco-comment-version .ifco-sidebar-label{margin:0;line-height:16px}
@media(min-width:1101px){:is(#sidebar,#production-navigation,#backup-navigation).ifco-sidebar-layout .ifco-sidebar-scroll button{border:0}}
/* Canonical shell geometry: application content and permissions stay independent. */
@media screen{
 :is(#sidebar,#production-navigation,#backup-navigation).ifco-sidebar-layout{padding:20px 16px}
 :is(#sidebar,#production-navigation,#backup-navigation).ifco-sidebar-layout .ifco-sidebar-header img{display:block;width:84px;height:60px;object-fit:contain}
 #sidebar.ifco-sidebar-layout .brand-lockup{padding:0 0 12px;border-bottom:1px solid #ffffff26}
 #sidebar.ifco-sidebar-layout .brand-lockup p{margin:6px 0 0;padding:0;line-height:17px;font-size:13px}
 #sidebar.ifco-sidebar-layout .brand-subtitle{margin:6px 0 0;padding-bottom:12px;border-bottom:1px solid #ffffff26;line-height:17px;font-size:13px}
 #production-navigation.ifco-sidebar-layout .brand-lockup{row-gap:6px}
 #production-navigation.ifco-sidebar-layout .brand-lockup>span{margin:0;line-height:17px;font-size:13px}
 #production-navigation.ifco-sidebar-layout .sidebar-separator{margin:12px 0 0;border:0;border-top:1px solid #ffffff26}
 :is(#sidebar,#production-navigation,#backup-navigation).ifco-sidebar-layout :is(.sidebar-search,.ifco-sidebar-search){margin:14px 0 8px}
 :is(#sidebar,#production-navigation,#backup-navigation).ifco-sidebar-layout :is(.sidebar-search,.ifco-sidebar-search) input{box-sizing:border-box;height:38px;min-height:38px;margin:0;line-height:20px}
 :is(#sidebar,#production-navigation).ifco-sidebar-layout>:is(.sidebar-footer,.admin-sidebar-footer){display:grid;gap:0;padding:12px 2px 0;border-top:1px solid #ffffff26}
 :is(#sidebar,#production-navigation).ifco-sidebar-layout .ifco-comment-version{margin:0}
 :is(#sidebar,#production-navigation).ifco-sidebar-layout [data-help] [data-icon]{display:flex;align-items:center;line-height:1}
 :is(#sidebar,#production-navigation).ifco-sidebar-layout [data-help] svg{display:block;flex:none;width:19px;height:19px}
 :root header:is(.app-header,.topbar.topbar-compact){box-sizing:border-box;min-height:64px;gap:12px;padding:0 24px;border-bottom:1px solid #d2dee3;align-items:center}
 :root header:is(.app-header,.topbar.topbar-compact) .ifco-header-leading{align-items:center;gap:12px;min-width:0}
 :root header:is(.app-header,.topbar.topbar-compact) .header-tools{align-items:center;gap:12px}
 :root header:is(.app-header,.topbar.topbar-compact) :is(.view-heading,.view-heading-slot) :is(h1,h2){margin:0;font-size:20px;font-weight:700;line-height:24px;letter-spacing:-.3px}
 :root header:is(.app-header,.topbar.topbar-compact) :is(.description,.page-description,.view-heading-slot>p){margin:0;padding:0;font-size:11px;line-height:15.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62ch}
 :root header:is(.app-header,.topbar.topbar-compact) .icon-button{box-sizing:border-box;display:grid;place-items:center;flex:none;width:36px;height:36px;min-height:36px;min-width:36px;padding:0;border:1px solid #d2dee3;border-radius:8px}
 :root header:is(.app-header,.topbar.topbar-compact) .icon-button svg{display:block;width:20px;height:20px}
 :root header:is(.app-header,.topbar.topbar-compact) .language-selector svg{width:24px;height:16px}
 :root header:is(.app-header,.topbar.topbar-compact) .header-divider{display:block;flex:0 0 1px;width:1px;height:26px;border:0;background:#d2dee3}
}
@media screen and (min-width:1101px){:root header:is(.app-header,.topbar.topbar-compact){height:64px;flex-wrap:nowrap}}
@media screen and (max-width:1100px){
 :root header:is(.app-header,.topbar.topbar-compact){height:auto;flex-wrap:wrap;padding:10px 16px}
 :root header:is(.app-header,.topbar.topbar-compact) .ifco-header-leading{flex-basis:100%}
 :root header:is(.app-header,.topbar.topbar-compact) :is(.description,.page-description,.view-heading-slot>p){white-space:normal}
}
@media screen and (max-width:620px){
 :root header:is(.app-header,.topbar.topbar-compact){padding:10px 12px;gap:8px}
 :root header:is(.app-header,.topbar.topbar-compact) :is(.ifco-header-leading,.header-tools){gap:8px}
}
.ifco-auth .ifco-suite-footer{background:#20282b;padding:8px 0}
.ifco-suite-sidebar-footer{margin-top:auto;border-top:1px solid #ffffff20;padding-top:16px}
aside:has(>.ifco-suite-sidebar-footer){display:flex;flex-direction:column}
.ifco-changelog{box-sizing:border-box;position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#f3f5f6;color:#20282b;font-family:inherit;overflow:hidden}
.ifco-changelog[open]{display:flex;flex-direction:column}
.ifco-changelog::backdrop{background:#20282b80}
.ifco-changelog .ifco-changelog-header{position:static;flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px max(24px,env(safe-area-inset-right)) 20px max(24px,env(safe-area-inset-left));background:#fff;border-bottom:1px solid #d1dee2}
.ifco-changelog h2{margin:0;font-size:24px;line-height:1.3}
.ifco-changelog-subtitle{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:6px 0 0;font-size:14px;color:#4d6570}
.ifco-changelog-summary-divider{flex:none;width:1px;height:16px;background:#d1dee2}
.ifco-changelog .ifco-changelog-close{flex:none;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #08748b;border-radius:8px;color:#08748b;background:#fff;font:28px/1 sans-serif;cursor:pointer}
.ifco-changelog-close:focus-visible{outline:2px solid #08748b;outline-offset:3px}
.ifco-changelog-body{display:grid;grid-template-columns:260px minmax(0,1fr);flex:1;min-height:0;overflow:hidden}
.ifco-changelog-index{box-sizing:border-box;min-width:0;overflow:auto;overscroll-behavior:contain;padding:24px;background:#fff;border-right:1px solid #d1dee2}
.ifco-changelog .ifco-changelog-index h3{margin:0 0 16px;font-size:18px}
.ifco-changelog-search-row{display:flex;align-items:center;gap:8px;min-width:0}
.ifco-changelog .ifco-changelog-search{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:40px;margin:0;padding:9px 10px;border:1px solid #aab8bf;border-radius:7px;background:#fff;color:#20282b;font-family:inherit;font-size:14px}
.ifco-changelog .ifco-changelog-search{flex:1;font-size:13px}
.ifco-changelog-search::-webkit-search-cancel-button{display:none}
.ifco-changelog .ifco-changelog-clear{display:grid;place-items:center;flex:none;width:40px;height:40px;margin:0;padding:0;min-height:40px;border:1px solid #d1dee2;border-radius:7px;background:#fff;color:#08748b;font-family:inherit;font-size:25px;line-height:1;cursor:pointer}
.ifco-changelog .ifco-changelog-clear:disabled{opacity:.5;cursor:default}
.ifco-changelog .ifco-changelog-status{margin:0;font-size:inherit;line-height:1.5;color:#4d6570}
.ifco-changelog .ifco-changelog-navigation{display:grid;gap:8px;margin:16px 0 0;padding:0}
.ifco-changelog .ifco-changelog-link{display:flex;align-items:center;flex-direction:row;gap:8px;box-sizing:border-box;width:100%;min-height:44px;padding:10px;border:1px solid #d1dee2;border-radius:8px;background:#fff;color:#20282b;font-family:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}
.ifco-changelog-link>span:first-child{white-space:nowrap}
.ifco-changelog .ifco-changelog-count{display:inline-block;flex:none;min-width:24px;margin-left:auto;padding:3px 7px;border-radius:7px;background:#08748b;color:#fff;font-size:12px;font-weight:750;line-height:1.4;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}
.ifco-changelog .ifco-changelog-link[aria-current=true]{border-color:#08748b;background:#e5f3f6;color:#08748b}
.ifco-changelog .ifco-changelog-link:hover{border-color:#08748b}
.ifco-changelog :is(.ifco-changelog-link,.ifco-changelog-search,.ifco-changelog-clear):focus-visible{outline:2px solid #08748b;outline-offset:2px}
.ifco-changelog-content{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) 24px}
.ifco-changelog-release{box-sizing:border-box;max-width:none;margin:0 0 24px;padding:24px;border:1px solid #d1dee2;border-radius:12px;background:#fff;scroll-margin-top:24px}
.ifco-changelog-release:focus-visible{outline:2px solid #08748b;outline-offset:-2px}
.ifco-changelog-release-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.ifco-changelog-version{padding:5px 10px;border-radius:6px;background:#20282b;color:#c8df40;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.ifco-changelog time{color:#4d6570;font-size:13px}
.ifco-changelog-time-divider{flex:none;width:1px;height:18px;background:#d1dee2}
.ifco-changelog-work-time{color:#4d6570;font-size:13px;font-variant-numeric:tabular-nums}
.ifco-changelog h3{margin:16px 0 20px;font-size:21px;line-height:1.4}
.ifco-changelog .ifco-changelog-points{display:block;margin:0;padding-left:20px}
.ifco-changelog .ifco-changelog-points li{margin:0 0 12px;padding:0;font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.ifco-changelog .ifco-changelog-app{display:inline-block;margin-left:8px;padding:2px 7px;border:1px solid #d1dee2;border-radius:6px;background:#eef2f3;color:#52626a;font-size:12px;font-weight:650;line-height:1.4;white-space:nowrap;vertical-align:baseline}
.ifco-changelog .ifco-changelog-app-todas{background:#f3f8cf;color:#52600f;border-color:#dceaa2}
.ifco-changelog .ifco-changelog-app-admin{background:#f0e9f8;color:#6b3fa0;border-color:#d9c8ee}
.ifco-changelog .ifco-changelog-app-fleet{background:#e5f3f6;color:#087c91;border-color:#bde1e8}
.ifco-changelog .ifco-changelog-app-production{background:#fff0da;color:#99520a;border-color:#f4d3a4}
.ifco-changelog-empty{margin:0;padding:24px;border:1px solid #d1dee2;border-radius:12px;background:#fff;color:#4d6570}
@media(max-width:760px){.ifco-changelog-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.ifco-changelog-index{max-height:34dvh;padding:12px 16px;border-right:0;border-bottom:1px solid #d1dee2}.ifco-changelog .ifco-changelog-index h3{margin-bottom:8px;font-size:15px}.ifco-changelog .ifco-changelog-navigation{display:flex;flex-wrap:wrap;gap:8px}.ifco-changelog .ifco-changelog-link{width:auto;min-height:44px;padding:8px 10px}}
@media(max-width:600px){.ifco-changelog .ifco-changelog-header{padding:16px;align-items:flex-start}.ifco-changelog h2{font-size:20px}.ifco-changelog-subtitle{font-size:12px}.ifco-changelog-content{padding:12px 12px max(12px,env(safe-area-inset-bottom))}.ifco-changelog-release{padding:16px;margin-bottom:12px;scroll-margin-top:12px}.ifco-changelog h3{font-size:18px}}
@media print{.ifco-suite-version{display:none}}
/* IFCO_SUITE_VERSION_STYLE_END */

.maintenance-plan-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.maintenance-publication-report{overflow:auto;border:1px solid #d1dfe5;border-radius:8px}.maintenance-publication-report table{width:100%;border-collapse:collapse}.maintenance-publication-report td,.maintenance-publication-report th{padding:8px;text-align:left;border-bottom:1px solid #d1dfe5}
