*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f4f7f6;color:#1e2926;font:14px/1.5 Inter,"Microsoft YaHei",system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(260px,0.85fr) minmax(320px,0.65fr);max-width:1060px;margin:0 auto;align-items:center;padding:48px}.login-aside{padding:24px 48px 24px 16px}.eyebrow{display:block;color:#55766b;font-size:11px;font-weight:600;letter-spacing:.08em}.login-aside h1{font-size:32px;line-height:1.2;margin:16px 0 10px}.login-aside p{margin:0;color:#64746e;font-size:16px}.aside-rule{width:56px;height:3px;background:#34806a;margin:36px 0 18px}.aside-meta{display:flex;align-items:center;gap:8px;color:#65746f;font-size:12px}.status-dot{width:8px;height:8px;border-radius:50%;background:#2b8a69}.login-form,.panel{background:#fff;border:1px solid #dce5e1;border-radius:6px}.login-form{padding:30px;display:grid;gap:20px}.login-form h2,.panel h2{font-size:17px;margin:0;font-weight:600}.muted{color:#71807a}.login-form .muted{margin:5px 0 0;font-size:13px}.login-form label,.create-form label{display:grid;gap:7px;color:#34433d;font-size:13px}.login-form input,.create-form input,.create-form select,.filter-row select,.search-field input{width:100%;height:40px;border:1px solid #cfdad5;border-radius:4px;background:#fff;padding:0 11px;color:#1e2926;outline:none}.login-form input:focus,.create-form input:focus,.create-form select:focus,.filter-row select:focus,.search-field input:focus{border-color:#33836b;box-shadow:0 0 0 2px #d8ebe4}.button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid transparent;border-radius:4px;font-weight:600}.button.primary{background:#26745d;color:#fff}.button.primary:hover{background:#1e624e}.button.primary:disabled{opacity:.55;cursor:wait}.button.secondary{background:#fff;border-color:#cdd8d3;color:#34433d}.button.secondary:hover,.icon-button:hover,.button.quiet:hover{background:#f0f5f2}.button.full{width:100%}.button.quiet{background:transparent;color:#52615b;padding:0 10px}.form-error{min-height:18px;margin:0;color:#a63434;font-size:12px}.portal-view{max-width:1440px;margin:0 auto;padding:0 32px 48px}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce5e1}.brand,.account-bar{display:flex;align-items:center}.brand{gap:10px}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:5px;background:#26745d;color:#fff;font-weight:700}.brand strong,.brand small{display:block}.brand strong{font-size:13px}.brand small{font-size:10px;color:#788780}.account-bar{gap:12px}.role-badge{padding:4px 9px;border-radius:3px;background:#e2f0ea;color:#236c54;font-size:11px;font-weight:600}.account-name{font-size:13px;color:#3f5049}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:26px 0 20px}.page-heading h1{font-size:23px;margin:5px 0 3px}.page-heading .muted{margin:0;font-size:12px}.summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-item{background:#fff;border:1px solid #dce5e1;border-radius:5px;padding:14px 16px;min-height:74px}.summary-item span{display:block;color:#71807a;font-size:11px}.summary-item strong{display:block;margin-top:5px;font-size:18px;font-weight:600}.work-grid{display:grid;grid-template-columns:minmax(260px,310px) minmax(0,1fr);gap:16px;align-items:start}.panel{padding:18px;min-width:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-heading p{margin:4px 0 0;font-size:12px}.create-form{display:grid;gap:13px;margin-top:18px}.create-form [hidden]{display:none!important}.create-form .button{margin-top:3px}.hint{margin:0;color:#77857f;font-size:11px}.cost-preview{padding:10px 11px;border-left:3px solid #318268;background:#f1f7f4;color:#40534b;font-size:12px}.cards-heading{align-items:center}.table-actions{display:flex;gap:4px}.icon-button{width:32px;height:32px;display:grid;place-items:center;border:1px solid transparent;border-radius:4px;background:transparent;color:#42544c;font-size:18px}.filter-row{display:flex;gap:8px;margin:16px 0 10px}.search-field{flex:1;min-width:120px}.filter-row select{width:132px}.search-field input,.filter-row select{height:36px;font-size:12px}.table-wrap{overflow:auto;border:1px solid #e1e8e4;border-radius:4px}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{height:36px;background:#f6f8f7;color:#71807a;font-size:11px;font-weight:600}td{height:42px;border-top:1px solid #edf1ef;color:#35443e;font-size:12px}th,td{padding:0 12px}.card-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#1d5c48}.state{display:inline-flex;align-items:center;gap:5px;color:#607169;font-size:11px}.state::before{width:6px;height:6px;border-radius:50%;background:#9aa7a1;content:""}.state.unused{color:#237454}.state.unused::before{background:#34a176}.state.used{color:#777}.state.used::before{background:#89958f}.state.disabled{color:#a63434}.state.disabled::before{background:#c24b4b}.empty-cell{text-align:center!important;color:#7c8983;height:110px}.table-footer{display:flex;align-items:center;justify-content:space-between;padding-top:11px;font-size:11px}.pagination{display:flex;align-items:center;gap:8px;color:#506059}.pagination .icon-button{width:28px;height:28px;border-color:#dce5e1;background:#fff}.pagination .icon-button:disabled{opacity:.4;cursor:default}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);padding:10px 16px;border:1px solid #cbd9d2;border-radius:4px;background:#fff;color:#33453c;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;max-width:min(92vw,560px);z-index:2}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast.error{border-color:#e4bebe;color:#942e2e}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:900px){.portal-view{padding:0 20px 32px}.work-grid{grid-template-columns:260px minmax(0,1fr);gap:12px}.panel{padding:14px}.summary-row{gap:8px}.summary-item{padding:12px}}@media(max-width:680px){.login-layout{grid-template-columns:1fr;align-content:center;gap:24px;padding:24px}.login-aside{padding:0}.login-aside h1{font-size:27px}.aside-rule{margin:20px 0 12px}.login-form{padding:22px}.portal-view{padding:0 14px 28px}.topbar{height:60px}.brand small{display:none}.account-bar{gap:7px}.account-name{max-width:100px;overflow:hidden;text-overflow:ellipsis}.page-heading{padding:20px 0 14px}.page-heading h1{font-size:20px}.summary-row{grid-template-columns:1fr 1fr}.summary-item:last-child:nth-child(odd){grid-column:span 2}.work-grid{grid-template-columns:1fr}.panel{padding:14px}.cards-panel{order:2}.create-panel{order:1}.table-wrap{margin-right:-2px}th,td{padding:0 9px}.filter-row select{width:118px}}
.management-panel{display:grid;gap:14px;margin-top:14px}.management-card{padding:18px}.management-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:24px}.management-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.management-form label:first-child{grid-column:1/-1}.management-form label{display:grid;gap:6px;color:#34433d;font-size:13px}.management-form input,.management-form select{width:100%;height:38px;border:1px solid #cfdad5;border-radius:4px;background:#fff;padding:0 10px;color:#1e2926;outline:none}.management-form button,.management-form .form-error{grid-column:1/-1}.management-form input:focus,.management-form select:focus{border-color:#33836b;box-shadow:0 0 0 2px #d8ebe4}.subheading{font-size:13px;font-weight:600;margin:0 0 10px}.management-list{display:grid;gap:8px;max-height:250px;overflow:auto}.management-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e4ebe7;border-radius:4px;background:#fbfcfc}.management-row p{margin:2px 0 0;font-size:11px}.role-tag{display:inline-flex;align-items:center;padding:3px 7px;border-radius:3px;background:#edf4f0;color:#3e6657;font-size:11px;white-space:nowrap}.role-admin{background:#f4eee6;color:#86603b}.role-agent{background:#e8f3ef;color:#26745d}.role-user{background:#eef1f0;color:#64736d}.table-button{min-height:27px;padding:0 8px;border:1px solid #cfdad5;border-radius:3px;background:#fff;color:#386456;font-size:11px}.table-button:hover{border-color:#33836b;color:#1e624e}.table-button.danger{border-color:#e4bebe;color:#9b3939}.table-button:disabled{opacity:.5;cursor:wait}.table-actions-cell{white-space:nowrap}.table-actions-cell .table-button+.table-button{margin-left:5px}.cards-panel table th:last-child,.cards-panel table td:last-child{white-space:nowrap}@media(max-width:900px){.management-grid{grid-template-columns:1fr}}@media(max-width:680px){.management-card{padding:14px}.management-form{grid-template-columns:1fr}.management-form label:first-child,.management-form button,.management-form .form-error{grid-column:auto}.table-actions-cell .table-button{padding:0 6px}.users-panel .table-wrap{overflow-x:auto}}
