:root{--bg:#f3f5f9;--card:#fff;--line:#e2e7ef;--txt:#1d2733;--mut:#68788d;--acc:#2563eb;--ok:#16a34a;--warn:#d97706;--err:#dc2626}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--txt)}h1,h2,h3{margin:.2em 0}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:#101a2b;color:#cdd7e5;padding:16px 0;flex-shrink:0;display:flex;flex-direction:column}.sidebar .logo{font-size:18px;font-weight:700;color:#fff;padding:0 18px 14px;border-bottom:1px solid #223148;margin-bottom:10px}.sidebar a{display:block;color:#cdd7e5;text-decoration:none;padding:10px 18px;font-size:14px;border-left:3px solid transparent}.sidebar a.active{background:#182640;color:#fff;border-left-color:var(--acc)}.sidebar-bottom{margin-top:auto}.sidebar .role{padding:12px 18px;font-size:12px;color:#7f90a8;border-top:1px solid #223148;margin-top:8px}.main{flex:1;padding:20px 26px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cards{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 18px;min-width:150px;flex:1}.card .v{font-size:22px;font-weight:700}.card .l{font-size:12px;color:var(--mut)}.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}.panel h3{margin-top:0;font-size:15px;border-bottom:1px solid var(--line);padding-bottom:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}label.f{display:block;font-size:12px;color:var(--mut);margin-bottom:4px}input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;font:inherit;background:#fff}textarea{resize:vertical}button{font:inherit;border-radius:7px;border:1px solid var(--line);background:#fff;padding:8px 14px;cursor:pointer}button:hover{border-color:var(--acc)}button.primary{background:var(--acc);border-color:var(--acc);color:#fff}button.danger{color:var(--err)}button.small{padding:4px 9px;font-size:12px}.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.tabs button.on{background:var(--acc);color:#fff;border-color:var(--acc)}.dropzone{border:2px dashed #b9c4d6;border-radius:10px;padding:34px;text-align:center;color:var(--mut);cursor:pointer;background:#fbfcfe}.dropzone.over{border-color:var(--acc);background:#eef4ff}.file-item{border:1px solid var(--line);border-radius:9px;padding:12px;margin-top:10px;background:#fafbfd}.file-item .row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.file-item .stats{font-size:12px;color:var(--mut);margin-top:6px}.badge{font-size:11px;padding:2px 8px;border-radius:10px;background:#e8edf5;color:#43536b}.badge.green{background:#e5f6ea;color:#157a3c}.badge.orange{background:#fdf1e0;color:#b25e09}.badge.red{background:#fdeaea;color:#b42323}table.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left}.tbl th{color:var(--mut);font-weight:600;font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.muted{color:var(--mut);font-size:12px}.err{color:var(--err)}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{width:340px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px}.switch{display:inline-flex;align-items:center;gap:8px;font-size:13px}.progress{height:6px;background:#e8edf5;border-radius:4px;overflow:hidden;margin:6px 0}.progress i{display:block;height:100%;background:var(--acc);transition:width .3s}
