:root{--surface: #F5F5F0;--raised: #FFFFFF;--ink: #111111;--ink-2: #666666;--ink-3: #999999;--border: rgba(0,0,0,.05);--teal: #00A99D;--teal-ink: #008F85;--teal-bg: rgba(0,169,157,.08);--amber: #D98F2B;--amber-bg: rgba(217,143,43,.08);--red: #D94F3D;--red-bg: rgba(217,79,61,.08);--grey: #999999;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--shadow-sm: 0 1px 2px rgba(0,0,0,.03), 0 1px 1px rgba(0,0,0,.02);--shadow-md: 0 2px 8px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.02);--font: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--mono: "JetBrains Mono", "SF Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--surface);color:var(--ink);min-height:100dvh}.app-shell{max-width:430px;margin:0 auto;min-height:100dvh;position:relative}.auth-gate{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:24px}.auth-card{background:var(--raised);padding:32px;border-radius:var(--r-lg);box-shadow:var(--shadow-md);width:100%;text-align:center}.auth-card h1{font-size:24px;margin-bottom:8px}.auth-card input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:16px;margin:16px 0}.btn-primary{width:100%;padding:14px;background:var(--teal);color:#fff;border:none;border-radius:var(--r-sm);font-size:16px;font-weight:600;cursor:pointer}.auth-msg{color:var(--teal-ink);margin-top:12px;font-size:14px}.page-container{padding-bottom:80px}.page{display:none;padding:24px 16px}.page.active{display:block}.page-header{margin-bottom:20px}.page-header h1{font-size:24px;font-weight:700}.page-header .subtitle{color:var(--ink-2);font-size:14px;margin-top:4px}.header-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;display:flex;background:var(--raised);border-top:1px solid var(--border);padding:8px 0 env(safe-area-inset-bottom,8px)}.nav-btn{flex:1;background:none;border:none;font-size:12px;padding:8px;color:var(--ink-3);cursor:pointer;font-weight:500}.nav-btn.active{color:var(--teal);font-weight:600}.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.kpi-card{background:var(--raised);border-radius:var(--r-sm);padding:12px 8px;text-align:center;box-shadow:var(--shadow-sm)}.kpi-value{display:block;font-family:var(--mono);font-size:20px;font-weight:700}.kpi-label{font-size:11px;color:var(--ink-3);text-transform:uppercase}.failed-alert{background:var(--red-bg);border:1px solid rgba(217,79,61,.2);border-radius:var(--r-md);padding:16px;margin-bottom:16px;cursor:pointer}.failed-alert strong{color:var(--red)}.assign-link{color:var(--teal);font-weight:600;font-size:14px}.incident-row{background:var(--raised);border-radius:var(--r-sm);padding:14px 16px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;box-shadow:var(--shadow-sm)}.inc-left{display:flex;flex-direction:column;gap:2px}.inc-code{font-family:var(--mono);font-size:13px;color:var(--ink-3)}.inc-address{font-size:14px;font-weight:500}.inc-customer{font-size:12px;color:var(--ink-2)}.inc-right{display:flex;align-items:center;gap:8px}.status-badge{font-size:11px;padding:4px 8px;border-radius:999px;font-weight:600}.status-badge.unclaimed{background:var(--amber-bg);color:var(--amber)}.status-badge.active{background:var(--teal-bg);color:var(--teal-ink)}.status-badge.failed{background:var(--red-bg);color:var(--red)}.status-badge.resolved,.status-badge.grey{background:#0000000a;color:var(--grey)}.status-badge.warning{background:var(--amber-bg);color:var(--amber)}.status-badge.critical{background:var(--red-bg);color:var(--red)}.tech-avatar{width:28px;height:28px;border-radius:999px;background:var(--teal-bg);color:var(--teal-ink);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.countdown{font-family:var(--mono);font-size:13px;color:var(--ink-3)}.detail-overlay{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;height:100dvh;background:var(--raised);z-index:100;overflow-y:auto;padding:24px 16px}.overlay-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--ink-2)}.overlay-body p{margin-bottom:8px}.chip{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500}.chip-teal{background:var(--teal-bg);color:var(--teal-ink)}.chip-red{background:var(--red-bg);color:var(--red)}.chip-blue{background:#2563eb14;color:#2563eb}.chip-mold{background:#8d6e6314;color:#8d6e63}.audit-trail{margin-top:20px}.audit-item{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.audit-time{color:var(--ink-3);font-family:var(--mono);font-size:12px;min-width:60px}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.metric-card{background:var(--raised);border-radius:var(--r-sm);padding:16px;box-shadow:var(--shadow-sm)}.metric-value{font-family:var(--mono);font-size:24px;font-weight:700;display:block}.metric-label{font-size:12px;color:var(--ink-2)}.tech-list{display:flex;flex-direction:column;gap:8px}.tech-row{background:var(--raised);border-radius:var(--r-sm);padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm)}.tech-info{flex:1;display:flex;flex-direction:column}.tech-name{font-size:14px;font-weight:500}.tech-specialty{font-size:12px;color:var(--ink-2)}.billing-card{background:var(--raised);border-radius:var(--r-md);padding:20px;box-shadow:var(--shadow-sm)}.plan-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.plan-name{font-weight:600}.plan-price{font-family:var(--mono);font-size:20px;font-weight:700}.status-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.days-remaining{font-size:13px;color:var(--ink-2)}.renews-on{font-size:13px;color:var(--ink-3)}.suspension-date{font-size:13px;color:var(--red);margin-top:8px}.empty-state{text-align:center;color:var(--ink-3);padding:40px 20px;font-size:14px}
