:root{font-family:Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,sans-serif;line-height:1.5;font-weight:400;color:#1e2b3c;background-color:#f8f3ea;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--ink: #1e2b3c;--muted: #6d6a61;--app-bg: linear-gradient(160deg, #fdf9f2 0%, #e8eef4 45%, #f3eadf 100%)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--app-bg)}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(120deg,rgba(10,24,36,.04) 25%,transparent 25%),linear-gradient(300deg,rgba(10,24,36,.03) 25%,transparent 25%);background-size:140px 140px;pointer-events:none;z-index:0}#root{position:relative;z-index:1}h1,h2,h3{color:#152131}button,input{font-family:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column;color:var(--ink)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1.6rem 3.2rem;background:#0a1824e6;color:#f7f2e8;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{display:flex;align-items:center;gap:1rem}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(140deg,#f3c969,#b98f38);color:#0a1624;font-weight:700;font-size:1rem;letter-spacing:.04em}.brand-title{font-family:Georgia,Times New Roman,serif;font-size:1.1rem;letter-spacing:.03em}.brand-subtitle{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:#f7f2e899}.main-content{flex:1;padding:2.5rem 3.2rem 4rem}.login-panel{display:grid;grid-template-columns:minmax(280px,420px) minmax(280px,1fr);gap:2.5rem;align-items:stretch}.login-card{background:#ffffffeb;border-radius:20px;padding:2.4rem;box-shadow:0 24px 60px #0d131e24;animation:riseIn .7s ease}.login-card h1{font-family:Georgia,Times New Roman,serif;margin:0 0 .8rem}.muted{color:var(--muted)}.login-form{display:grid;gap:1rem;margin:1.6rem 0 1.2rem}.field{display:grid;gap:.4rem;font-weight:600;color:#1e2b3c}.field input{border-radius:12px;border:1px solid #cfd6df;padding:.7rem .9rem;font-size:.95rem;background:#fefcf8}.login-footnote{font-size:.85rem;color:#756e62}.login-side{display:flex;align-items:center}.login-side-card{padding:2rem 2.4rem;border-radius:20px;background:linear-gradient(160deg,#0a1824f2,#13364ce6);color:#f7f2e8;box-shadow:0 24px 60px #0d131e38;animation:riseIn .8s ease}.login-side-card h2{font-family:Georgia,Times New Roman,serif;margin-top:0}.mini-stats{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:1.2rem;margin-top:1.6rem}.stat-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;opacity:.7}.stat-value{display:block;font-size:1.4rem;font-weight:700;margin-top:.2rem}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.filters{display:flex;gap:.6rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.2rem;margin-bottom:2rem}.metric-card{padding:1.4rem;border-radius:18px;background:#fffffff2;box-shadow:0 18px 40px #0d131e1a;animation:fadeUp .6s ease both}.metric-card:nth-child(2){animation-delay:.05s}.metric-card:nth-child(3){animation-delay:.1s}.metric-card:nth-child(4){animation-delay:.15s}.metric-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;color:#857c6f}.metric-value{font-size:1.6rem;font-weight:700;margin:.4rem 0 .2rem}.metric-change{color:#2f6f5e;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem}.panel{background:#fffffff2;border-radius:20px;padding:1.4rem;box-shadow:0 18px 40px #0d131e1f;animation:fadeUp .6s ease both}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-header h3{margin:0;font-family:Georgia,Times New Roman,serif}.panel-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:#8f877a}.graph-block{height:200px;border-radius:16px;background:linear-gradient(145deg,#0e22351a,#0e22354d);position:relative;overflow:hidden}.graph-block:after{content:"";position:absolute;inset:0;background-image:linear-gradient(120deg,transparent 45%,rgba(255,255,255,.4) 50%,transparent 55%);animation:shimmer 2.5s infinite}.graph-a{background:linear-gradient(135deg,#21556c66,#f3c96959)}.graph-b{background:linear-gradient(135deg,#b98f3866,#1b455966)}.alert-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}.alert-list li{display:grid;gap:.3rem;padding-bottom:.8rem;border-bottom:1px solid rgba(16,28,40,.08)}.alert-list li span{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:#9b927f}.alert-list li strong{font-weight:600}.table-panel table{width:100%;border-collapse:collapse;font-size:.9rem}.table-panel th,.table-panel td{text-align:left;padding:.6rem 0;border-bottom:1px solid rgba(16,28,40,.08)}.table-panel th{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:#847c70}.primary{background:linear-gradient(135deg,#b98f38,#f3c969);color:#121212;border:none;padding:.75rem 1.4rem;border-radius:999px;font-weight:700;cursor:pointer;box-shadow:0 12px 24px #b98f384d}.ghost{background:transparent;color:#f7f2e8;border:1px solid rgba(247,242,232,.3);padding:.5rem 1.1rem;border-radius:999px;cursor:pointer}.chip{background:#ffffffbf;border:none;padding:.5rem 1rem;border-radius:999px;cursor:pointer;font-weight:600}.modal-backdrop{position:fixed;inset:0;background:#080c128c;display:grid;place-items:center;z-index:20}.modal{background:#fff4e0;border-radius:18px;padding:2rem 2.4rem;width:min(320px,90vw);text-align:center;box-shadow:0 24px 60px #0d131e4d;animation:fadeUp .4s ease}.modal h2{margin-top:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes riseIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{transform:translate(-60%)}to{transform:translate(60%)}}@media(max-width:900px){.topbar{padding:1.2rem 1.5rem}.main-content{padding:2rem 1.5rem 3rem}.login-panel{grid-template-columns:1fr}.dashboard-header{flex-direction:column;align-items:flex-start}}
