.adm{display:flex;min-height:100vh;background:#f3f5f8;font-size:14px}.adm-side{width:220px;background:#16283d;color:#c8d3df;padding:18px 0;flex-shrink:0}.adm-side .brand{color:#fff;font-weight:700;font-size:18px;padding:0 20px 16px;letter-spacing:2px}.adm-side .brand small{display:block;font-size:11px;color:#7f93a8;font-weight:400;letter-spacing:0}.adm-side a{display:block;padding:9px 20px;color:inherit}.adm-side a.active,.adm-side a:hover{background:rgba(255,255,255,.08);color:#fff}.adm-side .group{padding:14px 20px 4px;font-size:11px;color:#7f93a8;letter-spacing:1px}.adm-main{flex:1 1;padding:24px 28px;min-width:0}.adm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap}.adm-head h1{margin:0;font-size:20px}.adm-head .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.box{background:#fff;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.06);padding:18px 20px;margin-bottom:18px}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl td,.tbl th{padding:9px 10px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:middle}.tbl th{background:#f8fafc;color:#52606d;font-weight:600;white-space:nowrap}.tbl tr:hover td{background:#fafbfd}.tbl .num{text-align:right}.tbl a{color:var(--blue)}.tbl a.btn{color:#fff}.tbl a.btn.gray{color:#1f2933}.tbl-wrap{overflow-x:auto}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.kpi{background:#fff;border-radius:10px;padding:16px 18px;box-shadow:0 1px 4px rgba(0,0,0,.06)}.kpi b{font-size:26px;display:block;color:var(--blue-dark)}.kpi span{color:#52606d;font-size:12px}.f{display:grid;grid-gap:12px;gap:12px}.f label{font-size:13px;color:#52606d;display:block;margin-bottom:4px}.f input,.f select,.f textarea{width:100%;padding:8px 10px;border:1px solid #d9e0e8;border-radius:6px;background:#fff;font-size:14px}.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--blue)}.f .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.f .inline{display:flex;gap:8px;align-items:center}.f .inline input[type=checkbox]{width:auto}.btn.danger{background:#c0392b}.btn.gray{background:#eef1f4;color:#1f2933}.search{display:flex;gap:6px}.search input,.search select{padding:7px 10px;border:1px solid #d9e0e8;border-radius:6px}.chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;background:#eef1f4;color:#52606d}.chip.ok{background:#e6f6ec;color:#1f8a4c}.chip.warn{background:#fdeee6;color:#e8622c}.chip.blue{background:#e8f1fb;color:#1a73c8}.chip.red{background:#fdeaea;color:#c0392b}.ql-editor{min-height:360px;font-size:15px}.ql-container{border-radius:0 0 6px 6px}.ql-toolbar{border-radius:6px 6px 0 0}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f4c8a,#1a73c8)}.login-box{background:#fff;padding:32px;border-radius:12px;width:360px}@media (max-width:800px){.adm{flex-direction:column}.adm-side{width:auto;display:flex;flex-wrap:wrap;padding:8px}.adm-side .brand{width:100%;padding:8px 12px}.adm-side .group{display:none}.adm-side a{padding:6px 10px}.adm-main{padding:14px}}