
:root{--bp-blue:#0030c0;--bp-green:#007f3f;--bg:#f6f8fc;--card:#ffffff;--text:#111827;--muted:#6b7280;--line:rgba(17,24,39,.10);--shadow:0 14px 30px rgba(0,0,0,.10);--radius:18px}
*{box-sizing:border-box} html,body{height:100%} body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:radial-gradient(900px 520px at 0% 0%, rgba(0,48,192,.11), transparent 60%),radial-gradient(900px 520px at 100% 0%, rgba(0,127,63,.10), transparent 55%),var(--bg)} a{color:inherit;text-decoration:none}.container{max-width:1180px;margin:0 auto;padding:18px}.shell{display:flex;gap:16px;align-items:stretch}.sidebar{width:260px;flex:0 0 260px;background:linear-gradient(180deg,#0b1b4f,#07102f);color:#fff;border-radius:22px;box-shadow:var(--shadow);padding:16px;position:sticky;top:14px;height:calc(100vh - 28px);overflow:auto}.brand{display:flex;align-items:center;gap:10px;padding:10px 10px 14px 10px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:10px}.logo{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.05));display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);font-weight:900}.brand h1{font-size:14px;line-height:1.1;margin:0}.brand p{margin:2px 0 0 0;font-size:12px;opacity:.75}.nav{margin-top:10px}.nav a{display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:14px;color:rgba(255,255,255,.88)}.nav a:hover{background:rgba(255,255,255,.08)}.nav a.active{background:rgba(255,255,255,.14);color:#fff}.badge{margin-left:auto;font-size:12px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.15)}.sidebar .help{margin-top:14px;padding:12px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.sidebar .help b{display:block;font-size:13px;margin-bottom:6px}.sidebar .help p{margin:0;font-size:12px;opacity:.85;line-height:1.35}.main{flex:1;min-width:0}.muted{color:var(--muted)}
@media (max-width: 980px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:relative;top:auto}.main{width:100%}}
.topbar{display:flex;gap:14px;padding:14px 18px;background:#fff;border-bottom:1px solid #dbe2ef}
.topbar a{color:#0030c0;text-decoration:none;font-weight:600}
.page-wrap{padding:24px}
.authwrap{min-height:100vh;display:flex;align-items:center;justify-content:center}
.authcard,.formcard{background:#fff;padding:32px;border-radius:16px;width:420px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.authcard input,.authcard button,.formcard input,.formcard textarea,.formcard select,.formcard button{width:100%;padding:12px;margin:8px 0;box-sizing:border-box}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.product-card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.product-card img{width:100%;height:180px;object-fit:cover;border-radius:12px}
.btn{display:inline-block;background:#0030c0;color:#fff;text-decoration:none;padding:10px 16px;border-radius:10px;border:none}
.btn-secondary{background:#4e5d78}
.table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.table th,.table td{padding:12px;border-bottom:1px solid #e7edf6;text-align:left}
.thumb{width:90px;height:70px;object-fit:cover;border-radius:8px}
.alert{background:#ffe7e7;color:#8b1e1e;padding:12px;border-radius:10px;margin-bottom:10px}
.stack-links{display:flex;flex-direction:column;gap:10px;margin-top:14px}
