/* RATING Workspace — the approved dashboard language shared by every screen.
   Screen-only: PDF rendering does not load Web::designHead(). */
html body.workspace-style{--ui-bg:#f2f7ff;--ui-surface:#fff;--ui-soft:#f4f8ff;--ui-text:#111b35;--ui-muted:#617391;--ui-line:#e0eafa;--ui-primary:#0866ff;--ui-hover:#0056e6;--ui-tint:#eaf3ff;--ui-nav:#062b38;--ui-nav-text:#cfdfeb;--ui-sidebar:clamp(256px,17.5vw,320px);--ui-shadow:0 1px 3px rgb(46 83 132 / 3%);font-size:14px;background:var(--ui-bg)}
html[data-theme=dark] body.workspace-style{--ui-bg:#101d2b;--ui-surface:#192b3d;--ui-soft:#1c3046;--ui-text:#edf4ff;--ui-muted:#a5b9d3;--ui-line:#2c425b;--ui-primary:#2878ee;--ui-hover:#397bdc;--ui-tint:#223e61;--ui-nav:#082430;--ui-nav-text:#d0e1ef}
html body.workspace-style{--ink:var(--ui-text);--slate:var(--ui-text);--muted:var(--ui-muted);--canvas:var(--ui-bg);--paper:var(--ui-surface);--panel:var(--ui-surface);--surface:var(--ui-surface);--surface-soft:var(--ui-soft);--soft:var(--ui-soft);--field:var(--ui-soft);--line:var(--ui-line);--coral:var(--ui-primary);--coral-dark:var(--ui-hover);--primary:var(--ui-primary);--mint:var(--ui-success);--shadow:var(--ui-shadow)}
html body.workspace-style main.workspace{padding:90px 20px 32px;min-height:100dvh;background:var(--ui-bg)}
html body.workspace-style main.workspace>*{max-width:2100px;min-width:0}
html body.workspace-style main.workspace>:is(.ledger,.panel,.metrics,.finance-metrics,.time-metrics,.report-kpis,.page-heading,.hero,.task-summary,.task-filter-panel){width:100%}
html body.workspace-style :is(.panel,.module-card,.ledger-card,.report-panel,.report-metric,.report-result,.finance-stat,.time-stat){background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:12px;box-shadow:var(--ui-shadow)}
html body.workspace-style :is(.panel,.report-panel){padding:22px;margin-bottom:20px}
html body.workspace-style .ledger>.panel{margin-bottom:0}
html body.workspace-style :is(.hero,.hero.compact,.page-heading,.report-hero,.project-workspace-hero){background:transparent;color:var(--ui-text);border:0;box-shadow:none;padding:22px 18px 28px;min-height:0;border-radius:0;margin-bottom:14px;gap:20px}
html body.workspace-style :is(.hero,.page-heading,.report-hero,.project-workspace-hero)::before,
html body.workspace-style :is(.hero,.page-heading,.report-hero,.project-workspace-hero)::after{display:none}
html body.workspace-style :is(.hero,.page-heading,.report-hero,.project-workspace-hero) h1{font-size:clamp(28px,2.5vw,42px);line-height:1.16;letter-spacing:-.04em;color:var(--ui-text);margin:8px 0 10px}
html body.workspace-style :is(.hero,.page-heading,.report-hero,.project-workspace-hero) p{color:var(--ui-muted);line-height:1.55}
html body.workspace-style :is(.eyebrow,.report-eyebrow){font-size:11px;letter-spacing:.13em;font-weight:750;color:#48668c}
html[data-theme=dark] body.workspace-style :is(.eyebrow,.report-eyebrow){color:#abc7ea}
html body.workspace-style :is(.section-title,.ledger-toolbar,.report-section-heading){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:18px}
html body.workspace-style :is(.panel,.report-panel,.module-card) h2{font-size:20px;line-height:1.35;letter-spacing:-.025em;color:var(--ui-text)}
html body.workspace-style :is(.section-title,.ledger-toolbar)>span{max-width:420px;color:var(--ui-muted);font-size:12px}
html body.workspace-style :is(.metrics,.finance-metrics,.time-metrics,.ledger-cards,.report-kpis,.task-summary){gap:16px}
html body.workspace-style :is(.metrics>*,.finance-metrics>*,.time-metrics>*,.ledger-card,.report-kpi){border-radius:12px;min-width:0;padding:22px;box-shadow:var(--ui-shadow)}
html body.workspace-style :is(.metrics,.finance-metrics,.time-metrics,.ledger-cards,.report-kpis) strong{font-size:clamp(25px,2vw,34px);font-variant-numeric:tabular-nums;letter-spacing:-.04em}
html body.workspace-style :is(.metrics,.finance-metrics,.time-metrics,.ledger-cards,.report-kpis) :is(small,p){color:var(--ui-muted);font-size:12px}
/* A single outer height including padding and border, regardless of native control. */
html body.workspace-style :is(main,.rating-auth,dialog) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;min-height:48px!important;border-radius:8px!important;border-color:var(--ui-line)!important;background-color:var(--ui-soft)!important;color:var(--ui-text)!important;font:inherit;padding:11px 13px!important}
html body.workspace-style :is(main,.rating-auth,dialog) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select){height:48px!important}
html body.workspace-style :is(main,.rating-auth,dialog) select{appearance:none!important;-webkit-appearance:none!important;padding-right:38px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a91ab' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-size:18px!important;background-position:right 12px center!important}
html body.workspace-style :is(main,.rating-auth,dialog) select[multiple]{height:auto!important;min-height:144px!important;background-image:none!important;padding-right:13px!important}
html body.workspace-style :is(main,.rating-auth,dialog) textarea{resize:vertical!important;display:block}
html body.workspace-style :is(main,.rating-auth,dialog) textarea:not(.grow-field){height:48px}
html body.workspace-style :is(.form-actions,.ledger-actions,.field-actions,.invoice-actions,.offer-actions){gap:12px;margin-top:18px}
html body.workspace-style :is(.task-form,.payment-form,.time-entry-form,.company-cost-form)>button{margin-top:4px;justify-self:start;min-width:176px}
html body.workspace-style :is(main,dialog) :is(button,.button){border-radius:8px;box-shadow:none}
html body.workspace-style table{font-size:13px}
html body.workspace-style table th{background:var(--ui-soft);color:var(--ui-muted);font-size:11px;letter-spacing:.065em;padding:14px 16px;border-bottom:1px solid var(--ui-line)}
html body.workspace-style table td{padding:15px 16px;border-bottom:1px solid var(--ui-line)}
html body.workspace-style :is(.badge,.status-badge,.task-badge){border-radius:7px;font-size:11px;line-height:1.5}
html body.workspace-style :is(.notice,.notification-item){border-radius:10px}
html body.workspace-style :is(.task-board-metrics,.calendar-metrics)>article{padding:22px;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-surface);box-shadow:var(--ui-shadow)}
html body.workspace-style :is(.task-board-metrics,.calendar-metrics)>article strong{font-size:30px;letter-spacing:-.04em}
/* Same navigation shell everywhere. The existing allowed destinations are retained. */
html body.workspace-style .sidebar{padding:20px 16px;background:linear-gradient(110deg,#073240,#062833)}
html body.workspace-style .sidebar .brand{min-height:78px;height:78px;margin:0 0 14px;padding:10px 14px;gap:12px}
html body.workspace-style .sidebar .brand-logo{width:46px;height:55px;flex-basis:46px}
html body.workspace-style .sidebar .brand-name,html body.workspace-style .sidebar .brand-name b{font-size:24px;font-weight:750;letter-spacing:.015em}
html body.workspace-style .ui-brand-tagline{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:#9eb8d0}
html body.workspace-style .sidebar .ui-nav-section{margin:0;border:0;padding:0}
html body.workspace-style .sidebar .ui-nav-heading{display:none}
html body.workspace-style .sidebar :is(.finance-nav-group>summary,nav>.ui-nav-section>.ui-nav-row>a){min-height:50px;padding:12px 16px;gap:16px;margin:3px 0;font-size:15px;font-weight:450}
html body.workspace-style .sidebar nav .ui-icon{width:23px;height:23px;flex-basis:23px}
html body.workspace-style .sidebar nav a[aria-current=page],html body.workspace-style .sidebar nav .finance-nav-group.is-current>summary{background:#1b526a;border-radius:10px;font-weight:600}
html body.workspace-style .sidebar .ui-menu-search{margin-bottom:12px}
html body.workspace-style .sidebar .ui-favorites{padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid #315363}
html body.workspace-style .sidebar .ui-favorites .ui-nav-heading{display:block;margin:4px 12px 6px;font-size:10px}
html body.workspace-style .sidebar .ui-pin{top:12px}
html body.workspace-style .sidebar-footer{border:0;padding:0 8px;margin-top:10px;gap:4px}
html body.workspace-style .ui-brand-footer{font-size:11px;line-height:1.7;color:#95b4cb;margin:8px 0}
html body.workspace-style .sidebar-footer a{min-height:36px}
html body.workspace-style .ui-admin-nav{margin:8px 0 0}
html body.workspace-style .sidebar nav .ui-admin-nav>summary{font-size:12px;min-height:44px;padding:10px 12px;color:#bad0df}
html body.workspace-style .ui-admin-nav>summary::after{content:'⌄';margin-left:auto}
html body.workspace-style .ui-admin-nav:not([open])>.ui-nav-row{display:none}
html body.workspace-style .topbar{height:72px;padding:12px 24px;gap:14px}
html body.workspace-style .topbar-context{flex:0 1 160px}
html body.workspace-style .topbar-context small{display:none}
html body.workspace-style .topbar .global-search{height:46px;margin:0 auto 0 0;max-width:600px}
html body.workspace-style .topbar .global-search input{font-size:14px;font-weight:400}
html body.workspace-style .topbar :is(.top-icon,.theme-toggle){border:0;background:transparent;color:#395982}
html body.workspace-style .topbar .create-button{background:#0866ff;color:white;min-height:44px}
/* Deliberately stronger than the old dashboard rule that hid this control. */
html body.workspace-style.dashboard-page .topbar .sidebar-toggle,html body.workspace-style .topbar .sidebar-toggle{display:inline-flex!important;visibility:visible!important;flex-shrink:0}
html body.workspace-style .ui-user-menu{position:relative}
html body.workspace-style .ui-user-menu>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;color:#42668d;min-height:44px;font-size:20px}
html body.workspace-style .ui-user-menu>summary::-webkit-details-marker{display:none}
html body.workspace-style .ui-user-menu i{display:grid;place-items:center;border-radius:50%;background:#466f99;color:white;width:42px;height:42px;font-size:18px;font-style:normal;box-shadow:0 0 0 2px #eaf0f9}
html body.workspace-style .ui-user-menu>div{position:absolute;top:calc(100% + 12px);right:0;min-width:170px;padding:8px;background:var(--ui-surface);border:1px solid var(--ui-line);box-shadow:0 10px 30px #001c3320;border-radius:10px}
html body.workspace-style .ui-user-menu a{display:block;padding:10px 14px;color:var(--ui-text);font-size:14px;border-radius:6px;text-decoration:none}
html body.workspace-style .ui-user-menu a:hover{background:var(--ui-tint)}
html body.workspace-style.ui-rail{--ui-sidebar:76px}
html body.workspace-style.ui-rail:not(.ui-menu-open) .sidebar .brand-logo{width:35px;height:43px;flex-basis:35px}
html body.workspace-style.ui-rail:not(.ui-menu-open) .sidebar nav :is(a,summary){padding:12px;gap:0;justify-content:center;min-height:48px}
html body.workspace-style.ui-rail:not(.ui-menu-open) .sidebar :is(.finance-nav-links,.ui-admin-nav>.ui-nav-row){display:none!important}
html body.workspace-style.ui-rail:not(.ui-menu-open) .ui-admin-nav>summary::after{display:none}
html[data-theme=dark] body.workspace-style .topbar :is(.top-icon,.theme-toggle){color:#c4d9f6}
html[data-theme=dark] body.workspace-style .ui-user-menu>summary{color:#c4d9f6}
@media(min-width:2200px){html body.workspace-style main.workspace{padding-left:max(24px,calc((100vw - var(--ui-sidebar) - 2100px)/2));padding-right:max(24px,calc((100vw - var(--ui-sidebar) - 2100px)/2))}}
@media(max-width:1199px){html body.workspace-style .topbar{padding:12px 16px;gap:10px}html body.workspace-style .topbar-context{flex-basis:130px}}
@media(max-width:767px){
html body.workspace-style,html body.workspace-style.ui-rail{--ui-sidebar:0px}
html body.workspace-style main.workspace{padding:132px 14px 96px}
html body.workspace-style .topbar{height:116px;padding:10px 14px;gap:8px}
html body.workspace-style .topbar-context{flex:1;min-width:60px}
html body.workspace-style .topbar .global-search{flex:1 0 100%;height:40px;max-width:none;margin:0}
html body.workspace-style .topbar .global-search input{font-size:16px}
html body.workspace-style .ui-user-menu{display:none}
html body.workspace-style .sidebar .brand-name,html body.workspace-style .sidebar .brand-name b{font-size:21px}
html body.workspace-style .sidebar .brand-logo{width:38px;flex-basis:38px}
html body.workspace-style .sidebar .brand{padding-left:6px;margin-bottom:12px}
html body.workspace-style :is(.panel,.report-panel){padding:16px;margin-bottom:16px}
html body.workspace-style :is(.hero,.page-heading,.report-hero,.project-workspace-hero){padding:14px 4px 20px}
html body.workspace-style :is(.hero,.page-heading,.report-hero,.project-workspace-hero) h1{font-size:30px}
html body.workspace-style :is(.metrics>*,.finance-metrics>*,.time-metrics>*,.ledger-card,.report-kpi){padding:16px}
html body.workspace-style :is(.section-title,.ledger-toolbar)>span{max-width:100%}
html body.workspace-style .topbar .create-button{min-width:40px;min-height:40px}
html body.workspace-style :is(.ledger-filter,.report-filters) label{min-width:0}
html body.workspace-style .calendar-date-form .button{min-width:0!important;width:100%}
}
/* Document routes share the same page heading and neutral surfaces. */
html body.workspace-style .document-hero{background:transparent;box-shadow:none;border:0;border-radius:0;padding:20px 4px 24px;align-items:center}
html body.workspace-style .document-hero h1{color:var(--ui-text);font-size:clamp(30px,3vw,42px);line-height:1.15}
html body.workspace-style .document-hero p:not(.eyebrow){color:var(--ui-muted)}
html body.workspace-style .document-hero .eyebrow{color:var(--ui-primary)}
html body.workspace-style .document-metrics article{background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:12px;padding:22px;box-shadow:0 3px 14px #132d4f04}
html body.workspace-style .document-metrics article strong{color:var(--ui-text);font-size:30px}
html body.workspace-style .document-metrics article :is(span,small){color:var(--ui-muted)}
html body.workspace-style :is(.folder-card,.connection-status){background:var(--ui-soft,var(--ui-surface));border-color:var(--ui-line);color:var(--ui-muted)}
html body.workspace-style .connection-status b{color:var(--ui-text)}
html body.workspace-style .sidebar-footer{gap:10px;padding:12px 0 0;border-top:1px solid #34505f}
html body.workspace-style .sidebar-footer .ui-footer-action{display:flex!important;gap:10px;min-height:44px;padding:10px 14px;border:1px solid #668499;border-radius:9px;font-size:14px;font-weight:650;color:#eef5ff;background:#ffffff0a}
html body.workspace-style .sidebar-footer .ui-footer-create{background:#0866ff;border-color:#0866ff;color:white}
html body.workspace-style .sidebar-footer .ui-footer-create:hover{background:#0054df}
html body.workspace-style .sidebar-footer .ui-footer-logout:hover{background:#ffffff18;border-color:#adc2d1}
html body.workspace-style .sidebar-footer .ui-footer-action:focus-visible{outline:3px solid #8dbbff;outline-offset:3px}
html body.workspace-style.ui-rail:not(.ui-menu-open) .sidebar .sidebar-footer{display:grid!important;padding:12px 0 0}
html body.workspace-style.ui-rail:not(.ui-menu-open) .sidebar-footer .ui-brand-footer{display:none}
html body.workspace-style.ui-rail:not(.ui-menu-open) .sidebar-footer .ui-footer-action{width:44px;min-width:44px;padding:10px;justify-self:center}
@media(max-width:767px){html body.workspace-style .document-hero{padding:14px 4px 20px;align-items:stretch}html body.workspace-style .document-hero :is(.hero-actions,.project-actions){width:100%}}
@media print{html body.workspace-style :is(.sidebar,.topbar,.ui-bottom-nav){display:none!important}html body.workspace-style main.workspace{margin:0;padding:0}}
