:root{--ink:#172033;--muted:#748097;--line:#e8ebf2;--bg:#f6f7fb;--panel:#fff;--blue:#3659e3;--blue2:#6b87f8;--green:#19a974;--red:#e44c62;--sidebar:#111a2d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,'Noto Sans SC',sans-serif;font-size:14px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--sidebar);color:#fff;padding:26px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 29px}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#7190ff,#3f60e9);font-size:20px;font-weight:700;box-shadow:0 8px 22px #233b9d88}.brand strong{display:block;font-size:18px}.brand small{color:#71809b;font-size:9px;letter-spacing:2px}.nav-list{display:grid;gap:6px}.nav-list p{font-size:10px;letter-spacing:1.4px;color:#5f6c84;margin:22px 12px 7px}.nav-item{display:flex;align-items:center;gap:12px;color:#91a0ba;text-decoration:none;padding:11px 13px;border-radius:9px;font-size:13px}.nav-item span{font-size:18px}.nav-item b{margin-left:auto;font-size:10px;background:#29344b;padding:3px 7px;border-radius:9px}.nav-item:hover,.nav-item.active{background:#25314a;color:#fff}.nav-item.active:before{content:'';position:absolute;left:0;width:3px;height:21px;background:#6884ff;border-radius:0 4px 4px 0}.sidebar-foot{margin-top:auto;border-top:1px solid #263148;padding:20px 8px 0;display:flex;align-items:center;gap:11px}.sidebar-foot strong,.sidebar-foot small{display:block;font-size:11px}.sidebar-foot small{color:#6f7e97;margin-top:3px}.pulse-dot,.online i{width:8px;height:8px;border-radius:50%;background:#28c98b;box-shadow:0 0 0 5px #28c98b1a}.main{margin-left:232px}.topbar{height:72px;background:#ffffffd9;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;position:sticky;top:0;z-index:8}.breadcrumb{font-size:12px;color:#48536a}.breadcrumb span{color:#a5adbd;margin:0 8px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:11px}.icon-btn{border:1px solid var(--line);background:#fff;width:36px;height:36px;border-radius:9px;color:#606c83;cursor:pointer;font-size:17px}.menu-btn{display:none}.avatar{width:36px;height:36px;border-radius:10px;background:#e9edff;color:var(--blue);display:grid;place-items:center;font-weight:700;margin-left:5px}.user strong,.user small{display:block;font-size:11px}.user small{color:#9aa3b5;margin-top:2px}.content{padding:32px 34px 48px;max-width:1550px;margin:auto}.welcome{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#9aa4b7;font-weight:700;margin:0 0 6px}.welcome h1{font-size:28px;letter-spacing:-.8px;margin:0}.welcome>div>p:last-child{color:var(--muted);font-size:12px;margin:7px 0 0}.date-chip{display:flex;align-items:center;gap:11px;border:1px solid var(--line);background:#fff;padding:9px 13px;border-radius:10px}.date-chip>span{color:var(--blue);font-size:18px}.date-chip small,.date-chip strong{display:block;font-size:10px}.date-chip small{color:#a0a8b8;margin-bottom:2px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:19px;position:relative;overflow:hidden}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.stat-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eef1ff;color:var(--blue);font-size:16px}.stat-card strong{display:block;font-size:27px;margin:10px 0 4px;letter-spacing:-1px}.stat-card small{color:#9ba4b4;font-size:10px}.stat-card small b{color:var(--green)}.dashboard-grid{display:grid;grid-template-columns:1fr 1.28fr;gap:16px;margin-bottom:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px}.panel-head,.orders-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel h2,.orders-panel h2{font-size:15px;margin:0}.tag{font-size:9px;padding:5px 9px;border-radius:10px}.tag.success{background:#eaf9f4;color:var(--green)}.progress-overview{min-height:230px;display:flex;align-items:center;justify-content:center;gap:38px;padding:25px}.ring{width:148px;height:148px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--blue) var(--progress),#edf0f5 0);position:relative}.ring:after{content:'';position:absolute;inset:15px;background:#fff;border-radius:50%}.ring span,.ring small{z-index:1}.ring span{font-size:27px;font-weight:700}.ring small{font-size:9px;color:var(--muted)}.progress-copy h3{font-size:14px;margin:0 0 7px}.progress-copy>p{font-size:10px;color:var(--muted);max-width:200px}.legend{display:flex;gap:18px;margin-top:25px}.legend span{font-size:10px;color:var(--muted)}.legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px}.legend .blue{background:var(--blue)}.legend .gray{background:#dfe3eb}.legend b{display:block;font-size:13px;color:var(--ink);margin:4px 0 0 12px}.online{font-size:10px;color:var(--green);display:flex;align-items:center;gap:8px}.machine-list{padding:7px 20px}.machine-row{display:grid;grid-template-columns:1.15fr .8fr .8fr .8fr;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #f0f2f6}.machine-row:last-child{border:0}.machine-name{display:flex;align-items:center;gap:10px}.server-icon{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;background:#eef1ff;color:var(--blue)}.machine-name strong,.machine-name small{display:block;font-size:10px}.machine-name small{color:var(--green);margin-top:3px}.metric small,.metric b{display:block;font-size:9px}.metric small{color:#9ca5b5;margin-bottom:4px}.metric b{font-size:11px}.tiny-bar{height:3px;background:#edf0f4;border-radius:5px;margin-top:6px}.tiny-bar i{display:block;height:100%;background:var(--blue2);border-radius:5px}.orders-head{padding:20px}.primary-btn,.ghost-btn,.danger-btn{border:0;border-radius:8px;padding:10px 16px;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer}.primary-btn{background:var(--blue);color:#fff;box-shadow:0 5px 13px #3659e32b}.ghost-btn{background:#f3f5f9;color:#657087}.danger-btn{background:var(--red);color:#fff}.filters{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr auto;gap:12px;align-items:end;padding:17px 20px;background:#fafbfc;border-bottom:1px solid var(--line)}.filters label span{display:block;font-size:9px;color:#828ca0;margin-bottom:6px}.filters input,.filters select{width:100%;height:36px;border:1px solid #e1e5ed;background:#fff;border-radius:8px;padding:0 10px;font-family:inherit;font-size:10px;outline:none;color:#3e485c}.filters input:focus,.filters select:focus{border-color:#8197ec;box-shadow:0 0 0 3px #4969eb12}.filter-actions{display:flex;gap:7px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1450px}th{text-align:left;font-size:9px;letter-spacing:.4px;color:#8993a5;font-weight:600;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line)}td{padding:14px 16px;border-bottom:1px solid #f0f2f5;font-size:10px;color:#586276}tbody tr:hover{background:#fafbff}.order-id{color:#263147;font-weight:700}.order-link{display:block;color:#7f8a9d;text-decoration:none;margin-top:3px;max-width:140px;overflow:hidden;text-overflow:ellipsis}.identity strong,.identity small{display:block}.identity strong{color:#414b5e}.identity small{color:#a1a9b8;margin-top:3px}.qty{font-weight:700;color:#303b50}.row-progress{width:100px}.row-progress div{height:4px;background:#edf0f4;border-radius:4px;margin-top:5px}.row-progress i{height:100%;display:block;background:var(--blue);border-radius:4px}.badge{display:inline-block;border-radius:10px;padding:5px 8px;font-size:9px;font-weight:600}.badge.running{background:#edf1ff;color:#4764db}.badge.done{background:#eaf9f4;color:#159267}.badge.pending{background:#fff5df;color:#c58312}.badge.refund{background:#fdeef0;color:#d64a5d}.action-btn{border:0;background:transparent;color:var(--blue);font-family:inherit;font-size:10px;cursor:pointer}.action-btn.refund{color:var(--red)}.empty{text-align:center;padding:45px;color:var(--muted)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;color:#919bad;font-size:10px}.pagination button{border:1px solid var(--line);background:#fff;color:#6c768a;border-radius:6px;width:28px;height:28px;margin-left:5px;font-size:10px;cursor:pointer}.pagination button.active{background:var(--blue);border-color:var(--blue);color:#fff}.pagination button:disabled{opacity:.4}.modal-backdrop{position:fixed;inset:0;background:#11182766;display:none;align-items:center;justify-content:center;z-index:30}.modal-backdrop.show{display:flex}.modal{background:#fff;width:min(380px,calc(100% - 32px));padding:28px;text-align:center;border-radius:15px;box-shadow:0 20px 60px #17203333}.modal-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:#fdecef;color:var(--red);font-weight:700;font-size:20px}.modal h3{font-size:17px;margin:0}.modal p{font-size:11px;line-height:1.7;color:var(--muted);margin:10px 0 22px}.modal>div:last-child{display:flex;justify-content:center;gap:9px}.toast{position:fixed;right:24px;top:90px;background:#172033;color:#fff;padding:11px 16px;border-radius:9px;font-size:11px;box-shadow:0 10px 30px #17203333;transform:translateX(140%);transition:.25s;z-index:50}.toast.show{transform:translateX(0)}@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,1fr)}.filter-actions{grid-column:span 2;justify-content:flex-end}}@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main{margin-left:0}.menu-btn{display:block}.topbar{padding:0 18px}.content{padding:24px 16px}.user{display:none}.welcome{align-items:flex-start}.date-chip{display:none}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:14px}.stat-card strong{font-size:22px}.progress-overview{gap:20px}.ring{width:125px;height:125px}.filters{grid-template-columns:1fr}.filter-actions{grid-column:auto}.machine-row{grid-template-columns:1.2fr .8fr .8fr}.machine-row .metric:nth-child(4){display:none}}@media(max-width:440px){.stats-grid{grid-template-columns:1fr}.progress-overview{flex-direction:column}.welcome h1{font-size:24px}}
.app-shell{display:none}.authenticated .app-shell{display:block}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 15%,#e6ebff 0,transparent 36%),radial-gradient(circle at 85% 80%,#e8f8f3 0,transparent 32%),#f5f7fc}.authenticated .login-screen{display:none}.login-card{width:min(410px,100%);background:#fff;border:1px solid #e6eaf2;border-radius:20px;padding:38px;box-shadow:0 24px 70px #26365d1c}.login-logo{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#7190ff,#3f60e9);color:#fff;font-size:25px;font-weight:700;box-shadow:0 10px 25px #3659e34a;margin-bottom:25px}.login-card h1{font-size:25px;margin:0}.login-subtitle{color:#8791a4;font-size:12px;margin:9px 0 27px}.login-card label{display:block;margin-top:16px}.login-card label span{display:block;font-size:11px;font-weight:600;margin-bottom:7px}.login-card input{width:100%;height:45px;border:1px solid #dfe4ee;border-radius:10px;padding:0 13px;font-family:inherit;outline:none}.login-card input:focus{border-color:#758cea;box-shadow:0 0 0 4px #3659e312}.login-error{height:18px;color:#e44c62;font-size:11px;margin:10px 0 3px}.login-btn{width:100%;height:45px;font-size:13px}.login-btn:disabled{opacity:.65}.online-users-chip{height:36px;display:flex;align-items:center;gap:7px;border:1px solid #dbe8df;background:#f1fbf5;color:#217a54;border-radius:999px;padding:0 12px;font-size:11px;white-space:nowrap}.online-users-chip span{width:8px;height:8px;border-radius:50%;background:#28c98b;box-shadow:0 0 0 4px #28c98b1a}.online-users-chip small{font-size:10px;color:#4f8b70}.online-users-chip b{font-size:15px;color:#146c45}.logout-btn{border:0;background:transparent;color:#8993a5;font-family:inherit;font-size:10px;cursor:pointer;margin-left:3px}.logout-btn:hover{color:#e44c62}@media(max-width:440px){.login-card{padding:28px 22px}.logout-btn{display:none}.online-users-chip small{display:none}.online-users-chip{padding:0 10px}}.orders-panel th{font-size:12px}.orders-panel td{font-size:13px;line-height:1.5}.orders-panel .identity strong{font-size:13px}.orders-panel .identity small{font-size:11px}.orders-panel .badge,.orders-panel .action-btn{font-size:11px}.orders-panel .order-link{font-size:11px}.orders-panel .orders-head h2{font-size:30px;letter-spacing:-.5px}.orders-panel table{min-width:1750px}.orders-panel thead th{background:#e9edff;color:#2f426f;font-size:14px;font-weight:700;padding:17px 20px;border-bottom:2px solid #cfd8f7;white-space:nowrap}.orders-panel tbody td{font-size:15px;line-height:1.6;padding:19px 20px}.orders-panel .identity strong{font-size:15px}.orders-panel .identity small{font-size:13px}.orders-panel .badge,.orders-panel .action-btn{font-size:13px}.orders-panel .order-link{font-size:13px;max-width:220px}.orders-panel .row-progress{width:135px}html,body,button,input,select,textarea,table{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif}.orders-panel .order-link{display:block;color:#1677d2;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orders-panel .order-link:hover{color:#0b55a0;text-decoration-thickness:2px}.orders-panel thead th{background:#2c3e50;color:#fff;border-bottom-color:#2c3e50}.orders-panel thead th{background:#42647f;color:#fff;border-bottom-color:#42647f}.stats-grid .stat-card{border-top:4px solid transparent}.stats-grid .stat-card:nth-child(1){border-top-color:#3498db;background:linear-gradient(180deg,#f4faff 0%,#fff 55%)}.stats-grid .stat-card:nth-child(1) strong{color:#2980b9}.stats-grid .stat-card:nth-child(1) .stat-icon{background:#e7f3fc;color:#3498db}.stats-grid .stat-card:nth-child(2){border-top-color:#2ecc71;background:linear-gradient(180deg,#f2fcf6 0%,#fff 55%)}.stats-grid .stat-card:nth-child(2) strong{color:#27ae60}.stats-grid .stat-card:nth-child(2) .stat-icon{background:#e4f8ec;color:#2ecc71}.stats-grid .stat-card:nth-child(3){border-top-color:#f39c12;background:linear-gradient(180deg,#fff9ef 0%,#fff 55%)}.stats-grid .stat-card:nth-child(3) strong{color:#d8890b}.stats-grid .stat-card:nth-child(3) .stat-icon{background:#fff1d9;color:#f39c12}.stats-grid .stat-card:nth-child(4){border-top-color:#17a2b8;background:linear-gradient(180deg,#f0fbfd 0%,#fff 55%)}.stats-grid .stat-card:nth-child(4) strong{color:#138a9e}.stats-grid .stat-card:nth-child(4) .stat-icon{background:#dff5f8;color:#17a2b8}.stats-grid .stat-card:nth-child(1) small b{color:#2980b9}.stats-grid .stat-card:nth-child(2) small b{color:#27ae60}.stats-grid .stat-card:nth-child(3) small b{color:#d8890b}.stats-grid .stat-card:nth-child(4) small b{color:#138a9e}.trend-panel{background:linear-gradient(145deg,#f4f2ff 0%,#ffffff 72%);border-color:#ddd7fa}.trend-panel .panel-head{background:#ece8ff;border-bottom-color:#ddd7fa;border-radius:13px 13px 0 0}.machine-panel{background:linear-gradient(145deg,#eefaf5 0%,#ffffff 72%);border-color:#cfeee0}.machine-panel .panel-head{background:#e4f6ee;border-bottom-color:#cfeee0;border-radius:13px 13px 0 0}.orders-panel .order-id,.orders-panel .qty,.orders-panel tbody td:nth-child(9){color:#e67e22;font-weight:700}.trend-panel{background:linear-gradient(145deg,#faf9fc 0%,#ffffff 78%);border-color:#e5e1ea}.trend-panel .panel-head{background:#f2f0f5;border-bottom-color:#e5e1ea}.trend-panel .tag.success{background:#e9e5ef;color:#695d78}.machine-panel{background:linear-gradient(145deg,#f7fafb 0%,#ffffff 78%);border-color:#dce7eb}.machine-panel .panel-head{background:#edf4f6;border-bottom-color:#dce7eb}.machine-panel .online{color:#3e7c74}.orders-panel .order-id,.orders-panel .qty,.orders-panel tbody td:nth-child(9){color:#ad642d;font-weight:700}.orders-panel .row-progress i{background:#5b77a8}.orders-panel .order-link{color:#356b9a}.orders-panel .order-link:hover{color:#244e72}.trend-panel,.machine-panel{background:#fff;border-color:var(--line)}.trend-panel .panel-head,.machine-panel .panel-head{background:#fff;border-bottom-color:var(--line)}.trend-panel .tag.success{background:#eaf9f4;color:var(--green)}.machine-panel .online{color:var(--green)}.orders-panel .order-id{color:#263147}.orders-panel .qty{color:#303b50}.orders-panel tbody td:nth-child(9){color:#ad642d;font-weight:700}.orders-panel .row-progress i{background:var(--blue)}.orders-panel .order-link{color:#1677d2}.orders-panel .order-link:hover{color:#0b55a0}.orders-panel thead th{background:#3f6f72;color:#fff;border-bottom-color:#3f6f72}.orders-panel table{min-width:2150px}.orders-panel tbody td:nth-child(9){color:#586276;font-weight:400}.orders-panel tbody td:nth-child(12){color:#ad642d;font-weight:700}.time-group{display:flex;align-items:center;gap:10px}.time-group .date-chip{min-width:175px}.time-group .date-chip strong{white-space:nowrap}@media(max-width:900px){.time-group{display:none}}.badge.closed{background:#fff0dd;color:#a86118;border:1px solid #f3d2a8}
.refund-overview{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.refund-rate-item{border:1px solid #f4d7dc;background:#fff7f8;border-radius:12px;padding:10px 11px}.refund-rate-item span{display:block;color:#9a4250;font-size:10px;font-weight:700;white-space:nowrap}.refund-rate-item b{display:block;margin-top:4px;font-size:19px;color:#d64a5d}.refund-rate-item small{display:block;margin-top:3px;color:#9b7380;font-size:9px}
