:root{--primary: #0d6efd;--primary-dark: #0b5ed7;--header: #1f2732;--sidebar: #f3f6f9;--bg: #f5f7fa;--card: #ffffff;--text: #1f2d3d;--muted: #6b7280;--border: #e5e9ef;--th: #eef3fa;--success: #16a34a;--success-bg: #dcfce7;--danger: #dc2626;--danger-bg: #fee2e2;--warning: #d97706;--warning-bg: #fef3c7;--info: #0891b2;--info-bg: #cffafe;--purple: #7c3aed;--purple-bg: #ede9fe;--radius: 8px;--shadow: 0 1px 2px rgba(16, 24, 40, .05)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Heebo,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;color:var(--text);background:var(--bg)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:600}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:13px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:#cdd5df;border-radius:4px}.app{display:flex;flex-direction:column;height:100vh}.topbar{height:50px;background:var(--header);color:#fff;display:flex;align-items:center;padding:0 16px;gap:16px;flex-shrink:0;position:relative;z-index:30}.topbar .hamb{background:none;border:0;color:#fff;font-size:20px;cursor:pointer;padding:4px 6px}.topbar .logo{font-weight:800;font-size:26px;letter-spacing:1px;color:#fff;font-family:Heebo,sans-serif;display:flex;align-items:center;gap:6px}.topbar .logo span{color:var(--primary)}.topbar .tabs{display:flex;align-items:flex-end;height:50px;margin-left:40px;gap:6px}.topbar .tab{height:34px;padding:0 22px;display:flex;align-items:center;background:#3a4350;color:#cbd5e1;border-radius:6px 6px 0 0;font-size:12px;font-weight:500;cursor:pointer;border-top:3px solid transparent}.topbar .tab.active{background:#fff;color:var(--text);font-weight:600}.topbar .tab.active.orders{border-top-color:var(--primary)}.topbar .tab.active.accounts{border-top-color:#16a34a}.topbar .tab.active.cs{border-top-color:#f59e0b}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:8px}.topbar .iconbtn{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:#e5e7eb;cursor:pointer;background:none;border:0;position:relative}.topbar .iconbtn:hover{background:#2c3542}.topbar .iconbtn .dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:#22c55e}.topbar .avatar{width:32px;height:32px;border-radius:50%;background:#6d5dfc;color:#fff;display:grid;place-items:center;font-weight:700;cursor:pointer}.topbar .search-wrap{flex:1;display:flex;align-items:center;background:#2c3542;border-radius:6px;padding:0 10px;height:34px;gap:8px}.topbar .search-wrap input{flex:1;background:none;border:0;color:#fff;outline:none;font-size:13px}.body{display:flex;flex:1;min-height:0}.sidebar{width:200px;background:var(--sidebar);flex-shrink:0;display:flex;flex-direction:column;padding:14px 12px;overflow-y:auto;transition:width .2s}.sidebar.collapsed{width:0;padding:0;overflow:hidden}.sidebar .create-btn{width:100%}.sidebar nav{margin-top:14px;display:flex;flex-direction:column;gap:2px}.sidebar .nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:#334155;cursor:pointer;font-size:12.5px;font-weight:500;text-decoration:none}.sidebar .nav-item:hover{background:#e8eef6;text-decoration:none}.sidebar .nav-item.active{background:#dbe7f7;color:var(--text);font-weight:600}.sidebar .nav-item svg{width:18px;height:18px;flex-shrink:0;color:#64748b}.sidebar .nav-item .chev{margin-left:auto;transition:transform .15s}.sidebar .nav-item .chev.open{transform:rotate(90deg)}.sidebar .sub{display:flex;flex-direction:column;gap:1px;margin:2px 0 6px 14px}.sidebar .sub a{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;color:#475569;font-size:12px;text-decoration:none}.sidebar .sub a:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--primary);flex-shrink:0}.sidebar .sub a.active{background:#dbe7f7;color:var(--text);font-weight:600}.sidebar .sub a.active:before{display:none}.sidebar .sub a:hover{background:#e8eef6;text-decoration:none}.sidebar .foot{margin-top:auto;font-size:10px;color:#64748b;text-align:center;padding-top:12px}.badge-new{font-size:8px;background:#dcfce7;color:#16a34a;padding:1px 4px;border-radius:3px;margin-left:6px;font-weight:700}.content{flex:1;overflow-y:auto;padding:18px 26px 40px;min-width:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.page-head h1{font-size:21px;font-weight:600}.page-head .actions{display:flex;align-items:center;gap:10px;margin-left:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:8px;border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer;background:#fff;color:var(--text);white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-light{background:#e9edf2;color:#334155}.btn-light:hover{background:#dde3ea}.btn-outline{border-color:var(--border);background:#fff}.btn-outline:hover{background:#f8fafc}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-sm{padding:6px 12px;font-size:12px}.btn-xs{padding:3px 8px;font-size:11px;border-radius:5px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-block{width:100%}.iconbtn2{width:34px;height:34px;border-radius:8px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:#475569;position:relative}.iconbtn2:hover{background:#eef2f7}.iconbtn2.active{background:var(--primary);color:#fff}.iconbtn2 .cnt{position:absolute;top:-2px;right:-2px;background:var(--primary);color:#fff;font-size:9px;min-width:15px;height:15px;border-radius:8px;display:grid;place-items:center;padding:0 3px;font-weight:700}.iconbtn2:disabled{opacity:.4;cursor:default}.iconbtn2 svg{width:18px;height:18px}.icon-sq{width:40px;height:40px;border-radius:8px;background:#e9edf2;border:0;display:grid;place-items:center;cursor:pointer;color:#334155;position:relative}.icon-sq svg{width:18px;height:18px}.icon-sq .cnt{position:absolute;top:-4px;left:-4px;background:var(--primary);color:#fff;font-size:9px;width:16px;height:16px;border-radius:8px;display:grid;place-items:center;font-weight:700}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}.card-h{padding:14px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:13.5px;display:flex;align-items:center;justify-content:space-between;gap:10px}.card-h .sub{font-weight:400;color:var(--muted);font-size:12px;margin-top:2px}.card-b{padding:16px}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}@media (max-width: 1100px){.g4,.g5,.g3{grid-template-columns:repeat(2,1fr)}}.mb{margin-bottom:14px}.mt{margin-top:14px}.stat{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 14px 12px;position:relative;overflow:hidden;min-height:70px}.stat .lbl{color:#475569;font-size:12px;display:flex;align-items:center;gap:6px}.stat .val{font-size:15px;font-weight:700;margin-top:8px;display:flex;align-items:center;gap:6px}.stat .val.big{font-size:24px}.stat .spark{position:absolute;right:12px;bottom:8px;width:40%;height:36px;opacity:.9}.stat.center{text-align:center;padding:16px 14px 0}.stat.center .lbl{justify-content:center;font-size:13px;font-weight:500;color:var(--text)}.stat.center .val{justify-content:center;font-size:24px;margin-top:6px}.stat.center .foot{border-top:2px solid var(--border);margin:12px -14px 0;padding:10px;font-size:11px;color:var(--muted)}.stat.center.b-green .foot{border-color:#86efac}.stat.center.b-orange .foot{border-color:#fdba74}.stat.center.b-cyan .foot{border-color:#67e8f9}.stat.center.b-red .foot{border-color:#fca5a5}.stat.center.b-blue .foot{border-color:#93c5fd}.t-green{color:var(--success)!important}.t-red{color:var(--danger)!important}.t-orange{color:var(--warning)!important}.t-cyan{color:var(--info)!important}.t-blue{color:var(--primary)!important}.t-muted{color:var(--muted)!important}.t-purple{color:var(--purple)!important}.info-i{display:inline-grid;place-items:center;width:13px;height:13px;border-radius:50%;color:#1f2d3d;font-size:10px;font-weight:700;font-style:italic;cursor:help}.notice{border-radius:8px;padding:14px 18px;display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}.notice.warning{background:#fef3c7;border:1px solid #fcd34d}.notice.success{background:#dcfce7;border:1px solid #86efac}.notice.danger{background:#fee2e2;border:1px solid #fca5a5}.notice.orange{background:#ffedd5;border:1px solid #fdba74}.notice .ic{font-size:20px;line-height:1}.notice b{display:block;margin-bottom:4px;font-size:14px}.notice p{margin:0;color:#334155;font-size:12.5px}.notice a{font-size:12px}.banner-blue{background:linear-gradient(90deg,#3b82f6,#93c5fd);color:#fff;border-radius:8px;padding:18px 16px}.banner-blue b{display:block;font-size:12px;margin-bottom:4px}.badge{display:inline-block;padding:3px 9px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2px;white-space:nowrap}.badge.green{background:#dcfce7;color:#15803d}.badge.teal{background:#ccfbf1;color:#0f766e}.badge.red{background:#fee2e2;color:#b91c1c}.badge.orange{background:#fef3c7;color:#b45309}.badge.blue{background:#dbeafe;color:#1d4ed8}.badge.grey{background:#e5e7eb;color:#4b5563}.badge.purple{background:#ede9fe;color:#6d28d9}.badge.pink{background:#fce7f3;color:#be185d}.badge.dark{background:#334155;color:#fff}.chip{display:inline-block;background:#e9edf2;border-radius:4px;padding:2px 6px;font-size:10px;color:#475569;margin-right:4px}.pill-y{background:#d9e7c8;color:#3f6212;font-weight:700;padding:3px 9px;border-radius:4px;font-size:10px}.tablewrap{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.toolbar{display:flex;align-items:center;gap:4px;padding:10px 14px;min-height:52px}.toolbar .left{display:flex;align-items:center;gap:10px;font-weight:600}.toolbar .right{margin-left:auto;display:flex;align-items:center;gap:2px}.toolbar .sep{width:1px;height:24px;background:var(--border);margin:0 6px}.toolbar .search-in{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:6px;padding:0 8px;height:32px}.toolbar .search-in input{border:0;outline:0;width:180px}.tscroll{overflow-x:auto}table.dt{width:100%;border-collapse:collapse}table.dt th{background:var(--th);text-align:left;font-size:11px;text-transform:uppercase;font-weight:600;color:#334155;padding:11px 12px;white-space:nowrap;-webkit-user-select:none;user-select:none}table.dt th.sortable{cursor:pointer}table.dt th .sort-ic{color:#94a3b8;margin-left:6px;font-size:10px}table.dt td{padding:10px 12px;border-bottom:1px solid #eef1f5;font-size:12px;vertical-align:middle}table.dt tr:hover td{background:#fafbfd}table.dt td.empty{text-align:left;color:#475569;padding:8px 14px}table.dt tfoot td{font-weight:700;background:#f8fafc}table.dt .num{text-align:right}.tfoot{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:12px;color:#334155;flex-wrap:wrap;gap:8px}.tfoot .show{display:flex;align-items:center;gap:6px}.tfoot select{border:1px solid var(--border);border-radius:6px;padding:4px 6px;background:#e9edf2}.pager{display:flex;gap:4px}.pager button{min-width:28px;height:28px;border-radius:6px;border:0;background:#e9edf2;color:#334155;cursor:pointer;font-weight:600;font-size:12px}.pager button.active{background:var(--primary);color:#fff}.pager button:disabled{opacity:.5;cursor:default}.courier-logo{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px;color:#fff;letter-spacing:.3px;text-transform:uppercase}.linkish{color:var(--text);text-decoration:underline;cursor:pointer}.linkish:hover{color:var(--primary)}.ellipsis{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-multi{line-height:1.6;font-size:11.5px}.cell-multi b{display:block;font-size:12px}.thumb{width:34px;height:34px;border-radius:6px;background:#e5e7eb;display:grid;place-items:center;color:#94a3b8;font-size:11px;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.star{color:#cbd5e1;font-size:16px;cursor:pointer}.star.on{color:var(--primary)}.form-row{display:grid;gap:12px}.form-row.c2{grid-template-columns:1fr 1fr}.form-row.c3{grid-template-columns:1fr 1fr 1fr}.field{position:relative;margin-bottom:14px}.field>label{display:block;font-size:11px;font-weight:600;color:#334155;margin-bottom:5px}.field label .req{color:var(--danger)}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd6de;border-radius:8px;padding:10px 12px;background:#fff;outline:none;color:var(--text)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0d6efd1f}.field textarea{min-height:90px;resize:vertical}.field.float{margin-bottom:18px}.field.float>label{position:absolute;top:-7px;left:10px;background:#fff;padding:0 4px;z-index:1;font-size:10.5px}.field.float input,.field.float select,.field.float textarea{padding:12px}.field .hint{font-size:11px;color:var(--muted);margin-top:4px}.field .err{font-size:11px;color:var(--danger);margin-top:4px}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12.5px;margin-right:18px}.check input{width:15px;height:15px;accent-color:var(--primary)}.switch{position:relative;width:38px;height:20px;background:#cbd5e1;border-radius:10px;cursor:pointer;transition:.15s;flex-shrink:0;display:inline-block;vertical-align:middle}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}.switch.on{background:#bfdbfe}.switch.on:after{left:20px;background:var(--primary)}.switch-row{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500}.tags-in{display:flex;flex-wrap:wrap;gap:6px;border:1px solid #cfd6de;border-radius:8px;padding:6px 8px;min-height:40px;align-items:center;background:#fff}.tags-in .tag{background:#e9edf2;border-radius:4px;padding:3px 8px;font-size:11px;display:inline-flex;gap:6px;align-items:center}.tags-in .tag button{border:0;background:none;cursor:pointer;color:#64748b;padding:0}.tags-in input{border:0;outline:0;flex:1;min-width:120px}.mselect{position:relative}.mselect .ctl{border:1px solid #cfd6de;border-radius:8px;padding:8px 32px 8px 10px;min-height:40px;display:flex;flex-wrap:wrap;gap:5px;align-items:center;cursor:pointer;background:#fff}.mselect .ctl .ph{color:#6b7280;font-size:12.5px;font-weight:600}.mselect .ctl .tag{background:#e9edf2;border-radius:4px;padding:2px 7px;font-size:11px;display:inline-flex;gap:5px;align-items:center}.mselect .ctl .caret{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#64748b}.mselect .ctl .clear{position:absolute;right:30px;top:50%;transform:translateY(-50%);color:#64748b;font-size:12px}.mselect .menu{position:absolute;z-index:50;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #0000001f;max-height:260px;overflow:auto}.mselect .menu input{width:100%;border:0;border-bottom:1px solid var(--border);padding:9px 10px;outline:0;position:sticky;top:0;background:#fff}.mselect .opt{padding:8px 10px;cursor:pointer;font-size:12.5px;display:flex;gap:8px;align-items:center}.mselect .opt:hover,.mselect .opt.hl{background:#eef3fa}.mselect .opt.sel{font-weight:600;color:var(--primary)}.file-in{display:flex;border:1px solid #cfd6de;border-radius:6px;overflow:hidden;height:36px;align-items:center}.file-in .browse{background:#dbe7f7;padding:0 16px;height:100%;display:grid;place-items:center;font-weight:600;color:#334155;cursor:pointer;border-right:1px solid #cfd6de}.file-in span{padding:0 12px;color:#6b7280}.dropzone{border:2px dashed #cbd5e1;border-radius:10px;padding:34px;text-align:center;color:#475569;cursor:pointer;font-size:15px}.dropzone:hover{border-color:var(--primary);background:#f8fbff}.radio-group label{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:12px;font-weight:500;cursor:pointer}.radio-group input{accent-color:var(--primary);width:15px;height:15px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:grid;place-items:center;z-index:100;padding:20px;overflow-y:auto}.modal{background:#fff;border-radius:12px;width:100%;max-width:460px;box-shadow:0 20px 60px #00000040;animation:pop .15s ease-out;max-height:calc(100vh - 40px);display:flex;flex-direction:column}.modal.md{max-width:640px}.modal.lg{max-width:860px}.modal.xl{max-width:1100px}.modal-h{padding:16px 20px;text-align:center;font-weight:600;font-size:15px;position:relative;flex-shrink:0}.modal-h .x{position:absolute;right:14px;top:12px;background:none;border:0;font-size:22px;cursor:pointer;color:#334155;line-height:1}.modal-b{padding:4px 20px 16px;overflow-y:auto}.modal-f{padding:12px 20px 18px;display:flex;justify-content:center;gap:10px;flex-shrink:0}.modal-f.right{justify-content:flex-end}@keyframes pop{0%{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}.dd{position:relative;display:inline-block}.dd-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #00000024;min-width:170px;z-index:60;padding:4px}.dd-menu.left{right:auto;left:0}.dd-menu .hd{padding:8px 10px 6px;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase}.dd-menu button,.dd-menu a{display:flex;width:100%;text-align:left;padding:8px 10px;background:none;border:0;border-radius:6px;cursor:pointer;font-size:12.5px;color:var(--text);text-decoration:none;gap:8px;align-items:center}.dd-menu button:hover,.dd-menu a:hover{background:#eef3fa;text-decoration:none}.dd-menu button.danger{color:var(--danger)}.dd-menu hr{border:0;border-top:1px solid var(--border);margin:4px 0}.kebab{background:none;border:0;cursor:pointer;font-size:18px;line-height:1;padding:2px 8px;color:#334155;border-radius:6px}.kebab:hover{background:#eef2f7}.tabs2{display:flex;gap:4px;border-bottom:1px solid var(--border);padding:0 8px}.tabs2 button{background:none;border:0;padding:12px 14px;font-size:11.5px;font-weight:600;text-transform:uppercase;color:#475569;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs2 button.active{color:var(--text);border-bottom-color:var(--primary)}.pills{display:inline-flex;background:#eef2f7;border-radius:8px;padding:3px;gap:2px}.pills button{border:0;background:none;padding:5px 12px;border-radius:6px;font-size:12px;cursor:pointer;color:#475569;font-weight:500}.pills button.active{background:#fff;color:var(--text);box-shadow:var(--shadow);font-weight:600}.pills.blue button.active{background:var(--primary);color:#fff}.dr{position:relative}.dr .ctl{display:flex;align-items:center;gap:8px;background:#fff;border-radius:8px;padding:8px 12px;box-shadow:var(--shadow);font-size:11.5px;font-weight:500;cursor:pointer;border:1px solid var(--border)}.dr .pop{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border-radius:10px;box-shadow:0 12px 40px #0000002e;z-index:80;display:flex;padding:10px;gap:8px;border:1px solid var(--border)}.dr .presets{display:flex;flex-direction:column;gap:2px;min-width:120px;border-right:1px solid var(--border);padding-right:8px}.dr .presets button{background:none;border:0;text-align:left;padding:7px 10px;font-size:12px;cursor:pointer;border-radius:6px}.dr .presets button:hover{background:#eef3fa}.dr .presets button.active{background:#1f2732;color:#fff}.dr .cals{display:flex;gap:12px}.cal{width:210px}.cal .cal-h{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;padding:4px 6px}.cal .cal-h button{border:0;background:none;cursor:pointer;font-size:14px}.cal .grid7{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.cal .dow{font-size:10px;text-align:center;color:#64748b;font-weight:700;padding:4px 0}.cal .d{font-size:11px;text-align:center;padding:6px 0;cursor:pointer;border-radius:4px}.cal .d:hover{background:#eef3fa}.cal .d.out{color:#cbd5e1}.cal .d.in{background:#e0eaf7}.cal .d.edge{background:#1f2732;color:#fff}.dr .foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 4px 0;font-size:11px;grid-column:1 / -1}.dr .pop .rightcol{display:flex;flex-direction:column}.toast-wrap{position:fixed;right:20px;top:62px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:#1f2732;color:#fff;padding:10px 16px;border-radius:8px;font-size:12.5px;box-shadow:0 8px 24px #0003;animation:pop .15s;max-width:380px}.toast.success{background:#15803d}.toast.error{background:#b91c1c}.toast.info{background:#1d4ed8}.wa-float{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:#25d366;display:grid;place-items:center;color:#fff;box-shadow:0 6px 20px #0003;z-index:40}.kv{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #e5e9ef;font-size:12px;gap:12px}.kv:last-child{border-bottom:0}.kv .k{font-weight:700;color:#334155;text-transform:uppercase;font-size:11px}.kv .v{text-align:right;color:#1f2d3d}.timeline .ev{padding:14px 0;border-bottom:1px solid var(--border)}.timeline .ev:last-child{border-bottom:0}.timeline .ev b{display:block;font-size:13px;margin-bottom:4px}.timeline .ev p{margin:0 0 6px;font-size:12.5px}.timeline .ev small{color:#64748b;font-size:11px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#475569}.legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c);margin-right:5px;vertical-align:-1px}.legend-card{border-radius:8px;padding:12px 14px;font-size:11px;color:#475569}.legend-card b{display:block;font-size:12px;color:var(--text);margin-bottom:3px}.legend-card b:before{content:"●";color:var(--c);margin-right:6px}.empty-state{text-align:center;color:#64748b;padding:40px}.skeleton{background:linear-gradient(90deg,#eef1f5,#f8fafc,#eef1f5);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:6px;height:14px}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#1f2732,#0d6efd);padding:20px}.login-card{background:#fff;border-radius:16px;padding:36px;width:100%;max-width:400px;box-shadow:0 30px 80px #00000059}.login-card .logo{font-weight:800;font-size:32px;letter-spacing:1px;text-align:center;margin-bottom:6px}.login-card .logo span{color:var(--primary)}.login-card p.sub{text-align:center;color:var(--muted);margin:0 0 24px;font-size:13px}.modrights{display:flex;flex-direction:column;gap:4px;max-height:520px;overflow-y:auto;padding-right:8px}.modrights .parent{display:flex;gap:8px;align-items:center;font-weight:600;font-size:12.5px;padding:6px 0}.modrights .child{display:flex;gap:8px;align-items:center;font-size:12px;padding:4px 0 4px 30px}.rank-card{display:grid;grid-template-columns:1fr 140px;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:8px}.rank-card .l{padding:8px 10px}.rank-card .r{background:#f3f6f9;padding:8px 10px;font-size:11px}.rank-card .r b{display:block;font-size:12px}.rank-card .row{display:flex;justify-content:space-between;font-size:11px;padding:4px 0;border-top:1px solid var(--border)}.rank-no{width:18px;height:18px;border-radius:50%;background:#fde68a;display:inline-grid;place-items:center;font-size:10px;font-weight:700;margin-right:6px}.rank-no.g{background:#e5e7eb}.map-box{background:#0f172a;border-radius:10px;position:relative;min-height:420px;overflow:hidden;color:#cbd5e1}.map-pin{position:absolute;transform:translate(-50%,-100%);background:#fff;color:#1f2d3d;border-radius:6px;padding:5px 8px;font-size:10px;box-shadow:0 4px 12px #0000004d;white-space:nowrap}.map-pin b{display:block;font-size:11px}.map-pin b:before{content:"●";color:var(--primary);margin-right:4px}.map-pin .g{color:var(--success);font-weight:700}.cond-cell{font-size:11.5px;line-height:1.7}.cond-cell b{display:block;font-size:12px}.report-card{background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:16px}.channel-card{background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:16px;cursor:pointer}.channel-card .ic{font-size:26px;margin-bottom:8px}.channel-card b{display:block;font-size:14px;margin-bottom:8px}.auto-card{background:#fff;border-radius:10px;box-shadow:var(--shadow);width:420px;overflow:hidden}.auto-card .top{display:flex;gap:12px;align-items:center;padding:16px;border-bottom:1px solid var(--border)}.auto-card .ic{width:36px;height:36px;border-radius:50%;background:#dbeafe;display:grid;place-items:center;color:var(--primary)}.auto-card .kvs{padding:10px 16px}.auto-card .kvs .kv .k{text-transform:none;font-weight:400;color:#64748b}.auto-card .mail{display:flex;gap:10px;align-items:center;padding:12px 16px;background:#f8fafc;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:11.5px}.auto-card .acts{padding:10px 16px;display:flex;gap:12px}.auto-card .acts button{background:none;border:0;cursor:pointer;font-size:16px;color:#334155}.ms-card{background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:16px;margin-bottom:14px}.ms-card .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600}.ms-card .panes{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ms-card .pane{border:1px solid #cfd6de;border-radius:10px;min-height:240px;padding:16px}.print-area{background:#fff;padding:24px;border-radius:8px;font-size:12px}@media print{.topbar,.sidebar,.wa-float,.no-print{display:none!important}.content{padding:0;overflow:visible}}.hover-help{border-bottom:1px dotted #94a3b8;cursor:help}.gauge-wrap{display:flex;flex-direction:column;align-items:center}.small{font-size:11px;color:var(--muted)}.row{display:flex;align-items:center;gap:10px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.mono{font-family:ui-monospace,Consolas,monospace}.bold{font-weight:700}.upper{text-transform:uppercase}.ta-r{text-align:right}.mt0{margin-top:0}.mb0{margin-bottom:0}.p16{padding:16px}.hidden{display:none}
