*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f7f7f4;color:#1f2a24}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px max(16px,env(safe-area-inset-left));background:#fff;border-bottom:1px solid #ddd}.eyebrow{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.topbar h1{margin:.2rem 0}.muted{color:#66716b;margin:.25rem 0 0}main{max-width:900px;margin:0 auto;padding:18px 16px 80px}.login-card,.card,.panel-form,.banner{background:#fff;border:1px solid #d9dedb;border-radius:14px;padding:16px}.login-card{max-width:440px;margin:32px auto}.login-card form,.panel-form{display:grid;gap:12px}label{display:grid;gap:6px;font-weight:600}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:12px;border:1px solid #bcc5c0;border-radius:10px;background:#fff}button{border:0;border-radius:10px;padding:11px 14px;background:#234d3b;color:#fff;font-weight:700;cursor:pointer}.secondary{background:#e8ece9;color:#1f2a24}.danger{background:#8f2f2f}.banner{margin-bottom:14px}.banner.warning{background:#fff7df;border-color:#ead693}.tabs{display:flex;gap:8px;overflow:auto;padding:4px 0 12px}.tab{white-space:nowrap;background:#e9eeeb;color:#1f2a24}.tab.active{background:#234d3b;color:#fff}.view{display:none}.view.active{display:block}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:12px 0}.section-heading h2{margin:0}.section-heading p{margin:.3rem 0;color:#66716b}.cards{display:grid;gap:10px}.card strong{display:block;margin-bottom:6px}.card p{margin:.25rem 0}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.empty-state{padding:18px;border:1px dashed #bdc5c0;border-radius:12px;color:#6a746e;background:#fff}.message{min-height:1.2em;color:#8f2f2f}.panel-form{margin:12px 0}h3{margin-top:24px}dialog{border:0;border-radius:16px;max-width:520px;width:calc(100% - 24px);padding:0}dialog::backdrop{background:rgba(0,0,0,.45)}dialog form{display:grid;gap:12px;padding:18px}menu{display:flex;justify-content:flex-end;gap:8px;padding:0;margin:8px 0 0}@media(max-width:600px){.topbar{align-items:flex-start}.topbar h1{font-size:1.45rem}.section-heading{display:block}.actions button{flex:1 1 140px}}
