*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f6f4ef;--bg2:#fffdf9;--bg3:#efebe3;--bg4:#e0dbcf;--border:#e0dbcf;--border2:#cdc6b6;--purple:#2f6f8f;--purple-light:#1f4e63;--purple-dark:#1a4456;--purple-dim:#2f6f8f1a;--purple-border:#2f6f8f38;--purple-glow:#2f6f8f0f;--green:#3c6e47;--green-bg:#3c6e4714;--amber:#b3741e;--amber-bg:#b3741e14;--red:#9a3b34;--red-bg:#9a3b3414;--text:#16191d;--text2:#3a4047;--text3:#6b727a;--font:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;--radius:10px;--shadow-sm:0 1px 4px #0000000d;--shadow:0 4px 20px #0000000d;--shadow-lg:0 12px 48px #0000000f;--shadow-purple:0 4px 20px #2f6f8f26}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.6}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:10px}h1,h2,h3,h4{letter-spacing:-.02em;color:var(--text);font-weight:800;line-height:1.1}.container{max-width:960px;margin:0 auto;padding:0 48px}.container-sm{max-width:720px;margin:0 auto;padding:0 24px}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.card-elevated{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:28px;box-shadow:inset 0 0 0 1px #ffffff05}.btn{font-family:var(--font);cursor:pointer;white-space:nowrap;border:1.5px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:600;line-height:1;transition:all .15s;display:inline-flex}.btn-primary{background:var(--purple);border-color:var(--purple);box-shadow:var(--shadow-purple);color:#fff!important}.btn-primary:hover{background:var(--purple-dark);border-color:var(--purple-dark);transform:translateY(-1px);box-shadow:0 6px 28px #7c6af766}.btn-primary:disabled{background:var(--bg3);border-color:var(--border);color:var(--text3);cursor:not-allowed;box-shadow:none;transform:none}.btn-outline{color:var(--text);border-color:var(--border2);background:0 0}.btn-outline:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-dim)}.btn-ghost{color:var(--text2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg2);color:var(--text)}.btn-sm{border-radius:6px;padding:7px 14px;font-size:12px}.btn-lg{border-radius:10px;padding:14px 32px;font-size:16px}.btn-xl{border-radius:12px;padding:16px 40px;font-size:18px}.input{background:var(--bg2);border:1.5px solid var(--border2);width:100%;color:var(--text);font-family:var(--font);border-radius:8px;outline:none;padding:11px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7c6af71f}.input::placeholder{color:var(--text3)}.label{color:var(--text2);letter-spacing:.2px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.badge{border-radius:100px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;line-height:1.6;display:inline-flex}.badge-green{background:var(--green-bg);color:var(--green);border:1px solid #22c55e33}.badge-amber{background:var(--amber-bg);color:var(--amber);border:1px solid #f59e0b33}.badge-red{background:var(--red-bg);color:var(--red);border:1px solid #ef444433}.badge-purple{background:var(--purple-dim);color:var(--purple-light);border:1px solid var(--purple-border)}.badge-gray{background:var(--bg3);color:var(--text2);border:1px solid var(--border)}.section-label{color:var(--purple);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;font-size:11px;font-weight:700}.divider{background:var(--border);height:1px}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes glow{0%,to{box-shadow:0 0 12px #7c6af74d}50%{box-shadow:0 0 24px #7c6af799}}.fade-up{animation:.45s cubic-bezier(.16,1,.3,1) forwards fadeUp}.spinner{border:2px solid var(--border2);border-top-color:var(--purple);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin}.dash-sidebar{background:var(--bg2);color:var(--text);border-right:1px solid var(--border)}.dash-sidebar .nav-item{color:var(--text3);border-radius:7px;transition:all .15s}.dash-sidebar .nav-item:hover{color:var(--text2);background:#0000000a}.dash-sidebar .nav-item.active{background:var(--purple-dim);color:var(--purple)}.table-row{transition:background .1s}.table-row:hover{background:var(--bg3)!important}code,pre{font-family:var(--font-mono);background:var(--bg3);border:1px solid var(--border);border-radius:6px;font-size:12px}code{padding:2px 6px}pre{padding:14px 16px;line-height:1.6;overflow:auto}a.prose-link{color:var(--purple-light);border-bottom:1px solid var(--purple-border);text-decoration:none;transition:border-color .15s}a.prose-link:hover{border-color:var(--purple-light)}@media (max-width:768px){.container{padding:0 20px}.hide-mobile{display:none!important}}@media (max-width:480px){.container{padding:0 16px}h1{letter-spacing:-1.5px}}.shimmer{background:linear-gradient(90deg, var(--bg3) 25%, var(--border) 50%, var(--bg3) 75%);background-size:200% 100%;animation:1.5s linear infinite shimmer}@media print{html,body{color:#000!important;background:#fff!important;font-size:12px!important}.hide-print{display:none!important}.card,.card-elevated{color:#000!important;box-shadow:none!important;background:#fff!important;border:1px solid #e2e2e2!important;margin-bottom:12px!important;padding:16px!important}.badge{color:#000!important;box-shadow:none!important;background:#f3f4f6!important;border:1px solid #d1d5db!important}select{appearance:none!important;color:#000!important;background:0 0!important;border:none!important;width:auto!important;padding:0!important;font-size:14px!important;font-weight:800!important}table{border-collapse:collapse!important;color:#000!important;width:100%!important}th,td{color:#000!important;border-bottom:1px solid #e2e2e2!important;padding:10px 12px!important}h1,h2,h3,h4,p,span,strong{color:#000!important}svg{display:none!important}}
