:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#233047;background:#f4f6f9;font-size:14px;--blue:#245edb;--line:#e5eaf1;--muted:#78859a}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer;background:white;border:1px solid #dbe2ec;border-radius:6px;padding:9px 14px;color:#36445a}button:hover{background:#f1f5fd;border-color:#b7c9ea}button:disabled{opacity:.45;cursor:default}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.primary:hover{background:#184fc5}.danger{color:#ba3541;border-color:#efcdd1}a{color:var(--blue);text-decoration:none}input,select,textarea{border:1px solid #dce3ed;border-radius:6px;background:white;padding:10px 11px;max-width:100%;color:#243248}textarea{min-height:95px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#5483e5;outline:2px solid #e5edff}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:26px;letter-spacing:-.6px;margin-bottom:10px}h2{font-size:20px}h3{font-size:16px}p,small{line-height:1.7;color:var(--muted)}aside{position:fixed;inset:0 auto 0 0;width:224px;background:white;border-right:1px solid var(--line);padding:27px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:block;font-size:26px;font-weight:750;color:#21395b;padding:0 12px 30px}.brand span{display:block;font-size:11px;letter-spacing:4px;color:var(--muted);font-weight:400;margin-top:8px}nav{display:flex;flex-direction:column;gap:7px}nav button{border:none;text-align:left;padding:13px 15px;color:#65738a;background:none;display:flex;gap:14px}nav button.active{color:#245edb;background:#edf3ff;font-weight:600}nav .num{font-size:11px;opacity:.6;line-height:21px}.sidebar-foot{margin-top:auto;font-size:12px;color:var(--muted);padding:15px 12px}.sidebar-foot a{display:block;margin-top:17px}.status-dot{display:inline-block;width:6px;height:6px;background:#2c9b77;border-radius:50%;margin-right:6px}.main{margin-left:224px;min-height:100vh;display:flex;flex-direction:column}header{height:72px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:0 32px;position:sticky;top:0;z-index:10}header button{border:0;background:transparent}#breadcrumb{color:#78849a;font-size:13px;white-space:nowrap}#global-search{margin-left:auto;width:250px;background:#f5f7fa;border:0}#admin-role{font-size:12px;white-space:nowrap;border-left:1px solid var(--line);padding-left:18px}main{padding:32px;flex:1;max-width:1900px;width:100%;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:3px 0 22px;gap:20px}.eyebrow{font-size:10px;color:#7f8aa1;letter-spacing:1.8px;display:block;margin-bottom:10px}.page-heading p{margin:0}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);padding:0 20px;overflow:auto}.tabs button{background:none;border:0;border-radius:0;padding:17px 0;white-space:nowrap;color:#7b879a}.tabs button.active{border-bottom:2px solid var(--blue);color:var(--blue);font-weight:600}.panel{background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:20px;overflow:hidden}.panel-title{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panel-title h3{margin:0}.filters{padding:18px 20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters input{width:200px}.filters input[type=date]{width:155px}.filters select{max-width:180px}.table-wrap{overflow:auto;min-height:260px}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th{text-align:left;font-size:12px;font-weight:500;color:#778499;background:#f8fafc;padding:14px 20px;border-block:1px solid var(--line)}td{padding:17px 20px;border-bottom:1px solid #edf0f5;max-width:300px;overflow:hidden;text-overflow:ellipsis}td a{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.badge{display:inline-block;border-radius:4px;background:#f0f3f8;padding:4px 8px;color:#637188;font-size:11px}.badge.good{background:#eaf6ef;color:#27825a}.badge.warn{background:#fff4df;color:#a16b13}.badge.bad{background:#fcebed;color:#b34a57}.pagination{padding:16px 20px;display:flex;gap:13px;align-items:center;color:var(--muted);font-size:12px}.pagination span:first-child{margin-right:auto}.empty{text-align:center;padding:70px 20px;color:#8d99ac}.empty strong{display:block;color:#5b6980;font-size:16px;margin-bottom:10px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0}.card{background:white;border:1px solid var(--line);border-radius:9px;padding:22px;text-align:left}.card .label{color:#7b8798;font-size:12px}.card .value{font-size:30px;font-weight:600;color:#263c5a;margin:14px 0 8px;display:block}.card small{font-size:11px}.overview-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.notes{padding:22px}.notes p{font-size:13px;margin-bottom:10px}.integration{display:flex;justify-content:space-between;align-items:start;padding:15px 0;gap:20px;border-bottom:1px solid var(--line);font-size:13px}.integration span{color:#8792a3;max-width:72%;line-height:1.7}.notice{padding:12px 17px;border-radius:6px;background:#edf3ff;color:#47648d;font-size:12px;line-height:1.7;margin-bottom:18px}.error{color:#b5424b;font-size:13px}.stale{background:#fff4df;color:#986a20;padding:12px;border-radius:6px}footer{padding:20px 32px;display:flex;justify-content:space-between;color:#97a1b0;font-size:11px}.collapsed aside{width:80px}.collapsed .main{margin-left:80px}.collapsed nav .nav-text,.collapsed .brand span,.collapsed .sidebar-foot{display:none}.collapsed .brand{font-size:19px;padding-left:0}.collapsed nav button{padding:14px 10px}dialog{position:fixed;inset:0 0 0 auto;margin:0;height:100vh;max-height:100vh;width:580px;max-width:100vw;border:0;border-left:1px solid var(--line);box-shadow:-10px 0 50px #21304722;padding:0;color:#233047}dialog::backdrop{background:#1c2e4844}.drawer-head{padding:22px 27px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:1}.drawer-head h2{margin:0;font-size:18px}.drawer-head button{font-size:22px;border:0}#drawer-content{padding:26px}.edit-form{display:grid;gap:17px}.edit-form label,.auth label{display:flex;flex-direction:column;gap:8px;color:#627086;font-size:12px}.edit-form .help{font-size:11px;margin-top:-11px}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:15px}.detail-list{display:grid;grid-template-columns:140px 1fr;gap:14px;font-size:13px}.detail-list dt{color:#8793a5}.detail-list dd{margin:0;word-break:break-word;line-height:1.6}.detail-list dd .detail-list{grid-template-columns:110px 1fr;margin:0}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;padding:20px 0}.detail-tabs{margin:20px -26px}.auth{width:450px;max-width:calc(100% - 40px);margin:9vh auto;background:white;border:1px solid var(--line);padding:38px;border-radius:12px;box-shadow:0 15px 60px #1e385c08}.auth-brand{font-size:23px;font-weight:700;color:var(--blue);margin-bottom:42px}.auth-brand span{font-size:9px;letter-spacing:1px;color:#93a0b5;display:block;margin-top:8px}.auth form{display:grid;gap:18px;margin:28px 0 15px}.auth h1{font-size:24px}.auth small{display:block;margin-top:25px;font-size:11px}.auth code{display:block;word-break:break-all;background:#f2f5fa;padding:12px;font-size:14px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:14px 24px;background:#263c5a;color:white;border-radius:7px;z-index:100;max-width:80vw;font-size:13px}.loading{padding:80px;text-align:center;color:#8996a9}.portal-shell{max-width:1150px;margin:40px auto;padding:24px}.portal-shell .panel{padding:24px}.portal-shell input{margin:5px}.muted{color:var(--muted)}@media(min-width:1700px){main{padding:40px 48px}.cards{gap:22px}.card{padding:27px}}@media(max-width:1100px){header{padding:0 20px;gap:8px}#global-search{width:170px}.cards{grid-template-columns:repeat(2,1fr)}.overview-bottom{grid-template-columns:1fr}main{padding:24px}.page-heading{align-items:start}.actions{max-width:50%}}@media(max-width:760px){aside{width:72px;padding:20px 8px}.brand{font-size:18px;padding:0 4px 25px}.brand span,.sidebar-foot,nav .nav-text{display:none}nav button{padding:13px}.main{margin-left:72px}header{padding:0 12px;height:60px}#global-search,#breadcrumb,#collapse{display:none}#notifications{margin-left:auto}main{padding:19px 12px}h1{font-size:22px}.cards{gap:10px}.card{padding:16px}.card .value{font-size:24px}.page-heading{display:block}.actions{max-width:100%;justify-content:flex-start;margin-top:15px}footer{padding:18px 12px;display:block}.filters{padding:12px}.filters input{width:150px}.detail-list{grid-template-columns:105px 1fr}}

.cash-chart{padding:20px;margin-bottom:20px}.cash-bars{display:flex;height:165px;align-items:flex-end;gap:4px;overflow:auto}.cash-day{flex:1;min-width:22px;position:relative;display:flex;gap:2px;align-items:flex-end;padding-bottom:22px}.cash-day i{width:45%;background:#2663eb;min-height:1px}.cash-day .refunded{background:#cf4051}.cash-day small{position:absolute;bottom:0;font-size:9px;white-space:nowrap}.card small{line-height:1.5}.card:disabled{opacity:1;cursor:default}.cards{grid-template-columns:repeat(auto-fit,minmax(235px,1fr))}nav{overflow-y:auto;flex:1}aside{display:flex;flex-direction:column}
