:root{
  --bg:#f4f6fb;
  --panel:#fff;
  --text:#536a82;
  --heading:#455d76;
  --primary:#6966ff;
  --primary-soft:#e9e8ff;
  --line:#dfe6ef;
  --shadow:0 3px 14px rgba(67,84,111,.10);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.app-layout{min-height:100vh}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;background:#fff;border-right:1px solid #edf0f5;padding:34px 16px 22px;display:flex;flex-direction:column;z-index:10}
.brand{color:#6664ff;font-size:20px;font-weight:800;padding:0 26px 28px}
.nav-link{color:#647990;border-radius:8px;padding:14px 18px}
.nav-link:hover{background:#f4f5ff;color:#625fff}
.nav-link.active{background:var(--primary-soft);color:#615fff;font-weight:700}
.nav-section{font-size:12px;color:#9baabb;margin:24px 18px 8px}
.sidebar-bottom{margin-top:auto;padding:16px 18px;border-top:1px solid #eef1f5;color:#9aa9b9;font-size:12px}
.main-content{margin-left:280px;min-height:100vh}
.topbar{height:86px;margin:14px 28px 0;background:#fff;border-radius:10px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;padding:0 30px}
.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7774ff,#5bc9ff);color:#fff;font-weight:800}
.content-wrap{padding:40px 28px 70px;max-width:1480px;margin:auto}
.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.page-title h1{color:var(--heading);font-size:28px;margin-bottom:6px}
.page-title p{margin:0;color:#8092a5}
.stat-card{min-height:155px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:28px 26px;display:flex;justify-content:space-between}
.stat-card span,.stat-card small{display:block;color:#6e849a}
.stat-card strong{display:block;color:#496078;font-size:28px;margin:14px 0 12px}
.stat-icon{width:48px;height:48px;border-radius:9px;display:grid;place-items:center;font-size:24px}
.stat-icon.purple{background:#ecebff;color:#625eff}
.stat-icon.blue{background:#dff6ff;color:#04aceb}
.warning-box{background:#fff1cf;color:#e89400;padding:18px 20px;border-radius:8px}
.panel-card{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:26px}
.panel-heading{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}
.panel-heading h2{color:var(--heading);margin-bottom:6px}
.panel-heading p{margin:0;color:#8092a5}
.form-label{text-transform:uppercase;font-size:12px;font-weight:700;color:#627991}
.form-control,.form-select{min-height:44px;border-color:#d5dee8}
.form-control:focus,.form-select:focus{border-color:#7774ff;box-shadow:0 0 0 .2rem rgba(108,104,255,.12)}
.btn-primary{background:#6966ff;border-color:#6966ff}
.btn-primary:hover{background:#5d5af0;border-color:#5d5af0}
.product-summary{display:flex;justify-content:space-between;gap:20px;background:#f8f9fc;border:1px solid #edf0f4;border-radius:10px;padding:20px}
.product-summary h3{color:#465e76;margin-bottom:6px}
.product-summary p{margin:0;color:#7d90a4}
.product-summary strong{color:#5956ec;font-size:22px}
.result-box{background:#eefaf4;color:#277957;padding:18px;border-radius:8px}
.result-box.error{background:#fff0f0;color:#d84b4b}
.result-box pre{white-space:pre-wrap;background:#fff;padding:12px;border-radius:6px}
.empty-state{text-align:center;color:#8b9bad;padding:44px 20px}
.docs-row{display:grid;grid-template-columns:80px 1fr 1.4fr;gap:20px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}
.docs-row:last-child{border-bottom:0}
.method{width:max-content;background:#e5f8ef;color:#18875a;padding:5px 8px;border-radius:6px;font-weight:800}
.method.post{background:#fff0de;color:#c97800}
@media(max-width:900px){
  .sidebar{position:static;width:100%;height:auto}
  .main-content{margin-left:0}
  .topbar{margin:10px}
  .content-wrap{padding:28px 15px 50px}
}
@media(max-width:576px){
  .page-title,.product-summary{flex-direction:column;align-items:stretch}
  .docs-row{grid-template-columns:70px 1fr}
  .docs-row span:last-child{grid-column:1/-1}
}

.login-page{min-height:100vh;background:radial-gradient(circle at top left,rgba(105,102,255,.20),transparent 35%),radial-gradient(circle at bottom right,rgba(91,201,255,.18),transparent 35%),#f4f6fb}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:100%;max-width:430px;background:#fff;border-radius:18px;box-shadow:0 18px 50px rgba(67,84,111,.16);padding:38px}
.login-logo{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 20px;border-radius:18px;background:linear-gradient(135deg,#7774ff,#5bc9ff);color:#fff;font-size:22px;font-weight:800}
.login-card h1{color:#455d76;text-align:center;font-size:27px;margin-bottom:8px}
.login-card>p{text-align:center;color:#8192a4;margin-bottom:28px}
