:root{--bg:#f7f7f5;--card:#fff;--border:#e6e5e0;--text:#1c1c1a;--muted:#6b6b66;--info:#185fa5;--info-bg:#e6f1fb;--success:#0f6e56;--success-bg:#e1f5ee;--warn:#854f0b;--warn-bg:#faeeda;--radius:10px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5}a{color:var(--info);text-decoration:none}.container{max-width:1040px;margin:0 auto;padding:20px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--card);border-bottom:1px solid var(--border)}.brand{font-weight:600}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.btn{border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 14px;font-size:14px;cursor:pointer;color:var(--text)}.btn-primary{background:var(--info);border-color:var(--info);color:#fff}.btn:disabled{opacity:.5;cursor:default}input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:var(--text)}label{font-size:12px;color:var(--muted);display:block;margin-bottom:4px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);font-size:14px}th{color:var(--muted);font-weight:500}.badge{font-size:12px;padding:2px 9px;border-radius:8px;display:inline-block}.badge-info{background:var(--info-bg);color:var(--info)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.muted{color:var(--muted)}.row{gap:12px;flex-wrap:wrap}.field,.row{display:flex}.field{border:1px solid var(--border);border-radius:8px;padding:8px 11px;justify-content:space-between;gap:8px}.field .lbl{font-size:13px}.field .lbl,.lock{color:var(--muted)}.lock{font-size:12px}.section{padding:16px 18px}.section+.section{border-top:1px solid var(--border)}.flash,.note{font-size:13px}.flash{padding:10px 12px;border-radius:8px;margin-bottom:12px}.flash-ok{background:var(--success-bg);color:var(--success)}.flash-warn{background:var(--warn-bg);color:var(--warn)}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}@media (max-width:640px){.grid2{grid-template-columns:1fr}}.shell{display:flex;min-height:100vh;align-items:stretch}.sidebar{width:212px;flex-shrink:0;background:var(--card);border-right:1px solid var(--border);padding:14px 10px;display:flex;flex-direction:column;gap:2px}.sidebar .brand{font-weight:600;padding:4px 8px 12px;display:flex;align-items:center;gap:8px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--text);font-size:14px}.sidebar nav a:hover{background:var(--bg)}.sidebar nav a.active{background:var(--info-bg);color:var(--info)}.sidebar .sb-label{font-size:11px;color:var(--muted);padding:12px 8px 4px;text-transform:none}.sidebar .spacer{flex:1 1}.sidebar .who{font-size:12px;color:var(--muted);padding:8px;border-top:1px solid var(--border)}.main{flex:1 1;min-width:0;padding:20px 24px}.main>h2:first-child{margin-top:0}@media (max-width:760px){.shell{flex-direction:column}.sidebar{width:auto;flex-direction:row;align-items:center;gap:8px;border-right:none;border-bottom:1px solid var(--border);padding:10px 12px}.sidebar .brand{padding:0 4px 0 0}.sidebar nav{flex-direction:row;gap:2px}.sidebar .sb-label,.sidebar .spacer{display:none}.sidebar .who{border-top:none;padding:4px;margin-left:auto}.main{padding:14px}}