:root{color:#1f2937;font-synthesis:none;text-rendering:optimizelegibility;--brand:#1e3a8a;--brand-dark:#172a66;--brand-pale:#eef2fa;--sidebar:#1e3a8a;--sidebar-hover:#172a66;--accent:#ae4dc1;--page:#f8fafc;--surface:#fff;--surface-muted:#d9d9d9;--text:#1f2937;--muted:#4d5159;--border:#d1d5db;--danger:#ef4444;--warning:#ef4444;--success:#10b981;--info:#3b82f6;--radius:6px;--shadow:none;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--page);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,input[type=submit]{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:var(--brand-dark)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #3b82f673}.app-shell{grid-template-rows:68px minmax(0,1fr);grid-template-columns:248px minmax(0,1fr);min-height:100dvh;display:grid}.app-header{z-index:20;color:#fff;background:var(--sidebar);flex-direction:column;grid-area:1/1/span 2;width:248px;height:100dvh;padding:24px 16px 18px;display:flex;position:sticky;top:0}.app-brand{color:#fff;letter-spacing:-.03em;align-items:center;gap:12px;min-height:48px;margin:0 8px 32px;font-size:1.15rem;font-weight:750;text-decoration:none;display:flex}.brand-mark{background:var(--brand);color:#18301c;border-radius:11px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.page-nav{flex:1;align-content:start;gap:6px;display:grid}.nav-button{color:#ffffffc9;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 12px;font-size:.9rem;font-weight:540;text-decoration:none;display:flex}.nav-icon{opacity:.9;flex:0 0 20px;width:20px;height:20px}.nav-button:hover{background:var(--sidebar-hover);color:#fff}.account-actions{border-top:1px solid #ffffff29;align-items:center;gap:10px;padding:14px 8px 0;display:flex}.account-name{color:#ffffffe6;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;display:block;overflow:hidden}.account-actions .nav-button{width:auto;min-height:36px;padding-inline:9px;font-size:.875rem}.menu-toggle{display:none}.topbar{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;grid-area:1/2;align-items:center;min-height:68px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-context{color:var(--muted);font-size:.875rem}.topbar-context strong{color:var(--text);font-weight:630}.page-content{grid-area:2/2;justify-self:center;width:100%;min-width:0;max-width:1280px;min-height:calc(100dvh - 68px);margin:0;padding:28px 32px 48px}.loading-state{text-align:center;color:var(--muted);padding:24px}.page-content label{color:#344438;gap:7px;font-size:.88rem;font-weight:560;display:grid}.page-content input:not([type=checkbox]):not([type=radio]):not([type=file]),.page-content select,.page-content textarea{width:100%;min-height:44px;color:var(--text);background:#fff;border:1px solid #cfdacf;border-radius:10px;padding:10px 12px;font-size:.92rem}.page-content textarea{resize:vertical;min-height:96px}.page-content input::placeholder,.page-content textarea::placeholder{color:#8a978d}.page-content button,.page-content input[type=submit],.button{border:1px solid var(--border);color:#2b3a2f;background:#fff;border-radius:10px;min-height:42px;padding:9px 15px;font-size:.9rem;font-weight:620;transition:background .16s,border-color .16s,transform .16s}.page-content button:hover,.page-content input[type=submit]:hover{background:var(--brand-pale);border-color:#a9c99c}.page-content button[type=submit],.page-content input[type=submit],.button-primary{border-color:var(--brand-dark);background:var(--brand-dark);color:#fff}.page-content button[type=submit]:hover,.page-content input[type=submit]:hover,.button-primary:hover{color:#fff;background:#1d5d14;border-color:#1d5d14}.page-content button:disabled{opacity:.58}.page-content :is([role=alert],.error-state){color:var(--danger);background:#fff5f3;border:1px solid #f0c5c0;border-radius:10px;padding:12px 14px}.page-content :is([role=status],.success-state){background:var(--brand-pale);color:#245d1a;border:1px solid #cce4c4;border-radius:10px;padding:12px 14px}.page-content :is(ul,ol){padding-left:22px;line-height:1.7}table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);background:#fff;border-radius:12px;width:100%}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e8eee8;padding:12px 14px;font-size:.9rem}th{color:#55645a;letter-spacing:.045em;text-transform:uppercase;background:#f5f8f4;font-size:.875rem;font-weight:680}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfb}pre{max-width:100%;overflow:auto}.table-scroll{max-width:100%;overflow-x:auto}.ticket-list{gap:12px;display:grid}.ticket-card{border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow);border-radius:14px;padding:17px 19px;text-decoration:none;display:block}.ticket-card:hover{color:var(--text);background:#fcfefb;border-color:#bfdcb6}.ticket-card>p{color:var(--muted);margin:10px 0 0}.ticket-detail-layout{grid-template-columns:minmax(0,1.65fr) minmax(260px,.8fr);align-items:start;gap:18px;margin-top:18px;display:grid}.ticket-detail-main,.ticket-detail-side{align-content:start;gap:14px;min-width:0;display:grid}.ticket-detail-side>div{border:1px solid var(--border);background:#fff;border-radius:14px;padding:18px}.muted,.helper-text{color:var(--muted)}.overview-stack{gap:16px;display:grid}.overview-list{gap:8px;display:grid}.overview-row{min-height:52px;color:var(--text);background:#fff;border:1px solid #eaf0e9;border-radius:11px;justify-content:space-between;align-items:center;gap:16px;padding:10px 13px;text-decoration:none;display:flex}.overview-row:hover{background:#fbfdfb;border-color:#c7dec0}.overview-row-main{min-width:0}.overview-row-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;display:block;overflow:hidden}.overview-row-main small{color:var(--muted);margin-top:4px;font-size:.875rem;display:block}.overview-meta{color:var(--muted);text-align:right;align-items:center;gap:14px;font-size:.875rem;display:flex}.overview-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.overview-stat{background:#fbfdfb;border:1px solid #e8eee7;border-radius:12px;padding:15px}.overview-stat small{color:var(--muted);margin-bottom:6px;font-size:.875rem;display:block}.overview-stat strong{letter-spacing:-.035em;font-size:1.3rem;font-weight:720}.role-chips{flex-wrap:wrap;gap:8px;display:flex}.role-chip{background:var(--brand-pale);color:#2a5b25;border:1px solid #d6e7d1;border-radius:99px;padding:7px 11px;font-size:.875rem;font-weight:610;display:inline-flex}.menu-backdrop{display:none}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;min-width:0;margin:0 0 22px;display:flex}.page-header-copy{min-width:0}.page-header-copy>p:first-child{color:var(--muted);letter-spacing:.04em;margin-bottom:5px;font-size:.875rem;font-weight:620}.page-header-copy h1{margin-bottom:7px}.page-header-copy>p:last-child{color:var(--muted);margin-bottom:0;font-size:.93rem}.page-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:10px;display:flex}.section-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow);margin:0;padding:20px}.section-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.section-card-heading h2{margin:0}.section-card-heading p{color:var(--muted);margin:5px 0 0;font-size:.89rem}.section-card-actions{flex:none}.filter-bar{gap:12px;min-width:0;margin:0 0 16px;display:grid}.filter-bar label{min-width:0}.login-form,.dialog-form,.exchange-form,.entity-form,.camera-edit-form{gap:14px;display:grid}.login-form>div{gap:7px;display:grid}.login-card label{color:#344438;gap:7px;font-size:.88rem;font-weight:560;display:grid}.login-card input{background:#fff;border:1px solid #cfdacf;border-radius:10px;width:100%;min-height:44px;padding:10px 12px}.camera-register-form{gap:14px;display:grid}.camera-actions .camera-edit-form{margin-top:10px}.table-scroll{overscroll-behavior-inline:contain;min-width:0;max-width:100%;overflow-x:auto}.table-secondary{color:var(--muted);margin-top:4px;font-size:.875rem;display:block}.amount-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.status-badge{color:#48564c;white-space:nowrap;background:#f0f4f0;border:1px solid #d7e2d6;border-radius:999px;align-items:center;min-height:24px;padding:3px 9px;font-size:.875rem;font-weight:650;display:inline-flex}.status-badge-warning{color:#805300;background:#fff7e6;border-color:#f0dbaf}.status-badge-danger{color:#a32631;background:#fff1ef;border-color:#f0c5c0}.empty-state{color:var(--muted);background:#f6f8f5;border-radius:10px;padding:15px;font-size:.9rem}.dialog-backdrop{z-index:60;background:#0d1e1275;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog{border:1px solid var(--border);background:var(--surface);border-radius:16px;width:min(100%,540px);max-height:min(92dvh,850px);padding:22px;overflow-y:auto;box-shadow:0 18px 60px #0e271338}.dialog-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.dialog-heading h2{margin:0}.page-content .dialog-close{width:38px;min-width:38px;min-height:38px;padding:2px;font-size:1.35rem}.dialog-form{gap:14px;display:grid}.dialog-description{margin:0}.page-content .button-danger{color:#fff;background:#a32631;border-color:#a32631}.page-content .button-danger-quiet{color:#a32631;background:#fff;border-color:#edceca}.page-content .button-danger-quiet:hover{background:#fff4f2;border-color:#dba9a2}.billing-page,.users-page,.admin-overview,.camera-admin-page,.profile-page,.subscriptions-page{min-width:0}.billing-stack{gap:16px;min-width:0;display:grid}.billing-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-message{background:var(--brand-pale);color:#245d1a;border:1px solid #cce4c4;border-radius:10px;margin:0 0 16px;padding:11px 14px}.icon-refresh{place-items:center;width:40px;min-width:40px;min-height:40px;display:inline-grid;padding:8px!important}.icon-refresh svg{width:19px;height:19px;display:block}.account-list{gap:8px;margin:0;list-style:none;display:grid;padding:0!important}.account-list li{background:#fff;border:1px solid #e8eee7;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:12px 14px;display:flex}.account-list li>div{gap:4px;min-width:0;display:grid}.account-list li strong,.account-list li span{overflow-wrap:anywhere}.account-list li>div>span{color:var(--muted);font-size:.88rem}.account-number-link{font-weight:680;text-decoration:none}.account-number-link:hover{text-decoration:underline}.account-detail-page>.back-link{margin-bottom:14px;display:inline-block}.account-detail-summary{grid-template-columns:2fr 1fr 1fr;align-items:center;gap:14px;display:grid}.account-detail-summary>div{align-content:start;gap:6px;min-width:0;display:grid}.account-detail-summary>div>span{color:var(--muted);font-size:.875rem}.account-detail-summary strong{overflow-wrap:anywhere}.exchange-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.exchange-form{gap:14px;display:grid}.exchange-form>button{justify-self:start}.exchange-form input[type=file]{max-width:100%}.import-report{border:1px solid var(--border);background:#f9fbf8;border-radius:10px;margin-top:16px;padding:14px}.import-report p{margin-bottom:6px}.import-report ul{overflow-wrap:anywhere;margin-bottom:0}.user-actions{white-space:nowrap;align-items:center;gap:12px;display:flex}.pagination-actions{gap:8px;display:flex}.pagination-actions>button{width:auto}.user-form{border:1px solid var(--border);border-radius:var(--radius);width:min(100%,640px);box-shadow:var(--shadow);background:#fff;gap:14px;margin-top:16px;padding:20px;display:grid}.user-form>div{gap:7px;display:grid}.user-form>div:last-child{flex-wrap:wrap;gap:10px;display:flex}.user-form [type=checkbox]{width:18px;height:18px;accent-color:var(--brand-dark)}.user-form input[type=checkbox]+label{display:inline}.profile-details{gap:12px;margin:0;display:grid}.profile-details>div{gap:4px;display:grid}.profile-details dt{color:var(--muted);font-size:.875rem}.profile-details dd{overflow-wrap:anywhere;margin:0;font-weight:620}.profile-subsection{margin-top:20px}.profile-subsection h3{margin-bottom:10px}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.plan-card{background:#fff;border:1px solid #e8eee7;border-radius:12px;min-width:0;padding:16px}.plan-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.plan-card-heading h3{margin:0}.plan-card>p{margin:12px 0 0}.plan-card .plan-price{font-size:1.15rem;font-weight:720}.plan-price small{color:var(--muted);font-size:.875rem;font-weight:500}.plan-card .plan-feature{color:var(--muted);margin-top:5px;font-size:.875rem}.plan-card>button{margin-top:14px}.invoice-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.invoice-totals>div{border:1px solid var(--border);background:#fff;border-radius:12px;gap:5px;padding:16px;display:grid}.invoice-totals span{color:var(--muted);font-size:.875rem}.invoice-totals strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.camera-admin-page .camera-register-form{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-register-form>button{justify-self:start}.camera-actions{min-width:260px}.camera-actions>button{width:auto;margin:0 6px 6px 0}.camera-actions details{margin-top:4px}.camera-actions summary{cursor:pointer;color:var(--brand-dark)}.camera-edit-form{margin-top:10px}.camera-edit-form>button{justify-self:start;width:auto}.overview-footnote{margin:12px 0 0;font-size:.875rem}.admin-overview .section-card+.section-card{margin-top:16px}.filter-pills{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.filter-pills button{border-radius:99px;min-height:36px;padding:7px 13px}.filter-pills button[aria-pressed=true]{background:var(--brand-pale);color:#265f1c;border-color:#d4e9cd}.login-page{background:radial-gradient(ellipse at 75% 15%, #edf7e9, transparent 38%), var(--page);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--border);background:#fff;border-radius:22px;width:min(100%,440px);padding:34px;box-shadow:0 20px 60px #1b3d2117}.login-brand{align-items:center;gap:11px;margin-bottom:26px;font-size:1.2rem;font-weight:750;display:flex}.properties-page{min-width:0}.section-tabs{border-bottom:1px solid var(--border);gap:4px;margin:0 0 28px;display:flex}.section-tabs button{min-height:46px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:9px 9px 0 0;flex:none;padding:10px 14px}.section-tabs button[aria-current=page]{border-bottom:2px solid var(--brand-dark);color:var(--brand-dark);background:0 0}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 18px;display:flex}.section-heading h2,.section-heading h3{margin-bottom:5px}.section-heading p{color:var(--muted);margin:0;font-size:.9rem}.properties-page .button-primary,.properties-page button.button-primary{background:var(--brand);color:#142b18;border-color:#4b9c2e;width:auto;min-width:0;min-height:44px}.properties-page .button-primary:hover{color:#142b18;background:#68c445;border-color:#448c2b}.building-search{color:#344438;gap:7px;width:min(100%,520px);margin:0 0 18px;font-size:.88rem;font-weight:560;display:grid}.building-list,.entity-list{gap:10px;margin:0;list-style:none;display:grid;padding:0!important}.building-list>li{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:17px 18px;display:flex}.building-list>li>div{min-width:0}.building-list h3{overflow-wrap:anywhere;margin-bottom:5px}.building-list p{color:var(--muted);margin:0;font-size:.875rem}.building-list button{flex:none}.properties-empty{text-align:center;background:#fff;border:1px dashed #cbd9ca;border-radius:14px;padding:38px 24px}.properties-empty h3{margin-bottom:7px}.properties-empty p{max-width:480px;color:var(--muted);margin:0 auto 16px}.properties-empty button{width:auto}.properties-notice{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.properties-notice .notice-dismiss{background:0 0;border:0;min-width:36px;min-height:36px;padding:4px;font-size:1.2rem}.building-detail{min-width:0}.back-link{margin-bottom:18px;color:var(--brand-dark)!important;background:0 0!important;border:0!important;padding-inline:0!important}.detail-section{border:1px solid var(--border);background:#fff;border-radius:14px;min-width:0;margin-top:18px;padding:20px}.detail-section .section-heading{margin-bottom:14px}.empty-inline,.detail-section>p:last-child{color:var(--muted);margin-bottom:0}.entity-list li{overflow-wrap:anywhere;border:1px solid #e8eee7;border-radius:9px;padding:11px 13px}.access-groups{gap:12px;max-width:860px;display:grid}.access-group{border:1px solid var(--border);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.access-group>div{min-width:0}.access-group h3{margin-bottom:5px}.access-group p{color:var(--muted);margin:0;font-size:.9rem}.access-group button{flex:none}.entity-dialog-backdrop{z-index:50;background:#0d1e1273;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.entity-dialog{border:1px solid var(--border);background:#fff;border-radius:16px;width:min(100%,540px);max-height:min(90dvh,800px);padding:24px;overflow-y:auto;box-shadow:0 18px 60px #0e271333}.entity-dialog-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.entity-dialog-header h2{margin:0}.entity-dialog-header .icon-button{width:40px;min-width:40px;min-height:40px;padding:4px;font-size:1.3rem}.entity-form{gap:14px;width:100%;max-width:100%;display:grid}.entity-form>label,.entity-form input,.entity-form select{min-width:0}.entity-form .muted,.dialog-context{color:var(--muted);margin:0;font-size:.88rem}.technical-fallback{border:1px solid var(--border);color:var(--muted);border-radius:10px;gap:10px;padding:10px 12px;font-size:.875rem;display:grid}.technical-fallback summary{cursor:pointer}.technical-fallback label{margin-top:3px}.technical-fallback small{font-weight:400}.dialog-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;padding-top:12px;display:flex}.dialog-actions button{width:auto;min-width:104px}.dialog-actions .button-primary{color:#142b18!important}@media (width<=900px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.app-header{width:76px;padding:20px 9px 14px}.app-brand{justify-content:center;margin:0 0 28px}.brand-label,.nav-label,.account-name{display:none}.page-nav{gap:8px}.nav-button{justify-content:center;gap:0;min-height:46px;padding:9px}.account-actions{justify-content:center;padding-inline:0}.account-actions .nav-button{width:46px;padding:9px}.topbar{padding-inline:24px}.page-content{padding:24px}.ticket-detail-layout{grid-template-columns:1fr}.billing-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-filters>label:last-child{grid-column:1/-1}.exchange-grid{grid-template-columns:1fr}}@media (width<=680px){.app-shell{grid-template-rows:60px minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.app-header{visibility:hidden;grid-area:auto;width:min(290px,100vw - 56px);height:100dvh;padding:24px 16px 18px;transition:transform .2s,visibility .2s;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:16px 0 40px #0000002e}.app-header.is-open{visibility:visible;transform:translate(0)}.brand-label,.nav-label,.account-name{display:initial}.app-brand{justify-content:flex-start;margin:0 8px 32px}.nav-button{justify-content:flex-start;gap:12px;min-height:44px;padding:10px 12px}.account-actions{justify-content:flex-start;padding-inline:8px}.account-actions .nav-button{width:auto;padding:9px}.page-nav{gap:6px}.topbar{grid-area:1/1;min-height:60px;padding-inline:16px}.page-content{grid-area:2/1;width:100%;min-height:calc(100dvh - 60px);padding:22px 16px 36px}.menu-backdrop{z-index:15;background:#08190d66;border:0;border-radius:0;width:100%;height:100%;display:block;position:fixed;inset:0}.menu-toggle{border:1px solid var(--border);width:40px;height:40px;color:var(--text);background:#fff;border-radius:10px;flex:0 0 40px;place-items:center;margin-right:12px;font-size:1.15rem;display:inline-grid}.topbar-context{min-width:0;font-size:.875rem}.page-header{flex-direction:column;align-items:stretch}.page-actions{justify-content:flex-start}.overview-stat-grid{grid-template-columns:1fr}.overview-row{flex-direction:column;align-items:flex-start;gap:8px}.overview-meta{text-align:left}.section-card{padding:16px}.section-card-heading{flex-direction:column}.billing-filters{grid-template-columns:1fr}.billing-filters>label:last-child{grid-column:auto}.dialog-backdrop{align-items:end;padding:0}.dialog{width:100%;max-height:92dvh;padding:20px 16px max(18px, env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.dialog-actions{bottom:calc(-1 * max(18px, env(safe-area-inset-bottom)));margin:0 -16px calc(-1 * max(18px, env(safe-area-inset-bottom)));padding:12px 16px max(18px, env(safe-area-inset-bottom));background:#fff;position:sticky}.plan-grid,.invoice-totals,.account-detail-summary,.camera-admin-page .camera-register-form{grid-template-columns:1fr}.user-actions{flex-direction:column;align-items:flex-start;gap:8px}.login-card{padding:26px 20px}}@media (width<=390px){.page-content{padding-inline:12px}.topbar-context{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 82px);overflow:hidden}}@media (width<=680px){.properties-page{min-width:0}.properties-page .section-heading{flex-direction:column;align-items:stretch}.properties-page .section-heading>button{align-self:flex-start}.section-tabs{margin-inline:-2px;overflow-x:auto}.section-tabs button{flex:none}.building-list>li{flex-direction:column;align-items:flex-start}.building-list>li>button{align-self:flex-start}.entity-dialog-backdrop{align-items:end;padding:0}.entity-dialog{width:100%;max-height:92dvh;padding:20px 16px max(18px, env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.dialog-actions{bottom:calc(-1 * max(18px, env(safe-area-inset-bottom)));margin:0 -16px calc(-1 * max(18px, env(safe-area-inset-bottom)));padding:12px 16px max(18px, env(safe-area-inset-bottom));background:#fff;position:sticky}}.app-shell{background:var(--page);grid-template-rows:54px minmax(0,1fr);grid-template-columns:240px minmax(0,1fr)}.app-header{background:var(--brand);grid-row:2;width:240px;height:calc(100dvh - 54px);padding:14px 12px 16px;top:54px}.app-brand{gap:9px;min-height:40px;margin:0 8px 16px;font-size:1rem}.brand-mark{color:#fff;background:0 0;border-radius:0;flex:0 0 32px;width:32px;height:32px}.nav-button{border-radius:4px;min-height:42px;padding:9px 11px;font-size:.9rem}.nav-button[aria-current=page]{color:var(--brand);background:#fff;font-weight:650}.nav-button:hover{background:#ffffff21}.account-actions{padding-top:10px}.account-name{font-size:.875rem}.topbar{background:var(--brand);color:#fff;border:0;grid-area:1/1/auto/-1;min-height:54px;padding:0 22px;top:0}.topbar-context,.topbar-context strong{color:#fff;font-size:.9rem}.topbar-profile{color:#fff;align-items:center;gap:9px;margin-left:auto;font-size:.875rem;text-decoration:none;display:inline-flex}.topbar-profile:hover{color:#fff}.topbar-avatar{width:30px;height:30px;color:var(--brand);background:#fff;border:1px solid #ffffffb3;border-radius:50%;place-items:center;font-weight:650;display:grid}.page-content{background:#fff;grid-area:2/2;width:100%;max-width:none;min-height:calc(100dvh - 54px);padding:22px 28px 36px}.section-card,.ticket-card,.user-form,.plan-card,.ticket-detail-side>div,.detail-section,.building-list>li,.access-group{border:1px solid var(--border);box-shadow:none;background:#fff;border-radius:6px}.section-card{padding:16px}.section-card-heading{margin-bottom:12px}.section-card-heading p,.page-header-copy>p:last-child,.section-heading p{font-size:.875rem}.page-header{margin-bottom:16px}.page-header-copy>p:first-child{letter-spacing:0;font-size:.875rem}.page-header-copy h1{letter-spacing:0;font-size:1.5rem;font-weight:650}h1,h2,h3{letter-spacing:0;font-weight:600}.page-content label,.login-card label{color:var(--text);font-size:.875rem;font-weight:500}.page-content input:not([type=checkbox]):not([type=radio]):not([type=file]),.page-content select,.page-content textarea{min-height:40px;color:var(--text);background:#f0f0f0;border:0;border-radius:5px;padding:8px 11px;font-size:.875rem}.page-content textarea{min-height:96px}.page-content button,.page-content input[type=submit],.button{min-height:38px;color:var(--text);background:#fff;border:1px solid #c9cdd3;border-radius:5px;padding:8px 13px;font-size:.875rem;font-weight:550;transition:none}.page-content button:hover,.page-content input[type=submit]:hover{border-color:var(--brand);background:#eef2fa}.page-content button[type=submit],.page-content input[type=submit],.button-primary,.properties-page .button-primary,.properties-page button.button-primary{border-color:var(--accent);background:var(--accent);color:#fff}.page-content button[type=submit]:hover,.page-content input[type=submit]:hover,.button-primary:hover,.properties-page .button-primary:hover{color:#fff;background:#9637aa;border-color:#9637aa}.section-tabs{border-color:var(--border);gap:8px;margin-bottom:18px}.section-tabs button{border-radius:5px;min-height:38px;font-size:.875rem}.section-tabs button[aria-current=page],.section-tabs button[aria-selected=true]{background:var(--brand);color:#fff;border-bottom:0}.section-tabs button:hover{background:var(--brand-pale)}.status-badge{border-radius:4px;font-size:.875rem}.status-badge-success{color:#087a55;background:#e8faf3;border-color:#bdebdd}.status-badge-warning,.status-badge-danger{color:#b4232b;background:#fef0f0;border-color:#f8cccc}.status-badge-neutral{background:#f1f2f4}.empty-state,.properties-empty{background:#f1f1f1;border-radius:5px}.overview-stat,.overview-row{box-shadow:none;border-radius:5px}.overview-stat{background:#f1f1f1}.overview-row{border:0}.overview-row:hover,.ticket-card:hover{border-color:var(--border);color:var(--text);background:#f8fafc}.ticket-card{border-radius:6px}.ticket-card>p{color:var(--muted)}.table-scroll>table{min-width:680px}th{color:var(--muted);letter-spacing:0;text-transform:none;background:#f1f1f1;font-size:14px}td,th{padding:10px 12px;font-size:.875rem}.table-secondary,.helper-text,.muted,.empty-state,.overview-meta,.overview-row-main small,.overview-stat small,.status-badge,.technical-fallback small,.profile-details dt{font-size:14px}.login-page,.onboarding-page{background-color:#f8f8fc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='190' height='150' viewBox='0 0 190 150'%3E%3Cg fill='none' stroke='%23AE4DC1' stroke-opacity='.09' stroke-width='2'%3E%3Cpath d='M22 51 38 37l16 14v21H22zM29 72V57h18v15M133 106V84l18-15 18 15v22M142 106V91h18v15'/%3E%3Cpath d='M94 42h25l8 10v20H86V52h8zM93 46l-6 6m33 0 7 0m-23 0v6'/%3E%3C/g%3E%3Cpath d='M7 122c16-12 31-12 47 0m92-102c12-9 24-9 36 0' fill='none' stroke='%2310B981' stroke-opacity='.13' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:repeat;place-items:center;min-height:100dvh;padding:24px}.login-card{width:min(100%,390px);box-shadow:none;background:#ffffffc7;border:0;border-radius:0;padding:20px 28px}.login-brand{color:var(--brand);justify-content:center;gap:8px;margin-bottom:18px;font-size:1.125rem;font-weight:650}.login-brand .brand-mark{color:var(--brand)}.login-card>p,.login-card h1{text-align:center}.login-card label{color:var(--text);font-size:.875rem}.login-card input{min-height:40px;color:var(--text);background:#e5e5e5;border:0;border-radius:5px;padding:8px 11px;font-size:.875rem}.login-form{gap:12px}.login-form input::placeholder{color:#71717a}.login-form button{background:var(--accent);color:#fff;border:0;border-radius:5px;min-height:40px;font-size:.875rem;font-weight:600}.login-form button:hover{background:#9637aa}.login-card h1{font-size:1.35rem;font-weight:600}.dialog,.entity-dialog{box-shadow:none;border-radius:7px}.dialog-backdrop,.entity-dialog-backdrop{background:#172a665c}.filter-pills button[aria-pressed=true]{border-color:var(--brand);background:var(--brand);color:#fff}.page-content :is([role=status],.success-state){color:#087a55;background:#e8faf3;border-color:#bdebdd}.page-content .button-danger{border-color:var(--danger);background:var(--danger);color:#fff}.page-content .button-danger-quiet{color:#b4232b;border-color:#f8cccc}a:hover{color:var(--brand)}.properties-page .section-heading{margin-bottom:14px}.building-list>li,.access-group{padding:14px}.building-list p,.access-group p{font-size:.875rem}.entity-dialog{padding:20px}.onboarding-page{padding:0 20px;display:grid}.onboarding-screen{grid-template-rows:auto minmax(230px,1fr) auto auto auto;align-items:center;gap:18px;width:min(100%,390px);min-height:100dvh;margin:0 auto;padding:20px 10px 24px;display:grid}.onboarding-brand{color:var(--brand);justify-content:center;align-items:center;gap:7px;font-size:1.125rem;font-weight:600;display:flex}.onboarding-brand .brand-mark{color:var(--brand)}.onboarding-illustration{place-items:center;width:100%;min-height:230px;display:grid}.onboarding-illustration svg{width:min(100%,300px);height:auto;display:block}.onboarding-copy{text-align:center;min-height:112px}.onboarding-copy h1{margin:0 0 10px;font-size:1.375rem;font-weight:600}.onboarding-copy p{max-width:330px;color:var(--muted);margin:0 auto;font-size:1rem;line-height:1.5}.onboarding-dots{justify-content:center;align-items:center;gap:8px;min-height:18px;display:flex}.onboarding-dots span{background:#d1d5db;border-radius:8px;width:8px;height:8px;display:block}.onboarding-dots span.is-active{background:var(--accent);width:22px}.onboarding-next{background:var(--accent);color:#fff;border:0;border-radius:5px;width:100%;min-height:44px;font-size:.875rem;font-weight:600}.onboarding-next:hover{background:#9637aa}@media (width<=900px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.app-header{width:76px;height:calc(100dvh - 54px);padding:14px 9px;top:54px}.topbar{grid-column:1/-1}.page-content{grid-area:2/2;padding:20px}.app-brand{justify-content:center;margin:0 0 16px}}@media (width<=680px){.app-shell{grid-template-rows:54px minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.app-header{grid-area:auto;width:min(290px,100vw - 56px);height:100dvh;padding:20px 16px;position:fixed;inset:0 auto 0 0}.topbar{grid-area:1/1;min-height:54px;padding-inline:14px}.page-content{grid-area:2/1;min-height:calc(100dvh - 54px);padding:18px 14px 28px}.topbar-profile>span:last-child{display:none}.login-card{padding:20px}.onboarding-page{padding-inline:14px}.onboarding-screen{padding-inline:4px}}@media (width<=390px){.page-content{padding-inline:12px}.topbar-context{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 106px);overflow:hidden}}.admin-overview .overview-stack{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.admin-overview .overview-stack>.section-card{grid-column:span 6}.admin-overview .overview-stack>.section-card:last-child{grid-column:1/-1}.ticket-list-page{gap:14px;display:grid}.ticket-list-page .page-header,.ticket-list-page .section-card{margin:0}.ticket-filters{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.ticket-pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}@media (width<=680px){.admin-overview .overview-stack{grid-template-columns:minmax(0,1fr)}.admin-overview .overview-stack>.section-card,.admin-overview .overview-stack>.section-card:last-child{grid-column:auto}.ticket-filters{grid-template-columns:minmax(0,1fr)}.ticket-pagination{flex-direction:column;align-items:flex-start}}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--text);line-height:1.25}h1{letter-spacing:-.035em;margin-bottom:8px;font-size:clamp(1.65rem,2vw,1.875rem);font-weight:720}h2{letter-spacing:-.02em;margin-bottom:8px;font-size:1.125rem;font-weight:680}h3{margin-bottom:8px;font-size:1rem;font-weight:650}p{line-height:1.55}
