*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}:root{--navy:#1e2a4a;--navy2:#243460;--navy3:#304080;--red:#e05a4b;--red2:#f5c4b3;--red3:#fdf1ee;--green:#1D9E75;--green2:#E1F5EE;--amber:#e8a020;--amber2:#fef3dd;--purple:#7c3aed;--purple2:#ede9fe;--blue:#2563eb;--blue2:#eff6ff;--page-bg:#f0f2f6;--white:#fff;--text1:#18202e;--text2:#64718a;--text3:#9aa3b4;--border:rgba(0,0,0,.07);--border2:rgba(0,0,0,.13);--shadow:0 2px 12px rgba(0,0,0,.07);--shadow-lg:0 8px 32px rgba(0,0,0,.1);--radius:14px;--radius-lg:20px;--radius-xl:28px;--ff:"Be Vietnam Pro",sans-serif;--fd:"Lexend",sans-serif;--sidebar-w:240px}body{font-family:var(--ff);color:var(--text1);background:var(--page-bg);overflow-x:hidden;line-height:1.7;letter-spacing:-.01em}button{font-family:var(--ff);cursor:pointer}input,select,textarea{font-family:var(--ff)}a{text-decoration:none;color:inherit}.btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:100px;font-family:var(--fd);font-size:13px;font-weight:700;cursor:pointer;transition:all .18s;padding:9px 18px}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy2);transform:translateY(-1px);box-shadow:0 6px 18px #1e2a4a2e}.btn-secondary{background:var(--white);color:var(--navy);border:1.5px solid var(--border2)}.btn-secondary:hover{border-color:var(--red);color:var(--red)}.btn-red{background:var(--red);color:#fff}.btn-red:hover{opacity:.9}.btn-ghost{background:var(--page-bg);color:var(--text2);border:1px solid var(--border)}.btn-ghost:hover{color:var(--navy)}.btn-danger{background:var(--red);color:#fff;border:none}.btn-danger:hover{opacity:.88;transform:translateY(-1px)}.btn-sm{padding:6px 14px;font-size:12px}.btn-xs{padding:4px 10px;font-size:11px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.icon-btn{width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text3);font-size:15px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.icon-btn:hover{background:var(--page-bg);color:var(--navy)}.badge{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.badge.dot:before{content:"";width:5px;height:5px;border-radius:50%;flex-shrink:0}.bg{background:var(--green2);color:var(--green)}.bg.dot:before{background:var(--green)}.br{background:var(--red3);color:var(--red)}.br.dot:before{background:var(--red)}.ba{background:var(--amber2);color:var(--amber)}.ba.dot:before{background:var(--amber)}.bn{background:#1e2a4a14;color:var(--navy)}.bn.dot:before{background:var(--navy)}.bp{background:var(--purple2);color:var(--purple)}.bp.dot:before{background:var(--purple)}.bb{background:var(--blue2);color:var(--blue)}.bb.dot:before{background:var(--blue)}.stat-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;display:flex;align-items:center;gap:14px;transition:all .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.stat-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.stat-lbl{font-size:11px;color:var(--text2);margin-bottom:3px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.stat-val{font-family:var(--fd);font-size:20px;font-weight:800;color:var(--navy)}.stat-sub{font-size:11px;color:var(--text3);margin-top:2px}.stat-up{color:var(--green);font-weight:600}.stat-down{color:var(--red);font-weight:600}.filter-bar{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.filter-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px}.filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-row-date{padding-top:10px;border-top:1px solid var(--border)}.filter-inp{height:36px;padding:0 12px;border:1.5px solid var(--border);border-radius:10px;font-size:13px;color:var(--text1);background:var(--white);outline:none;transition:border-color .2s;box-sizing:border-box}.filter-inp:focus{border-color:var(--navy)}.filter-inp::placeholder{color:var(--text3)}.filter-inp[type=date]{cursor:pointer;color-scheme:light}.filter-sel{height:36px;padding:0 12px;border:1.5px solid var(--border);border-radius:10px;font-size:13px;color:var(--text1);background:var(--white);outline:none;cursor:pointer;transition:border-color .2s;box-sizing:border-box}.filter-sel:focus{border-color:var(--navy)}.search-wrap{position:relative;flex:1;min-width:180px;max-width:360px}.search-wrap .search-icon,.search-wrap>.ti{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text3);font-size:14px;pointer-events:none}.search-wrap .filter-inp{padding-left:34px;width:100%}.filter-bar .search-wrap{display:flex;align-items:center;gap:8px;flex:1;min-width:180px;background:var(--page-bg);border:1.5px solid var(--border);border-radius:10px;padding:8px 12px;transition:border-color .2s;position:static;max-width:none}.filter-bar .search-wrap:focus-within{border-color:var(--navy);background:var(--white)}.filter-bar .search-wrap i{font-size:16px;color:var(--text3);flex-shrink:0}.filter-bar .search-wrap input{border:none;background:transparent;outline:none;font-size:13px;color:var(--text1);width:100%;height:auto;padding:0}.filter-bar .search-wrap input::placeholder{color:var(--text3)}.filter-date-range{display:flex;align-items:center;gap:6px;flex-shrink:0}.filter-inp-date{width:136px!important}.filter-date-sep{font-size:12px;color:var(--text3)}.filter-label{font-size:12px;color:var(--text3);white-space:nowrap;display:flex;align-items:center;gap:4px;font-weight:500}.preset-group{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.preset-btn{height:30px;padding:0 12px;border-radius:7px;border:1.5px solid var(--border);background:var(--white);color:var(--text2);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.preset-btn:hover{border-color:var(--navy);color:var(--navy)}.preset-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}.preset-btn.clear-btn{color:var(--red,#e53e3e);border-color:var(--red2,#fca5a5)}.preset-btn.clear-btn:hover{background:#fff0f0}.filter-meta{margin-left:auto;display:flex;align-items:center;gap:10px}.result-count,.filter-count{font-size:12px;color:var(--text3);white-space:nowrap}.filter-clear-btn{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--red);background:var(--red3);border:1px solid var(--red2);border-radius:6px;padding:4px 10px;cursor:pointer;font-weight:600;transition:all .15s;white-space:nowrap}.filter-clear-btn:hover{background:var(--red2)}.filter-info{font-size:12px;color:var(--text3);white-space:nowrap;margin-left:auto}.filter-info b{color:var(--navy);font-weight:700}.tbl-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.tbl-scroll{overflow-x:auto}.w-tbl{width:100%;border-collapse:collapse;font-size:13px}.w-tbl th{padding:11px 14px;text-align:left;color:var(--text3);font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border);font-size:11px;background:var(--page-bg);white-space:nowrap}.w-tbl td{padding:13px 14px;border-bottom:1px solid var(--border);color:var(--text1);vertical-align:middle}.w-tbl tbody tr:last-child td{border-bottom:none}.w-tbl tbody tr:hover td{background:#f8f9fc}.w-tbl tbody tr.tr-selected td{background:#1e2a4a0a}.w-tbl input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--navy)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border);background:var(--page-bg);flex-wrap:wrap;gap:8px}.page-info{font-size:12px;color:var(--text3)}.page-btns{display:flex;align-items:center;gap:3px}.page-btn{width:32px;height:32px;border-radius:8px;background:var(--white);border:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--text2);transition:all .15s}.page-btn:hover{border-color:var(--navy);color:var(--navy)}.page-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}.page-btn.arr{font-size:16px}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-hd{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:12px}.page-hd h1{font-family:var(--fd);font-size:20px;font-weight:800;color:var(--navy);margin-bottom:3px;display:flex;align-items:center;gap:8px}.page-hd p{font-size:13px;color:var(--text2)}.page-hd-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.user-cell{display:flex;align-items:center;gap:11px}.user-av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.user-name{font-size:13px;font-weight:600;color:var(--navy)}.user-email{font-size:11px;color:var(--text3);margin-top:1px}.action-btns{display:flex;align-items:center;gap:5px}.act-btn{width:30px;height:30px;border-radius:8px;background:none;border:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--text2);transition:all .15s}.act-btn:hover{border-color:var(--red2);background:var(--red3);color:var(--red)}.act-btn.edit:hover{border-color:var(--amber);background:var(--amber2);color:var(--amber)}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:20px}.modal-overlay.show{display:flex}.modal{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:600px;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}.modal-head,.modal-hd{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;margin-bottom:16px}.modal-title{font-family:var(--fd);font-size:16px;font-weight:800;color:var(--navy);display:flex;align-items:center;gap:8px}.modal-close{width:32px;height:32px;border-radius:8px;background:var(--page-bg);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text2)}.modal-close:hover{background:var(--red3);color:var(--red)}.modal-body{padding:0 24px 20px}.modal-footer,.modal-ft{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border)}.modal-overlay{display:flex}.field{margin-bottom:14px}.field label{display:block;font-size:11px;font-weight:700;color:var(--text2);margin-bottom:5px;letter-spacing:.04em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;padding:10px 13px;background:var(--page-bg);border:1.5px solid var(--border);border-radius:10px;font-size:14px;color:var(--text1);outline:none;transition:all .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);background:var(--white)}.field textarea{resize:vertical;min-height:70px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-hint{font-size:11px;color:var(--text3);margin-top:3px}.toast{position:fixed;bottom:24px;right:24px;z-index:999;background:var(--navy);color:#fff;border-radius:12px;padding:13px 18px;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;box-shadow:var(--shadow-lg);transform:translateY(80px);opacity:0;transition:all .3s;pointer-events:none;max-width:300px}.toast.show{transform:translateY(0);opacity:1}.toast.success{background:var(--green)}.toast.error{background:var(--red)}.empty-state{text-align:center;padding:50px 20px}.empty-state i{font-size:44px;color:var(--border2);display:block;margin-bottom:12px}.empty-state h3{font-family:var(--fd);font-size:15px;font-weight:700;color:var(--text2);margin-bottom:6px}.empty-state p{font-size:13px;color:var(--text3)}.tab-bar{display:flex;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:5px;gap:4px;margin-bottom:16px}.tab-btn,.tab-item{flex:1;padding:8px 12px;border-radius:9px;border:none;background:none;font-size:13px;font-weight:600;color:var(--text2);cursor:pointer;transition:all .18s;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.tab-btn.active,.tab-item.active{background:var(--navy);color:#fff}.tab-btn:hover:not(.active),.tab-item:hover:not(.active){background:var(--page-bg);color:var(--navy)}.comm-summary{background:linear-gradient(135deg,var(--navy),var(--navy2));border-radius:var(--radius-lg);padding:22px 24px;margin-bottom:20px;position:relative;overflow:hidden;display:flex;align-items:center;gap:32px;flex-wrap:wrap}.comm-summary:before{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:#ffffff1a}.comm-summary-item{position:relative;z-index:1}.comm-summary-lbl{font-size:11px;color:#fff9;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.comm-summary-val{font-family:var(--fd);font-size:26px;font-weight:800;color:#fff}.comm-summary-sub{font-size:11px;color:#ffffff80;margin-top:2px}.comm-summary-sep{width:1px;background:#ffffff26;align-self:stretch;min-height:40px}.comm-divider{width:1px;height:50px;background:#ffffff26;flex-shrink:0}.bulk-bar{background:var(--navy);border-radius:12px;padding:12px 18px;display:none;align-items:center;gap:12px;margin-bottom:14px}.bulk-bar.show{display:flex}.plat-tag{padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;background:var(--page-bg);color:var(--text2);border:1px solid var(--border)}.google-signin-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;border:1.5px solid var(--border2);border-radius:12px;padding:11px 20px;font-family:var(--ff);font-size:14px;font-weight:600;color:var(--text1);cursor:pointer;transition:border-color .2s,box-shadow .2s}.google-signin-btn:hover{border-color:#dadce0;box-shadow:0 2px 8px #00000014}@media (max-width:1200px){.stat-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.col-hide{display:none}}@media (max-width:600px){.stat-grid-4,.stat-grid-3{grid-template-columns:1fr 1fr}}
