:root{--navy-950:#071426;--navy-900:#0b1f3a;--navy-800:#12345b;--purple-700:#5b3fd6;--purple-600:#6c4cf1;--purple-500:#7c5cfc;--purple-400:#a89cf7;--purple-100:#eeeafe;--primary:var(--purple-600);--primary-hover:var(--purple-700);--primary-soft:var(--purple-100);--primary-contrast:#fff;--surface:#fff;--surface-raised:#fff;--background:#f5f7fb;--sidebar-bg:var(--navy-950);--sidebar-fg:#ffffffb8;--sidebar-fg-active:#fff;--sidebar-active-bg:var(--purple-600);--header-bg:#fff;--text-primary:#111827;--text-secondary:#667085;--text-inverse:#fff;--border:#e6eaf0;--border-strong:#d3dae4;--success:#16a36a;--warning:#f59e0b;--danger:#d92d20;--info:#2563eb;--status-success-fg:#0a6b48;--status-success-bg:#dcf5ea;--status-warning-fg:#92610a;--status-warning-bg:#fef3d9;--status-danger-fg:#a3241a;--status-danger-bg:#fbe1de;--status-neutral-fg:#475467;--status-neutral-bg:#eef1f5;--status-info-fg:#1d4ed8;--status-info-bg:#dbeafe;--on-status:#fff;--warning-fill:var(--warning);--control-border:var(--border);--overlay:#0714268c;--focus-ring-color:var(--primary);--tone-muted:#98a2b3;--earth:#7a5c3a;--earth-light:#a3825c;--basement-bg:#f4f1ec;--plan-bg:#fafbfc;--paper-0:var(--surface);--paper-50:var(--background);--ink-900:var(--text-primary);--ink-500:var(--text-secondary);--line-200:var(--border);--status-due-fg:var(--status-warning-fg);--status-due-bg:var(--status-warning-bg);--status-paid-fg:var(--status-success-fg);--status-paid-bg:var(--status-success-bg);--status-overdue-fg:var(--status-danger-fg);--status-overdue-bg:var(--status-danger-bg);--gradient-hero:linear-gradient(135deg, #0b1f3a 0%, #30256f 55%, #6c4cf1 100%);--font-display:"Space Grotesk", "Segoe UI", sans-serif;--font-body:"Manrope", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "Consolas", monospace;--text-page-title:26px;--text-page-title-phone:22px;--text-section-title:19px;--text-card-title:17px;--text-body:15px;--text-label:13px;--text-caption:12px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:999px;--shadow-card:0 8px 30px #0b1f3a12;--shadow-raised:0 12px 34px #0b1f3a1f;--shadow-focus:0 0 0 3px var(--primary-soft);--glow-accent:none;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--control-height:42px;--button-height:42px;--button-height-lg:47px;--icon-button-size:38px;--nav-item-height:40px;--sidebar-width:232px;--header-height:60px;--table-row-height:44px;--table-header-bg:#f8fafc;--table-row-hover:#f4f6fa;--table-row-selected:var(--primary-soft);--table-zebra:transparent;--button-secondary-bg:var(--navy-950);--button-secondary-fg:#fff;--button-secondary-border:transparent;--button-secondary-bg-hover:var(--navy-800);--button-secondary-border-hover:transparent;--button-secondary-fg-hover:#fff;--login-card-bg:#fff;--login-card-fg:#111827;--login-card-muted:#667085;--login-card-border:#e6eaf0}[data-theme=fm-engineering]{--navy-950:#081827;--navy-900:#0b1f33;--navy-800:#173751;--primary:#1769aa;--primary-hover:#105487;--primary-soft:#e6f1f9;--primary-contrast:#fff;--engineering-teal:#008c91;--engineering-teal-soft:#e3f5f4;--surface:#fff;--surface-raised:#fff;--background:#f3f6fa;--sidebar-bg:#0b1f33;--sidebar-fg:#d1deea;--sidebar-fg-active:#fff;--sidebar-active-bg:#1769aa;--header-bg:#fff;--text-primary:#142538;--text-secondary:#526579;--text-inverse:#fff;--border:#dce5ed;--border-strong:#b5c4d1;--success:#14805e;--warning:#b86b08;--danger:#c53939;--info:#1769aa;--status-success-fg:#0e6649;--status-success-bg:#e2f3ec;--status-warning-fg:#84500a;--status-warning-bg:#fcf0dc;--status-danger-fg:#a12c2c;--status-danger-bg:#fbe7e7;--status-neutral-fg:#435568;--status-neutral-bg:#edf2f6;--status-info-fg:#105487;--status-info-bg:#e6f1f9;--gradient-hero:linear-gradient(135deg, #081827 0%, #0b3a5c 55%, #1769aa 100%);--radius-sm:8px;--radius-md:10px;--radius-lg:16px;--shadow-card:0 1px 2px #0b1f330d;--shadow-raised:0 10px 30px #0b1f3324;--shadow-focus:0 0 0 2px var(--surface), 0 0 0 4px var(--engineering-teal);--focus-ring-color:var(--engineering-teal);--glow-accent:none;--control-height:44px;--button-height:44px;--button-height-lg:48px;--icon-button-size:44px;--nav-item-height:44px;--tone-muted:#627386;--warning-fill:#a05d07;--control-border:#7a8b9d;--plan-bg:#f7f9fb;--sidebar-width:240px;--header-height:64px;--table-row-height:48px;--table-header-bg:#f3f6fa;--table-row-hover:#f5f9fc;--table-row-selected:#e6f1f9;--table-zebra:transparent;--button-secondary-bg:#fff;--button-secondary-fg:#142538;--button-secondary-border:#7a8b9d;--button-secondary-bg-hover:#fff;--button-secondary-border-hover:#1769aa;--button-secondary-fg-hover:#105487;--login-card-bg:#fff;--login-card-fg:#142538;--login-card-muted:#526579;--login-card-border:#dce5ed}[data-theme=beecontrols-dark]{--bee-green-600:#2fa84f;--bee-green-500:#3ec46a;--bee-green-400:#56d97f;--bee-green-050:#3ec46a24;--primary:var(--bee-green-500);--primary-hover:var(--bee-green-400);--primary-soft:var(--bee-green-050);--primary-contrast:#06210f;--surface:#16191c;--surface-raised:#1d2125;--background:#0d0f11;--sidebar-bg:#101315;--sidebar-fg:#ffffff9e;--sidebar-fg-active:#fff;--sidebar-active-bg:#3ec46a29;--header-bg:#121517;--text-primary:#f2f5f4;--text-secondary:#9aa4a2;--text-inverse:#06210f;--border:#262b30;--border-strong:#343b41;--success:var(--bee-green-500);--warning:#e0a32e;--danger:#e5544b;--info:#4a9de0;--status-success-fg:#7ee6a3;--status-success-bg:#3ec46a29;--status-warning-fg:#f0c674;--status-warning-bg:#e0a32e29;--status-danger-fg:#f5938c;--status-danger-bg:#e5544b29;--status-neutral-fg:#a8b1af;--status-neutral-bg:#ffffff12;--status-info-fg:#8cc4ee;--status-info-bg:#4a9de029;--gradient-hero:linear-gradient(135deg, #0a0d0e 0%, #10201a 55%, #16351f 100%);--shadow-card:0 10px 30px #00000073;--shadow-raised:0 16px 40px #0000008c;--shadow-focus:0 0 0 3px #3ec46a47;--glow-accent:0 0 18px #3ec46a59;--table-header-bg:#1a1e21;--table-row-hover:#1e2327;--table-row-selected:#3ec46a1f;--table-zebra:transparent;--button-secondary-bg:transparent;--button-secondary-fg:var(--text-primary);--button-secondary-border:var(--border-strong);--button-secondary-bg-hover:transparent;--button-secondary-border-hover:var(--primary);--button-secondary-fg-hover:var(--primary);--login-card-bg:#fff;--login-card-fg:#111827;--login-card-muted:#667085;--login-card-border:#e6eaf0}[data-theme=professional-light]{--bee-green-600:#24913f;--bee-green-500:#2fa84f;--bee-green-400:#56d97f;--bee-green-050:#e7f7ec;--primary:var(--bee-green-600);--primary-hover:#1d7734;--primary-soft:var(--bee-green-050);--primary-contrast:#fff;--surface:#fff;--surface-raised:#fff;--background:#f4f6f8;--sidebar-bg:#1c2321;--sidebar-fg:#ffffffb3;--sidebar-fg-active:#fff;--sidebar-active-bg:var(--bee-green-600);--header-bg:#fff;--text-primary:#16211d;--text-secondary:#5c6b66;--text-inverse:#fff;--border:#dfe5e2;--border-strong:#c6cfcb;--success:#24913f;--warning:#b7791f;--danger:#c53727;--info:#2563eb;--status-success-fg:#14622c;--status-success-bg:#e7f7ec;--status-warning-fg:#8a5a12;--status-warning-bg:#fdf0d8;--status-danger-fg:#96271a;--status-danger-bg:#fbe3e0;--status-neutral-fg:#4a5754;--status-neutral-bg:#eef1f0;--status-info-fg:#1d4ed8;--status-info-bg:#dbeafe;--gradient-hero:linear-gradient(135deg, #16211d 0%, #1d4f31 55%, #2fa84f 100%);--shadow-card:0 6px 22px #16211d12;--shadow-raised:0 12px 30px #16211d1f;--shadow-focus:0 0 0 3px #2fa84f38;--glow-accent:none;--table-header-bg:#f1f4f2;--table-row-hover:#f4f7f5;--table-row-selected:var(--bee-green-050);--table-zebra:#fafbfa;--button-secondary-bg:transparent;--button-secondary-fg:var(--text-primary);--button-secondary-border:var(--border-strong);--button-secondary-bg-hover:transparent;--button-secondary-border-hover:var(--primary);--button-secondary-fg-hover:var(--primary);--login-card-bg:#fff;--login-card-fg:#111827;--login-card-muted:#667085;--login-card-border:#e6eaf0}*{box-sizing:border-box}body{font-family:var(--font-body);color:var(--ink-900);background:var(--paper-50);margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 1.25rem}a{color:var(--primary)}button,input,select{font-family:inherit;font-size:.9rem}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible,input[type=checkbox]:focus-visible,input[type=radio]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--primary)}.login-shell{background:var(--gradient-hero);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:var(--paper-0);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--shadow-raised);padding:2.25rem 2rem}.login-card .brand{font-family:var(--font-display);color:var(--login-card-fg);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.05rem;font-weight:700;display:flex}.login-card .brand-mark{background:linear-gradient(135deg, var(--primary), var(--navy-800));border-radius:3px;width:10px;height:10px;display:inline-block}.login-card h1{margin-bottom:.35rem;font-size:1.4rem}.login-card .subhead{color:var(--ink-500);margin:0 0 1.5rem;font-size:.88rem}.field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.field label{font-size:var(--text-label);color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.field input,.field select{border:1.5px solid var(--control-border);border-radius:var(--radius-md);background:var(--paper-0);color:var(--ink-900);padding:.6rem .7rem;transition:border-color .15s,box-shadow .15s}.field input:focus-visible,.field select:focus-visible{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.btn{border-radius:var(--radius-md);cursor:pointer;border:1.5px solid #0000;padding:.6rem 1.1rem;font-weight:600;transition:transform 80ms,box-shadow .15s,background .15s}.btn:active{transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn-primary{background:var(--primary);color:var(--primary-contrast);box-shadow:var(--shadow-card), var(--glow-accent)}.btn-primary:hover{background:var(--primary-hover)}.btn-block{width:100%}.btn-ghost{border-color:var(--line-200);color:var(--ink-900);background:0 0}.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}.btn-secondary{background:var(--button-secondary-bg);color:var(--button-secondary-fg);border-color:var(--button-secondary-border)}.btn-secondary:hover{background:var(--button-secondary-bg-hover);border-color:var(--button-secondary-border-hover);color:var(--button-secondary-fg-hover)}.alert-error{background:var(--status-overdue-bg);color:var(--status-overdue-fg);border-radius:var(--radius-md);margin:0 0 1rem;padding:.6rem .8rem;font-size:.85rem;font-weight:600}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);min-height:100vh;color:var(--sidebar-fg-active);flex-direction:column;flex-shrink:0;align-self:flex-start;padding:1.75rem 1.25rem 0;display:flex;position:sticky;top:0;overflow:hidden}.sidebar .brand{font-family:var(--font-display);align-items:center;gap:.5rem;margin-bottom:2.25rem;font-size:1.1rem;font-weight:700;display:flex}.sidebar .brand-mark{background:linear-gradient(135deg, var(--primary), var(--primary));border-radius:3px;flex-shrink:0;width:12px;height:12px}.sidebar-nav{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.sidebar-nav a{min-height:var(--nav-item-height);color:var(--sidebar-fg);border-radius:var(--radius-md);align-items:center;padding:.6rem .75rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-nav a:hover{color:var(--sidebar-fg-active);background:#ffffff14}.sidebar-nav a.active{background:var(--sidebar-active-bg);color:var(--sidebar-fg-active)}.sidebar a:focus-visible,.sidebar button:focus-visible{outline:2px solid var(--sidebar-fg-active);outline-offset:-2px}.sidebar-logout{z-index:1;margin-top:auto;padding-bottom:1.5rem;position:relative}.sidebar-logout button{color:#ffffffd9;width:100%;min-height:var(--control-height);border-radius:var(--radius-md);cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;padding:.55rem;font-weight:600}.sidebar-logout button:hover{color:var(--sidebar-fg-active);background:#ffffff29}.sidebar-skyline{opacity:.5;pointer-events:none;height:96px;position:absolute;bottom:0;left:0;right:0}.content-wrapper{flex-direction:column;flex:1;min-width:0;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.global-search{flex:1;max-width:360px}.global-search input{width:100%;min-height:var(--control-height);border:1px solid var(--control-border);border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.content{flex:1;min-width:0;padding:2rem 2.5rem 3rem}.content h1{color:var(--text-primary);font-size:1.5rem}.card{background:var(--paper-0);border:1px solid var(--line-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:1.75rem;padding:1.5rem}.form-grid{flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;display:flex}.form-grid .field{flex:200px;min-width:170px;margin-bottom:0}.form-grid .field-wide{flex-basis:100%}.field-wide textarea{box-sizing:border-box;inline-size:100%}.form-grid .btn{min-height:var(--control-height)}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.88rem}.data-table th{text-align:start;font-family:var(--font-display);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);border-bottom:1.5px solid var(--line-200);padding:0 .75rem .6rem}.data-table td{border-bottom:1px solid var(--line-200);vertical-align:middle;padding:.75rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--paper-50)}.mono{font-family:var(--font-mono)}.status-pill{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.2rem .55rem;font-weight:500;display:inline-flex}.status-due{background:var(--status-due-bg);color:var(--status-due-fg)}.status-paid{background:var(--status-paid-bg);color:var(--status-paid-fg)}.status-overdue{background:var(--status-overdue-bg);color:var(--status-overdue-fg)}.status-submitted,.status-upcoming{background:var(--primary-soft);color:var(--primary-hover)}.status-partially_paid{background:var(--status-due-bg);color:var(--status-due-fg)}.status-waived{background:var(--background);color:var(--text-secondary);border:1px solid var(--border)}.status-under_review{background:var(--primary-soft);color:var(--primary-hover)}.status-in_review{background:var(--status-due-bg);color:var(--status-due-fg)}.status-approved{background:var(--status-paid-bg);color:var(--status-paid-fg)}.status-rejected{background:var(--status-overdue-bg);color:var(--status-overdue-fg)}.status-completed{background:var(--background);color:var(--text-secondary);border:1px solid var(--border)}.priority-A{background:var(--status-overdue-bg);color:var(--status-overdue-fg)}.priority-B{background:var(--status-due-bg);color:var(--status-due-fg)}.priority-C{background:var(--primary-soft);color:var(--primary-hover)}.priority-D{background:var(--background);color:var(--text-secondary);border:1px solid var(--border)}.kpi-row{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.kpi-card{flex-direction:column;flex:1;gap:.35rem;min-width:140px;display:flex}.kpi-card-link{color:inherit;cursor:pointer;text-decoration:none;transition:transform .12s,box-shadow .12s}.kpi-card-link:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}.kpi-card-link:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.kpi-label{font-size:var(--text-label);color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.kpi-value{font-family:var(--font-mono);color:var(--text-primary);font-size:1.6rem;font-weight:600}.maintenance-panel{border-top:1px dashed var(--line-200);margin-top:1rem;padding-top:1rem}.sla-overdue{color:var(--status-overdue-fg);font-size:var(--text-label)}.sla-ok{color:var(--text-secondary);font-size:var(--text-label)}.notification-bell{position:relative}.notification-badge{background:var(--danger);color:var(--on-status);border-radius:999px;margin-inline-start:.4rem;padding:.05rem .4rem;font-size:.7rem}.notification-dropdown{inset-inline-end:0;background:var(--paper-0);border:1px solid var(--border);border-radius:var(--radius-md);width:280px;box-shadow:var(--shadow-raised);z-index:10;margin-top:.5rem;padding:.5rem;position:absolute;top:100%}.notification-item{text-align:start;cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;width:100%;padding:.5rem;display:block}.notification-item.unread{background:var(--primary-soft);font-weight:600}.notification-item:hover{background:var(--background)}.mark-paid-cell{align-items:center;gap:.5rem;display:flex}.mark-paid-cell input[type=date]{min-height:var(--control-height);border:1.5px solid var(--control-border);border-radius:var(--radius-md);padding:.35rem .5rem}.mark-paid-cell label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=720px){.app-shell{flex-direction:column}.sidebar{align-self:stretch;width:auto;min-height:0;position:static}.sidebar-skyline{display:none}.content{padding:1.5rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;display:grid}.btn{min-height:var(--button-height);justify-content:center;align-items:center;gap:var(--space-2);display:inline-flex}.btn-lg{min-height:var(--button-height-lg);font-size:1rem}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-danger{background:var(--danger);color:var(--on-status)}.btn-danger:hover{filter:brightness(1.08)}.btn-icon{width:var(--icon-button-size);height:var(--icon-button-size);min-height:var(--icon-button-size);border-radius:var(--radius-sm);border-color:var(--border);color:var(--text-secondary);background:0 0;padding:0}.btn-icon:hover{border-color:var(--primary);color:var(--primary)}.field input,.field select,.field textarea{min-height:var(--control-height);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);border:1.5px solid var(--control-border)}.field input::placeholder,.field textarea::placeholder{color:var(--text-secondary);opacity:.75}.field-error input,.field-error select,.field-error textarea{border-color:var(--danger)}.field-message{font-size:var(--text-caption);color:var(--text-secondary);text-transform:none;letter-spacing:0}.field-message-error{color:var(--danger)}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.card-title{font-size:var(--text-card-title);margin:0}.card-actions{gap:var(--space-2);flex-shrink:0;display:flex}.badge{padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-caption);white-space:nowrap;font-weight:700;line-height:1.6;display:inline-block}.badge-success{background:var(--status-success-bg);color:var(--status-success-fg)}.badge-warning{background:var(--status-warning-bg);color:var(--status-warning-fg)}.badge-danger{background:var(--status-danger-bg);color:var(--status-danger-fg)}.badge-neutral{background:var(--status-neutral-bg);color:var(--status-neutral-fg)}.badge-info{background:var(--status-info-bg);color:var(--status-info-fg)}.data-table tbody tr:nth-child(2n){background:var(--table-zebra)}.data-table tbody tr:hover{background:var(--table-row-hover)}.data-table tr.is-clickable{cursor:pointer}.data-table .is-numeric{text-align:end;font-variant-numeric:tabular-nums}.table-empty{color:var(--text-secondary);font-size:var(--text-body);margin:var(--space-4) 0}.modal-backdrop{background:var(--overlay);padding:var(--space-4);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);width:100%;max-width:520px;max-height:88vh;padding:var(--space-6);overflow-y:auto}.modal-danger{border-color:var(--danger)}.modal-header h2{margin:0 0 var(--space-2);font-size:var(--text-section-title)}.modal-description{margin:0 0 var(--space-4);color:var(--text-secondary);font-size:var(--text-body)}.modal-footer{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6);display:flex}.app-header{background:var(--header-bg);min-height:var(--header-height)}.global-search input{background:var(--surface);color:var(--text-primary);border-radius:var(--radius-sm)}.content h1{font-size:var(--text-page-title);color:var(--text-primary)}.hex-accent{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}[data-theme=beecontrols-dark] .sidebar-nav a.active{box-shadow:inset 3px 0 0 var(--primary)}@media (width<=1024px){.content{padding:var(--space-6) var(--space-4) var(--space-8)}.sidebar{width:176px;padding-inline:var(--space-2)}.sidebar-nav a{font-size:var(--text-caption);padding:.5rem .6rem}}@media (width<=720px){.app-header{flex-wrap:wrap;height:auto}.form-grid .field{min-width:100%}.modal{max-width:100%}:root{--text-page-title:var(--text-page-title-phone)}}.theme-choices{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.theme-choice{border:1.5px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface)}.theme-choice.is-default{border-color:var(--primary)}.theme-choice-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.theme-choice-actions{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.inline-check{align-items:center;gap:var(--space-2);font-size:var(--text-label);color:var(--text-primary);margin-bottom:var(--space-3);display:flex}.preview-bar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--primary-soft);color:var(--text-primary);font-size:var(--text-label);font-weight:600;display:flex}.theme-toggle select{height:var(--icon-button-size);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);padding:0 var(--space-2);font-size:var(--text-caption)}.login-card{background:var(--login-card-bg);color:var(--login-card-fg)}.login-card .field label{color:var(--login-card-muted)}.login-card .field input{background:var(--login-card-bg);color:var(--login-card-fg);border-color:var(--login-card-border)}.login-card .subhead{color:var(--login-card-muted)}[data-theme=beecontrols-dark] .login-shell,[data-theme=professional-light] .login-shell{position:relative;overflow:hidden}[data-theme=beecontrols-dark] .login-shell:before,[data-theme=professional-light] .login-shell:before{content:"";pointer-events:none;background-image:radial-gradient(circle at 18% 22%,#3ec46a29,#0000 42%),radial-gradient(circle at 84% 74%,#3ec46a1f,#0000 46%);position:absolute;inset:-10%}[data-theme=beecontrols-dark] .login-card,[data-theme=professional-light] .login-card{z-index:1;position:relative}.login-card .btn-ghost{color:var(--login-card-fg);border-color:var(--login-card-border)}.login-card .btn-ghost:hover{border-color:var(--primary);color:var(--primary)}.login-card .btn-secondary{background:var(--primary);color:var(--primary-contrast);border-color:#0000}.back-link{margin-bottom:var(--space-3);font-size:var(--text-label);font-weight:600;text-decoration:none;display:inline-block}.detail-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0;display:grid}.detail-grid dt{font-size:var(--text-caption);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1);font-weight:600}.detail-grid dd{font-size:var(--text-body);color:var(--text-primary);margin:0}.sidebar-group{margin-bottom:var(--space-3)}.sidebar-group-title{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:var(--nav-item-height);padding:var(--space-2) var(--space-3);color:var(--sidebar-fg);font-family:var(--font-display);font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;opacity:.72;background:0 0;border:0;font-weight:700;display:flex}.sidebar-group-title:hover{opacity:1}.sidebar{overflow-y:auto}:root{--font-arabic:"IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif}html[lang=ar] body,html[lang=ar] button,html[lang=ar] input,html[lang=ar] select,html[lang=ar] textarea{font-family:var(--font-arabic)}textarea{font:inherit;width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary)}textarea:focus-visible{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.text-secondary{color:var(--text-secondary)}a.btn{align-items:center;text-decoration:none;display:inline-flex}.truncate{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:28ch;display:inline-block;overflow:hidden}.page-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex}.page-header h1{font-size:var(--text-page-title);margin:0}.page-actions,.header-actions,.row-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.header-user{color:var(--text-secondary);font-size:var(--text-label)}.app-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.login-top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.detail-columns{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-block-end:var(--space-4);display:grid}.detail-list{gap:var(--space-2);margin:0;display:grid}.detail-row{gap:var(--space-3);grid-template-columns:minmax(120px,38%) 1fr;display:grid}.detail-row dt{color:var(--text-secondary);font-size:var(--text-label)}.detail-row dd{overflow-wrap:anywhere;margin:0}.inline-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-3);display:flex}.inline-form .field{flex:180px;min-width:180px;margin:0}.form-actions{gap:var(--space-2);grid-column:1/-1;align-items:center;display:flex}.field-wide{grid-column:1/-1}.action-panels{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));margin-block-end:var(--space-4);display:grid}.tabs{gap:var(--space-1);border-block-end:1px solid var(--border);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex}.tab{border:none;padding:var(--space-2) var(--space-3);color:var(--text-secondary);cursor:pointer;min-height:var(--control-height);background:0 0;border-block-end:2px solid #0000}.tab.active{color:var(--primary);border-block-end-color:var(--primary);font-weight:600}.tab:focus-visible,.link-button:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-sm);outline:none}.subtabs{gap:var(--space-2);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex}.subtab{background:var(--surface);border:1px solid var(--control-border);color:var(--text-primary);padding:var(--space-1) var(--space-4);min-height:var(--control-height);cursor:pointer;font:inherit;border-radius:999px}.subtab.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);font-weight:600}.subtab:focus-visible{box-shadow:var(--shadow-focus);outline:none}.toolbar{gap:var(--space-3);flex-wrap:wrap;align-items:end;margin-block-end:var(--space-3);display:flex}.toolbar .field{flex:1;min-inline-size:220px;max-inline-size:420px}.vo-item{gap:var(--space-3);padding-block:var(--space-2);border-block-end:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;display:flex}.vo-item .field{flex:110px;min-inline-size:0;margin:0}.vo-item .field:first-child{flex-basis:100%}.vo-item>.btn{flex:none}.cert-pick{gap:var(--space-2);padding-block:var(--space-2);border-block-end:1px solid var(--border);display:grid}.kpi-value.kpi-money{font-size:var(--text-section-title)}.money-list dd{text-align:end}.keep-case{text-transform:none;letter-spacing:0}.check-lines{margin:var(--space-3) 0;gap:var(--space-2);padding-inline-start:var(--space-6);display:grid}.check-lines li{padding-block:var(--space-2);border-block-end:1px solid var(--border)}.check-lines li.is-fail{border-inline-start:3px solid var(--danger);padding-inline-start:var(--space-2)}.check-text{margin-block-end:var(--space-1);display:block}.check-controls{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.check-note{min-height:var(--control-height);padding:0 var(--space-2);border:1.5px solid var(--control-border);border-radius:var(--radius-md);font:inherit;flex:160px}.check-note:focus-visible{box-shadow:var(--shadow-focus);outline:none}.seg{border:1.5px solid var(--control-border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.seg-btn{background:var(--surface);border:0;border-inline-end:1px solid var(--control-border);min-height:var(--control-height);min-width:56px;padding:0 var(--space-3);font:inherit;cursor:pointer;color:var(--text-primary)}.seg-btn:last-child{border-inline-end:0}.seg-btn:focus-visible{box-shadow:inset var(--shadow-focus);outline:none}.seg-btn.on{color:#fff;font-weight:700}.seg-btn.on-pass{background:var(--status-success-fg)}.seg-btn.on-fail{background:var(--status-danger-fg)}.seg-btn.on-na{background:var(--tone-muted)}.check-result{font-weight:700}.check-result.r-pass{color:var(--status-success-fg)}.check-result.r-fail{color:var(--status-danger-fg)}.ready-list{margin:var(--space-3) 0;padding:var(--space-3);gap:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;list-style:none;display:flex}.ready-list .is-ok{color:var(--status-success-fg);font-weight:600}.ready-list .is-missing{color:var(--text-secondary)}.ok-text{color:var(--status-success-fg);font-weight:600}.badge-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:inline-flex}.badge-row .sla-flag{color:var(--status-danger-fg)}.plain-fieldset{border:0;min-inline-size:0;margin:0;padding:0}.places-split{gap:var(--space-4);grid-template-columns:minmax(240px,340px) 1fr;align-items:start;display:grid}@media (width<=720px){.places-split{grid-template-columns:1fr}}.place-tree{padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);max-block-size:70vh;margin:0;list-style:none;overflow:auto}.tree-row{align-items:center;gap:var(--space-2);min-height:var(--control-height);padding-inline:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;display:flex}.tree-row:hover{background:var(--primary-soft)}.tree-row.is-selected{background:var(--primary-soft);color:var(--primary);box-shadow:inset 3px 0 0 var(--primary);font-weight:600}[dir=rtl] .tree-row.is-selected{box-shadow:inset -3px 0 0 var(--primary)}.tree-row:focus-visible{box-shadow:var(--shadow-focus);outline:none}.tree-row.depth-1{padding-inline-start:calc(var(--space-2) + 18px)}.tree-row.depth-2{padding-inline-start:calc(var(--space-2) + 36px)}.tree-row.depth-3{padding-inline-start:calc(var(--space-2) + 54px)}.tree-twisty{text-align:center;flex:0 0 18px;inline-size:18px}.tree-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-inline-size:0;overflow:hidden}.tree-count{font-size:var(--text-caption);color:var(--text-secondary)}.tree-count.is-out{color:var(--status-danger-fg);font-weight:700}.place-inspector{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);min-inline-size:0}.inspector-title{margin:0 0 var(--space-3);font-size:var(--text-section-title)}.inspector-actions{margin-block:var(--space-3);flex-wrap:wrap}.cell-sub{font-size:var(--text-caption);color:var(--text-secondary);font-weight:400;display:block}.link-button{color:var(--primary);cursor:pointer;font:inherit;text-align:start;background:0 0;border:none;padding:0}.link-button:disabled{color:var(--text-secondary);cursor:default}.plain-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.place-node{border-inline-start:2px solid var(--border);margin-block:var(--space-2);padding-inline-start:var(--space-3)}.place-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.place-children{margin-inline-start:var(--space-4)}.is-archived{opacity:.55}.tag-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag{align-items:center;gap:var(--space-1);background:var(--primary-soft);color:var(--primary);border-radius:var(--radius-pill);padding:2px var(--space-3);font-size:var(--text-label);display:inline-flex}.timeline{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.timeline li{border-inline-start:2px solid var(--border);padding-inline-start:var(--space-3)}.checkbox-group{margin:var(--space-3) 0;gap:var(--space-2);border:none;padding:0;display:grid}.checkbox-group legend{font-size:var(--text-label);color:var(--text-secondary);margin-block-end:var(--space-2)}.secret-box{padding:var(--space-3);background:var(--background);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);overflow-wrap:anywhere;margin-block-end:var(--space-3);display:block}.details-code{font-family:var(--font-mono);font-size:var(--text-caption);overflow-wrap:anywhere}.is-focus{outline:2px solid var(--primary);border-radius:var(--radius-sm);padding-inline:var(--space-1)}.brand-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.menu-toggle{color:var(--sidebar-fg-active);border-color:#ffffff40;display:none}@media (width<=860px){.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;min-height:0;padding-block:var(--space-3);position:static}.sidebar .brand{margin:0}.menu-toggle{display:inline-flex}.sidebar-menu{display:none}.sidebar.is-open .sidebar-menu{margin-block-start:var(--space-3);display:block}.sidebar-logout{position:static}.sidebar-skyline{display:none}.detail-row,.action-panels,.detail-columns{grid-template-columns:1fr}}.place-site{border-inline-start-color:var(--primary-soft);padding-block:var(--space-2)}.place-building{background:var(--background);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.place-title{font-weight:600;font-size:var(--text-card-title)}.place-meta{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-label)}.place-area{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.floor-badge{text-align:center;min-width:1.8em;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border-strong);font-family:var(--font-mono);font-size:var(--text-caption);display:inline-block}.asset-chips .tag{background:var(--status-info-bg);color:var(--status-info-fg)}.asset-chips .tag-danger{background:var(--status-danger-bg);color:var(--status-danger-fg)}.modal-subtitle{font-size:var(--text-label);color:var(--text-secondary);margin:var(--space-2) 0}.alert-success{background:var(--status-success-bg);color:var(--status-success-fg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.header-user{text-decoration:none}.header-user:hover{text-decoration:underline}.login-remember{margin-block:var(--space-2) var(--space-3)}.ltr-token{direction:ltr;unicode-bidi:isolate}.data-table .ltr-token{white-space:nowrap}.data-table .card-only{display:none}.kpi-strip{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-block-end:var(--space-4);display:grid}.kpi-tile{align-items:flex-start;gap:var(--space-1);width:100%;height:100%;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-inline-start:4px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;text-align:start;flex-direction:column;display:flex}.kpi-tile.is-action{cursor:pointer}.kpi-tile.is-action:hover{border-color:var(--primary)}.kpi-tile.is-action:focus-visible{box-shadow:var(--shadow-focus);outline:none}.kpi-tile.kpi-danger{border-inline-start-color:var(--danger)}.kpi-tile.kpi-danger .kpi-value{color:var(--status-danger-fg)}.kpi-tile.kpi-warning{border-inline-start-color:var(--warning)}.kpi-tile.kpi-warning .kpi-value{color:var(--status-warning-fg)}.kpi-tile .kpi-label{text-transform:none;letter-spacing:0}a.kpi-tile{text-decoration:none}.kpi-tile.kpi-muted{border-inline-start-color:var(--tone-muted)}.kpi-sub{font-size:var(--text-caption);color:var(--text-secondary);font-weight:600}.kpi-danger .kpi-sub{color:var(--status-danger-fg)}.tab-count{min-width:1.6em;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--status-neutral-bg);color:var(--status-neutral-fg);font-size:var(--text-caption);text-align:center;margin-inline-start:var(--space-2);display:inline-block}.tab.active .tab-count{background:var(--primary-soft);color:var(--primary-hover)}.list-tools{justify-content:space-between;align-items:center;gap:var(--space-2);margin-block:var(--space-3);flex-wrap:wrap;display:flex}.list-tools .inline-check{margin:0}.sla{flex-direction:column;gap:2px;display:inline-flex}.sla-flag{font-weight:700}.sla-dueSoon .sla-flag{color:var(--status-warning-fg)}.sla-overdue .sla-flag{color:var(--status-danger-fg)}.priority-indicator{align-items:center;gap:var(--space-1);padding:0 var(--space-2);border-radius:var(--radius-pill);white-space:nowrap;font-weight:700;display:inline-flex}.priority-indicator span[aria-hidden]{letter-spacing:-1px;font-size:.7em}.request-summary{z-index:5;align-items:center;gap:var(--space-3) var(--space-6);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex;position:sticky;top:0}.request-summary-id{align-items:center;gap:var(--space-2);font-size:var(--text-card-title);font-weight:700;display:flex}.request-summary-facts{gap:var(--space-2) var(--space-4);flex:1;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0;display:grid}.request-summary-facts dt{font-size:var(--text-caption);color:var(--text-secondary)}.request-summary-facts dd{overflow-wrap:anywhere;margin:0;font-weight:600}.request-summary-next dd{color:var(--primary-hover)}@media (width<=720px){.request-summary{position:static}.tabs{scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.tab{white-space:nowrap;flex:none}}.data-cards{margin:0;padding:0;list-style:none;display:none}@media (width<=720px){.data-cards{gap:var(--space-3);display:grid}.data-cards+.table-scroll{display:none}}.data-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.data-card.is-clickable{cursor:pointer}.data-card.is-clickable:hover{border-color:var(--border-strong)}.data-card-title{font-weight:700;font-size:var(--text-card-title);overflow-wrap:anywhere;margin-block-end:var(--space-2)}.data-card-fields{gap:var(--space-1);margin:0;display:grid}.data-card-field{gap:var(--space-2);grid-template-columns:minmax(96px,38%) 1fr;align-items:baseline;display:grid}.data-card-field dt{color:var(--text-secondary);font-size:var(--text-label)}.data-card-field dd{overflow-wrap:anywhere;margin:0}.data-card-field dd .truncate{white-space:normal;max-width:100%}.data-card-actions{gap:var(--space-2);border-block-start:1px solid var(--border);flex-wrap:wrap;margin-block-start:var(--space-3);padding-block-start:var(--space-3);display:flex}.data-card.is-overdue,.data-table tr.is-overdue td:first-child{box-shadow:inset 4px 0 0 var(--danger)}[dir=rtl] .data-card.is-overdue,[dir=rtl] .data-table tr.is-overdue td:first-child{box-shadow:inset -4px 0 0 var(--danger)}.theme-picker{gap:var(--space-3);border:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;padding:0;display:grid}.theme-option{align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:var(--space-3) var(--space-4);border:1.5px solid var(--control-border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;font-weight:600;display:flex}.theme-option.is-on{border-color:var(--primary);background:var(--primary-soft)}.theme-option:has(input:focus-visible){box-shadow:var(--shadow-focus)}.theme-swatch{border-radius:var(--radius-sm);flex-shrink:0;width:40px;height:24px}.theme-swatch-fm-engineering{background:linear-gradient(90deg,#0b1f33 0 50%,#1769aa 50% 80%,#008c91 80%)}.theme-swatch-classic{background:linear-gradient(90deg,#071426 0 50%,#6c4cf1 50%)}.data-table select,.data-card select{min-height:var(--control-height);padding:0 var(--space-2);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary)}.project-meta{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-block-end:var(--space-3);display:flex}.progress{align-items:center;gap:var(--space-2);min-width:120px;display:inline-flex}.progress-track{border-radius:var(--radius-pill);background:var(--status-neutral-bg);flex:1;min-width:60px;height:8px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:inherit;height:100%;display:block}.wbs-code{display:inline-block}.rev-cell{align-items:center;gap:var(--space-2);display:inline-flex}.rev-list{margin:0 0 var(--space-4);gap:var(--space-3);padding:0;list-style:none;display:grid}.rev-item{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);display:grid}.rev-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.rev-code{font-weight:700;font-size:var(--text-card-title)}.rev-comments,.rfi-text{white-space:pre-line;overflow-wrap:anywhere;margin:0}.rfi-answer{padding:var(--space-3);border-inline-start:3px solid var(--primary);background:var(--primary-soft);border-radius:var(--radius-sm)}.decision-box{gap:var(--space-3);padding:var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-md);margin-block-start:var(--space-3);display:grid}.lines{margin:var(--space-3) 0;gap:var(--space-2);border:0;padding:0;display:grid}.lines legend{font-size:var(--text-label);color:var(--text-secondary);margin-block-end:var(--space-2);font-weight:600}.lines-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) 110px auto;align-items:end;display:grid}.lines-row .field{margin:0}.pre-line{white-space:pre-line}.team-add,.rev-add{margin-block-start:var(--space-4)}.route-steps{gap:var(--space-1);font-size:var(--text-label);margin:0;padding:0;list-style:none;display:grid}.route-step{gap:var(--space-2);color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;display:flex}.route-step.is-done{color:var(--status-success-fg)}.route-step.is-current{color:var(--text-primary);font-weight:700}.route-row{align-items:center;gap:var(--space-3);padding-block:var(--space-2);border-block-end:1px solid var(--border);flex-wrap:wrap;display:flex}.route-chain{color:var(--text-secondary);flex:1}.route-edit{margin:var(--space-3) 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.section-title{font-size:var(--text-section-title);margin:var(--space-6) 0 var(--space-3)}.analytics-filters{max-width:640px;margin-block-end:var(--space-2)}.bar-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.bar-row{align-items:center;gap:var(--space-3);grid-template-columns:minmax(90px,34%) 1fr auto;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{background:var(--status-neutral-bg);border-radius:var(--radius-pill);height:12px;overflow:hidden}.bar-fill{height:100%;background:var(--primary);border-start-end-radius:4px;border-end-end-radius:4px;min-inline-size:2px;display:block}.bar-value{text-align:end;min-width:4ch;color:var(--text-primary)}.criticality{white-space:nowrap;font-weight:600}.criticality span[aria-hidden]{font-size:.8em}.crit-high{color:var(--status-danger-fg)}.crit-medium{color:var(--status-warning-fg)}.crit-low{color:var(--text-secondary)}.compliance{white-space:nowrap;font-weight:600}.compliance-ok{color:var(--status-success-fg)}.compliance-expiring{color:var(--status-warning-fg)}.compliance-expired{color:var(--status-danger-fg)}.qr{flex-shrink:0;display:block}.asset-label{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);color:#000;break-inside:avoid;background:#fff;border:1px solid #000;max-width:360px;display:flex}.asset-label-text{gap:2px;min-width:0;display:grid}.asset-label-text strong{overflow-wrap:anywhere;font-size:1rem}.asset-label-hint{color:#333}.label-sheet{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}@media print{body *{visibility:hidden}.label-sheet,.label-sheet *{visibility:visible}.label-sheet{grid-template-columns:repeat(2,1fr);gap:8mm;padding:10mm;position:absolute;inset:0}.modal-backdrop{background:0 0}}.empty-state{justify-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--background);display:grid}.empty-state-icon{background:var(--primary-soft);width:48px;height:48px;color:var(--primary-hover);border-radius:50%;place-items:center;font-size:1.4rem;display:grid}.empty-state-title{font-weight:700;font-size:var(--text-card-title);color:var(--text-primary);margin:0}.empty-state-text{max-width:52ch;color:var(--text-secondary);margin:0}.empty-state-action{gap:var(--space-2);flex-wrap:wrap;justify-content:center;margin-block-start:var(--space-2);display:flex}.row-menu{display:inline-flex;position:relative}.row-menu-button{font-size:1.25rem;line-height:1}.row-menu-list{z-index:60;min-width:200px;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);display:grid;position:fixed}.row-menu-item{min-height:var(--control-height);padding:0 var(--space-3);text-align:start;border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0}.row-menu-item:hover,.row-menu-item:focus-visible{background:var(--primary-soft);outline:none}.row-menu-item.is-danger{color:var(--danger)}.row-menu-item:disabled{opacity:.5;cursor:not-allowed}.row-actions .row-menu{margin-inline-start:auto}.breadcrumbs{gap:var(--space-2);font-size:var(--text-label);color:var(--text-secondary);flex-wrap:wrap;margin-block-end:var(--space-2);display:flex}.breadcrumbs>*+:before{content:"›";color:var(--border-strong);margin-inline-end:var(--space-2)}[dir=rtl] .breadcrumbs>*+:before{content:"‹"}.explorer{--tone-critical:var(--danger);--tone-warning:var(--warning-fill);--tone-ok:var(--success);gap:var(--space-4);grid-template-columns:280px minmax(0,1fr);align-items:start;display:grid}.explorer:has(.details-panel){grid-template-columns:280px minmax(0,1fr) 320px}.elevation{top:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-3);box-shadow:var(--shadow-card);position:sticky}.elevation-roof{height:18px;margin-inline:var(--space-4);background:linear-gradient(180deg, var(--navy-800), var(--navy-900));clip-path:polygon(6% 100%,50% 0,94% 100%)}.elevation-levels{border-inline:3px solid var(--navy-900);max-height:60vh;margin:0;padding:0;list-style:none;overflow-y:auto}.elevation-levels li.below-ground-start{border-block-start:4px solid var(--earth);margin-block-start:2px}.level{column-gap:var(--space-2);text-align:start;width:100%;padding:var(--space-2) var(--space-3);border:none;border-block-end:1px solid var(--border);border-inline-start:6px solid var(--tone-ok);background:repeating-linear-gradient(90deg, transparent 0 22px, color-mix(in srgb, var(--primary) 6%, transparent) 22px 34px), var(--surface);cursor:pointer;font:inherit;color:var(--text-primary);grid-template-rows:auto auto;grid-template-columns:2.2em 1fr;align-items:center;min-height:52px;display:grid}.level:hover{background-color:var(--primary-soft)}.level:focus-visible{box-shadow:inset 0 0 0 3px var(--focus-ring-color);outline:none}.level.is-selected{background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}.level.is-basement{background-color:var(--basement-bg)}.level-critical{border-inline-start-color:var(--tone-critical)}.level-warning{border-inline-start-color:var(--tone-warning)}.level-muted{border-inline-start-color:var(--tone-muted)}.level-no{font-family:var(--font-mono);text-align:center;border-radius:var(--radius-sm);background:var(--background);grid-row:span 2;padding-block:2px;font-weight:600}.level-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.level-chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.elevation-ground{background:repeating-linear-gradient(45deg, var(--earth) 0 6px, var(--earth-light) 6px 12px);border-radius:2px;height:6px}.elevation-wide{margin:var(--space-3) 0 0;font-size:var(--text-label);color:var(--text-secondary)}.chip{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--background);font-size:var(--text-caption);align-items:center;gap:2px;display:inline-flex}.chip-req{background:var(--status-warning-bg);color:var(--status-warning-fg)}.chip-out{background:var(--status-neutral-bg);color:var(--status-neutral-fg)}.legend{margin:var(--space-3) 0 0;gap:var(--space-1);font-size:var(--text-caption);color:var(--text-secondary);padding:0;list-style:none;display:grid}.dot{width:10px;height:10px;vertical-align:middle;border-radius:50%;margin-inline-end:var(--space-1);display:inline-block}.dot-critical{background:var(--tone-critical)}.dot-warning{background:var(--tone-warning)}.dot-muted{background:var(--tone-muted)}.dot-ok{background:var(--tone-ok)}.floor-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.floor-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.floor-nav{gap:var(--space-1);display:flex}.floor-nav .btn{min-width:var(--icon-button-size);min-height:var(--icon-button-size);padding:0}.floor-title{flex:1;min-width:0}.floor-title h2{font-size:var(--text-section-title);margin:0}.floor-tools{justify-content:space-between;gap:var(--space-2);margin-block:var(--space-3);flex-wrap:wrap;display:flex}.filter-chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.chip-btn{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);cursor:pointer;font:inherit;font-size:var(--text-label);color:var(--text-primary);min-height:var(--control-height)}.chip-btn.is-on{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.chip-btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.file-btn{cursor:pointer}.placing-hint{background:var(--status-info-bg);color:var(--status-info-fg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.plan{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--plan-bg);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.plan img{width:100%;height:auto;display:block}.plan.is-placing{outline:3px dashed var(--primary)}.plan-wrap{position:relative}.plan-zoom{justify-content:flex-end;align-items:center;gap:var(--space-1);margin-block-end:var(--space-2);display:flex}.plan-zoom .btn-icon{font-size:1.15rem;font-weight:700}.plan-zoom-level{text-align:center;min-width:4ch;font-size:var(--text-caption);color:var(--text-secondary)}.plan-stage{transform-origin:0 0;will-change:transform;position:relative}.plan{touch-action:pan-x pan-y}.plan.is-zoomed{touch-action:none;cursor:grab}.plan.is-zoomed:active{cursor:grabbing}.plan.is-placing{cursor:crosshair}.plan-hint{margin:var(--space-1) 0 0;font-size:var(--text-caption)}.pin-cluster{background:var(--navy-900)}.pin-cluster.pin-critical{background:var(--tone-critical)}.pin-cluster.pin-warning{background:var(--tone-warning)}.pin-count{border-radius:var(--radius-pill);background:var(--surface);min-width:1.6em;height:1.6em;color:var(--text-primary);place-items:center;font-weight:700;display:inline-grid}.plan-loading{padding:var(--space-8);text-align:center;color:var(--text-secondary)}.pin{border:2px solid var(--surface);border-radius:var(--radius-pill);font:inherit;font-size:var(--text-caption);color:var(--on-status);cursor:pointer;box-shadow:var(--shadow-raised);white-space:nowrap;align-items:center;gap:4px;max-width:220px;padding:2px 8px;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.plan{direction:ltr}.pin-label{direction:auto;text-overflow:ellipsis;unicode-bidi:plaintext;overflow:hidden}.pin-area{background:color-mix(in srgb, var(--navy-900) 82%, transparent)}.pin-asset.pin-ok{background:var(--tone-ok)}.pin-warning{background:var(--tone-warning)}.pin-critical{background:var(--tone-critical);animation:1.6s ease-in-out infinite pulse}.pin-asset.pin-muted{background:var(--tone-muted)}.pin.is-selected{outline:3px solid var(--primary);outline-offset:2px;z-index:2}.pin:focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:2px}@keyframes pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--danger) 18%, transparent)}}@media (prefers-reduced-motion:reduce){.pin-critical{animation:none}}.unplaced{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-block-start:var(--space-3);display:flex}.room-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.room-tile{border:1px solid var(--border);border-block-start:5px solid var(--tone-ok);border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface)}.room-tile.tone-critical{border-block-start-color:var(--tone-critical)}.room-tile.tone-warning{border-block-start-color:var(--tone-warning)}.room-tile.tone-muted{border-block-start-color:var(--tone-muted)}.room-tile-head{width:100%;padding:0 0 var(--space-2);cursor:pointer;font:inherit;color:inherit;text-align:start;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.asset-line{text-align:start;background:var(--background);border-radius:var(--radius-sm);width:100%;padding:var(--space-1) var(--space-2);cursor:pointer;font:inherit;font-size:var(--text-label);color:inherit;border:1px solid #0000}.asset-line.tone-critical{border-inline-start:4px solid var(--tone-critical)}.asset-line.tone-warning{border-inline-start:4px solid var(--tone-warning)}.asset-line.tone-muted{color:var(--text-secondary);text-decoration:line-through}.asset-line.is-selected{border-color:var(--primary)}.plan-tip{font-size:var(--text-caption);grid-column:1/-1}.explorer-empty{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center}.details-panel{top:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-raised);position:sticky}.details-head{justify-content:space-between;gap:var(--space-2);display:flex}.details-head h3{margin:var(--space-1) 0}.details-actions{gap:var(--space-2);flex-wrap:wrap;margin-block-start:var(--space-3);display:flex}.buildings-site h3{font-size:var(--text-card-title);margin:var(--space-3) 0 var(--space-2)}.building-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.building-card{gap:var(--space-1);padding:var(--space-4);border:1px solid var(--border);border-block-end:5px solid var(--tone-ok,var(--success));border-radius:var(--radius-md);color:inherit;background:var(--surface);text-decoration:none;display:grid}.building-card.has-open{border-block-end-color:var(--warning)}.building-card.has-overdue{border-block-end-color:var(--danger)}.building-card.has-out{border-block-end-color:var(--tone-muted)}.building-card-chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.chip-overdue{background:var(--status-danger-bg);color:var(--status-danger-fg)}.buildings-search{max-width:420px;margin-block-end:var(--space-4)}.building-card:hover,.building-card:focus-visible{box-shadow:var(--shadow-raised);outline:none}.building-card-icon{font-size:28px}.place-title-link{color:inherit;text-decoration:none}.place-title-link:hover{text-decoration:underline}@media (width<=1100px){:is(.explorer,.explorer:has(.details-panel)){grid-template-columns:240px minmax(0,1fr)}.details-panel{grid-column:1/-1;position:static}}@media (width<=760px){:is(.explorer,.explorer:has(.details-panel)){grid-template-columns:1fr}.elevation{position:static}.elevation-levels{max-height:260px}.details-panel{inset-block-end:0;inset-inline:0;z-index:40;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:70vh;border-block-end:0;padding-block-start:var(--space-6);position:fixed;top:auto;overflow-y:auto}.details-panel:before{content:"";border-radius:var(--radius-pill);background:var(--border-strong);width:40px;height:4px;margin-inline-start:-20px;position:absolute;inset-block-start:var(--space-2);inset-inline-start:50%}.details-head .link-button{min-width:var(--icon-button-size);min-height:var(--icon-button-size);font-size:1.2rem}}
