:root{--nav:#09294e;--accent:#0967d7;--bg:#f5f7fb;--line:#dce3ec;--text:#172033;--muted:#6c7789;--ok:#137c3c;--warn:#a45a05;--bad:#b42318}*{box-sizing:border-box}body{margin:0;font:14px/1.45 Inter,Arial,sans-serif;color:var(--text);background:var(--bg)}.sidebar{position:fixed;inset:0 auto 0 0;width:190px;background:var(--nav);color:white;padding:22px 14px;display:flex;flex-direction:column;gap:22px}.brand{font-weight:700;font-size:17px}.sidebar nav{display:grid;gap:7px}.sidebar a{color:#dce8f5;text-decoration:none;padding:11px 12px;border-radius:7px}.sidebar a.active{background:var(--accent);color:white}.sidebar a[aria-disabled=true]{opacity:.72;pointer-events:none}.sidebar-note{margin-top:auto;font-size:12px;color:#b8c8da}.content{margin-left:190px;padding:28px;min-width:0}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:20px}.page-header h1{margin:0 0 5px;font-size:25px}.page-header p,.drawer-head p{margin:0;color:var(--muted)}button,.secondary,.reset{font:inherit}.primary,.secondary{border:0;border-radius:7px;padding:10px 16px;cursor:pointer}.primary{background:var(--accent);color:white;font-weight:600}.secondary{background:white;border:1px solid var(--line);color:var(--text)}.filters{background:white;border:1px solid var(--line);border-radius:9px;padding:14px;display:grid;grid-template-columns:minmax(160px,1fr) minmax(150px,.8fr) minmax(220px,1.5fr) auto auto;gap:10px;align-items:end}.filters label,.drawer-form label{display:grid;gap:6px;font-size:12px;font-weight:600}.filters input,.filters select,.drawer-form input,.drawer-form select{width:100%;min-height:39px;border:1px solid #cfd8e4;border-radius:6px;padding:8px 10px;background:white;color:var(--text);font-size:14px}.reset{align-self:center;color:var(--accent);text-decoration:none;padding:9px}.summary{padding:16px 2px 10px}.table-wrap{background:white;border:1px solid var(--line);border-radius:9px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:1100px}th,td{padding:11px 10px;border-bottom:1px solid #e8edf3;text-align:left;vertical-align:top}th{background:#f9fafc;font-size:12px;white-space:nowrap}td small{display:block;color:var(--muted);margin-top:2px}.empty{text-align:center;padding:40px;color:var(--muted)}.status{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;white-space:nowrap}.status.active{background:#e6f5ec;color:var(--ok)}.status.broken{background:#fdecec;color:var(--bad)}.status.replacement{background:#fff0dd;color:var(--warn)}.status.reserve{background:#eaf2ff;color:#235ea8}.backdrop{position:fixed;inset:0;background:rgba(10,25,45,.22);z-index:19}.drawer{position:fixed;z-index:20;right:0;top:0;bottom:0;width:min(520px,100%);background:white;border-left:1px solid var(--line);transform:translateX(100%);transition:transform .18s ease;overflow:auto}.drawer.open{transform:translateX(0)}.drawer-head{padding:22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px}.drawer-head h2{margin:0 0 4px}.icon-btn{background:none;border:0;font-size:28px;cursor:pointer;color:var(--muted)}.drawer-form{padding:20px;display:grid;gap:15px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.catalog-info,.catalog-found,.catalog-new{padding:11px;border-radius:7px;background:#f0f6ff;color:#294c78;display:grid;gap:8px}.catalog-new{background:#fff7e8;color:#7c5018}.catalog-info small,.catalog-found small,.catalog-new small{display:block;font-weight:400}.drawer-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:9px;border-top:1px solid var(--line)}.error{margin:15px 20px 0;background:#fdecec;color:var(--bad);padding:11px;border-radius:7px}@media(max-width:900px){.sidebar{position:static;width:auto}.content{margin-left:0;padding:16px}.filters{grid-template-columns:1fr 1fr}.page-header{align-items:center}.grid2{grid-template-columns:1fr}}@media(max-width:560px){.filters{grid-template-columns:1fr}.page-header{display:grid}.primary{width:100%}}

/* Auth / users */
.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding-top:16px;display:grid;gap:5px}.sidebar-user span{font-size:12px;color:#b8c8da;overflow-wrap:anywhere}.logout-btn{border:1px solid rgba(255,255,255,.25);background:transparent;color:white;border-radius:6px;padding:7px 10px;cursor:pointer;margin-top:8px;width:100%}.link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.muted{color:var(--muted)}.role-chip{display:inline-block;margin:2px 4px 2px 0;padding:4px 8px;background:#edf4ff;color:#245c9f;border-radius:999px;font-size:12px}.users-table{min-width:760px}.card-form{max-width:820px;background:white;border:1px solid var(--line);border-radius:9px;padding:22px;display:grid;gap:18px}.card-form label{display:grid;gap:6px;font-size:13px;font-weight:600}.card-form input{width:100%;min-height:40px;border:1px solid #cfd8e4;border-radius:6px;padding:8px 10px;font:inherit}.card-form small{color:var(--muted);font-weight:400}.check-row{display:flex!important;align-items:center;gap:9px!important}.check-row input,.role-option input{width:auto;min-height:auto}.roles-fieldset{border:1px solid var(--line);border-radius:8px;padding:14px;display:grid;gap:8px}.roles-fieldset legend{font-weight:700;padding:0 6px}.role-option{display:flex!important;align-items:flex-start;gap:10px!important;padding:9px;border-radius:6px;background:#f9fafc}.role-option span{display:grid;gap:2px}.form-page-error{margin:0 0 14px;max-width:820px}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:#eef3f9}.login-card{width:min(420px,100%);background:white;border:1px solid var(--line);border-radius:12px;padding:30px}.login-brand{font-size:17px;font-weight:700;color:var(--nav);margin-bottom:24px}.login-card h1{margin:0 0 7px;font-size:25px}.login-card>p{margin:0 0 20px;color:var(--muted)}.login-form{display:grid;gap:15px}.login-form label{display:grid;gap:6px;font-size:13px;font-weight:600}.login-form input{width:100%;min-height:42px;border:1px solid #cfd8e4;border-radius:7px;padding:9px 11px;font:inherit}.login-form .primary{margin-top:4px}.login-error{margin:0 0 15px}
.standalone-workstation-form{max-width:760px;background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.standalone-workstation-form .drawer-head{display:none}.standalone-workstation-form .drawer-form{padding:22px}.standalone-workstation-form .drawer-actions [data-close-drawer]{display:none}

/* v0.3 — единый интерфейс, структура, динамическое оснащение */
.brand{display:flex;align-items:center;gap:9px}.brand-mark{font-size:18px}.success{background:#e9f7ef;color:#166534;padding:11px 13px;border-radius:7px;border:1px solid #c8ebd5}.info-note{background:#f0f6ff;border:1px solid #d7e6fb;color:#294c78;padding:11px 13px;border-radius:7px}.table-action{color:var(--accent);font-weight:600;text-decoration:none;white-space:nowrap}
.drawer{width:min(680px,100%)}.drawer-form textarea,.card-form textarea,.compact-form textarea{width:100%;border:1px solid #cfd8e4;border-radius:6px;padding:8px 10px;font:inherit;resize:vertical}.form-section{display:grid;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}.form-section h3{margin:0;font-size:16px}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.section-heading p{margin:3px 0 0;color:var(--muted);font-size:12px}.small-button{padding:7px 10px;white-space:nowrap}.dynamic-list{display:grid;gap:10px}.dynamic-row{border:1px solid var(--line);background:#fafbfd;border-radius:8px;padding:12px;display:grid;gap:10px}.dynamic-row-head{display:flex;justify-content:space-between;align-items:center}.icon-text-button{border:0;background:transparent;color:var(--bad);cursor:pointer;font:inherit;padding:4px}.password-form{max-width:560px}
.step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.step-card{background:white;border:1px solid var(--line);border-radius:10px;padding:18px;min-width:0}.step-card.wide{grid-column:1/-1}.step-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.step-title>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;background:#edf4ff;color:var(--accent);border-radius:50%;font-weight:700}.step-title h2{font-size:17px;margin:0 0 2px}.step-title p{margin:0;color:var(--muted);font-size:12px}.compact-form{display:grid;gap:10px;padding:13px;background:#f9fafc;border:1px solid #e8edf3;border-radius:8px;margin-bottom:14px}.compact-form label{display:grid;gap:5px;font-size:12px;font-weight:600}.compact-form input,.compact-form select{width:100%;min-height:38px;border:1px solid #cfd8e4;border-radius:6px;padding:8px 10px;background:white;font:inherit}.grid-form-4{grid-template-columns:1.1fr 1fr 1.2fr .7fr}.grid-form-3{grid-template-columns:1.2fr 1fr 1.2fr}.span-all{grid-column:1/-1}.mini-list{display:grid;gap:6px;max-height:230px;overflow:auto}.mini-list>div{padding:9px 10px;border-bottom:1px solid #edf1f5;display:grid;gap:2px}.mini-list small{color:var(--muted)}.compact-table table{min-width:700px}.compact-table th,.compact-table td{padding:9px}.step-card .empty{padding:20px}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-shell{width:min(920px,100%);display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.login-side{background:var(--nav);color:white;padding:34px;display:flex;flex-direction:column;justify-content:space-between;gap:60px}.login-side h2{margin:0 0 10px;font-size:28px}.login-side p{margin:0;color:#cbd8e7;max-width:360px}.login-side small{color:#aebfd2}.login-side-brand{font-size:18px}.login-card{width:auto;border:0;border-radius:0;padding:44px}.login-card h1{font-size:27px}.login-mobile-brand{display:none;font-weight:700;color:var(--nav);margin-bottom:24px}.login-help{font-size:12px!important;margin-top:18px!important;color:var(--muted)!important}
@media(max-width:1000px){.grid-form-4{grid-template-columns:1fr 1fr}.grid-form-3{grid-template-columns:1fr 1fr}.step-grid{grid-template-columns:1fr}.step-card.wide{grid-column:auto}}
@media(max-width:700px){.login-shell{grid-template-columns:1fr}.login-side{display:none}.login-card{padding:28px}.login-mobile-brand{display:block}.section-heading{display:grid}.grid-form-4,.grid-form-3{grid-template-columns:1fr}}

/* v0.3.1 — compact/readable UI + structure workflow */
:root{--nav:#082d55;--nav2:#0a3768;--accent:#0b67d1;--accent-hover:#095ab8;--bg:#f3f6fa;--line:#dce4ee;--line2:#e7edf4;--text:#12213a;--muted:#64748b;--card:#fff;--field:#fff;--danger:#c92a2a;--ok:#157347}
html{scroll-behavior:smooth}body{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.42;background:var(--bg);color:var(--text)}
.sidebar{width:224px;padding:22px 14px;background:linear-gradient(180deg,var(--nav),#062647);gap:18px}.brand{padding:0 6px;font-size:18px;letter-spacing:.1px}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.35);border-radius:7px}.sidebar nav{gap:5px}.sidebar a{padding:10px 11px;border-radius:8px;font-weight:500}.sidebar a:hover{background:rgba(255,255,255,.07)}.sidebar a.active{background:#0c69d5;box-shadow:inset 3px 0 0 #72b7ff}.sidebar-user{padding:14px 8px 0}.content{margin-left:224px;padding:24px 28px 42px;max-width:1700px}.page-header{margin-bottom:16px}.compact-header h1,.page-header h1{font-size:26px;letter-spacing:-.2px}.page-header p{max-width:920px}.primary{background:var(--accent);border:1px solid var(--accent);box-shadow:none}.primary:hover{background:var(--accent-hover)}.secondary{border:1px solid #cfd9e5}.primary,.secondary,.logout-btn{min-height:38px}.error,.success,.info-note{margin-left:0;margin-right:0}
input,select,textarea,button{font-family:inherit}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:#5599ea!important;box-shadow:0 0 0 3px rgba(11,103,209,.10)}

.structure-nav{display:flex;gap:6px;align-items:center;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;margin-bottom:12px}.structure-nav a{display:inline-flex;align-items:center;gap:7px;color:#334155;text-decoration:none;white-space:nowrap;padding:7px 9px;border-radius:7px;font-size:13px}.structure-nav a:hover{background:#f2f6fb;color:var(--accent)}.structure-nav span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eaf2fd;color:var(--accent);font-size:12px;font-weight:700}
.structure-summary{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px;margin-bottom:14px}.structure-summary>div{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 12px;display:flex;align-items:baseline;gap:7px}.structure-summary strong{font-size:19px}.structure-summary span{font-size:12px;color:var(--muted)}
.structure-stack{display:grid;gap:14px}.structure-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.structure-card{scroll-margin-top:15px;background:var(--card);border:1px solid var(--line);border-radius:11px;overflow:hidden}.structure-card.emphasized{border-color:#c6d9f1}.structure-card-head{display:flex;align-items:flex-start;gap:11px;padding:14px 16px 11px;border-bottom:1px solid var(--line2);background:#fbfcfe}.structure-card-head h2{font-size:17px;margin:0 0 2px}.structure-card-head p{font-size:12px;color:var(--muted);margin:0}.step-badge{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#eaf2fd;color:var(--accent);font-weight:800}.structure-card-body{padding:14px 16px}.split-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);gap:14px}.form-panel{padding:14px 16px;background:#f8fafc;border:1px solid var(--line2);border-radius:9px;display:grid;gap:11px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:1/-1}.field{display:grid;gap:5px;min-width:0}.field>span{font-size:12px;font-weight:650;color:#334155}.field b{color:#d92d20;font-weight:700}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:38px;padding:8px 10px;border:1px solid #cfd9e5;border-radius:7px;background:var(--field);color:var(--text);font-size:14px}.field textarea{min-height:58px;resize:vertical}.field input::placeholder{color:#98a3b2}.form-submit{display:flex;align-items:end;justify-content:flex-end}.form-submit .primary{white-space:nowrap}.records-panel{border:1px solid var(--line2);border-radius:9px;padding:10px 12px;min-width:0}.records-title{font-size:12px;font-weight:700;color:#475569;margin:0 0 6px}.clean-list{max-height:190px;overflow:auto}.clean-list>div{padding:8px 4px;border-bottom:1px solid #edf1f5}.clean-list>div:last-child{border-bottom:0}.clean-list strong{font-size:13px}.clean-list small{font-size:11px;line-height:1.35}.scroll-list{max-height:230px}
.building-form{margin:14px 16px;display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,.95fr) minmax(180px,1.2fr) minmax(90px,.55fr);gap:11px 12px}.building-address{grid-column:1/4}.building-submit{grid-column:4/5;align-self:end}.building-table{margin:0 16px 16px}.building-table table{min-width:760px}.compact-table table{min-width:620px}.compact-table th,.compact-table td{padding:9px 10px}.compact-table th{font-size:11px;text-transform:uppercase;letter-spacing:.02em;color:#526174}.table-wrap{box-shadow:none}.empty{padding:26px}

/* all application pages */
.filters{border-radius:10px;padding:12px 14px;box-shadow:none}.summary{padding:12px 2px 8px}.card-form{border-radius:11px;box-shadow:none}.roles-fieldset{background:#fbfcfe}.role-option{border:1px solid transparent}.role-option:has(input:checked){border-color:#b9d3f4;background:#f0f6ff}.drawer{box-shadow:-18px 0 45px rgba(11,31,57,.12)}.drawer-form{gap:13px}.dynamic-row{background:#fbfcfe}.login-shell{box-shadow:0 18px 50px rgba(18,33,58,.08)}.login-card{background:#fff}

@media(max-width:1200px){.structure-two-col{grid-template-columns:1fr}.building-form{grid-template-columns:1fr 1fr}.building-address{grid-column:1/-1}.building-submit{grid-column:1/-1}.structure-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.sidebar{position:static;width:auto}.content{margin-left:0;padding:18px}.split-layout{grid-template-columns:1fr}.structure-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.structure-nav{align-items:stretch}.structure-summary{grid-template-columns:1fr 1fr}.form-grid-2,.building-form{grid-template-columns:1fr}.span-2,.building-address,.building-submit{grid-column:auto}.structure-card-head{padding:13px}.structure-card-body{padding:12px}.building-form{margin:12px}.building-table{margin:0 12px 12px}.form-submit{justify-content:stretch}.form-submit .primary{width:100%}}

/* v0.4.0 — вкладки структуры, компактные зависимые формы и область доступа */
.top-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px;padding:6px;background:#fff;border:1px solid #dbe5f2;border-radius:12px;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.top-tabs a{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border-radius:8px;color:#334155;text-decoration:none;font-weight:700;font-size:14px;white-space:nowrap}
.top-tabs a:hover{background:#f1f5f9;color:#0f4fc4}
.top-tabs a.active{background:#e9f2ff;color:#0b63ce}
.compact-tabs{max-width:max-content}
.tab-card{background:#fff;border:1px solid #dbe5f2;border-radius:14px;padding:18px;margin-bottom:18px}
.tab-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.tab-card-head h2{margin:0 0 4px;font-size:20px}.tab-card-head p{margin:0;color:#64748b;font-size:13px}
.narrow-tab-card{max-width:980px}
.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.span-3{grid-column:1/-1}
.inline-compact-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.inline-compact-form .field{min-width:150px}.inline-compact-form .grow{flex:1 1 280px}.compact-action{height:40px;margin-bottom:0}
.floor-short{max-width:150px}.compact-building-form{margin-bottom:16px}
.branch-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 4px}
.branch-access-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #dbe5f2;border-radius:10px;background:#fff}
.branch-access-option input{margin-top:3px}.branch-access-option span{display:flex;flex-direction:column;gap:2px}.branch-access-option small{color:#64748b}
.plain-section{border:0;border-bottom:1px solid #e5e7eb;border-radius:0;padding:0 0 18px;margin:0 0 18px}.plain-section:last-of-type{border-bottom:0}
.catalog-select-note{padding:10px 12px;background:#f8fafc;border:1px solid #dbe5f2;border-radius:10px;color:#475569;font-size:13px}
@media(max-width:1000px){.form-grid-3{grid-template-columns:1fr 1fr}.form-grid-3 .span-3{grid-column:1/-1}.branch-access-grid{grid-template-columns:1fr}}
@media(max-width:720px){.form-grid-3{grid-template-columns:1fr}.form-grid-3 .span-2,.form-grid-3 .span-3{grid-column:auto}.top-tabs{overflow-x:auto;flex-wrap:nowrap}.floor-short{max-width:none}.inline-compact-form{display:grid;grid-template-columns:1fr}.compact-action{width:100%}}

/* v0.5.0 — building scopes, sockets, bulk Excel, richer catalogs and compact ARM report */
.subsection-title{margin:16px 0 8px;font-size:14px}.building-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field-help{margin-top:8px;color:var(--muted);font-size:12px}.inline-editor summary{cursor:pointer;color:var(--accent);font-weight:700}.inline-editor form{display:grid;grid-template-columns:minmax(140px,1fr) 90px minmax(220px,1.5fr) auto;gap:7px;margin-top:8px;min-width:520px}.inline-editor input,.mini-edit-form input,.mini-edit-form select{min-height:34px;border:1px solid #cfd9e5;border-radius:6px;padding:6px 8px;background:#fff}.mini-edit-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mini-edit-form input{max-width:130px}.socket-row{background:#fff}.required-field>span:after,.required-field:before{color:#d92d20}.catalog-model-form{display:grid;grid-template-columns:1fr 1.2fr .55fr 1fr .5fr auto;align-items:end}.catalog-component-form{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(170px,.7fr) minmax(190px,.8fr) minmax(190px,.8fr) auto;align-items:end}.rule-checkbox{display:flex!important;align-items:flex-start;gap:8px!important;padding:9px 10px;border:1px solid var(--line);background:#fff;border-radius:8px}.rule-checkbox input{width:auto!important;min-height:auto!important;margin-top:3px}.rule-checkbox span{display:grid;gap:2px}.rule-checkbox small{color:var(--muted);font-weight:400}.serial-list summary{cursor:pointer;color:var(--accent);font-size:12px;margin-top:3px}.serial-list span{display:block;font-size:11px;color:var(--muted);padding:2px 0}.bulk-card{max-width:1050px}.bulk-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bulk-steps>div{display:grid;grid-template-columns:34px 1fr;gap:2px 10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.bulk-steps>div>span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eaf2fd;color:var(--accent);font-weight:800}.bulk-steps strong{font-size:14px}.bulk-steps small{color:var(--muted)}.report-filters{grid-template-columns:minmax(150px,.8fr) minmax(150px,.8fr) minmax(145px,.7fr) minmax(260px,1.4fr) auto}.report-search{min-width:0}.filter-actions{display:flex;gap:7px;align-items:end}.report-kpis{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:14px 0}.report-kpis>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 10px}.report-kpis span{font-size:12px;color:var(--muted)}.report-kpis strong{font-size:24px;color:#173a67}.report-kpis small{grid-column:1/-1;color:var(--muted);font-size:11px}.report-kpis .warning-kpi strong{color:#b45309}.compact-report-table table{min-width:980px}.compact-report-table td{vertical-align:middle}.actions-cell{display:flex;gap:8px;flex-wrap:wrap}.detail-stack{padding:18px;display:grid;gap:14px}.detail-section{border:1px solid var(--line);border-radius:9px;padding:12px 14px}.detail-section h3{margin:0 0 10px;font-size:15px}.detail-grid{display:grid;grid-template-columns:120px 1fr;gap:7px 12px;margin:0}.detail-grid dt{color:var(--muted);font-size:12px}.detail-grid dd{margin:0;font-weight:600}.detail-line{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #edf1f5}.detail-line:last-child{border-bottom:0}.detail-line span{color:var(--muted);text-align:right}.workstation-view-card{max-width:900px}.workstation-view-card .drawer-head{display:none}
@media(max-width:1200px){.catalog-model-form,.catalog-component-form{grid-template-columns:1fr 1fr}.catalog-model-form .compact-action,.catalog-component-form .compact-action{grid-column:1/-1}.report-filters{grid-template-columns:1fr 1fr 1fr}.report-search{grid-column:1/3}.filter-actions{grid-column:3}.report-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.building-access-grid{grid-template-columns:1fr}.bulk-steps{grid-template-columns:1fr}.report-filters{grid-template-columns:1fr}.report-search,.filter-actions{grid-column:auto}.report-kpis{grid-template-columns:1fr 1fr}.inline-editor form{grid-template-columns:1fr;min-width:260px}.detail-grid{grid-template-columns:1fr}.detail-line{display:grid}.detail-line span{text-align:left}}
/* v0.6.0 */
.catalog-item-actions{display:grid;gap:10px;min-width:560px}.catalog-item-actions form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.catalog-item-actions input,.catalog-item-actions select{min-width:120px}.known-equipment-form{grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end}.room-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:14px}.room-admin-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fff}.room-admin-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:10px}.room-admin-head strong{display:block}.room-admin-head small{display:block;color:var(--muted);margin-top:4px}.count-chip{font-size:12px;background:#eef5ff;color:#1769d1;padding:5px 8px;border-radius:999px;white-space:nowrap}.socket-admin-list{display:grid;gap:7px;margin-top:10px}.socket-admin-row,.socket-add-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,1fr) auto;gap:8px;align-items:center}.socket-add-row{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.empty-inline{color:var(--muted);font-size:13px;padding:6px 0}.back-link{display:inline-block;margin-bottom:6px;color:#1769d1;text-decoration:none;font-weight:600}.catalog-rule-editor{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.catalog-rule-editor input,.catalog-rule-editor select{min-width:120px}
@media(max-width:900px){.known-equipment-form{grid-template-columns:1fr 1fr}.room-cards{grid-template-columns:1fr}.catalog-item-actions{min-width:0}.socket-admin-row,.socket-add-row{grid-template-columns:1fr}}

/* v0.7.0 — карточки, автопоиск, быстрый отчёт */
.autocomplete{position:relative;min-width:0}.autocomplete input[type="search"]{width:100%}.autocomplete-results{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow:auto;background:#fff;border:1px solid var(--border,#d8e1ee);border-radius:10px;box-shadow:0 12px 30px rgba(18,45,82,.16);padding:4px}.autocomplete-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:7px;color:#162945;cursor:pointer;font-size:13px}.autocomplete-option:hover,.autocomplete-option:focus{background:#edf5ff;outline:none}.autocomplete-empty{padding:10px;color:#6c7c91;font-size:13px}.entity-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.entity-card{display:flex;flex-direction:column;gap:6px;padding:15px;border:1px solid #dbe4ef;border-radius:12px;background:#fff;text-decoration:none;color:#17304f;min-width:0}.entity-card:hover{border-color:#8db7eb;background:#fbfdff}.entity-card-title{font-weight:700;font-size:15px}.entity-card-meta{font-size:12px;color:#6a7c92}.entity-card-line{font-size:13px;overflow-wrap:anywhere}.empty-card{padding:24px;color:#6c7c91;border:1px dashed #cdd8e6;border-radius:12px}.card-search{margin-bottom:14px}.standalone-card{max-width:1060px;margin:0 auto;background:#fff;border:1px solid #dbe4ef;border-radius:14px;padding:18px}.detail-row-link{display:block;padding:9px 0;border-bottom:1px solid #edf1f6;color:#145fc6;text-decoration:none}.detail-row-link:last-child{border-bottom:0}.chip-list{display:flex;flex-wrap:wrap;gap:7px}.info-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf5ff;color:#174d89;font-size:12px}.muted{color:#77879a}.kpi-link{text-decoration:none;color:inherit}.report-summary-line{display:flex;gap:24px;flex-wrap:wrap;margin:8px 0 12px;color:#5b6e84;font-size:13px}.flexible-report-filters{grid-template-columns:minmax(150px,1fr) minmax(120px,1fr) minmax(170px,1fr) minmax(140px,.8fr) minmax(240px,1.6fr) auto}.filter-actions{display:flex;align-items:end;gap:7px}.catalog-item-actions form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;align-items:end;margin-bottom:8px}.catalog-item-actions form button{align-self:end}[data-location-room] option[hidden]{display:none}
@media(max-width:1050px){.flexible-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-actions{grid-column:1/-1}.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.flexible-report-filters{grid-template-columns:1fr}.report-kpis{grid-template-columns:1fr}.entity-card-grid{grid-template-columns:1fr}}

/* v0.7.0: cards, typeahead, report, equipment location */
/* v0.8.0 — карточки как основной интерактивный реестр */
.cards-filter-panel{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(220px,1.35fr) auto;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin-bottom:12px}
.cards-filter-panel label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#31445e;min-width:0}.cards-filter-panel input,.cards-filter-panel select{width:100%;min-height:38px;border:1px solid #cfd9e5;border-radius:7px;padding:7px 9px;background:#fff;font:inherit}.cards-filter-panel .grow{grid-column:auto}.cards-room-filters{grid-template-columns:minmax(180px,.9fr) minmax(150px,.6fr) minmax(260px,1.5fr) auto}.cards-type-filters{grid-template-columns:minmax(280px,1fr) auto}.cards-summary-strip{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:8px 0 14px;padding:9px 12px;border-radius:9px;background:#f7f9fc;border:1px solid #e1e7ef;color:#5c6e84;font-size:12px}.cards-summary-strip strong{font-size:15px;color:#173a67}.warning-text strong{color:#b45309}.entity-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.allocation-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.allocation-badge.assigned{background:#e7f7ec;color:#1f7a3f}.allocation-badge.unassigned{background:#fff3df;color:#a85b00}.allocation-badge.room{background:#eaf2ff;color:#145fc6}.allocation-badge.type{background:#f1ecff;color:#6545b9}.workstation-card.unassigned{border-style:dashed;background:#fffdf9}.card-action-hint{margin-top:auto;padding-top:5px;color:#1165ce;font-weight:700;font-size:12px}.unallocated-callout{display:grid;gap:4px;margin:0 18px 14px;padding:12px 14px;border-radius:10px;background:#fff7e8;border:1px solid #f3d39a;color:#765019}.unallocated-callout span{font-size:12px}.compact-detail-grid{margin:0 18px 16px}.card-editor{margin:14px 0;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.card-editor summary{cursor:pointer;padding:11px 13px;font-weight:800;color:#234267}.card-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 13px 13px}.card-edit-grid label,.equipment-instance-form label{display:grid;gap:5px;font-size:12px;font-weight:700}.card-edit-grid input,.card-edit-grid select,.card-edit-grid textarea,.equipment-instance-form input,.equipment-instance-form select,.equipment-instance-form textarea{width:100%;min-height:36px;border:1px solid #cfd9e5;border-radius:7px;padding:7px 9px;background:#fff;font:inherit}.span-2{grid-column:1/-1}.card-edit-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.equipment-items-section{display:grid;gap:9px}.equipment-instance-card{border:1px solid #dfe6ef;border-radius:9px;background:#fff}.equipment-instance-card>summary{cursor:pointer;display:flex;justify-content:space-between;gap:14px;padding:11px 12px;align-items:center}.equipment-instance-card>summary>span:first-child{display:grid;gap:2px}.equipment-instance-card>summary small{font-size:11px;color:#6c7d91}.instance-location{font-size:12px;color:#52687f;text-align:right}.equipment-instance-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;border-top:1px solid #edf1f5;background:#fbfcfe}.serial-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:7px;color:#162945;cursor:pointer;font-size:13px}.serial-option:hover,.serial-option:focus{background:#edf5ff;outline:none}.cards-workstations-grid .entity-card{min-height:190px}
@media(max-width:1180px){.cards-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-filter-panel .filter-actions{grid-column:1/-1}.cards-room-filters,.cards-type-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.cards-filter-panel,.cards-room-filters,.cards-type-filters{grid-template-columns:1fr}.cards-filter-panel .filter-actions{grid-column:auto}.card-edit-grid,.equipment-instance-form{grid-template-columns:1fr}.span-2{grid-column:auto}.equipment-instance-card>summary{display:grid}.instance-location{text-align:left}}

/* v0.9.0 — отчёт только для просмотра, редактирование из карточки кабинета */
.drawer{width:min(900px,100%)}
.report-page-header{align-items:flex-start}.report-export-details{position:relative;min-width:170px}.report-export-details>summary{list-style:none;display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.report-export-details>summary::-webkit-details-marker{display:none}.report-export-details[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.report-export-form{position:absolute;z-index:30;right:0;top:calc(100% + 8px);width:min(620px,calc(100vw - 230px));max-height:76vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px rgba(14,35,64,.18);padding:14px}.export-panel-head,.export-submit-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.export-panel-head{padding-bottom:10px;border-bottom:1px solid #edf1f5}.export-panel-head>div:first-child{display:grid;gap:2px}.export-panel-head small{color:var(--muted)}.export-panel-actions{display:flex;gap:6px;flex-wrap:wrap}.tiny-button{padding:5px 8px;font-size:12px}.export-columns-list{display:grid;gap:4px;padding:10px 0;max-height:48vh;overflow:auto}.export-column-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border:1px solid #e8edf3;border-radius:7px;background:#fbfcfe}.export-column-row label{display:flex;align-items:center;gap:8px;min-width:0}.export-column-row label span{overflow:hidden;text-overflow:ellipsis}.export-order-buttons{display:flex;gap:4px}.icon-order{width:28px;height:28px;border:1px solid #d5deea;border-radius:6px;background:#fff;color:#285b96;cursor:pointer}.icon-order:hover{background:#edf5ff}.export-submit-row{padding-top:10px;border-top:1px solid #edf1f5}
.room-card-head{position:sticky;top:0;z-index:4;background:#fff}.room-title-line{display:flex;align-items:center;gap:10px}.room-title-line h2{margin:0}.room-card-body{padding:16px;display:grid;gap:12px}.room-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.room-kpi-strip>div{border:1px solid #dfe6ef;background:#fbfcfe;border-radius:9px;padding:9px 11px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.room-kpi-strip span{font-size:11px;color:var(--muted)}.room-kpi-strip strong{font-size:20px;color:#173a67}.room-section{border:1px solid #dfe6ef;border-radius:11px;background:#fff;overflow:hidden}.room-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #edf1f5;background:#fbfcfe}.room-section-head h3{margin:0;font-size:15px}.room-section-head p{margin:2px 0 0;color:var(--muted);font-size:11px}.section-count{display:inline-flex;min-width:24px;justify-content:center;padding:2px 7px;border-radius:999px;background:#eaf2ff;color:#145fc6;font-size:11px;vertical-align:middle}.room-basic-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px 14px}.room-basic-form label,.room-inline-form label,.room-employee-assign-form label,.socket-card-row label{display:grid;gap:4px;font-size:11px;font-weight:700;color:#31445e}.room-basic-form input,.room-basic-form select,.room-basic-form textarea,.room-inline-form input,.room-inline-form select,.room-employee-assign-form select,.socket-card-row input{width:100%;min-height:35px;border:1px solid #cfd9e5;border-radius:7px;padding:7px 9px;background:#fff;font:inherit}.room-form-actions{display:flex;justify-content:flex-end;gap:8px}.room-readonly-grid{padding:12px 14px}.room-table-list{display:grid}.room-list-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;padding:9px 14px;border-bottom:1px solid #edf1f5}.room-list-row:last-child{border-bottom:0}.socket-card-row span{font-size:10px;color:var(--muted)}.room-add-box{border-top:1px solid #edf1f5;background:#fbfcfe}.room-add-box>summary{cursor:pointer;padding:10px 14px;color:#1265cf;font-weight:800;font-size:12px}.room-inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;padding:0 14px 12px}.room-arm-list,.room-equipment-list{display:grid}.room-arm-card,.room-equipment-card{border-bottom:1px solid #edf1f5;background:#fff}.room-arm-card:last-child,.room-equipment-card:last-child{border-bottom:0}.room-arm-card>summary,.room-equipment-card>summary{cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 14px}.room-arm-card>summary>div:first-child,.room-equipment-card>summary>div:first-child{display:grid;gap:2px;min-width:0}.room-arm-card>summary span,.room-equipment-card>summary span{font-size:11px;color:var(--muted)}.arm-summary-right{display:grid;justify-items:end;gap:3px;text-align:right}.room-arm-content,.room-equipment-content{padding:0 14px 14px;background:#fbfcfe;border-top:1px solid #edf1f5}.arm-quick-info{display:flex;gap:14px;flex-wrap:wrap;padding:10px 0;color:#5c6e84;font-size:11px}.arm-edit-form,.technical-inline-form{padding:10px 0}.room-employee-assign-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:8px;align-items:end;padding:10px 0;border-top:1px dashed #dbe4ef}.nested-editor{border-top:1px dashed #dbe4ef;margin-top:4px}.nested-editor>summary{cursor:pointer;padding:10px 0;color:#225f9f;font-weight:800;font-size:12px}.arm-tech-readonly{padding:9px 0;color:#5d6f84;font-size:11px}.equipment-assignment-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-top:10px;border-top:1px dashed #dbe4ef}.room-equipment-add-form{margin:0;border:0;border-radius:0;background:transparent;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 14px 14px}.room-equipment-add-form label{display:grid;gap:4px;font-size:11px;font-weight:700}.employee-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:12px 14px}.employee-chip{display:grid;gap:2px;border:1px solid #e1e8f1;border-radius:8px;padding:9px;background:#fbfcfe}.employee-chip span,.employee-chip small{color:var(--muted);font-size:11px}.employee-add-form{padding-top:0}.room-section .empty-inline{padding:12px 14px}.room-section .autocomplete-results{z-index:90}
@media(max-width:1000px){.report-export-form{width:min(620px,calc(100vw - 40px))}.room-kpi-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.drawer{width:100%}.room-card-body{padding:10px}.room-kpi-strip{grid-template-columns:1fr 1fr}.room-basic-form,.room-equipment-add-form{grid-template-columns:1fr}.room-list-row,.room-inline-form,.room-employee-assign-form{grid-template-columns:1fr}.span-2{grid-column:auto}.room-arm-card>summary,.room-equipment-card>summary,.equipment-assignment-row{display:grid}.arm-summary-right{justify-items:start;text-align:left}.report-export-form{position:fixed;left:10px;right:10px;top:70px;width:auto}}

/* v1.0.0 — читаемый рабочий интерфейс, история, контроль качества */
:root{--nav:#0b315b;--accent:#0b6bdc;--bg:#f3f6fa;--line:#d9e2ee;--text:#13243d;--muted:#687991;--soft:#f8fafc;--shadow:0 8px 26px rgba(19,48,84,.07)}
body{font-size:14px;color:var(--text);background:var(--bg)}
.sidebar{width:216px;padding:22px 14px;background:linear-gradient(180deg,#0c355f 0%,#082b50 100%)}
.content{margin-left:216px;padding:26px 28px 42px;max-width:none}
.brand{font-size:18px;line-height:1.25;padding:0 8px}.sidebar nav{gap:5px}.sidebar a{padding:10px 12px;font-weight:650;border-radius:8px}.sidebar a.active{box-shadow:inset 3px 0 0 #76b5ff;background:#0d70df}
.page-header{margin-bottom:18px}.page-header h1{font-size:28px;letter-spacing:-.3px}.page-header p{max-width:780px;font-size:13px}
.primary,.secondary,.link-button{min-height:38px;border-radius:8px}.primary{box-shadow:0 3px 10px rgba(11,107,220,.13)}
input,select,textarea{outline:none}.content input:focus,.content select:focus,.content textarea:focus{border-color:#78afe9!important;box-shadow:0 0 0 3px rgba(11,107,220,.08)}

/* Отчёт: фильтры и показатели не должны слипаться */
.report-filters.flexible-report-filters{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(170px,1fr) minmax(170px,1fr) minmax(140px,.8fr) minmax(260px,1.7fr);gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;box-shadow:var(--shadow);align-items:end}
.report-filters label{display:grid;gap:6px;min-width:0;color:#344861;font-size:12px;font-weight:750}.report-filters input,.report-filters select{width:100%;min-height:40px;border:1px solid #cbd7e5;border-radius:8px;padding:8px 10px;background:#fff;font:inherit}.report-filters .filter-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-start}.report-kpis{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:10px!important;margin:14px 0!important}.report-kpis>div,.report-kpis>a{min-height:98px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;padding:13px 14px!important;display:grid!important;grid-template-columns:1fr auto!important;gap:4px 10px!important;align-content:center!important;text-decoration:none!important;box-shadow:var(--shadow)}.report-kpis span{font-size:12px!important;color:var(--muted)!important;line-height:1.25}.report-kpis strong{font-size:27px!important;line-height:1;color:#173a67!important}.report-kpis small{grid-column:1/-1;font-size:11px!important;color:#7a8798!important}.report-kpis .warning-kpi strong{color:#b85c00!important}.report-summary-line{display:flex;gap:18px;flex-wrap:wrap;margin:10px 2px;color:#52677f;font-size:12px}.compact-report-table{box-shadow:var(--shadow);border-radius:12px}.compact-report-table table{min-width:980px}.compact-report-table td,.compact-report-table th{padding:12px 11px}.compact-report-table tbody tr:hover{background:#f7fbff}

/* Карточка кабинета — рабочий центр */
.drawer{width:min(980px,100%);box-shadow:-14px 0 36px rgba(12,36,66,.13)}.drawer-head{padding:18px 20px}.drawer-head h2{font-size:23px}.drawer-head-actions{display:flex;gap:8px;align-items:center}.room-card-body{padding:14px 16px 24px;gap:13px}.room-kpi-strip{grid-template-columns:repeat(4,minmax(110px,1fr));gap:9px}.room-kpi-strip>div{min-height:58px;background:#fff;box-shadow:0 2px 8px rgba(22,52,84,.04)}
.room-card-nav{position:sticky;top:78px;z-index:3;display:flex;gap:5px;flex-wrap:wrap;padding:7px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px rgba(22,52,84,.06)}.room-card-nav a{color:#3d5874;text-decoration:none;font-size:12px;font-weight:750;padding:7px 10px;border-radius:7px}.room-card-nav a:hover{background:#edf5ff;color:#0b66ca}
.room-section{scroll-margin-top:132px;border-radius:12px;box-shadow:0 2px 10px rgba(18,46,78,.035)}.room-section-head{padding:12px 14px}.room-section-head h3{font-size:15px}.room-basic-form{gap:11px;padding:14px}.room-basic-form input,.room-basic-form select,.room-basic-form textarea,.room-inline-form input,.room-inline-form select,.room-employee-assign-form select,.socket-card-row input{min-height:39px;font-size:13px}.room-arm-card>summary,.room-equipment-card>summary{padding:13px 14px}.room-arm-card>summary strong,.room-equipment-card>summary strong{font-size:13px}.room-arm-card[open]>summary,.room-equipment-card[open]>summary{background:#f6faff}.room-arm-content,.room-equipment-content{padding:0 14px 14px}.arm-quick-info{align-items:center;padding:11px 0}.equipment-qr-row{display:flex;justify-content:flex-end;padding-top:10px}.nested-editor>summary,.room-add-box>summary{font-size:12px}.employee-chip-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}

/* История */
.history-list{display:grid}.history-row{display:grid;grid-template-columns:125px minmax(0,1fr);gap:12px;padding:10px 14px;border-bottom:1px solid #edf1f5;align-items:start}.history-row:last-child{border-bottom:0}.history-row time{font-size:11px;color:#718096;font-variant-numeric:tabular-nums}.history-row>div{display:grid;gap:2px}.history-row strong{font-size:12px}.history-row span{font-size:11px;color:var(--muted)}.detail-section-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.attention-pill{background:#fff1df;color:#a45200;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.needs-attention-section{border-color:#efcf99!important;background:#fffdf8!important}.readable-detail-stack{padding:15px;gap:11px}.readable-detail-stack .detail-section{border:1px solid #e0e7f0;border-radius:11px;padding:14px;background:#fff}.readable-detail-stack .detail-section h3{margin:0 0 10px;font-size:14px}

/* Экран «Требует внимания» */
.attention-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:16px}.attention-kpis a{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center;min-height:84px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 14px;text-decoration:none;color:var(--text);box-shadow:var(--shadow)}.attention-kpis span{font-size:12px;color:var(--muted)}.attention-kpis strong{font-size:25px;color:#b35a00}.attention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.attention-section{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.attention-section h2{display:flex;justify-content:space-between;align-items:center;margin:0;padding:12px 14px;border-bottom:1px solid #edf1f5;font-size:14px;background:#fbfcfe}.attention-section h2 span{background:#fff1df;color:#a45200;padding:3px 8px;border-radius:999px;font-size:11px}.attention-row{display:grid;gap:2px;padding:10px 14px;border-bottom:1px solid #edf1f5;text-decoration:none;color:var(--text)}.attention-row:hover{background:#f7fbff}.attention-row strong{font-size:12px}.attention-row span{font-size:11px;color:var(--muted)}

/* Excel preview */
.bulk-preview-card{border-color:#bfd5f0}.bulk-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:14px}.bulk-preview-grid>div{display:grid;gap:2px;border:1px solid #dfe7f0;background:#fbfcfe;border-radius:9px;padding:10px}.bulk-preview-grid span{font-size:11px;color:var(--muted)}.bulk-preview-grid strong{font-size:21px;color:#174a82}.bulk-preview-grid small{font-size:10px;color:#8794a5}.bulk-confirm-row{display:flex;justify-content:flex-end;gap:8px;padding:14px;border-top:1px solid #edf1f5}.inline-alert{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:9px;margin:10px 14px}.inline-alert.warning{background:#fff6e8;border:1px solid #f0ce91;color:#765019}.inline-alert span{font-size:12px}

/* Справочник известных экземпляров — больше воздуха и читаемая форма */
.catalog-item-actions{min-width:0!important;display:grid!important;gap:8px!important}.catalog-item-actions form{display:grid!important;grid-template-columns:repeat(4,minmax(130px,1fr))!important;gap:8px!important;padding:10px!important;border:1px solid #e2e8f0!important;border-radius:9px!important;background:#fbfcfe!important;align-items:end!important}.catalog-item-actions input,.catalog-item-actions select{width:100%!important;min-width:0!important;min-height:36px!important}.catalog-item-actions form button{min-height:36px!important}.catalog-rule-editor{display:grid!important;grid-template-columns:1.4fr 1fr 1fr 1fr auto!important;gap:8px!important;align-items:end!important}.catalog-rule-editor input,.catalog-rule-editor select{min-width:0!important;width:100%!important}

/* Дружественные ошибки */
.friendly-error-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f3f6fa}.friendly-error-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:var(--shadow)}.friendly-error-card h1{margin:0 0 8px;font-size:22px}.friendly-error-card p{color:var(--muted);margin:0 0 18px}

@media(max-width:1250px){.report-filters.flexible-report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.attention-grid{grid-template-columns:1fr}.catalog-item-actions form{grid-template-columns:repeat(2,minmax(130px,1fr))!important}}
@media(max-width:900px){.sidebar{position:static;width:auto}.content{margin-left:0;padding:18px}.report-filters.flexible-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.room-card-nav{top:0}.catalog-rule-editor{grid-template-columns:1fr 1fr!important}}
@media(max-width:620px){.report-filters.flexible-report-filters,.report-kpis,.room-kpi-strip{grid-template-columns:1fr!important}.report-filters .filter-actions{grid-column:auto}.history-row{grid-template-columns:1fr}.catalog-item-actions form,.catalog-rule-editor{grid-template-columns:1fr!important}.page-header h1{font-size:23px}}

/* v1.0.1 — безопасные поиски, предварительные данные АРМ, сотрудники по нескольким зданиям */
.ui-notice{position:fixed;z-index:60;right:22px;bottom:22px;width:min(430px,calc(100% - 32px));padding:12px 14px;border-radius:10px;border:1px solid #efcf91;background:#fff7e8;color:#744c18;box-shadow:0 12px 36px rgba(18,45,75,.16);font-weight:650}.ui-notice.error{border-color:#f0b6b1;background:#fff0ef;color:#8d241d}.ui-notice.success{border-color:#b9dfc7;background:#effaf3;color:#17643a}
.autocomplete-empty.warning{color:#85510d;background:#fff7e8;border-top:1px solid #f2d6a3}
.inline-alert.neutral{background:#f5f8fc;border:1px solid #dce5ef;color:#40566f}
.prelocation-shell{padding:16px 18px 28px;display:grid;gap:12px}.prelocation-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:12px;box-shadow:0 2px 10px rgba(18,46,78,.035)}.prelocation-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f5;padding-bottom:10px}.prelocation-panel-head>div{display:grid;grid-template-columns:auto auto;gap:1px 8px;align-items:center}.prelocation-panel-head small{grid-column:2;color:var(--muted);font-size:11px}.step-chip{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eaf3ff;color:#0b67cf;font-weight:800}.prelocation-known-grid{margin:0}.prelocation-panel label{display:grid;gap:5px;font-size:12px;font-weight:700}.prelocation-panel input,.prelocation-panel select{width:100%;min-height:39px;border:1px solid #cfd9e6;border-radius:8px;padding:8px 10px;background:#fff;font:inherit}.prelocation-panel .inline-alert{margin:0}.prelocation-panel .drawer-actions{padding-top:10px}.building-selector-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;margin:8px 0 10px}.building-selector-toolbar input{width:100%;min-height:36px;border:1px solid #cfd8e4;border-radius:7px;padding:7px 9px;font:inherit}.building-checkboxes legend small{font-weight:400;color:var(--muted);margin-left:5px}.building-checkboxes .check-card[hidden]{display:none!important}
@media(max-width:700px){.prelocation-panel-head{align-items:flex-start;flex-direction:column}.building-selector-toolbar{grid-template-columns:1fr 1fr}.building-selector-toolbar input{grid-column:1/-1}}

/* ================================================================
   v1.1.0 — CARD FIRST UX / unified visual system
   Independent entity cards first, relations second.
   ================================================================ */
:root{
  --v11-nav:#07345f;
  --v11-nav-deep:#062b51;
  --v11-accent:#0b6bdc;
  --v11-accent-hover:#0759bd;
  --v11-accent-soft:#edf5ff;
  --v11-page:#f4f7fb;
  --v11-card:#fff;
  --v11-border:#dbe4ef;
  --v11-text:#112845;
  --v11-muted:#687b92;
  --v11-success:#16834b;
  --v11-success-bg:#e9f8ef;
  --v11-warning:#a85b00;
  --v11-warning-bg:#fff4df;
  --v11-danger:#bf3030;
  --v11-danger-bg:#fff0ef;
  --v11-radius:13px;
  --v11-shadow:0 4px 18px rgba(18,48,82,.055);
}
*{box-sizing:border-box}
body.v11-body{margin:0;min-height:100%;background:var(--v11-page);color:var(--v11-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.45}
body.v11-body h1,body.v11-body h2,body.v11-body h3,body.v11-body p{margin-top:0}
body.v11-body a{color:inherit}
body.v11-body input,body.v11-body select,body.v11-body textarea,body.v11-body button{font:inherit}
body.v11-body input:not([type=checkbox]):not([type=radio]),body.v11-body select,body.v11-body textarea{min-height:42px;border:1px solid #cdd9e7;border-radius:8px;background:#fff;color:var(--v11-text);padding:9px 11px;outline:0;transition:border-color .15s,box-shadow .15s}
body.v11-body input:focus,body.v11-body select:focus,body.v11-body textarea:focus{border-color:#6aa6e8;box-shadow:0 0 0 3px rgba(11,107,220,.11)}
body.v11-body textarea{min-height:92px;resize:vertical}
body.v11-body .primary,body.v11-body .secondary,body.v11-body .link-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 14px;border-radius:8px;text-decoration:none;font-weight:700;cursor:pointer;white-space:nowrap}
body.v11-body .primary{border:1px solid var(--v11-accent);background:var(--v11-accent);color:#fff}
body.v11-body .primary:hover{background:var(--v11-accent-hover);border-color:var(--v11-accent-hover)}
body.v11-body .secondary{border:1px solid #cdd9e7;background:#fff;color:#254361}
body.v11-body .secondary:hover{background:#f6f9fd;border-color:#adc4dd}
body.v11-body .danger{border-color:#efb7b2!important;color:#a32924!important;background:#fff!important}

.v11-sidebar{position:fixed;inset:0 auto 0 0;width:220px;padding:18px 12px 14px;background:linear-gradient(180deg,var(--v11-nav) 0%,var(--v11-nav-deep) 100%);color:#fff;display:flex;flex-direction:column;z-index:40;overflow-y:auto}
.v11-brand{display:flex;align-items:center;gap:11px;padding:2px 8px 20px;text-decoration:none;color:#fff;font-weight:800;font-size:18px;line-height:1.2;letter-spacing:.1px}
.v11-brand-mark{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid rgba(255,255,255,.45);border-radius:10px;background:rgba(255,255,255,.06);font-size:19px}
.v11-nav{display:grid;gap:4px;min-width:0}.v11-nav>a,.v11-nav-group>a{display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 10px;border-radius:8px;color:#e9f2fd;text-decoration:none;font-size:13px;transition:background .12s,color .12s}.v11-nav>a>span,.v11-nav-group>a>span{width:19px;text-align:center;opacity:.9}.v11-nav a b{font-weight:700}.v11-nav>a:hover,.v11-nav-group>a:hover,.v11-nav>a.active,.v11-nav-group>a.active{background:#1170d8;color:#fff}
.v11-nav-group{display:grid;gap:2px}.v11-subnav{display:none;margin:1px 0 4px 36px;padding-left:8px;border-left:1px solid rgba(255,255,255,.18)}.v11-nav-group.open .v11-subnav{display:grid}.v11-subnav a{padding:6px 8px;border-radius:6px;color:#cfe0f4;text-decoration:none;font-size:12px}.v11-subnav a:hover,.v11-subnav a.active{background:rgba(255,255,255,.09);color:#fff}
.v11-user-card{margin-top:auto;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 9px;border-top:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);border-radius:10px}.v11-user-card>div:nth-child(2){min-width:0;display:grid}.v11-user-card strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v11-user-card small{font-size:10px;color:#c6d8ea;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v11-user-card form{margin:0}.v11-user-card button{border:0;background:transparent;color:#d9e7f6;padding:5px;cursor:pointer}.v11-avatar{display:grid!important;place-items:center!important;width:38px;height:38px;border-radius:50%;background:#edf5ff!important;color:#1b5fa7!important;font-size:12px!important;font-weight:800}
.v11-content{margin-left:220px;min-height:100vh;padding:24px 28px 44px;max-width:1900px}

.v11-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}.v11-page-head h1{margin:0 0 4px;font-size:27px;line-height:1.15;letter-spacing:-.3px}.v11-page-head p{margin:0;color:var(--v11-muted);font-size:13px}.v11-kicker{text-transform:uppercase;letter-spacing:.09em!important;font-size:10px!important;font-weight:800;color:#4d7097!important;margin-bottom:5px!important}.v11-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.v11-breadcrumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 11px;color:#6b7f95;font-size:12px}.v11-breadcrumbs a{text-decoration:none;color:#4f6f91}.v11-breadcrumbs span{opacity:.7}

.v11-panel{background:var(--v11-card);border:1px solid var(--v11-border);border-radius:var(--v11-radius);box-shadow:var(--v11-shadow);overflow:hidden}.v11-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:15px 17px;border-bottom:1px solid #edf1f6}.v11-panel-head h2{margin:0 0 3px;font-size:16px}.v11-panel-head p{margin:0;color:var(--v11-muted);font-size:12px}.v11-panel-head>a{font-size:12px;color:var(--v11-accent);text-decoration:none;font-weight:700}
.v11-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.v11-kpi{display:flex;gap:12px;align-items:center;min-height:98px;padding:15px;background:#fff;border:1px solid var(--v11-border);border-radius:var(--v11-radius);box-shadow:var(--v11-shadow);text-decoration:none}.v11-kpi:hover{border-color:#b8cee6;background:#fbfdff}.v11-kpi-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:11px;background:var(--v11-accent-soft);color:var(--v11-accent);font-size:21px;font-weight:800}.v11-kpi>div{display:grid;gap:1px;min-width:0}.v11-kpi small{color:var(--v11-muted);font-size:11px}.v11-kpi strong{font-size:27px;line-height:1.1}.v11-kpi span:not(.v11-kpi-icon){font-size:11px;color:#6e8197}.v11-kpi.v11-warn .v11-kpi-icon{background:var(--v11-warning-bg);color:var(--v11-warning)}.v11-kpi.v11-warn strong{color:var(--v11-warning)}
.v11-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;margin-bottom:14px}.v11-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.v11-quick{display:grid;grid-template-columns:38px 1fr;gap:2px 10px;align-items:center;min-height:78px;padding:12px;border:1px solid var(--v11-border);border-radius:10px;text-decoration:none;background:#fff}.v11-quick:hover{background:#f8fbff;border-color:#a8c8ea}.v11-quick>span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--v11-accent-soft);color:var(--v11-accent);font-size:18px}.v11-quick strong{font-size:13px}.v11-quick small{font-size:11px;color:var(--v11-muted)}
.v11-attention-list,.v11-history-list{display:grid}.v11-attention-list a{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px 15px;border-bottom:1px solid #edf1f6;text-decoration:none}.v11-attention-list a:last-child{border-bottom:0}.v11-attention-list a:hover{background:#fafcff}.v11-attention-list span{font-size:12px;color:#3b526c}.v11-attention-list strong{font-size:17px;color:var(--v11-warning)}.v11-history-list>div{display:grid;grid-template-columns:125px 115px 1fr;gap:12px;padding:10px 16px;border-bottom:1px solid #edf1f6;align-items:center}.v11-history-list>div:last-child{border-bottom:0}.v11-history-list time,.v11-history-list span{font-size:11px;color:var(--v11-muted)}.v11-history-list strong{font-size:12px}

.v11-segment-tabs{display:flex;gap:2px;align-items:center;margin:0 0 13px;padding:4px;background:#eaf0f7;border:1px solid #dbe4ef;border-radius:10px;width:max-content;max-width:100%;overflow:auto}.v11-segment-tabs a{min-width:110px;text-align:center;padding:8px 13px;border-radius:7px;text-decoration:none;color:#47617d;font-size:12px;font-weight:700;white-space:nowrap}.v11-segment-tabs a.active{background:#fff;color:var(--v11-accent);box-shadow:0 1px 4px rgba(20,48,80,.1)}
.v11-filter-panel{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;padding:14px;background:#fff;border:1px solid var(--v11-border);border-radius:var(--v11-radius);box-shadow:var(--v11-shadow);margin-bottom:12px;align-items:end}.v11-filter-panel label{display:grid;gap:5px;color:#425a74;font-size:11px;font-weight:700;min-width:0}.v11-filter-panel .wide{grid-column:span 2}.v11-filter-panel input,.v11-filter-panel select{width:100%;min-width:0}.v11-filter-actions{display:flex;gap:7px;align-items:end;flex-wrap:wrap}.v11-list-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:11px 2px;color:#698097;font-size:12px}.v11-list-summary strong{font-size:15px;color:#244563}.success-text{color:var(--v11-success)}.warning-text{color:var(--v11-warning)}
.v11-card-list{display:grid;gap:8px}.v11-list-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto 20px;gap:11px;align-items:center;padding:12px 14px;background:#fff;border:1px solid var(--v11-border);border-radius:11px;text-decoration:none;box-shadow:0 2px 9px rgba(18,48,82,.035)}.v11-list-card:hover{border-color:#9fc2e7;background:#fbfdff}.v11-list-card.warning-card{background:#fffdfa;border-color:#ecd7b3}.v11-list-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#eff5fc;color:#2f6ba9;font-size:18px}.v11-list-main{min-width:0;display:grid;gap:3px}.v11-list-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v11-list-title strong{font-size:14px}.v11-list-main p{margin:0;font-size:12px;color:#465d77;overflow-wrap:anywhere}.v11-list-main small{color:var(--v11-muted);font-size:11px}.v11-status,.v11-allocation-tag{display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:750;white-space:nowrap}.v11-status.active,.v11-status.in_use,.v11-status.in_service,.v11-status.assigned,.v11-allocation-tag.assigned{background:var(--v11-success-bg);color:var(--v11-success)}.v11-status.reserve,.v11-status.neutral{background:#edf2f7;color:#57708a}.v11-status.broken,.v11-status.replacement,.v11-status.decommissioned{background:var(--v11-danger-bg);color:var(--v11-danger)}.v11-allocation-tag.unassigned,.v11-allocation-tag.building-only{background:var(--v11-warning-bg);color:var(--v11-warning)}.v11-chevron{font-size:24px;color:#7f96ae}.v11-empty{padding:28px;text-align:center;color:var(--v11-muted);font-size:12px;background:#fff;border:1px dashed #cbd8e6;border-radius:10px}.v11-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:23px;padding:0 7px;border-radius:999px;background:#edf5ff;color:#2369ad;font-weight:800;font-size:11px}
.v11-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.v11-type-tile{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 14px;background:#fff;border:1px solid var(--v11-border);border-radius:11px;text-decoration:none}.v11-type-tile>span{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#eff5fc}.v11-type-tile div{display:grid;gap:2px}.v11-type-tile small{font-size:10px;color:var(--v11-muted)}.v11-type-tile b{font-size:11px;color:var(--v11-accent)}

.v11-entity-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:16px 18px;background:#fff;border:1px solid var(--v11-border);border-radius:var(--v11-radius);box-shadow:var(--v11-shadow)}.v11-entity-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--v11-accent-soft);color:var(--v11-accent);font-size:21px}.v11-entity-title{min-width:0;flex:1}.v11-entity-title>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.v11-entity-title h1{margin:0;font-size:23px}.v11-entity-title p{margin:4px 0 0;color:var(--v11-muted);font-size:11px}.v11-entity-head>.v11-head-actions{margin-left:auto}.v11-entity-tabs{display:flex;gap:20px;align-items:center;padding:0 16px;background:#fff;border:1px solid var(--v11-border);border-radius:10px;margin-bottom:12px;overflow:auto}.v11-entity-tabs button,.v11-entity-tabs a{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;padding:12px 1px 10px;color:#4c657e;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;text-decoration:none}.v11-entity-tabs .active{color:var(--v11-accent);border-bottom-color:var(--v11-accent)}.v11-tab-panel[hidden]{display:none!important}
.v11-two-column{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr);gap:12px}.v11-stack{display:grid;gap:12px;align-content:start}.narrow-panel{max-width:100%}.v11-form-pad{padding:15px}.v11-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.v11-field{display:grid;gap:5px;font-size:11px;font-weight:700;color:#425a74;min-width:0}.v11-field.span-2,.span-2{grid-column:1/-1}.v11-form-grid .span-3{grid-column:1/-1}.v11-read-grid{display:grid;grid-template-columns:145px minmax(0,1fr);gap:0 14px;padding:4px 0}.v11-read-grid>div{display:contents}.v11-read-grid dt,.v11-read-grid span:first-child{padding:8px 0;border-bottom:1px solid #edf1f6;color:var(--v11-muted);font-size:11px}.v11-read-grid dd,.v11-read-grid b,.v11-read-grid strong{margin:0;padding:8px 0;border-bottom:1px solid #edf1f6;font-size:12px}.v11-panel-footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:12px 15px;border-top:1px solid #edf1f6}.v11-inline-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap;padding:13px 15px}.v11-inline-form label{display:grid;gap:5px;min-width:160px;flex:1;font-size:11px;font-weight:700;color:#425a74}.v11-relation-list{display:grid}.v11-relation-list>div,.v11-relation-list>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 14px;border-bottom:1px solid #edf1f6;text-decoration:none}.v11-relation-list>div:last-child,.v11-relation-list>a:last-child{border-bottom:0}.v11-relation-list strong{font-size:12px}.v11-relation-list small{font-size:10px;color:var(--v11-muted)}
.v11-location-state{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px}.v11-location-state>div{padding:11px;border:1px solid var(--v11-border);border-radius:9px;background:#fbfcfe}.v11-location-state strong{display:block;font-size:12px;margin-bottom:2px}.v11-location-state small{font-size:10px;color:var(--v11-muted)}
.v11-equipment-list{display:grid}.v11-equipment-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(120px,.6fr) auto;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid #edf1f6}.v11-equipment-row:last-child{border-bottom:0}.v11-equipment-row strong{font-size:12px}.v11-equipment-row small{font-size:10px;color:var(--v11-muted)}.v11-assign-box{margin:12px 14px;padding:12px;border:1px dashed #bed0e3;border-radius:9px;background:#f9fbfd}.v11-current-relation{padding:12px 14px;background:#f8fbff;border-bottom:1px solid #edf1f6}
.v11-info-strip{display:flex;gap:9px;align-items:flex-start;margin:12px 14px;padding:10px 12px;border-radius:9px;background:#eff6ff;border:1px solid #cfe2f8;color:#345b84;font-size:11px}.v11-form-section{background:#fff;border:1px solid var(--v11-border);border-radius:var(--v11-radius);overflow:hidden}.v11-form-section-head{padding:13px 15px;border-bottom:1px solid #edf1f6}.v11-form-section-head h2,.v11-form-section-head h3{margin:0;font-size:14px}.v11-card-form{display:grid;gap:12px}.muted-section{background:#fbfcfe}.v11-form-footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:4px}.v11-subsection-divider{height:1px;background:#edf1f6;margin:4px 0}.v11-create-card-form{display:grid;gap:12px;max-width:1100px}.v11-create-card-form .v11-panel{overflow:visible}

.v11-report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.v11-report-kpis .v11-kpi{min-height:84px;box-shadow:none}.v11-table-scroll{overflow:auto;background:#fff;border:1px solid var(--v11-border);border-radius:var(--v11-radius);box-shadow:var(--v11-shadow)}.v11-table{width:100%;border-collapse:collapse;min-width:900px}.v11-table th{padding:10px 12px;text-align:left;background:#f8fafc;border-bottom:1px solid #dfe7f0;color:#4e647b;font-size:10px;text-transform:none;white-space:nowrap}.v11-table td{padding:11px 12px;border-bottom:1px solid #edf1f6;font-size:11px;vertical-align:middle}.v11-table tbody tr:hover{background:#f8fbff}.v11-table tbody tr:last-child td{border-bottom:0}.v11-row-action{color:var(--v11-accent)!important;text-decoration:none;font-weight:750;white-space:nowrap}
.v11-export-panel{position:fixed;z-index:70;top:0;right:0;bottom:0;width:min(390px,100%);background:#fff;border-left:1px solid var(--v11-border);box-shadow:-14px 0 34px rgba(18,48,82,.12);display:flex;flex-direction:column}.v11-export-panel[hidden]{display:none}.v11-export-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:16px;border-bottom:1px solid #edf1f6}.v11-export-head h2{margin:0;font-size:17px}.v11-export-head button{border:0;background:transparent;font-size:21px;cursor:pointer}.v11-export-actions{display:flex;gap:7px;padding:10px 14px;border-bottom:1px solid #edf1f6}.v11-export-list{padding:10px 14px;overflow:auto;display:grid;gap:5px;flex:1}.v11-export-row{display:grid;grid-template-columns:26px 26px 1fr auto;gap:5px;align-items:center;padding:7px 8px;border:1px solid #edf1f6;border-radius:7px}.v11-export-row button{border:0;background:#f2f6fb;border-radius:5px;cursor:pointer;padding:3px 5px}.v11-export-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px;border-top:1px solid #edf1f6}

.room-overview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:12px}.v11-quick-action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:13px}.v11-quick-action-list a,.v11-quick-action-list button{display:flex;gap:8px;align-items:center;min-height:60px;padding:10px;border:1px solid var(--v11-border);border-radius:9px;background:#fff;color:#254a70;text-decoration:none;font-weight:700;font-size:11px}.v11-room-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.v11-room-summary-grid>div{padding:11px 12px;background:#fff;border:1px solid var(--v11-border);border-radius:9px;display:grid;gap:2px}.v11-room-summary-grid strong{font-size:20px}.v11-room-summary-grid small{font-size:10px;color:var(--v11-muted)}.v11-inline-editor,.v11-chooser,.v11-inline-create,.v11-row-editor{padding:12px 14px;border-top:1px solid #edf1f6}.v11-inline-editor form,.v11-inline-create form,.v11-row-editor form{display:flex;gap:7px;align-items:end;flex-wrap:wrap}.v11-inline-editor label,.v11-inline-create label,.v11-row-editor label{display:grid;gap:4px;min-width:140px;flex:1;font-size:10px;font-weight:700}.v11-chooser{background:#fbfcfe}.employee-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:12px}.employee-chip-grid>div,.employee-chip-grid>a{padding:10px 12px;border:1px solid var(--v11-border);border-radius:9px;background:#fff;text-decoration:none}.small-empty{padding:13px;color:var(--v11-muted);font-size:11px}.v11-building-editor{padding:13px}.static{pointer-events:none;opacity:.8}

.v11-drawer-head{padding:16px;border-bottom:1px solid #edf1f6}.v11-drawer-head h2{margin:0;font-size:19px}.v11-drawer-kicker{font-size:10px;color:var(--v11-muted);text-transform:uppercase;letter-spacing:.08em}.v11-drawer-summary{padding:13px 16px}.full{width:100%}

/* legacy pages inside the new shell */
.v11-content>.card,.v11-content>.step-card,.v11-content>.page-card,.v11-content>.admin-card{background:#fff;border-color:var(--v11-border);box-shadow:var(--v11-shadow)}
.v11-content .top-tabs{background:#fff;border:1px solid var(--v11-border);padding:5px;border-radius:10px}.v11-content .top-tabs a{border-radius:7px}.v11-content table{font-size:12px}.v11-content .page-header h1{font-size:26px}.v11-content .form-card,.v11-content .table-card{border-color:var(--v11-border)}

/* login unified with selected visual direction */
.login-page{margin:0;min-height:100vh;background:#f4f7fb;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#112845}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(330px,.75fr) minmax(420px,1.25fr)}.login-side{padding:48px clamp(32px,6vw,80px);background:linear-gradient(150deg,#07345f,#062b51);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:32px}.login-side-brand{font-size:22px;font-weight:800}.login-side h2{font-size:30px;margin:0 0 9px}.login-side p{max-width:430px;color:#d0deec;line-height:1.6}.login-side small{color:#a9c0d9}.login-card{align-self:center;justify-self:center;width:min(510px,calc(100% - 42px));background:#fff;border:1px solid #dbe4ef;border-radius:15px;padding:30px;box-shadow:0 12px 38px rgba(18,48,82,.09)}.login-card h1{margin:0 0 5px;font-size:25px}.login-card>p{color:#6a7d93}.login-form{display:grid;gap:13px;margin-top:20px}.login-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#415973}.login-form input{min-height:44px;border:1px solid #cdd9e7;border-radius:8px;padding:9px 11px}.login-form .primary{min-height:44px}.login-mobile-brand{display:none}.login-help{font-size:11px!important;margin-top:15px!important}.login-error{padding:10px 12px;border-radius:8px;background:#fff0ef;border:1px solid #f0bbb6;color:#9d2c27}

/* responsive */
@media(max-width:1250px){
 .v11-kpi-grid,.v11-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v11-filter-panel{grid-template-columns:repeat(3,minmax(130px,1fr))}.v11-filter-panel .wide{grid-column:span 2}
 .v11-two-column,.room-overview-grid{grid-template-columns:1fr}
 .v11-dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
 .v11-sidebar{position:static;width:auto;min-height:auto;padding:10px}.v11-brand{padding:4px 6px 10px}.v11-nav{display:flex;overflow:auto;gap:4px}.v11-nav>a,.v11-nav-group>a{min-width:max-content}.v11-nav-group{display:block}.v11-subnav,.v11-nav-group.open .v11-subnav{display:none}.v11-user-card{display:none}.v11-content{margin-left:0;padding:17px}
 .v11-page-head{align-items:flex-start}.v11-entity-head{flex-wrap:wrap}.v11-entity-head>.v11-head-actions{width:100%;margin-left:58px}
 .v11-location-state{grid-template-columns:1fr}.v11-room-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .login-shell{grid-template-columns:1fr}.login-side{display:none}.login-mobile-brand{display:block;margin-bottom:18px;color:#0b5eaf;font-weight:800}
}
@media(max-width:650px){
 body.v11-body{font-size:13px}.v11-content{padding:12px}.v11-page-head{display:grid}.v11-page-head h1{font-size:23px}.v11-head-actions{width:100%}.v11-head-actions>*{flex:1}
 .v11-kpi-grid,.v11-report-kpis,.v11-quick-grid,.v11-room-summary-grid{grid-template-columns:1fr}.v11-kpi{min-height:82px}.v11-filter-panel{grid-template-columns:1fr}.v11-filter-panel .wide{grid-column:auto}.v11-filter-actions>*{flex:1}
 .v11-list-card{grid-template-columns:38px minmax(0,1fr) 18px}.v11-list-card>.v11-allocation-tag{grid-column:2;justify-self:start}.v11-list-icon{width:36px;height:36px}.v11-segment-tabs{width:100%}.v11-segment-tabs a{min-width:max-content}
 .v11-form-grid{grid-template-columns:1fr}.v11-field.span-2,.span-2{grid-column:auto}.v11-read-grid{grid-template-columns:1fr}.v11-read-grid dt,.v11-read-grid span:first-child{border-bottom:0;padding-bottom:1px}.v11-read-grid dd,.v11-read-grid b,.v11-read-grid strong{padding-top:1px}.v11-equipment-row{grid-template-columns:1fr}.v11-inline-form{display:grid}.v11-inline-form label{min-width:0}.v11-quick-action-list{grid-template-columns:1fr}.v11-history-list>div{grid-template-columns:1fr}.v11-history-list time{margin-bottom:-4px}
 .login-card{width:calc(100% - 24px);padding:22px}.login-shell{min-height:100vh}
}
