/* DubaiHub visual system: dark navigation, warm working surface, focused red actions. */
:root{--red:#b83d2d;--red-soft:#fcf0eb;--line:#e3e5dd;--muted:#6d7469;--blue:#417296;--green:#3e7b62;--gold:#99731f;--shadow:0 2px 8px #22282003;background:#eceee7;color:#272b25;font-family:"Segoe UI","Microsoft YaHei",system-ui,sans-serif}
body{background:#eceee7}
.shell{grid-template-columns:224px minmax(0,1fr);gap:12px;padding:12px;min-height:100vh}
.sidebar{inset:12px auto 12px 12px;width:224px;padding:14px 10px 12px;border:1px solid #30332b;border-radius:18px;background:#222220;color:#ecede7}
.sidebar .brand{flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px 22px;border-bottom:1px solid #36392f;color:#fff}
.sidebar .brand img.brand-wordmark{width:172px;height:auto;max-width:100%;display:block}
.sidebar .brand small{font-size:12px;color:#b0b5a7;letter-spacing:.5px;margin:0}
.sidebar > .business-navigation{padding:12px 0;scrollbar-color:#53584a #222220}
.business-navigation .nav-section-label{color:#a4ab98;font-size:11px;padding:10px 12px 5px;letter-spacing:.4px}
.business-navigation .nav-link{min-height:42px;padding:10px 12px;font-size:14px;color:#d7dbce;border-radius:9px;font-weight:600}
.business-navigation .nav-link:hover,.nav-group-toggle:hover{background:#34372d;color:#fff}
.business-navigation > .nav-link.active{background:var(--red);color:#fff;box-shadow:none}
.nav-group-toggle.current-module{background:#30342a;color:#fff}
.nav-group-toggle[aria-expanded=true]{background:#30342a;color:#fff}
.nav-group-toggle .pill{background:#71392d;color:#ffe4db}
.nav-submenu{border-color:#484e3d;margin-left:21px;padding-left:9px}
.nav-sublink{color:#c0c8b6;padding:8px 10px;border-radius:7px;font-size:13px}
.nav-sublink:hover{background:#343a2c;color:#fff}
.nav-sublink.active{background:var(--red);color:#fff;box-shadow:none;font-weight:600}
.sidebar-bottom{padding:12px 7px 0;border-top:1px solid #36392f}
.sidebar-bottom>small{font-size:11px;color:#a4ab98}
.sidebar-bottom [data-action=profile]{background:transparent;color:#d7dbce;border-color:transparent;padding:10px 7px;border-radius:8px}
.sidebar-bottom [data-action=profile]:hover{background:#34372d;color:#fff}
.sidebar a:focus-visible,.sidebar button:focus-visible{outline:2px solid #f4c842;outline-offset:-2px}
.main{padding:0 24px 24px;margin:0;width:100%;max-width:none;border:1px solid #e6e8e0;border-radius:18px;background:#f7f8f3;min-height:calc(100vh - 24px)}
.compact-office .topbar{min-height:76px;gap:14px;border-bottom:1px solid #e3e6dc;background:transparent}
.compact-office .topbar-title{gap:7px}
.compact-office .topbar h1{font-size:24px;font-weight:750;letter-spacing:-.3px;color:#22261f}
.compact-office .topbar-title:before{content:"";display:block;width:4px;height:24px;flex-shrink:0;background:#c23f2d;border-radius:3px;margin-right:3px}
.topbar-actions [data-action=refresh-app]{background:#fcf1eb;border-color:#eed9d0;color:#ad392b;padding:8px 12px}
.topbar-actions [data-action=refresh-app]:hover{background:#f9e5dc;border-color:#ddb6a8}
.topbar-actions [data-action=pending]{background:#fff;border-color:#e1e5da;color:#656d5b}
button{border-color:#e0e4d9;border-radius:8px;box-shadow:none}
button:hover{background:#f1f3ec;border-color:#cfd5c6}
.primary{background:var(--red);color:#fff;border-color:var(--red)}
.primary:hover{background:#9f3023;border-color:#9f3023}
.secondary{background:#fcf0eb;color:#b43e2e;border-color:#ecd4c8}
.text{color:var(--red);border:0;background:transparent}
input,select,textarea{border-color:#d8ded0;border-radius:8px;background:#fff;color:#30372b}
input:focus,select:focus,textarea:focus{border-color:#be5945;box-shadow:0 0 0 3px #b83d2d12}
.compact-office .toolbar{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 12px;margin:16px 0 12px;gap:8px}
.compact-office .card{background:#fff;border-color:var(--line);border-radius:12px;box-shadow:var(--shadow)}
.compact-office .card-head{padding:13px 17px;border-bottom:1px solid #ebeee5;min-height:48px}
.compact-office .card-head h2{font-size:16px;color:#30372a;font-weight:650}
.compact-office .card-body{padding:16px 18px}
.compact-office .home-summary{margin:18px 0 12px}
.compact-office .home-summary h2{font-size:15px;color:#59624e;font-weight:600}
.compact-office .stats{gap:14px;margin:14px 0}
.compact-office .stat,.compact-office .home-metrics .stat{padding:18px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);background:#fff}
.stat-top{color:#69735e;font-size:13px;align-items:center}
.compact-office .stat-value{font-size:29px;font-weight:700;margin:12px 0 2px;letter-spacing:-.4px;color:#262c21}
.compact-office .stat-icon{width:31px;height:31px;border-radius:9px;background:#fbefea;color:#bc4633}
.compact-office .stat.blue .stat-icon{background:#f0f2eb;color:#5d6b4a}
.compact-office .stat.gold .stat-icon{background:#fcf6de;color:#98741c}
.compact-office .stat.green .stat-icon{background:#edf3e9;color:#4e7740}
.compact-office .stat small{font-size:12px;color:#77816c}
.compact-office .two-col,.compact-office .home-work{gap:16px;margin-top:16px}
.home-tabs{border-color:#ebeee5}
.home-tabs button.selected{background:#faeee8;color:var(--red)}
.home-tabs button{color:#66705b}
.list-row{border-color:#eef0e8}
.list-row .circle{background:#f4f4e9;color:#9d7e2a}
.compact-office .table th{background:#f4f6ef;color:#66705b;font-size:13px;font-weight:600;padding:11px 15px}
.compact-office .table td{padding:12px 15px;font-size:13px;border-color:#ebeee5;color:#353e2d}
.table tbody tr[data-id]:hover{background:#fcf6ef}
.table small{color:#76816a}
.pager{border-top:1px solid #eef0e8}
.pager button{min-height:32px}
.catalog-title{color:#626d54;font-size:13px}
.catalog-title:before{background:#bb4430}
.compact-office .business-card{border-radius:11px;padding:16px;gap:12px;min-height:82px;align-items:center;background:#fff;border-color:var(--line)}
.business-card:hover{border-color:#d8a597;background:#fff9f4}
.business-card strong{font-size:14px;color:#30382a}
.business-card small{color:#77816c}
.form-hero{background:#fff;border-color:#e8ece1}
.form-hero .app-icon{background:#fbefea;color:#b9402d}
.form-body{background:#fff}
.field{color:#556047}
.detail-card,.detail-row{border-color:#e3e8da;border-radius:10px}
.detail-head{background:#f5f7ef;border-color:#e5e9dd}
.upload-strip,.itinerary-drop{background:#fbf8f2;border-color:#dfd7c9;border-radius:11px}
.itinerary-drop.drag-active,.itinerary-drop:focus-visible{background:#fdf1e8;border-color:#be5842}
.form-actions{background:#fff;border-color:#e4e9db;box-shadow:0 -3px 12px #28301f04}
.entry-utilities,.review-utilities{border-color:#e5eadc}
.utility-button{background:#f8f9f4;border-color:#dfe5d5;color:#586649}
.info-fold,.flight-extra,.readonly-extra{border-color:#e6ebdd}
.info-fold summary,.flight-extra summary{color:#6a765c}
dialog,.workspace-drawer{border-color:#dfe5d5;border-radius:14px;box-shadow:0 18px 70px #20261726}
dialog::backdrop{background:#20291b66}
.dialog-head,.drawer-head{background:#fff;border-color:#e7ecde}
.dialog-foot,.drawer-foot{background:#f8f9f5;border-color:#e3e9d8}
.pill.blue{background:#eef2f6;color:#436886}.pill.gold{background:#fff5d9;color:#856519}.pill.green{background:#edf4e9;color:#44713b}.pill.red{background:#fbece6;color:#a83b29}
.compact-office .eng-metric{background:#fff;border:1px solid var(--line);border-top:3px solid #5d6754;border-radius:12px;padding:18px}
.compact-office .eng-metric.blue{background:#f5f9fb;border-top-color:#5581a2;color:#345f7f}
.compact-office .eng-metric.gold{background:#fffbee;border-top-color:#e6bc39;color:#7b6426}
.compact-office .eng-metric.green{background:#f1f7ef;border-top-color:#6f9671;color:#38663d}
.compact-office .eng-metric>span{color:#66725a;font-size:13px}.compact-office .eng-metric>strong{font-size:28px;margin:12px 0 5px}
.eng-currency{background:#e9ede2;border-radius:9px;padding:4px;gap:3px}.eng-currency button{padding:7px 15px;min-height:36px;font-size:13px}.eng-currency button.active{color:#333e29;background:#fff}
.eng-table th{background:#f3f5ed;color:#616e51;border-bottom:1px solid #dbe2d1}.eng-table td{border-color:#e8eddf}.eng-receipt-filters{background:#f9faf6}
.eng-contract{background:#fff;border-color:var(--line)}
.context-help-popup{border-color:#dce3d1;color:#59664b;box-shadow:0 6px 24px #2026171a}
.compact-office button.context-help{color:#919b84}.compact-office button.context-help:hover,.compact-office button.context-help[aria-expanded=true]{background:#f5ebe3;color:#ad4637}
.login-screen{min-height:580px;max-width:900px;margin:8vh auto;grid-template-columns:340px minmax(0,1fr);border:1px solid #dde3d2;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 12px 40px #3039230a}
.login-brand{background:#222220;padding:50px 34px;color:#fff;justify-content:center}
.login-brand img{width:100px;height:100px;margin-bottom:28px}
.login-brand h1{font-size:25px;line-height:1.6;letter-spacing:0;color:#fff}
.login-panel{background:#fff;padding:42px}.login-form h2{font-size:23px}.login-form .subtitle{color:#79836b}.login-form footer{font-size:12px;line-height:1.7;color:#7b856e}
.role-test-login{max-width:1100px;padding:26px 28px 30px;margin:24px auto;border:1px solid var(--line);border-radius:18px;background:#f7f8f3}
.role-test-login>header{padding-bottom:18px;border-bottom:1px solid #e0e6d6}.role-test-login .brand strong{color:#b83d2d}.role-test-login .brand small{color:#6b765d}
.role-test-intro{margin:24px 0 20px}.role-test-intro h1{font-size:25px}.role-test-intro p{font-size:13px;color:#748065}
.role-test-grid{gap:12px}.role-test-card{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px 12px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;align-content:start}
.role-test-card .app-icon{grid-row:1 / span 2;width:32px;height:32px;color:#a83b29;background:#fbf0ea;border-radius:8px;display:grid;place-items:center}
.role-test-card strong{font-size:16px;color:#2e3627}.role-test-card small{grid-column:2;font-size:12px;line-height:1.65;color:#738066}.role-test-card .test-enter{grid-column:2;font-size:12px;margin-top:4px}
.role-test-card:hover,.role-test-card:focus-visible{border-color:#ce8d79;background:#fff9f3}
.role-test-login>footer{font-size:12px;color:#7a856e;margin-top:20px}
@media(max-width:1100px) and (min-width:761px){.shell{grid-template-columns:210px minmax(0,1fr);gap:10px;padding:10px}.sidebar{inset:10px auto 10px 10px;width:210px}.main{padding:0 18px 20px}.sidebar .brand{padding-left:12px;padding-right:12px}.compact-office .stat{padding:15px}.compact-office .stat-value{font-size:26px}}
@media(max-width:760px){
 .shell{display:block;padding:0;background:#f7f8f3}
 .sidebar{inset:0 auto 0 0;border-radius:0 16px 16px 0;width:min(280px,88vw);padding-top:12px;border:0;box-shadow:12px 0 40px #17221024}
 .sidebar .brand{padding-top:12px;padding-bottom:20px}.sidebar .brand img.brand-wordmark{width:182px}
 .business-navigation .nav-link{min-height:44px}.nav-sublink{min-height:42px;font-size:14px;padding:10px}
 .main{border:0;border-radius:0;min-height:100vh;padding:0 12px 82px}
 .compact-office .topbar{min-height:64px;gap:7px;padding:8px 0;background:#f7f8f3}
 .compact-office .topbar-title{gap:3px}.compact-office .topbar-title:before{display:none}.compact-office .topbar h1{font-size:18px;line-height:1.4}
 .topbar-actions{flex:0 0 auto;gap:5px}.topbar-actions [data-action=refresh-app]{padding:7px 8px;font-size:12px}
 .compact-office .toolbar{margin:12px 0;padding:9px;gap:7px}
 .compact-office .stats{gap:9px;margin:12px 0}.compact-office .stat,.compact-office .home-metrics .stat{padding:13px 12px;border-radius:11px}.compact-office .stat-value{font-size:23px;margin-top:10px}
 .compact-office .stat-top{font-size:12px}.compact-office .home-metrics .stat-top>span:first-child{font-size:12px}.compact-office .home-summary{margin:14px 0 10px}
 .compact-office .home-work,.compact-office .two-col{gap:12px;margin-top:12px}.compact-office .card-head{padding:12px 14px}.compact-office .card-head h2{font-size:15px}
 .compact-office .table th,.compact-office .table td{padding:11px 12px}.compact-office .business-card{padding:13px;min-height:76px}
 .compact-office .eng-metric{padding:13px}.compact-office .eng-metric>strong{font-size:23px}
 .mobile-bottom{background:#fff;border-color:#e2e8d7}.mobile-bottom a{color:#768168}.mobile-bottom a.active{color:var(--red)}
 .login-screen{margin:12px;min-height:0;grid-template-columns:1fr;border-radius:16px}.login-brand{padding:22px 26px;display:flex;flex-direction:row;align-items:center;gap:16px}.login-brand img{width:62px;height:62px;margin:0}.login-brand h1{font-size:20px}.login-panel{padding:26px}
 .role-test-login{margin:0;padding:20px 14px;border:0;border-radius:0}.role-test-grid{grid-template-columns:1fr 1fr;gap:9px}.role-test-card{grid-template-columns:1fr;padding:14px;gap:8px}.role-test-card .app-icon{grid-row:auto}.role-test-card small,.role-test-card .test-enter{grid-column:1}.role-test-card strong{font-size:15px}.role-test-intro h1{font-size:22px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
