:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#182235;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--shell-sidebar: 272px;--surface-line: #d7dde8;--surface-soft: #eef2f7;--text-muted: #65748b;--brand: #9b6a16;--brand-strong: #76500e;--ok: #15803d;--warning: #b45309;--critical: #b91c1c}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f7fb}a{color:inherit}.app-shell{display:grid;grid-template-columns:var(--shell-sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:1rem;border-right:1px solid var(--surface-line);background:#2b3432;color:#f8fafc}.sidebar__brand{display:flex;align-items:center;gap:.8rem;min-height:64px;padding:.4rem .45rem 1rem;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar__brand strong,.sidebar__brand small{display:block}.sidebar__brand small{margin-top:.2rem;color:#b7c2d6}.sidebar__help{margin-top:auto}.sidebar__session{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.75rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);color:#cbd5e1}.sidebar__session span{display:grid;min-width:0;overflow:hidden;font-weight:700}.sidebar__session span small{color:#94a3b8;font-size:.72rem;font-weight:500}.login-page{display:grid;place-items:center;min-height:100vh;padding:1rem;background:linear-gradient(135deg,rgba(237,186,88,.09),transparent 42%),#f5f7fb}.login-panel{display:grid;gap:1.35rem;width:min(100%,420px);padding:1.25rem;border:1px solid var(--surface-line);border-radius:8px;background:#fff;box-shadow:0 18px 44px #0f172a1a}.login-panel__brand{display:flex;align-items:center;gap:.8rem}.login-panel__brand strong,.login-panel__brand small{display:block}.login-panel__brand small{margin-top:.15rem;color:var(--text-muted)}.login-form{display:grid;gap:.85rem}.login-form label{display:grid;gap:.35rem;color:#334155;font-weight:650;font-size:.9rem}.sidebar__mark{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#9b6a16;font-weight:800;letter-spacing:0}.sidebar__nav{display:grid;gap:.85rem;padding-top:1rem;overflow:auto}.sidebar__group{display:grid;gap:.15rem}.sidebar__group-label{margin:0 .75rem .2rem;color:#94a3b8;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.sidebar__toggle{display:none!important}.sidebar__link{display:flex;align-items:center;gap:.7rem;min-height:44px;padding:0 .75rem;border-radius:7px;color:#cbd5e1;text-decoration:none}.sidebar__link:hover,.sidebar__link.router-link-active{background:#ffffff1a;color:#fff}.sidebar__link i{width:1.1rem;text-align:center}.app-main{min-width:0;padding:1.5rem}.page{display:grid;gap:1rem;max-width:1540px;margin:0 auto}.session-banner,.empty-state{border:1px solid #fde68a;border-radius:8px;background:#fffbeb;color:#92400e;padding:.75rem 1rem}.empty-state{border-color:#e2e8f0;background:#f8fafc;color:#475569}.posture-check{display:grid;margin-top:.8rem}.posture-check__row{display:flex;justify-content:space-between;gap:1rem;padding:.45rem .4rem;border-bottom:1px solid #e2e8f0}.posture-check__row--unknown{background:#fff7ed}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.25rem}.page-header h1{margin:0;font-size:1.55rem;line-height:1.2;letter-spacing:0}.page-header p{max-width:760px;margin:.35rem 0 0;color:var(--text-muted)}.page-header__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.page-help{margin:-.35rem 0 0;color:var(--text-muted);font-size:.92rem}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem;align-items:center;padding:.85rem;border:1px solid var(--surface-line);border-radius:8px;background:#fff}.filter-bar--inventory{grid-template-columns:1fr;align-items:stretch}.filter-bar__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.1rem}.filter-bar__header strong{color:#334155;font-size:.98rem}.filter-bar__grid{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(6,minmax(150px,1fr)) auto;gap:.65rem;align-items:end}.filter-field{display:grid;gap:.35rem;min-width:0;color:#334155;font-size:.82rem;font-weight:650}.filter-field .form-control,.filter-field .ui-select{width:100%}.filter-bar__submit{min-width:8.5rem}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}.kpi-card{border-left:4px solid #94a3b8}.kpi-card .card-content{display:grid;gap:.25rem;padding:.1rem 0}.kpi-card span,.kpi-card small{color:var(--text-muted)}.kpi-card strong{font-size:2rem;line-height:1}.kpi-card--ok{border-left-color:var(--ok)}.kpi-card--warning{border-left-color:var(--warning)}.kpi-card--critical{border-left-color:var(--critical)}.kpi-card--missing{border-left-color:#64748b}.dashboard-grid,.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-box{height:280px}.table-link{color:var(--brand);font-weight:700;text-decoration:none}.table-link:hover{color:var(--brand-strong);text-decoration:underline}.entity-dialog .modal-body{padding-top:.5rem}.entity-form{display:grid;gap:1rem}.entity-form__footer{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--surface-line)}.entity-form__inline-actions{display:flex;justify-content:flex-start;padding-top:.25rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem;align-items:start}.form-grid label{display:grid;gap:.35rem;min-width:0;color:#334155;font-weight:650;font-size:.85rem}.form-grid .form-control,.form-grid .ui-select,.form-grid .input-group,.form-stack .form-control{width:100%;max-width:100%;min-height:2.625rem;box-sizing:border-box}.form-grid textarea.form-control{width:100%;max-width:100%;min-height:5.5rem;box-sizing:border-box}.form-grid .input-group input,.form-grid .form-control{width:100%}.form-stack{display:grid;gap:.75rem;max-width:42rem;margin-top:1rem}.form-stack label{display:grid;gap:.35rem}.form-hint{margin:0;color:var(--text-muted);font-size:.8rem;font-weight:500}.form-grid__full{grid-column:1/-1}.checkbox-row{align-content:center;grid-template-columns:auto 1fr;gap:.55rem;min-height:42px}.accessories-box{display:grid;gap:.6rem;padding:.75rem;border:1px solid var(--surface-line);border-radius:8px;background:#f8fafc}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.section-heading h3{margin:0;font-size:1rem}.accessory-row{display:grid;grid-template-columns:minmax(160px,1fr) 140px minmax(160px,1fr) auto;gap:.5rem;align-items:center}.detail-list{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:.7rem 1rem;margin:0}.detail-list dt{color:var(--text-muted);font-weight:700}.detail-list dd{min-width:0;margin:0;overflow-wrap:anywhere}.json-viewer{max-height:65vh;overflow:auto;margin:0;padding:.85rem;border:1px solid var(--surface-line);border-radius:8px;background:#0f172a;color:#e2e8f0;font-size:.85rem;line-height:1.45}.card,.ui-table,.modal-dialog{border-radius:8px}.modal-body{max-height:min(72vh,760px);overflow:auto}.card{border:1px solid var(--surface-line);box-shadow:0 8px 24px #0f172a0d}.ui-table{border:1px solid var(--surface-line);overflow:hidden;background:#fff}.table>thead>tr>th{background:#f8fafc;color:#334155;font-weight:750}.actions-column{width:12rem}.tag-list{display:flex;flex-wrap:wrap;gap:.35rem}.compact-list{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}.compact-list li{display:flex;justify-content:space-between;gap:1rem}.compact-list a{color:var(--brand);font-weight:700;text-decoration:none}.mini-kpi{display:grid;grid-template-columns:1fr auto;gap:.8rem}.mini-kpi span{color:var(--text-muted);font-weight:700}.patch-gap-tags{margin-bottom:1rem}.menu-item-danger{color:var(--critical)}.settings-preview{display:grid;gap:1rem}.settings-logo{max-width:220px;max-height:96px;object-fit:contain}:root{--brand: #edba58;--brand-strong: #76500e;--brand-soft: #fff6e3;--surface: #fff;--surface-line: #dce1de;--surface-soft: #f1f4f2;--text-muted: #626d68;--bs-primary: #edba58;--bs-primary-rgb: 237, 186, 88;--bs-link-color: #76500e;--bs-link-hover-color: #503609;--bs-body-color: #2b3432;--bs-body-font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--bs-border-color: #dce1de}body{background:#f4f6f4;color:#2b3432}.material-icons{font-size:1.25rem;line-height:1;vertical-align:middle;flex-shrink:0}.btn{min-height:38px;font-weight:600;border-radius:.5rem;text-decoration:none}.btn-primary{--bs-btn-color: #2b3432;--bs-btn-bg: #edba58;--bs-btn-border-color: #edba58;--bs-btn-hover-color: #202724;--bs-btn-hover-bg: #e2aa3b;--bs-btn-hover-border-color: #dba232;--bs-btn-active-color: #202724;--bs-btn-active-bg: #dba232;--bs-btn-active-border-color: #cf9529;--bs-btn-disabled-color: #2b3432;--bs-btn-disabled-bg: #edba58;--bs-btn-disabled-border-color: #edba58}.btn-secondary{--bs-btn-bg: #edf0ee;--bs-btn-color: #2b3432;--bs-btn-border-color: #dce1de;--bs-btn-hover-bg: #dfe5e1;--bs-btn-hover-color: #202724;--bs-btn-hover-border-color: #c4cec7}.btn-link{--bs-btn-color: #76500e;--bs-btn-hover-color: #503609}.btn-sm{min-height:32px}.form-control,.form-select{min-height:40px;border-radius:.45rem;font-size:.9rem}.form-control:focus,.form-select:focus{border-color:#9b6a16;box-shadow:0 0 0 .2rem #edba5840}.form-check-input:checked{background-color:#76500e;border-color:#76500e}.ui-select{display:block;width:100%;min-width:0}.page,.filter-bar{min-width:0}.filter-bar__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}.table-link{color:#76500e}.ui-select select[multiple]{min-height:7rem}.input-group{flex-wrap:nowrap}.card{border-color:var(--surface-line);box-shadow:0 3px 16px #2b343208;border-radius:.75rem;min-width:0}.card-body{padding:1.25rem}.ui-table{overflow:visible}.ui-table .table-responsive{border-radius:.75rem}.table{font-size:.875rem}.table>:not(caption)>*>*{padding:.85rem 1rem}.table>thead>tr>th{background:#f1f4f2;color:#46514b;white-space:nowrap;font-size:.76rem;letter-spacing:.025em}.table td .btn+.btn{margin-left:.25rem}.table td:has(.dropdown-menu){position:relative}.badge{font-size:.75rem;font-weight:600;padding:.4em .65em}.text-bg-primary{color:#2b3432!important}.modal-dialog{width:calc(100% - 2rem);max-width:min(960px,100vw - 2rem)}.modal-header,.modal-footer{padding:1rem 1.25rem}.modal-body{padding:1.25rem}.modal-content{border:0;border-radius:.85rem;box-shadow:0 24px 70px #18231d33}.toast-container{z-index:1090}.dropdown-menu{z-index:1080;max-width:calc(100vw - 2rem)}.dropdown-item{min-height:40px;font-size:.875rem;white-space:normal}.menu-item-danger{color:#b91c1c}.ui-chart{position:relative;width:100%;height:100%;min-height:200px}.ui-editor{border-radius:.5rem;overflow:hidden}.sidebar{background:#2b3432;padding:1rem .85rem}.sidebar__brand,.login-panel__brand{flex-direction:column;align-items:flex-start;gap:.85rem}.brand-logo{display:block;width:100%;height:auto;object-fit:contain}.sidebar__brand .brand-logo{max-width:228px}.sidebar__brand{flex-shrink:0}.sidebar__nav{min-height:0;padding-bottom:1rem;flex:1}.sidebar__help,.sidebar__session{flex-shrink:0}.sidebar__brand .brand-logo{padding:.3rem;background:#fff;border-radius:.35rem}.sidebar__brand strong{color:#fff;font-size:1.1rem}.sidebar__brand small{color:#c4cec7;font-size:.75rem}.sidebar__link{color:#d6ded9;gap:.8rem;font-size:.86rem}.sidebar__link .material-icons{font-size:1.15rem}.sidebar__link:hover{color:#fff;background:#ffffff0d}.sidebar__link.router-link-active{color:#edba58;background:#edba581a;box-shadow:inset 3px 0 #edba58}.sidebar__group-label{color:#aebbb3;font-size:.65rem;letter-spacing:.1em}.sidebar__session .btn-link,.sidebar__toggle{color:#edba58}.sidebar__session>span{display:flex;flex-direction:column}.login-page{background:radial-gradient(ellipse at top left,rgba(237,186,88,.1019607843),transparent 60%),#f1f4f2;border-top:5px solid #edba58}.login-panel{padding:2rem;border-radius:1rem;box-shadow:0 20px 70px #2b343214}.login-panel__brand{padding-bottom:1.3rem;border-bottom:1px solid var(--surface-line)}.login-panel__brand strong{font-size:1.4rem;color:#2b3432}.login-panel__brand .brand-logo{margin-bottom:.5rem}:focus-visible{outline:3px solid #9b6a16;outline-offset:3px}@media(max-width:760px){.sidebar__brand{flex-direction:row;align-items:center;padding-bottom:.65rem}.sidebar__brand .brand-logo{width:min(45vw,190px)}.sidebar__brand small{font-size:.65rem}.app-main{padding:1rem}.login-panel{padding:1.5rem}.modal-body{padding:1rem}}:root{--shell-sidebar: 264px;--mobile-header-height: 72px}html{scroll-padding-top:calc(var(--mobile-header-height) + 1rem)}.app-main{min-width:0}.page>*,.page-header>div,.form-grid>*,.filter-bar>*{min-width:0}.page-header h1{font-size:clamp(1.35rem,1.05rem + 1vw,1.9rem)}.page-header p{font-size:.9rem;line-height:1.55}.page h2:not(.modal-title):not(.card-title){font-size:clamp(1.1rem,.96rem + .5vw,1.4rem);line-height:1.4}.page-header__actions:empty{display:none}.sidebar{padding:1rem .75rem;height:100dvh}.sidebar__panel{display:flex;flex-direction:column;flex:1;min-height:0;outline:0;color:#e4ebe6;background:#2b3432}.sidebar__panel-heading,.sidebar__quick-help{display:none}.sidebar__nav{display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#87948c transparent}.sidebar__group{display:flex;flex-direction:column;gap:.2rem}.sidebar__link{min-height:44px;padding:.65rem .8rem;line-height:1.25}.sidebar__link>span:last-child{display:block}.sidebar__help{margin:.65rem 0 0}.sidebar__session{padding:.8rem .4rem 0}.sidebar__session small{overflow-wrap:anywhere}.sidebar__session .btn{color:#f1c66f}.sidebar__panel :focus-visible,.sidebar__quick-help:focus-visible{outline-color:#f1c66f}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:1100;padding:.75rem 1rem;background:#fff;border:2px solid var(--brand-strong);border-radius:.5rem;transform:translateY(-160%)}.skip-link:focus{transform:none}.stats-grid,.score-strip,.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;min-width:0}.stats-grid--six{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{--stat-accent: #2761a2;--stat-tint: #edf4fc;display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:1.15rem 1.2rem;gap:.65rem;border:1px solid #dce4df;border-inline-start:4px solid var(--stat-accent);border-radius:.95rem;background:linear-gradient(125deg,var(--stat-tint),#fff 75%);color:#273730;text-align:start;box-shadow:0 3px 12px #263c2d06}.stat-card--brand{--stat-accent: #886018;--stat-tint: #fff6e5}.stat-card--success{--stat-accent: #26704b;--stat-tint: #edf8f1}.stat-card--warning{--stat-accent: #9a6112;--stat-tint: #fff7e8}.stat-card--danger{--stat-accent: #ae3548;--stat-tint: #fff0f2}.stat-card--neutral{--stat-accent: #596b67;--stat-tint: #f0f4f2}.stat-card__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.stat-card__label{font-size:.84rem;font-weight:650;line-height:1.4;padding-top:.15rem}.stat-card__icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;font-size:23px;color:var(--stat-accent);background:color-mix(in srgb,var(--stat-accent) 10%,white)}.stat-card__reading{display:flex;align-items:baseline;gap:.35rem;min-width:0}.stat-card__value{font-size:clamp(1.8rem,1.4rem + 1vw,2.45rem);font-weight:750;letter-spacing:-.04em;line-height:1.1;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.stat-card__value--text{font-size:1.15rem;letter-spacing:0;line-height:1.45}.stat-card__unit,.stat-card__hint{color:#5d6d64;font-size:.77rem;line-height:1.5}.stat-card__hint{margin:0}.stat-card--interactive{cursor:pointer;transition:border-color .15s,box-shadow .15s}.stat-card--interactive:hover{border-color:var(--stat-accent);box-shadow:0 4px 18px #263c2d14}.stat-card--interactive:disabled{opacity:.65;cursor:wait}.stat-card__action{display:flex;align-items:center;justify-content:flex-end;gap:.3rem;margin-top:auto;color:var(--stat-accent);font-size:.75rem;font-weight:600}.stat-card__action .material-icons{font-size:1rem}.badge{align-self:center;justify-self:start;flex:0 0 auto;max-width:100%;overflow-wrap:anywhere;line-height:1.35;text-align:start}.tag-list{align-items:center;align-content:flex-start;align-self:flex-start}.entity-form__inline-actions{align-items:flex-start}.posture-summary{display:grid;gap:1rem;margin-bottom:1.25rem}.posture-summary__header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem}.posture-summary__header .tag-list{flex:1;min-width:min(100%,260px)}.posture-summary .posture-check{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:0 1rem;margin-top:0;min-width:0}.posture-summary .posture-check__row{align-items:flex-start;min-width:0}.posture-check__result{display:grid;justify-items:end;gap:.25rem;max-width:65%;min-width:0}.posture-check__result small{font-size:.75rem;overflow-wrap:anywhere;color:var(--text-muted);text-align:end}.drilldown-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.8rem 1rem;margin-bottom:1rem;border:1px solid var(--surface-line);border-left:3px solid var(--brand-strong);border-radius:.5rem;background:var(--brand-soft);scroll-margin-top:calc(var(--mobile-header-height) + 1rem)}.drilldown-summary p{margin:.2rem 0 0;color:var(--text-muted);font-size:.8rem}.metric-link{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.65rem 0;border:0;border-bottom:1px solid var(--surface-line);background:transparent;color:inherit;text-align:start;min-height:44px}.metric-link:hover{color:var(--brand-strong);background:var(--brand-soft)}.stat-card--active{outline:2px solid var(--stat-accent);outline-offset:2px}.summary-link{display:inline-flex;align-items:center;justify-self:start;max-width:100%;gap:.5rem;padding:.65rem .85rem;border:1px solid #dce4df;border-radius:.6rem;background:#fff;color:#3b5f50;font-size:.875rem;text-decoration:none}.summary-link:hover{background:#eff5f1}.ui-table{max-width:100%}.ui-table .table-responsive{max-width:100%;overscroll-behavior-x:contain}.ui-table .table-responsive:focus-visible{outline-offset:-3px}.card-title{display:flex;align-items:center;gap:.65rem;font-size:1.075rem;margin-bottom:1rem}.card-heading-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf5ef;color:#3e6952;font-size:21px}.table-scroll-hint,.table-cell-label{display:none}.tab-strip{display:flex;flex-wrap:wrap;gap:.5rem}.form-hint{line-height:1.55}.modal .btn-close{min-width:44px;min-height:44px;padding:.5rem;background-size:14px}.modal-header{gap:.75rem}.modal-title{min-width:0;line-height:1.3}.modal-footer{flex-shrink:0}.entity-form__inline-actions{gap:.75rem;flex-wrap:wrap}@media(max-width:1199.98px){.app-shell{display:block}.sidebar{display:flex;flex-direction:row;align-items:center;gap:.65rem;height:var(--mobile-header-height);min-height:0;width:100%;position:sticky;top:0;z-index:1020;padding:.6rem max(1rem,env(safe-area-inset-right)) .6rem max(1rem,env(safe-area-inset-left));border-right:0;box-shadow:0 3px 14px #14291d1a}.sidebar__brand{flex-direction:row;align-items:center;flex:1;gap:.5rem;min-width:0;min-height:0;padding:0;border:0}.sidebar__brand .brand-logo{width:min(43vw,190px);max-height:50px}.sidebar__brand>div{display:none}.sidebar__toggle{display:inline-flex!important;align-items:center;justify-content:center;gap:.3rem;flex-shrink:0;min-height:44px;padding:.55rem .65rem;background:#f4c866;color:#273730;font-size:.85rem}.sidebar__toggle:hover{background:#ffdc92;color:#273730}.sidebar__quick-help{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:.5rem;color:#e4ebe6;text-decoration:none}.sidebar__panel{--bs-offcanvas-width: min(340px, calc(100vw - 2.5rem) );padding:0 .75rem max(.75rem,env(safe-area-inset-bottom));border-right:1px solid #54675a;height:100dvh}.sidebar__panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:0 0 auto;padding:1rem .25rem .75rem;border-bottom:1px solid rgba(255,255,255,.1411764706)}.sidebar__panel-heading strong{display:block;font-size:1.2rem}.sidebar__panel-heading small{color:#b9c7be}.sidebar__close{display:grid;place-items:center;min-width:44px;min-height:44px;color:#f3d18c;background:#ffffff0d}.sidebar__close:hover{color:#fff;background:#ffffff20}.sidebar__panel .sidebar__link{justify-content:flex-start;min-height:48px;font-size:.95rem;gap:.85rem}.sidebar__nav{padding-top:1rem}.sidebar__session{display:flex;margin-top:.5rem}.app-main{padding:1.25rem;width:100%}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.btn,.btn-sm{min-height:44px;min-width:44px}.table td .btn{min-width:44px}.form-control,.form-select,.form-grid input.form-control,.form-grid select.form-select{min-height:44px;font-size:1rem}.form-check-input{width:1.25rem;height:1.25rem}.table-scroll-hint{display:flex;align-items:center;gap:.35rem;margin:0;padding:.5rem .75rem;color:#586b60;font-size:.75rem}.table-scroll-hint .material-icons{font-size:1rem}}@media(max-width:991.98px){.stats-grid,.score-strip,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header{align-items:flex-start;flex-wrap:wrap}.page-header__actions{justify-content:flex-start}.filter-bar,.filter-bar__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar--inventory{grid-template-columns:minmax(0,1fr)}}@media(max-width:575.98px){:root{--mobile-header-height: 64px}.sidebar{padding-inline:.75rem;gap:.4rem}.app-main{padding:1rem .75rem max(1.25rem,env(safe-area-inset-bottom))}.page{gap:1rem}.page-header{flex-direction:column;gap:.85rem;align-items:stretch}.page-header__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));width:100%}.page-header__actions>*{min-width:0;justify-content:center;white-space:normal}.page-header p{font-size:.875rem}.stats-grid,.score-strip,.kpi-grid{gap:.65rem}.stat-card{padding:.8rem .75rem;border-radius:.8rem;gap:.5rem}.stat-card__heading{gap:.4rem}.stat-card__label{font-size:.77rem;min-height:2.2em}.stat-card__icon{width:32px;height:32px;flex-basis:32px;border-radius:10px;font-size:20px}.stat-card__hint{font-size:.72rem}.card-body{padding:1rem}.dashboard-grid,.detail-grid,.form-grid,.accessory-row,.filter-bar,.filter-bar__grid{grid-template-columns:minmax(0,1fr)}.filter-bar__header,.section-heading{flex-direction:column;align-items:stretch;gap:.5rem}.form-grid__full{grid-column:1/-1}.detail-list{grid-template-columns:1fr}.filter-bar__submit{width:100%}.session-banner,.empty-state{padding:.8rem .85rem;font-size:.875rem;line-height:1.55}.chart-box{height:240px}.modal{padding:0!important}.modal-dialog{width:100%!important;max-width:100%;height:100dvh;max-height:100dvh;margin:0}.modal-content{min-height:100%;max-height:100dvh;border-radius:0}.modal-header,.modal-footer{padding:.75rem 1rem}.modal-body{padding:1rem;overflow-y:auto;overscroll-behavior:contain;max-height:none}.modal-dialog-scrollable .modal-body{flex:1}.modal-footer{padding-bottom:max(.75rem,env(safe-area-inset-bottom));gap:.5rem}.modal-footer>.btn{flex:1;margin:0;white-space:normal}.entity-form__footer{position:sticky;bottom:-1rem;z-index:1;padding:.75rem 0;background:#fff}.entity-form__footer>.btn,.entity-form__inline-actions>.btn{flex:1}.ui-table>nav{padding:.75rem!important;gap:.5rem}.ui-table>nav .btn{padding-inline:.65rem}.ui-table--mobile-cards .table{display:block;min-width:0}.ui-table--mobile-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ui-table--mobile-cards tbody{display:grid}.ui-table--mobile-cards tbody tr{display:grid;padding:.5rem .85rem;border-bottom:1px solid var(--surface-line)}.ui-table--mobile-cards tbody tr:last-child{border-bottom:0}.ui-table--mobile-cards td[data-label]{display:grid;grid-template-columns:minmax(75px,.75fr) minmax(0,1.25fr);align-items:start;gap:.75rem;padding:.5rem 0;border:0;overflow-wrap:anywhere}.ui-table--mobile-cards .table-cell-label{display:block;color:#626d68;font-weight:600;font-size:.75rem}.ui-table--mobile-cards .table-cell-value{min-width:0}.ui-table--mobile-cards td .badge{justify-self:start}.toast-container{max-width:calc(100vw - 1rem);right:.5rem!important;top:.5rem!important}.posture-check__row,.factor-row{flex-wrap:wrap}}@media(max-width:359.98px){.stats-grid,.score-strip,.kpi-grid{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.stat-card,.offcanvas-xl{transition:none}}
