/* Same visual tokens and geometry as app/ui/theme.py and BannerWidget. */
:root { font-family:"Segoe UI",Arial,sans-serif; --accent:#08a65c; --accent-hover:#078d4f; --ink:#102b26; --muted:#607a72; --surface:#fff; --line:#dce5e2; --soft:#f6f8f7; --page:#f7f9f8; --shadow:0 2px 8px #102b2608; background:#eef3f1; color:var(--ink) }
html[data-theme="MOUNTAIN_PREMIUM"] { color-scheme:dark; --accent:#16c77a; --accent-hover:#087d69; --ink:#e9f5f0; --muted:#a8c1ba; --surface:#102b31; --line:#264950; --soft:#17363c; --page:#0b242a; --sidebar:#071e28; background:#071c22; color:var(--ink) }
.authenticated .panorama { height:270px }
.authenticated .landscape,.authenticated .river { object-position:center center }
.authenticated .brand { top:50%; left:18px; transform:translateY(-50%); width:230px; height:104px; padding:6px 18px; background:#ffffffda; box-shadow:none }
.authenticated .brand img { width:194px; height:92px }
.authenticated .header-controls { top:50%; bottom:auto; right:14px; transform:translateY(-50%); gap:8px; align-items:center }
.authenticated .date-block,.authenticated .profile { height:78px; border-radius:13px; padding:10px 11px; gap:8px; background:#002f2bdc; box-shadow:none; backdrop-filter:blur(5px) }
.authenticated .date-block { width:148px; flex-direction:row; align-items:center }
.date-block #header-date { font-size:12px; font-weight:650 }
.date-block #header-time { display:block; font-size:24px; font-weight:750; letter-spacing:0 }
.date-block #header-day { display:block; font-size:11px }
.authenticated .profile { width:182px; min-width:0 }
.profile>span { min-width:0 }.authenticated .profile strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px }.authenticated .profile small { font-size:11px }
.shell-icon { width:22px; height:22px; flex-shrink:0; filter:brightness(0) invert(1) }
.header-icon { position:relative; display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:#002f2bdc; border:1px solid #ffffff30; border-radius:13px; color:#fff; transition:box-shadow .15s,background .15s }
.header-icon span { position:absolute; top:-5px; right:-4px; background:#08a65c; color:white; border:1px solid #6df6ad; border-radius:20px; font:700 11px/17px "Segoe UI",sans-serif; min-width:18px; text-align:center }
.header-icon:hover { background:#086652; box-shadow:0 0 14px #55e0a756 }
.authenticated .logout { height:44px; padding:8px 10px; min-height:44px }
.authenticated .workspace { grid-template-columns:218px minmax(0,1fr); min-height:calc(100vh - 314px); background:var(--page) }
.authenticated .sidebar { padding:10px 8px; border:0; background:linear-gradient(#003d38,#044e47 50%,#073b37) }
html[data-theme="MOUNTAIN_PREMIUM"] .authenticated .sidebar { background:linear-gradient(#071e28,#0a3038 50%,#071a20) }
.sidebar #navigation { gap:3px }
.sidebar #navigation a { min-height:38px; padding:6px 10px; border:1px solid transparent; border-radius:8px; gap:9px; font-size:13px; font-weight:600; line-height:1.3; color:#d4eae3 }
.sidebar #navigation a:hover { background:#ffffff12; border-color:#ffffff15; box-shadow:none }
.sidebar #navigation a.active { background:linear-gradient(110deg,#08a85f,#11c66d); border-color:#45d893; color:white; box-shadow:0 3px 9px #001e2333 }
html[data-theme="MOUNTAIN_PREMIUM"] .sidebar #navigation a.active { background:linear-gradient(110deg,#087d69,#16c77a); border-color:#58e8ad }
.nav-icon { width:17px; height:17px; flex:0 0 17px; filter:brightness(0) invert(1) }
.sidebar-foot { padding:22px 10px 6px; font-size:12px }
.authenticated main#main-content { padding:10px 12px 0; background:var(--page); border-top-left-radius:18px; max-width:none; display:flex; flex-direction:column; gap:0 }
.authenticated .page-heading { margin-bottom:12px; gap:12px }.authenticated .page-heading .eyebrow { display:none }.authenticated h1 { font-size:22px; font-weight:750; letter-spacing:-.02em }.authenticated h2 { font-size:16px; font-weight:700; letter-spacing:0; margin-bottom:12px; color:var(--ink) }
.authenticated h2 small { display:block; font-size:11px; color:var(--muted); font-weight:400; margin-top:4px }
.authenticated .panel { padding:14px; box-shadow:var(--shadow); margin-bottom:10px }
.authenticated button,.authenticated .button { min-height:35px; padding:7px 12px; font-size:13px }
.authenticated input:not([type=checkbox]),.authenticated select,.authenticated textarea { background:var(--surface); color:var(--ink); border-color:var(--line); min-height:35px; font-size:14px }
.authenticated .primary { background:#08a65c; color:white }.authenticated .primary:hover { background:#078d4f }.authenticated .secondary:hover { background:var(--soft) }
.authenticated .filters { padding:12px; background:var(--surface); border:1px solid var(--line); border-radius:13px; gap:9px; margin-bottom:10px }
.authenticated .filters select { max-width:250px }.authenticated .filters .search-label { max-width:none; flex:1 1 240px }
.authenticated table { font-size:13px }.authenticated th { padding:10px 18px 10px 10px; font-size:12px; color:var(--muted); background:var(--soft) }.authenticated td { padding:10px; border-color:var(--line); line-height:1.45 }.authenticated tbody tr:nth-child(even) { background:color-mix(in srgb,var(--soft) 40%,var(--surface)) }.authenticated tbody tr:hover { background:var(--soft) }
.authenticated .table-footer { padding:10px 12px; font-size:12px; border-color:var(--line) }
.shell-toolbar { display:flex; align-items:start; justify-content:space-between; gap:12px; margin-bottom:8px; min-width:0 }
.section-tabs { flex-direction:row; flex-wrap:wrap; gap:5px; min-width:0 }
.section-tabs a { color:var(--muted); background:var(--surface); border:1px solid var(--line); padding:6px 12px; min-height:34px; font-size:13px }
.section-tabs a:hover { background:var(--soft); color:var(--ink) }.section-tabs a[aria-current] { background:#0aa760; color:#fff; border-color:#0aa760 }
.shell-search { position:relative; margin-left:auto; flex-shrink:0; z-index:5 }
.shell-search>summary { min-height:34px; padding:7px 10px; list-style:none; cursor:pointer; font-size:12px; color:var(--muted) }.shell-search kbd { font:10px "Segoe UI",sans-serif; border:1px solid var(--line); border-radius:4px; padding:2px 3px; margin-left:8px }
.shell-search .workspace-search { position:absolute; right:0; top:100%; width:min(550px,calc(100vw - 44px)); background:var(--surface); padding:12px; border:1px solid var(--line); border-radius:10px; box-shadow:0 8px 30px #001e2320; flex-wrap:wrap; margin:0 }.shell-search .workspace-search input { flex:1; min-width:160px }
.shell-status { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:18px -12px 0; padding:8px 12px; border-top:1px solid var(--line); color:var(--muted); background:var(--surface); font-size:11px; margin-top:auto; padding-top:9px }
.desktop-filters { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 10px }.desktop-filters label { display:flex; gap:8px; align-items:center; color:var(--muted); font-size:13px }.desktop-filters input { width:150px }.desktop-filters select { width:auto; flex:1 1 190px }.desktop-filters button { min-width:120px; margin-left:auto }
.desktop-metrics { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; margin-bottom:10px }
.desktop-stat { padding:12px; border:1px solid var(--line); border-radius:13px; background:var(--surface); min-width:0; box-shadow:var(--shadow) }
.desktop-stat>div { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:650; color:var(--muted); min-height:30px }.desktop-stat img { width:22px; height:22px; padding:4px; background:var(--tone); border-radius:6px }.desktop-stat strong { display:block; font-size:27px; font-weight:800; line-height:1.2; color:var(--ink); margin:7px 0 4px; font-variant-numeric:tabular-nums }.desktop-stat small { display:block; color:var(--muted); font-size:11px }
.tone-green { --tone:#0fb765 }.tone-blue { --tone:#158fe4 }.tone-orange { --tone:#f59e0b }.tone-violet { --tone:#7c39ef }.tone-cyan { --tone:#12acb9 }.tone-pink { --tone:#ef2e82 }
.desktop-middle { display:grid; grid-template-columns:3fr 5fr 4fr; gap:9px }.desktop-middle>.panel,.desktop-lower>.panel { min-width:0 }
.occupancy-body { display:flex; align-items:center; gap:14px; flex-wrap:wrap }.occupancy-donut { flex:0 0 124px; width:124px; height:124px; padding:14px; border-radius:50%; background:conic-gradient(#0daf6b var(--occupied),var(--soft) 0) }.occupancy-donut>span { display:flex; height:100%; width:100%; align-items:center; justify-content:center; flex-direction:column; background:var(--surface); border-radius:50% }.occupancy-donut strong { color:var(--ink); font-size:26px; font-weight:750 }.occupancy-donut small { color:var(--muted); font-size:10px }.occupancy-legend { flex:1; min-width:130px; font-size:12px; color:var(--muted); line-height:1.4 }.occupancy-legend p { margin-bottom:8px }.occupancy-legend small { font-size:10px }.legend-dot { display:inline-block; width:7px; height:7px; background:#0daf6b; border-radius:50%; margin-right:6px }
.desktop-contractor-bars { display:grid; gap:12px }.desktop-contractor-bars>div { display:grid; grid-template-columns:minmax(90px,2fr) 24px minmax(45px,1fr) 70px; gap:8px; align-items:center; font-size:12px }.desktop-contractor-bars small { color:var(--muted); font-size:11px }.desktop-contractor-bars meter { width:100%; height:10px; accent-color:#0daf6b }
.desktop-quick { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px }.desktop-quick a { display:flex; align-items:center; gap:9px; min-height:54px; padding:10px; border-radius:10px; color:white; background:linear-gradient(125deg,var(--tone),color-mix(in srgb,var(--tone),#067660 18%)); border:1px solid #ffffff20; font-size:12px; font-weight:650; transition:box-shadow .15s,transform .15s }.desktop-quick a img { width:20px; height:20px; flex-shrink:0; filter:brightness(0) invert(1) }.desktop-quick a:hover { box-shadow:0 0 0 3px color-mix(in srgb,var(--tone),transparent 80%),0 5px 16px color-mix(in srgb,var(--tone),transparent 70%); transform:translateY(-1px) }
.desktop-lower { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px }.compact-table { overflow:auto; max-height:210px }.compact-table td { min-width:40px }.desktop-loads .compact-table { max-height:280px }
.bk-statistics { grid-template-columns:repeat(5,minmax(0,1fr)) }.bk-layout { display:grid; grid-template-columns:minmax(0,4fr) minmax(215px,1fr); gap:10px; margin-bottom:12px; align-items:start }.bk-details { border-color:#a9d9c3!important; background:color-mix(in srgb,var(--surface),#13b667 2%) }.bk-details p { font-size:13px; line-height:1.6 }.bk-details .button { width:100%; margin-bottom:7px }.bk-details dl { font-size:13px; display:grid; grid-template-columns:1fr auto; gap:9px; margin-bottom:16px }.bk-details dt { color:var(--muted) }.bk-details dd { margin:0 }.bk-details progress { width:100%; height:8px; accent-color:#0daf6b; margin-bottom:12px }.bk-selected { background:color-mix(in srgb,var(--surface),#13b667 14%)!important }
html[data-theme="MOUNTAIN_PREMIUM"] .authenticated .notice,html[data-theme="MOUNTAIN_PREMIUM"] .authenticated .bulk-bar,html[data-theme="MOUNTAIN_PREMIUM"] .authenticated .saved-views { background:var(--soft); color:var(--ink); border-color:var(--line) }
html[data-theme="MOUNTAIN_PREMIUM"] .authenticated .notice.error { background:#432c2b; color:#ffc2b9 }
html[data-theme="MOUNTAIN_PREMIUM"] .authenticated .badge,html[data-theme="MOUNTAIN_PREMIUM"] .authenticated .count,html[data-theme="MOUNTAIN_PREMIUM"] .authenticated .subtle-tag { background:#174638; color:#a9efc7; border-color:#31555b }
html[data-theme="MOUNTAIN_PREMIUM"] .authenticated .state-repair,html[data-theme="MOUNTAIN_PREMIUM"] .authenticated .state-attention { background:#403517; color:#ffd878 }
html[data-theme="MOUNTAIN_PREMIUM"] .authenticated .state-closed,html[data-theme="MOUNTAIN_PREMIUM"] .authenticated .state-archived { background:#363c40; color:#c0cacc }
html[data-theme="MOUNTAIN_PREMIUM"] .analytics { --an-ink:#e9f5f0; --an-muted:#a8c1ba; --an-line:#264950; --an-tint:#17363c; --an-accent:#16c77a; color:var(--ink) }
html[data-theme="MOUNTAIN_PREMIUM"] .analytics :is(.an-panel,.an-card,.an-filters,.an-tabs,.an-empty,table) { background:var(--surface); color:var(--ink); border-color:var(--line) }
html[data-theme="MOUNTAIN_PREMIUM"] .analytics :is(h1,h2,h3,.an-card>strong,.an-empty h3) { color:var(--ink) }
html[data-theme="MOUNTAIN_PREMIUM"] .analytics :is(th,.an-tabs a.active,.an-tabs a:hover) { background:var(--soft); color:var(--ink) }
html[data-theme="MOUNTAIN_PREMIUM"] .analytics :is(td,th) { border-color:var(--line) }
html[data-theme="MOUNTAIN_PREMIUM"] .analytics tbody tr:hover { background:var(--soft) }
html[data-theme="MOUNTAIN_PREMIUM"] .authenticated :is(.entity-summary,.detail-section,.history-item,.search-result,.saved-view-row,.form-note,.summary-panel) { background:var(--surface); color:var(--ink); border-color:var(--line) }
.authenticated>.polosa-suite { min-height:44px; padding-block:2px; background:var(--surface); border-color:var(--line); color:var(--ink) }.authenticated>.polosa-suite .polosa-suite-home { min-height:38px }.authenticated>.polosa-suite .polosa-suite-logo { width:96px; height:34px }.authenticated>.polosa-suite .polosa-suite-menu>summary { min-height:36px; padding:4px 10px; font-size:12px; background:var(--soft); color:var(--ink); border-color:var(--line) }.authenticated>.polosa-suite .polosa-suite-menu>summary small { display:none }
@media(max-width:1400px) { .desktop-metrics { grid-template-columns:repeat(4,minmax(0,1fr)) }.desktop-middle { grid-template-columns:1fr 1fr }.desktop-middle>.panel:last-child { grid-column:1/-1 }.desktop-quick { grid-template-columns:repeat(6,minmax(0,1fr)) }.desktop-lower { grid-template-columns:1fr 1fr }.desktop-lower>.panel:last-child { grid-column:1/-1 }.bk-statistics { grid-template-columns:repeat(5,minmax(0,1fr)) } }
@media(max-width:1080px) { .bk-layout { grid-template-columns:minmax(0,1fr) }.bk-details { order:-1 }.desktop-quick { grid-template-columns:repeat(3,minmax(0,1fr)) }.authenticated .workspace { grid-template-columns:204px minmax(0,1fr) }.bk-statistics { grid-template-columns:repeat(3,minmax(0,1fr)) } }
@media(max-width:850px) { .authenticated .profile { display:none }.authenticated .brand { width:196px; padding-inline:12px }.authenticated .brand img { width:172px }.authenticated .header-controls { right:12px }.desktop-middle,.desktop-lower { grid-template-columns:1fr }.desktop-middle>.panel:last-child,.desktop-lower>.panel:last-child { grid-column:auto }.desktop-metrics { grid-template-columns:repeat(3,minmax(0,1fr)) } }
@media(max-width:760px) { .authenticated .workspace { display:block }.authenticated .sidebar { padding:6px 12px }.authenticated .sidebar-foot { display:none }.authenticated .menu-toggle { display:block; width:100%; min-height:44px }.sidebar #navigation { display:none; padding-block:6px }.sidebar.open #navigation { display:flex }.sidebar #navigation a { min-height:44px }.authenticated main#main-content { padding:10px 10px 0; border-radius:0 }.shell-status { margin-inline:-10px }.section-tabs { gap:4px }.section-tabs a { min-height:40px }.shell-search kbd { display:none }.authenticated .filters select { max-width:100% }.authenticated button,.authenticated .button { min-height:42px }.desktop-quick a { min-height:58px } }
@media(max-width:600px) { .authenticated .panorama { height:252px }.authenticated .brand { top:18px; transform:none; left:12px; width:172px; height:82px; padding:5px 10px }.authenticated .brand img { width:152px; height:72px }.authenticated .header-controls { top:auto; bottom:12px; transform:none; left:12px; right:12px; justify-content:flex-end }.authenticated .date-block { margin-right:auto; width:132px; height:64px; padding:7px 9px }.date-block #header-time { font-size:20px }.date-block #header-day { display:none }.desktop-metrics,.bk-statistics { grid-template-columns:repeat(2,minmax(0,1fr)) }.desktop-filters label { flex:1 1 100%; justify-content:space-between }.desktop-filters input { flex:1; max-width:200px }.desktop-filters button { width:100% }.desktop-quick { grid-template-columns:repeat(2,minmax(0,1fr)) }.desktop-lower .panel { padding:12px }.shell-search .workspace-search { right:0 }.desktop-contractor-bars>div { grid-template-columns:minmax(65px,2fr) 20px minmax(35px,1fr) 65px } }
@media(prefers-reduced-motion:reduce) { .river { display:none!important }.authenticated * { animation:none!important; transition:none!important; scroll-behavior:auto!important } }
@media print { .panorama,.sidebar,.shell-toolbar,.shell-status,.desktop-filters { display:none!important }.authenticated .workspace { display:block }.desktop-metrics { grid-template-columns:repeat(7,1fr) }.compact-table { max-height:none; overflow:visible }.authenticated main#main-content { padding:0 } }
@media(max-width:760px){.sidebar #navigation.open{display:flex}}
