@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/raleway-latin-400-normal-C5eIEfLm.woff2)format("woff2"),url(/assets/raleway-latin-400-normal-sMcq1OIP.woff)format("woff")}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/raleway-latin-500-normal-D-8sZNrj.woff2)format("woff2"),url(/assets/raleway-latin-500-normal-tXW-zgej.woff)format("woff")}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/raleway-latin-600-normal-Dim-CLtL.woff2)format("woff2"),url(/assets/raleway-latin-600-normal-BYS3Hyhk.woff)format("woff")}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/raleway-latin-700-normal-BVpQLp0x.woff2)format("woff2"),url(/assets/raleway-latin-700-normal-JVwBSLev.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--ink:#3d4757;--ink-deep:#2a3140;--ink-soft:#4a5568;--paper:#fff;--paper-warm:#f8f7f4;--paper-dim:#edecea;--steel:#6b7a8d;--steel-light:#9aa3ae;--line:#ddd9d3;--line-dark:#2e3744;--ember:#e8471c;--ember-mid:#f07030;--ember-bright:#f5a623;--ember-soft:#fceee6;--ember-gradient:linear-gradient(160deg, #f5a623 0%, #f07030 45%, #e8471c 100%);--compliant:#2f6e4f;--compliant-soft:#e1eae4;--overdue:#a32d2d;--overdue-soft:#f7d9d9;--pending:#8a5a0b;--pending-soft:#f2e4c8;--font-display:"Raleway", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"IBM Plex Mono", monospace;--text-xs:11px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:46px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--shadow-card:0 24px 60px -20px #3d47572e;--shadow-soft:0 4px 20px -4px #3d47571f}*{box-sizing:border-box}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.02em;color:var(--ink);margin:0 0 var(--space-3);font-weight:600}h1{font-size:var(--text-4xl);letter-spacing:.04em;line-height:1.12}h2{font-size:var(--text-3xl);letter-spacing:.03em;line-height:1.2}h3{font-size:var(--text-xl);line-height:1.3}p{margin:0 0 var(--space-4);color:var(--steel)}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.container{max-width:1080px;padding:0 var(--space-6);margin:0 auto}.stack>*+*{margin-top:var(--space-4)}.row{align-items:center;gap:var(--space-3);display:flex}.flame-gradient{background:var(--ember-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{font-family:var(--font-body);font-weight:500;font-size:var(--text-sm);border-radius:var(--radius-sm);border:1.5px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;align-items:center;gap:var(--space-2);letter-spacing:.01em;padding:10px 20px;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--ink-deep);border-color:var(--ink-deep)}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn-ghost:hover{border-color:var(--ink);background:0 0}.btn-ember{background:var(--ember-gradient);color:#fff;letter-spacing:.03em;border-color:#0000;font-weight:600}.btn-ember:hover{background:linear-gradient(160deg,#e09b1f 0%,#d96328 45%,#d03e16 100%);border-color:#0000}.btn-danger{background:var(--overdue);border-color:var(--overdue);color:#fff}.pill{font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;font-weight:500;display:inline-block}.pill-compliant{background:var(--compliant-soft);color:var(--compliant)}.pill-overdue{background:var(--overdue-soft);color:var(--overdue)}.pill-pending{background:var(--pending-soft);color:var(--pending)}.pill-ember{background:var(--ember-soft);color:var(--ember)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-soft)}.card-dark{background:var(--ink);color:var(--paper-warm);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card)}.card-dark p{color:var(--steel-light)}.card-ember{background:var(--paper);border:1.5px solid var(--ember);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:0 4px 24px -4px #e8471c26}label{font-size:var(--text-sm);margin-bottom:var(--space-2);color:var(--ink);letter-spacing:.01em;font-weight:500;display:block}input,select,textarea{width:100%;font-family:var(--font-body);font-size:var(--text-sm);border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);padding:10px 14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--ember);outline:none;box-shadow:0 0 0 3px #e8471c1f}.field{margin-bottom:var(--space-4)}.field-error{color:var(--overdue);font-size:var(--text-xs);margin-top:var(--space-1)}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th{text-align:left;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--steel);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-3);border-bottom:1.5px solid var(--line)}td{padding:var(--space-3);border-bottom:1px solid var(--line);color:var(--ink)}tr:hover td{background:var(--paper-warm)}.nav{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;display:flex}.nav-links{gap:var(--space-6);font-size:var(--text-sm);color:var(--steel);letter-spacing:.02em;align-items:center;display:flex}.nav-links a:hover{color:var(--ink)}.tagline-divider{align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ember);font-weight:500;display:flex}.tagline-divider:before,.tagline-divider:after{content:"";background:var(--ember);opacity:.5;flex:1;height:1.5px}.eyebrow{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ember);background:var(--ember-soft);border-radius:var(--radius-pill);margin-bottom:var(--space-4);padding:5px 12px;font-weight:500;display:inline-flex}.icon-flame{background:var(--ember-gradient);width:20px;height:20px;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width<=820px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}.nav-links{display:none}}.auth-page{background:var(--ink-deep);min-height:100vh;padding:var(--space-5) var(--space-4);font-family:var(--font-body);flex-direction:column;justify-content:center;align-items:center;display:flex}.auth-card{background:var(--paper);padding:var(--space-7) 40px;width:100%;max-width:420px;box-shadow:var(--shadow-card);border-radius:16px}@media (width<=480px){.auth-card{padding:var(--space-6) var(--space-5)}}.auth-brand{text-align:center;margin-bottom:36px}.auth-brand svg{margin-bottom:14px}.wordmark{font-family:var(--font-display);letter-spacing:.1em;color:var(--ink);font-size:20px;font-weight:700}.wordmark-fire{color:var(--ember)}.auth-page>.wordmark{color:#fff;margin-bottom:var(--space-4);font-size:22px}.auth-title{letter-spacing:.03em;text-align:center;margin-bottom:var(--space-2);font-size:20px}.auth-lead{font-size:var(--text-sm);text-align:center;margin-bottom:28px;line-height:1.5}.auth-lead strong{color:var(--ink)}.auth-alert,.auth-note{border-radius:8px;margin-bottom:20px;padding:12px 14px;font-size:13px}.auth-alert{background:var(--overdue-soft);color:var(--overdue);border:1px solid var(--overdue)}.auth-note{background:var(--paper-warm);color:var(--ink);border:1px solid var(--line)}.auth-alert code,.auth-note code{font-family:var(--font-mono);font-size:12px}.auth-detail{font-family:var(--font-mono);opacity:.8;word-break:break-word;margin-top:6px;font-size:11px;display:block}.btn-block{justify-content:center;width:100%;padding:12px}.btn-provider{background:var(--paper);width:100%;color:var(--ink);border-color:var(--line);margin-bottom:var(--space-3);justify-content:center;padding:12px}.btn-provider:hover{background:var(--paper-warm);border-color:var(--ink)}.btn:disabled{opacity:.6;cursor:default}.auth-divider{align-items:center;gap:var(--space-3);margin:var(--space-5) 0;font-size:var(--text-xs);color:var(--steel-light);text-transform:uppercase;letter-spacing:.08em;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--line);flex:1}.otp-input{font-family:var(--font-mono);letter-spacing:.4em;text-align:center;font-size:22px}.link-button{color:var(--ember);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:13px}.link-button:disabled{color:var(--steel-light);cursor:default}.auth-actions{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.auth-footer{text-align:center;margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--line);color:var(--steel);font-size:13px;line-height:1.5}.auth-message{color:var(--steel-light);text-align:center;max-width:440px;margin-bottom:20px;line-height:1.6}.auth-message-error{color:#f7b4a4}.auth-buttons{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.btn-on-dark{color:#fff;border-color:var(--line-dark)}.btn-on-dark:hover{border-color:#fff}.role-list{gap:var(--space-3);flex-direction:column;width:100%;max-width:420px;display:flex}.role-option{text-align:left;cursor:pointer;font:inherit;width:100%}.role-option:hover{border-color:var(--ember)}.role-option-title{font-family:var(--font-display);color:var(--ink);margin:0 0 4px;font-size:15px;font-weight:600}.role-option-desc{color:var(--steel);margin:0;font-size:13px}.app-header{background:var(--ink-deep);color:#fff;border-bottom:1px solid var(--line-dark)}.app-header-inner{max-width:1080px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-4);flex-wrap:wrap;margin:0 auto;display:flex}.app-header .wordmark{color:#fff;font-size:16px}.app-nav{gap:var(--space-4);font-size:var(--text-sm);flex:1;display:flex}.app-nav a{color:var(--steel-light)}.app-nav a[aria-current=page]{color:#fff}.app-user{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--steel-light);display:flex}.app-user select{background:var(--ink);color:#fff;border-color:var(--line-dark);width:auto;padding:6px 10px}.app-user .btn{padding:6px 14px}.app-main{max-width:1080px;padding:var(--space-6) var(--space-4);margin:0 auto}.offline-banner{background:var(--pending-soft);color:var(--pending);text-align:center;font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.aos-progress{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.aos-progress-fill{background:var(--ember);border-radius:3px;height:100%}.floorplan-pin-unrecorded:hover{outline:2px solid var(--ember);outline-offset:-2px;background:#e8471c1f!important}
