:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Trebuchet MS,Gill Sans,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:#102823;background:radial-gradient(circle at 18% 12%,#e7f7f2 0 24%,#0000 42%),radial-gradient(circle at 84% 4%,#d8ece7 0 20%,#0000 43%),linear-gradient(145deg,#f8fdfa 0%,#eff8f6 42%,#e7f2ef 100%);min-height:100vh;margin:0}#root{min-height:100vh}code{background:#22574c1a;border-radius:6px;padding:2px 6px}.login-shell{place-items:center;min-height:100vh;padding:28px;display:grid}.login-card{background:#ffffffe6;border:1px solid #c8dbd5;border-radius:18px;width:min(460px,100%);padding:24px;box-shadow:0 24px 42px #0e332b26}.dashboard-shell{align-items:stretch;min-height:100vh;display:flex}.sidebar{color:#ecf8f3;background:linear-gradient(#103830 0%,#184f44 42%,#215f52 100%);flex-direction:column;gap:12px;width:270px;padding:16px 12px;transition:width .24s;display:flex}.sidebar.collapsed{width:84px}.collapse-btn{color:#f5fffb;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:9px;align-self:flex-end;width:34px;height:34px;font-weight:700}.brand{letter-spacing:.06em;padding:6px 8px;font-size:1.2rem;font-weight:800}.menu-list{flex-direction:column;gap:8px;display:flex}.side-link{text-align:left;color:#ecf8f3;background:0 0;border:0;border-radius:10px;width:100%;padding:10px 12px}.side-link:hover{background:#ffffff1c}.side-link.active{color:#16453d;background:#f6fffb;font-weight:700}.sidebar.collapsed .brand{text-align:center}.sidebar.collapsed .side-link{text-align:center;padding-inline:6px;font-size:.8rem}.main-container{flex:1;padding:28px}.content-head{margin-bottom:14px}.scope-toolbar{align-items:center;gap:10px;margin-top:10px;display:flex}.series-filter{color:#123a33;background:#fff;border:1px solid #9db7b1;border-radius:10px;min-width:180px;padding:10px 12px}.placeholder-card{background:#ffffffc7;border:1px solid #d2e2de;border-radius:16px;padding:20px;box-shadow:0 10px 20px #0a322d14}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#2e5c51;font-size:.8rem;font-weight:600}h1{margin:8px 0;font-size:clamp(1.6rem,4vw,2.4rem)}.subtitle{color:#365f58;margin:0 0 20px}.api-info{color:#2d4944;margin-bottom:16px}.label{color:#173f38;margin:12px 0 8px;font-weight:600;display:block}input{border:1px solid #9db7b1;border-radius:10px;flex:1;width:100%;min-width:0;padding:10px 12px;font-size:1rem}button{cursor:pointer;color:#fff;background:#1f6e5f;border:0;border-radius:10px;padding:10px 16px;font-weight:600}button:disabled{opacity:.6;cursor:wait}.error{color:#a12020;margin-top:12px}.success-msg{color:#0f5d4e;margin-top:12px;font-weight:600}.token{color:#145246;margin-top:12px;font-weight:600}.output{color:#d8efe8;background:#0d1b17;border-radius:12px;max-height:380px;margin-top:14px;padding:16px;overflow:auto}.table-wrap{background:#fff;border:1px solid #c7d9d4;border-radius:12px;margin-top:14px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e4eeeb;padding:10px 12px}thead th{color:#1f4f45;background:#eef6f3;position:sticky;top:0}tbody tr:nth-child(2n){background:#f9fcfb}td a{color:#1f6e5f;font-weight:600}.edit-btn{background:#1f6e5f;border-radius:8px;padding:6px 10px;font-size:.82rem}.modal-overlay{z-index:20;background:#051d1880;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#f8fffd;border:1px solid #c6dbd5;border-radius:14px;width:min(820px,100%);max-height:90vh;padding:22px;overflow:auto;box-shadow:0 22px 50px #0b2f2833}.modal-grid{grid-template-columns:1fr 1fr;gap:8px 14px;display:grid}.modal-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.secondary-btn{color:#153f37;background:#d8e8e4}@media (width<=720px){.dashboard-shell{flex-direction:column}.sidebar,.sidebar.collapsed{width:100%}.sidebar.collapsed .side-link{text-align:left;font-size:1rem}.main-container{padding:18px}.scope-toolbar{flex-direction:column;align-items:stretch}.modal-grid{grid-template-columns:1fr}}
