:root{--brand:#288dc1;--link:#1e76a6;--hover:#155a80;--accent:#5eb3db;--surface-tint:#e9f3f9;--ink:#13303f;--page:#f7f9fb;--card:#fff;--border:#d4e2ec;--muted:#5b7280;--critical:#b4231f;--watch:#b06a00;--good:#1d7a4c;--radius:10px;--font:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);font-family:var(--font);margin:0;font-size:16px;line-height:1.5}.page{max-width:900px;margin:0 auto;padding:24px 16px 48px}.header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.header img{width:auto;height:40px}h1{margin:0;font-size:1.35rem}.subtitle{color:var(--muted);margin:4px 0 0;font-size:.95rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px}.card h2{margin:0 0 8px;font-size:1rem}.status{align-items:center;gap:8px;font-weight:600;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:10px;height:10px}.status-loading{color:var(--muted)}.status-ok{color:var(--good)}.status-degraded{color:var(--watch)}.status-error{color:var(--critical)}.detail{color:var(--muted);font-family:var(--mono);margin:8px 0 0;font-size:.85rem}ol.sections{margin:0;padding-left:22px}ol.sections li{padding:2px 0}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-stack{width:100%;max-width:420px}.auth-brand{text-align:center;margin-bottom:24px}.auth-logo{width:auto;height:52px}.auth-title{letter-spacing:-.01em;margin:16px 0 0;font-size:1.4rem;font-weight:700}.auth-tagline{color:var(--muted);margin:2px 0 0;font-size:.875rem}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px #13303f0f,0 8px 24px #13303f0f}.auth-card-header{background:linear-gradient(135deg, var(--brand) 0%, var(--hover) 100%);padding:16px 24px}.auth-card-title{color:#fff;margin:0;font-size:1rem;font-weight:600}.auth-card-subtitle{color:#ffffffd1;margin:2px 0 0;font-size:.78rem}.auth-card-body{flex-direction:column;gap:14px;padding:24px;display:flex}.auth-provider-btn,.auth-primary-btn,.auth-quiet-btn{cursor:pointer;border:1px solid var(--border);background:var(--card);width:100%;min-height:48px;color:var(--ink);border-radius:12px;justify-content:center;align-items:center;gap:12px;padding:12px 16px;font-family:inherit;font-size:.95rem;font-weight:600;display:inline-flex}.auth-provider-btn:hover:not(:disabled){border-color:var(--accent);background:var(--surface-tint)}.auth-primary-btn{background:var(--brand);border-color:var(--brand);color:#fff}.auth-primary-btn:hover:not(:disabled){background:var(--hover);border-color:var(--hover)}.auth-quiet-btn{color:var(--link);background:0 0;border-color:#0000;min-height:40px}.auth-quiet-btn:hover:not(:disabled){text-decoration:underline}.auth-provider-btn:focus-visible,.auth-primary-btn:focus-visible,.auth-quiet-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.auth-provider-btn:disabled,.auth-primary-btn:disabled,.auth-quiet-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn-label{line-height:1}.auth-google-slot{justify-content:center;width:100%;min-height:48px;display:flex;overflow:hidden}.auth-alert{color:var(--critical);background:#fdf2f2;border:1px solid #f3c9c8;border-radius:10px;align-items:flex-start;gap:8px;padding:12px 14px;font-size:.88rem;font-weight:500;display:flex}.auth-muted{color:var(--muted);margin:0;font-size:.88rem}.auth-divider{border-top:1px solid var(--border);padding-top:14px}.auth-note{text-align:center;color:var(--muted);margin:0;font-size:.78rem;line-height:1.6}.auth-footer{text-align:center;color:var(--muted);margin:20px 0 0;font-size:.75rem}.identity-box{background:var(--surface-tint);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.identity-label{color:var(--muted);font-size:.75rem}.identity-email{font-family:var(--mono);word-break:break-all;font-size:.9rem}.field{display:block}.field-label{margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.field textarea{border:1px solid var(--border);width:100%;color:var(--ink);background:var(--card);resize:vertical;border-radius:10px;padding:10px;font-family:inherit;font-size:1rem}.field textarea:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.header-text{flex:auto}.header-action{border:1px solid var(--border);background:var(--card);min-height:40px;color:var(--link);cursor:pointer;border-radius:10px;flex:none;padding:8px 14px;font-family:inherit;font-size:.85rem;font-weight:600}.header-action:hover:not(:disabled){border-color:var(--accent)}.header-action:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.who{margin:0 0 4px;font-size:1.05rem}a.header-action{align-items:center;text-decoration:none;display:inline-flex}.admin-link{color:var(--link);margin-top:8px;font-weight:600;display:inline-block}.admin-filters{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.admin-filter{border:1px solid var(--border);background:var(--card);min-height:40px;color:var(--link);cursor:pointer;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:.85rem;font-weight:600}.admin-filter.is-on{background:var(--brand);border-color:var(--brand);color:#fff}.admin-filter:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.admin-outcome{border:1px solid var(--border);border-left:4px solid var(--good);border-radius:var(--radius);background:var(--surface-tint);text-align:left;gap:8px;margin:0 0 16px;padding:12px 14px;font-size:.95rem;display:flex}.request{border:1px solid var(--border);border-radius:var(--radius);text-align:left;background:var(--card);margin-top:12px;padding:14px}.request-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.request-name{margin:0 0 2px;font-size:1.05rem;font-weight:600}.request-status{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;flex:none;padding:2px 10px;font-size:.75rem;font-weight:600}.request-status.is-pending{color:var(--watch);background:#fdf2e2}.request-status.is-approved{color:var(--good);background:#e6f4ec}.request-status.is-rejected{color:var(--critical);background:#fbeceb}.request-note{border-left:3px solid var(--accent);background:var(--surface-tint);border-radius:0 8px 8px 0;margin:10px 0 0;padding:8px 12px;font-size:.95rem}.request-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.request-actions button{flex:0 auto;min-width:160px}.request-panel{border-top:1px solid var(--border);flex-direction:column;gap:14px;margin-top:14px;padding-top:14px;display:flex}.auth-danger-btn{border:1px solid var(--critical);background:var(--card);min-height:44px;color:var(--critical);cursor:pointer;border-radius:10px;padding:10px 16px;font-family:inherit;font-size:.95rem;font-weight:600}.auth-danger-btn:hover:not(:disabled){background:#fbeceb}.auth-danger-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.auth-danger-btn:disabled{opacity:.6;cursor:not-allowed}.plant-picker{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px;margin:0;padding:12px;display:grid}.plant-option{cursor:pointer;align-items:center;gap:8px;min-height:36px;font-size:.95rem;display:flex}.plant-option input{width:18px;height:18px;accent-color:var(--brand)}.name-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=520px){.name-pair{grid-template-columns:1fr}}.field select,.field input[type=text],.field input:not([type]){border:1px solid var(--border);width:100%;min-height:44px;color:var(--ink);background:var(--card);border-radius:10px;padding:10px;font-family:inherit;font-size:1rem}.field select:focus-visible,.field input:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.user-list{text-align:left;margin:0;padding:0;list-style:none}.user-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;display:grid}.user-row:last-child{border-bottom:none}.user-row.is-off{opacity:.55}.user-name{font-weight:600}.user-role{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);justify-self:end;font-size:.75rem;font-weight:600}.user-row .identity-email,.user-row .detail{grid-column:1/-1;margin:0}.user-edit{border:1px solid var(--border);background:var(--card);min-height:32px;color:var(--link);cursor:pointer;border-radius:8px;grid-column:1/-1;justify-self:end;margin-top:6px;padding:4px 12px;font-family:inherit;font-size:.8rem;font-weight:600}.user-edit:hover:not(:disabled){border-color:var(--accent)}.user-edit:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.user-panel{grid-column:1/-1}
