*{margin:0;padding:0;box-sizing:border-box}:root{--bg:#fff8eb;--bg-card:rgba(255,255,255,0.74);--bg-elevated:rgba(255,255,255,0.9);--border:rgba(16,32,37,0.14);--border-hover:rgba(16,32,37,0.3);--text:#102025;--text-muted:#4b5a60;--text-dimmed:#6b7a80;--accent:#0f766e;--accent-hover:#0b5f58;--accent-subtle:rgba(15,118,110,0.14);--danger:#ba3d42;--danger-subtle:rgba(186,61,66,0.12);--success:#27795d;--success-subtle:rgba(39,121,93,0.13);--radius:16px;--radius-sm:11px;--shadow-soft:0 18px 40px rgba(20,42,50,0.13)}body{font-family:Avenir Next,Trebuchet MS,Segoe UI,Helvetica Neue,sans-serif;background:radial-gradient(circle at 14% 10%,rgba(245,184,107,.26) 0,rgba(245,184,107,0) 38%),radial-gradient(circle at 84% 0,rgba(103,183,168,.22) 0,rgba(103,183,168,0) 36%),linear-gradient(160deg,#fff8eb,#f3fcfa 57%,#f9f4ff);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Times New Roman,serif;letter-spacing:-.02em}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover)}button{cursor:pointer;border:none;border-radius:var(--radius-sm);padding:10px 18px;font-size:14px;font-weight:600;transition:all .16s ease;font-family:inherit}button:hover{transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{color:#f8fffd;background:linear-gradient(140deg,var(--accent) 0,#15807a 100%);box-shadow:0 10px 26px rgba(15,118,110,.23)}.btn-primary:hover{background:linear-gradient(140deg,var(--accent-hover) 0,#116f69 100%)}.btn-danger{background:var(--danger);color:white}.btn-secondary{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--border-hover);background:#ffffff}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid transparent;padding:8px 12px}.btn-ghost:hover{color:var(--text);border-color:var(--border);background:rgba(255,255,255,.56)}input,select,textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;color:var(--text);font-size:14px;width:100%;font-family:inherit;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}input::placeholder,textarea::placeholder{color:var(--text-dimmed)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .15s,transform .15s}.card:hover{border-color:var(--border-hover)}.container{max-width:940px;margin:0 auto;padding:40px 24px}.page-shell{animation:rise .45s ease}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-success{background:var(--success-subtle);color:var(--success)}.badge-danger{background:var(--danger-subtle);color:var(--danger)}.divider{height:1px;background:var(--border);margin:24px 0}.stat-value{font-size:28px;font-weight:700;letter-spacing:-.5px;line-height:1}.stat-label{font-size:12px;letter-spacing:.6px;margin-bottom:8px;font-weight:600}.section-title,.stat-label{color:var(--text-muted);text-transform:uppercase}.section-title{font-size:15px;font-weight:700;letter-spacing:.5px;margin-bottom:16px}.error-box{background:var(--danger-subtle);border:1px solid rgba(186,61,66,.28);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:16px;font-size:14px;color:#9a1f24}.tab-group{display:flex;gap:4px;background:rgba(255,255,255,.58);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px}.tab{flex:1 1;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-muted);background:transparent;border:none;transition:all .15s}.tab:hover{color:var(--text);transform:none}.tab.active{background:rgba(255,255,255,.93);color:var(--text);box-shadow:0 1px 3px rgba(20,42,50,.12)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.container{padding:24px 16px}.stat-value{font-size:24px}}