:root{--color-bg: #f2f4ef;--color-surface: #ffffff;--color-ink: #15201a;--color-muted: #56635a;--color-accent: #1f8f57;--color-border: #d7ddd3;--radius-md: 12px;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--shadow-soft: 0 10px 24px rgba(21, 32, 26, .08)}*{box-sizing:border-box}body{margin:0;font-family:Avenir Next,Segoe UI,sans-serif;color:var(--color-ink);background:linear-gradient(130deg,#e6ece2,#f7f9f4)}.page{min-height:100vh;padding:var(--space-6)}.shell{max-width:960px;margin:0 auto;display:grid;gap:var(--space-4)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-soft)}.stack{display:grid;gap:var(--space-3)}.row{display:flex;gap:var(--space-4);flex-wrap:wrap}.muted{color:var(--color-muted)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.table th{color:var(--color-muted);font-weight:600}button,input{font:inherit;padding:var(--space-2) var(--space-3);border-radius:8px;border:1px solid var(--color-border)}button{background:var(--color-accent);color:#fff;cursor:pointer}a{color:var(--color-accent)}@media (max-width: 640px){.page{padding:var(--space-4)}.table{font-size:.9rem}}
