/* Shared type, spacing and navigation system for every workspace page. */
:root{--sidebar-width:280px;--ui-body:15px;--ui-meta:13px;--ui-control:14px;--ui-radius:12px;--ui-line:#e3e8ee;--ui-muted:#647384;--ui-ink:#243241}
body{font-size:var(--ui-body);line-height:1.6;color:var(--ui-ink);letter-spacing:-.25px}
body button,body input,body select,body textarea{font-family:inherit;line-height:1.5}
body .sidebar{width:var(--sidebar-width);padding:24px 14px 18px;gap:0}
body .brand{margin:2px 14px 28px;min-height:44px}
body .brand-title{font-size:25px}
body .brand-title span{font-size:10px}
body .shell{margin-left:var(--sidebar-width)}
body .sidebar-scroll{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#435366 transparent;padding-right:3px;overscroll-behavior:contain}
body .nav-home{flex-shrink:0;padding-bottom:16px;margin-bottom:16px;border-color:#ffffff26}
body .nav-item{font-size:15px;min-height:46px;padding:11px 14px;gap:12px;line-height:1.5}
body .nav-search{display:flex;align-items:center;gap:9px;margin:0 4px 16px;padding:9px 11px;border:1px solid #ffffff22;border-radius:9px;color:#aab8c7;background:#ffffff07;flex-shrink:0}
body .nav-search>.icon{width:17px;height:17px}
body .nav-search input{color:#eef3f8;background:transparent;border:0;width:100%;min-width:0;font-size:14px;padding:0;outline:none;line-height:1.6}
body .nav-search:focus-within{border-color:#f3a071;box-shadow:0 0 0 2px #f2783e20}
body .nav-search input::placeholder{color:#9caabc}
body .menu-branch{margin:3px 0}
body .menu-branch>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;border-radius:8px;padding:11px 10px;color:#bdc8d4;font-size:15px;line-height:1.5;font-weight:500;min-height:46px}
body .menu-branch>summary::-webkit-details-marker{display:none}
body .menu-branch>summary:hover{background:#ffffff0a;color:#fff}
body .menu-branch[open]>summary{color:#f1f5f9}
body .menu-branch>summary>.icon{width:18px;height:18px}
body .menu-branch>summary>.menu-chevron{width:14px;height:14px;margin-left:auto;transition:transform .15s}
body .menu-branch[open]>summary>.menu-chevron{transform:rotate(180deg)}
body .menu-children{margin-left:18px;padding:3px 0 5px 10px;border-left:1px solid #ffffff18}
body .menu-children .menu-branch>summary{font-size:14px;padding:9px 8px;font-weight:500;min-height:42px}
body .menu-children .menu-children{margin-left:8px;padding-left:8px}
body .menu-leaf{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:41px;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:#afbdcd;width:100%;text-align:left;font-size:14px;font-weight:400;line-height:1.6;margin:2px 0;overflow-wrap:anywhere}
body .menu-leaf>span:first-child{min-width:0}
body .menu-leaf:hover:enabled{color:#fff;background:#ffffff09}
body .menu-leaf.active{background:#f2783e20;color:#ffad80;font-weight:600}
body .menu-leaf:disabled{opacity:1;color:#7e90a4;cursor:not-allowed}
body .menu-state{font-size:11px;white-space:nowrap;color:#9bacbd;background:#ffffff08;border:1px solid #ffffff12;padding:1px 5px;border-radius:4px;flex-shrink:0}
body .menu-state.menu-partial{color:#efbd99;border-color:#a879583d;background:#c0865212;font-size:11px;line-height:1.6}
body .menu-branch summary:focus-visible{outline:2px solid #ffb18b;outline-offset:1px}
body .nav-no-results{font-size:14px;color:#aebccc;padding:12px;line-height:1.8}
body .topbar{height:72px;padding:0 28px;gap:16px}
body .breadcrumb{font-size:13px;min-width:0;overflow:hidden;gap:10px}
body .breadcrumb b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#526274}
body .breadcrumb .icon{width:17px;height:17px}
body .content{max-width:1700px;padding:30px 28px 26px}
body .page-header{align-items:flex-start;gap:24px;margin-bottom:26px}
body .page-header h1{font-size:28px;line-height:1.35;letter-spacing:-.8px;margin-bottom:8px}
body .eyebrow{font-size:12px;letter-spacing:1px;color:#7c8998;margin-bottom:9px}
body .page-subtitle{font-size:14px;line-height:1.8;max-width:740px;color:var(--ui-muted)}
body .header-actions{justify-content:flex-end;gap:10px}
body .panel{border-color:var(--ui-line);border-radius:var(--ui-radius);box-shadow:0 2px 12px #192a3e03}
body .panel-header{padding:20px 22px 18px;gap:14px;align-items:center}
body .panel-title{font-size:17px;line-height:1.6;font-weight:600}
body .section-space{margin-top:24px}
body .settings-block{padding:20px 22px}
body .settings-block p{font-size:14px;line-height:1.9;margin-top:0;margin-bottom:14px}
body .settings-block h3{font-size:17px}
body .btn{font-size:var(--ui-control);min-height:42px;padding:9px 14px;gap:8px;border-radius:8px;font-weight:500;line-height:1.6}
body .btn.small{font-size:13px;min-height:36px;padding:6px 11px}
body .btn .icon{width:16px;height:16px}
body .text-btn{font-size:13px;min-height:32px}
body .badge{font-size:12px;line-height:1.6;padding:3px 8px}
body .readonly-note,body .foot-hint,body .source-ref,body .info-banner,body .session-notice,body .manual-excerpt{font-size:13px;line-height:1.85}
body .session-notice{padding:12px 16px;margin-bottom:26px;border-radius:9px;background:#fffaf4;color:#775b42}
body .source-ref{padding:14px 16px}
body .evidence{gap:16px;flex-wrap:wrap}
body .source-ref.evidence{padding:0;border:0;background:transparent;color:#68798b;margin:14px 0 20px}
body .info-banner{gap:10px;align-items:flex-start}
body .stats-grid{gap:16px;margin-bottom:24px}
body .stat-card{padding:19px 20px 17px;min-width:0}
body .stat-title{font-size:14px;color:#647284;line-height:1.6}
body .stat-top{margin-bottom:16px;gap:9px}
body .stat-number,body .operations-stats .stat-number{font-size:28px;line-height:1.25;font-weight:650;letter-spacing:-.7px}
body .stat-number small{font-size:14px;line-height:1.6}
body .stat-foot,body .operations-stats .stat-foot{font-size:12px;line-height:1.7;color:#758393;margin-top:13px}
body .stat-icon{height:32px;width:32px}
body .operations-grid{gap:16px;margin-bottom:24px}
body .operations-grid>.section-space,body .operations-lists>.section-space{margin-top:0}
body .operations-grid .panel-header{padding:19px 18px 18px;gap:10px;flex-wrap:wrap}
body .operations-grid .panel-title{font-size:16px}
body .operations-status{padding:3px 20px 24px;gap:10px}
body .operations-status span{font-size:13px;margin-bottom:12px;white-space:normal;color:#6a7888}
body .operations-status strong{font-size:26px;line-height:1.3}
body .operations-status small{font-size:13px}
body .operations-lists{gap:18px;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr)}
body .data-table{font-size:14px;line-height:1.65}
body .data-table th{font-size:13px;font-weight:600;color:#637285;background:#f8fafc;padding:12px 16px;line-height:1.7;white-space:nowrap}
body .data-table td,body .operations-lists .data-table td{font-size:14px;padding:14px 16px;line-height:1.75;color:#334455;vertical-align:middle}
body .data-table td.num{white-space:nowrap;font-variant-numeric:tabular-nums}
body .data-table .sub{font-size:13px;line-height:1.6;margin-top:4px;color:#7a8795}
body .data-table .sub.strong{font-size:14px;color:#354657}
body .table-wrap{overflow-x:auto;overscroll-behavior-x:contain}
body .data-table td .btn{white-space:nowrap}
body .table-footer,body .summary-strip{font-size:13px;line-height:1.8}
body .tabs{padding:0 22px;gap:24px}
body .tabs button{font-size:14px;padding:13px 2px;white-space:nowrap;min-height:48px}
body .toolbar{padding:18px 22px;gap:14px;flex-wrap:wrap}
body .input-search{min-width:200px;min-height:42px}
body .input-search input,body .select,body .date-button select{font-size:14px;line-height:1.6}
body .date-button{font-size:13px}
body .field>label,body .xfield>span,body .xfield legend{font-size:14px;color:#536375;line-height:1.65}
body .field{margin-bottom:18px;min-width:0}
body .field input,body .field select,body .field textarea,body .xfield input,body .xfield select,body .xfield textarea{font-size:15px;line-height:1.6;padding:10px 12px;min-height:44px;border-radius:8px;border-color:#d8e0e8;color:#28394b}
body .xfield{font-size:14px;line-height:1.7;gap:8px;margin-bottom:18px}
body .xfilters{gap:16px;margin:0 0 22px}
body .xfilters .xfield{min-width:165px;max-width:270px}
body .xtoolbar{gap:10px;margin:22px 0;align-items:center}
body .fields-grid{column-gap:20px;row-gap:0}
body .checkbox{font-size:14px;line-height:1.8;gap:9px}
body input[type=checkbox],body .xfield input[type=checkbox]{width:17px;height:17px;min-height:0;padding:0;accent-color:#e7773e;flex-shrink:0}
/* Dialog type scale also overrides the older, more-specific modal table/button rules. */
body .modal{--dialog-title:22px;--dialog-section:16px;--dialog-body:15px;--dialog-label:14px;--dialog-meta:13px;--dialog-total:20px;--dialog-gutter:40px;width:min(680px,calc(100vw - var(--dialog-gutter)));max-width:calc(100vw - var(--dialog-gutter));border-radius:14px;font-size:var(--dialog-body);line-height:1.7}
body .modal.wide{width:min(1060px,calc(100vw - var(--dialog-gutter)));max-width:calc(100vw - var(--dialog-gutter))}
body .modal-head{padding:23px 26px;gap:20px}
body .modal .modal-head h2{font-size:var(--dialog-title);line-height:1.4}
body .modal-head p{font-size:var(--dialog-label);line-height:1.7;color:var(--ui-muted)}
body .modal-body{padding:24px 26px;font-size:var(--dialog-body);line-height:1.7;max-height:calc(100vh - 240px)}
body .modal-body>p{font-size:var(--dialog-body);line-height:1.7;margin:0 0 18px}
body .modal-body h3,body .modal-body h4,body .modal-body .panel-title{font-size:var(--dialog-section);line-height:1.5}
body .modal .data-table{font-size:var(--dialog-body);line-height:1.7}
body .modal .data-table th{font-size:var(--dialog-label);line-height:1.7;padding:12px 14px}
body .modal .data-table td{font-size:var(--dialog-body);line-height:1.7;padding:13px 14px}
body .modal .data-table .sub,body .modal .data-table .mono,body .modal-body small{font-size:var(--dialog-meta);line-height:1.7}
body .modal .data-table .sub.strong{font-size:var(--dialog-body)}
body .modal .detail-grid{gap:18px 24px;margin:0 0 24px}
body .modal .detail-grid dt{font-size:var(--dialog-label);line-height:1.7;color:var(--ui-muted);margin-bottom:4px}
body .modal .detail-grid dd{font-size:var(--dialog-body);line-height:1.7;margin:0;color:var(--ui-ink);overflow-wrap:anywhere}
body .modal .detail-total{gap:16px;flex-wrap:wrap;font-size:var(--dialog-label);line-height:1.7;color:var(--ui-muted);padding:18px 0;margin-top:0}
body .modal .detail-total strong{font-size:var(--dialog-total);line-height:1.4;font-variant-numeric:tabular-nums}
body .modal .line-totals,body .modal .line-totals span{font-size:var(--dialog-label);line-height:1.7}
body .modal .line-totals>div:last-child strong{font-size:var(--dialog-total);line-height:1.4}
body .modal .btn,body .modal .btn.small{font-size:var(--dialog-label);line-height:1.6}
body .modal .badge{font-size:var(--dialog-meta);line-height:1.6}
body .modal .field>label,body .modal .xfield>span,body .modal .xfield legend,body .modal .checkbox{font-size:var(--dialog-label);line-height:1.7}
body .modal .field input,body .modal .field select,body .modal .field textarea,body .modal .xfield input,body .modal .xfield select,body .modal .xfield textarea{font-size:var(--dialog-body);line-height:1.6}
body .modal .source-ref,body .modal .readonly-note,body .modal .info-banner,body .modal .audit-json,body .modal .manual-excerpt{font-size:var(--dialog-meta);line-height:1.8}
body .modal .readonly-note{color:var(--ui-muted)}
body .modal-foot{padding:18px 26px;gap:12px;flex-wrap:wrap}
body .modal-foot .foot-hint{font-size:var(--dialog-meta);line-height:1.8;max-width:420px}
body .detail-grid dt{font-size:13px;line-height:1.7}
body .detail-grid dd{font-size:15px;line-height:1.8;margin-top:4px;overflow-wrap:anywhere}
body .line-header,body .line-item{grid-template-columns:minmax(180px,1.5fr) 84px 130px 110px 32px;gap:10px;min-width:620px;padding:12px}
body .line-header{font-size:13px}
body .line-item input,body .line-item select{font-size:14px;min-height:42px;padding:8px}
body .line-item .line-price{font-size:14px;line-height:1.7;white-space:nowrap}
body .line-totals{font-size:14px;line-height:1.8;flex-wrap:wrap}
body .line-totals>div:last-child strong{font-size:21px}
body .line-meta{gap:16px;padding:15px 0}
body .menu-scope{display:flex;align-items:flex-start;gap:10px;padding:14px 17px;border:1px solid #e2e8ef;background:#f0f5fa;color:#4f647a;border-radius:9px;font-size:14px;line-height:1.85;margin:-8px 0 24px}
body .menu-scope>.icon{width:18px;height:18px;margin-top:4px}
body .menu-related{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:-5px 0 24px}
body .menu-related>span{font-size:13px;color:#66788b;margin-right:3px}
body .xfeature h2{font-size:18px}
body .xfeature p,body .manual-card p{font-size:14px;line-height:1.85}
body .xfeature small,body .card-code,body .manual-foot,body .manual-card .badge{font-size:13px;line-height:1.7}
body .xfeature{min-height:190px}
body .basis-document{font-size:15px;line-height:2;padding:24px}
body .manual-page pre{font-size:14px;line-height:1.95}
body .audit-json{font-size:13px;line-height:1.7}
body .empty{font-size:14px;line-height:1.8;padding:34px 18px}
body .empty strong{font-size:16px}
body .toast{font-size:14px;line-height:1.7;left:calc(50% + var(--sidebar-width)/2);padding:14px 18px}
body .page-footer{font-size:12px;line-height:1.85;color:#728092;margin-top:28px;gap:16px}
body .chart-summary strong{font-size:28px}
body .chart-summary>span,body .chart-key,body .chart-key span,body .chart-caption{font-size:13px;line-height:1.7}
body .task-row strong,body .stock-row strong{font-size:14px}
body .task-row small,body .stock-row small{font-size:13px}
body .manufacturer-card h2,body .fleet-card h3{font-size:19px}
body .manufacturer-card p,body .card-info,body .fleet-card .fleet-bottom{font-size:14px;line-height:1.85}
@media(max-width:1350px){:root{--sidebar-width:256px}body .content{padding:26px 24px}body .topbar{padding:0 24px}body .operations-stats .stat-number{font-size:25px}body .operations-grid .btn.small{font-size:13px;padding:6px 9px}body .operations-grid .panel-header{padding:18px 17px}body .operations-lists{grid-template-columns:minmax(0,1fr)}body .operations-stats .stat-foot{font-size:12px}body .stat-card{padding:18px}body .operations-lists .section-space{margin-top:0}}
@media(max-width:1100px){:root{--sidebar-width:248px}body .sidebar{padding-left:11px;padding-right:11px}body .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body .operations-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}body .operations-status{padding:3px 16px 20px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}body .operations-status span{font-size:12px}body .operations-grid .panel-header{gap:8px}body .operations-grid .panel-title{font-size:16px}body .operations-status strong{font-size:24px}body .operations-grid .panel-header>.btn{margin-left:auto}body .page-header{flex-wrap:wrap}body .header-actions{justify-content:flex-start}body .xfeature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){body .operations-grid{grid-template-columns:1fr}body .operations-grid .panel-header{flex-wrap:nowrap;padding:18px 22px}body .operations-status{padding:4px 22px 23px}body .operations-status span{font-size:14px}body .operations-status strong{font-size:26px}body .data-table{min-width:540px}body .operations-lists>.panel:last-child .data-table{min-width:0}body .operations-stats .stat-number{font-size:26px}}
@media(max-width:760px){:root{--sidebar-width:312px}body .sidebar{width:min(340px,88vw);padding:22px 14px 18px;transform:translateX(-100%)}body .sidebar.open{transform:translateX(0)}body .shell{margin-left:0}body .topbar{height:64px;padding:0 18px;position:sticky;top:0;z-index:20;background:#fff}body .breadcrumb{font-size:13px;gap:8px}body .breadcrumb>span,body .breadcrumb>i{display:none}body .mobile-toggle{display:flex}body .content{padding:24px 18px}body .page-header h1{font-size:25px}body .page-header{gap:18px;margin-bottom:24px}body .page-subtitle{font-size:14px;max-width:100%}body .header-actions .btn{font-size:14px;padding:9px 13px}body .stats-grid{gap:12px}body .stat-card{padding:17px}body .stat-title{font-size:13px}body .stat-foot,body .operations-stats .stat-foot{font-size:12px}body .operations-stats .stat-number{font-size:25px}body .operations-grid{gap:16px}body .panel-title{font-size:17px}body .panel-header{padding:18px 19px}body .settings-block{padding:18px 19px}body .tabs{padding:0 19px;gap:22px}body .tabs button{font-size:14px}body .session-notice{font-size:13px;margin-bottom:24px}body .modal{width:calc(100vw - 24px)}body .modal.wide{width:calc(100vw - 24px)}body .modal-head{padding:20px}body .modal-head h2{font-size:22px}body .modal-body{padding:20px;max-height:calc(100dvh - 215px)}body .modal-foot{padding:16px 20px}body .field input,body .field select,body .field textarea,body .xfield input,body .xfield select,body .xfield textarea{font-size:16px}body .modal-foot .foot-hint{display:block;max-width:100%;font-size:13px}body .xfeature-grid{grid-template-columns:1fr}body .xfilters .xfield{min-width:140px;max-width:none}body .operations-footer{font-size:12px}body .page-footer{font-size:12px;display:block}body .page-footer>span{display:block;margin-top:8px}body .toast{left:50%;font-size:14px}body .demo-top-actions .badge{font-size:11px}body .table-wrap .data-table td,body .table-wrap .data-table th{padding-left:14px;padding-right:14px}body .basis-document{font-size:14px;padding:20px}}
@media(max-width:410px){body .content{padding-left:14px;padding-right:14px}body .stat-card{padding:14px}body .operations-stats .stat-number{font-size:22px}body .stat-icon{display:none}body .stat-title{font-size:13px}body .operations-stats .stat-foot{font-size:11px}body .field>label,body .xfield>span{font-size:14px}body .fields-grid{grid-template-columns:1fr}body .page-header h1{font-size:24px}}
@media(max-width:760px){body .modal{--dialog-title:20px;--dialog-gutter:24px}body .modal .field input,body .modal .field select,body .modal .field textarea,body .modal .xfield input,body .modal .xfield select,body .modal .xfield textarea{font-size:16px}}
@media(max-width:480px){body .modal .detail-grid{grid-template-columns:minmax(0,1fr);gap:16px}}
@media print{body .shell{margin:0}body .content{padding:0}body .menu-related,body .menu-scope,body .session-notice{display:none}body .data-table{min-width:0}body .data-table td{font-size:12px}body .data-table th{font-size:11px}body .modal,body .modal.wide{width:100%;max-width:100%}body .modal .data-table{min-width:0}body .modal .data-table td{font-size:12px}body .modal .data-table th{font-size:11px}}
