:root{color:#121826;background:#f4f7fb;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}.notice{border:1px solid #a7f3d0;border-radius:8px;background:#ecfdf5;color:#047857;padding:11px 12px;font-size:14px}.partner-admin{display:grid;gap:16px}.partner-actions{display:flex;align-items:center;gap:10px;padding:16px 18px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.partner-actions div{display:grid;flex:1;gap:4px}.partner-actions span{color:#64748b;font-size:12px}.partner-actions button,.partner-settings button,.partner-rule button{padding:9px 13px}.primary-action{border-color:#0f766e;background:#0f766e;color:#fff}.partner-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.partner-metrics section{display:grid;gap:10px;padding:16px;border:1px solid #dde6f1;border-radius:8px;background:#fff}.partner-metrics span{color:#64748b;font-size:12px}.partner-metrics strong{color:#0f172a;font-size:20px;font-variant-numeric:tabular-nums}.partner-settings{display:grid;gap:16px}.setting-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.setting-grid label,.partner-rule label{display:grid;gap:7px;color:#526071;font-size:12px;font-weight:650}.setting-grid input,.partner-rule input,.partner-rule textarea{width:100%;min-width:0;border:1px solid #d7dfeb;border-radius:7px;background:#fff;color:#111827;padding:9px 10px;outline:none}.setting-grid input:focus,.partner-rule input:focus,.partner-rule textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.check-field{display:flex!important;align-items:center;gap:9px!important}.check-field input{width:16px}.wide-field{grid-column:span 2}.partner-tabs{display:flex;gap:6px}.partner-tabs button{padding:9px 14px}.partner-tabs button.active{border-color:#0f766e;background:#e8f7f3;color:#0f766e;font-weight:700}.rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.partner-rule{display:grid;gap:12px}.partner-rule textarea{min-height:92px;resize:vertical}.partner-rule small{color:#64748b}.three-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media(max-width:1280px){.partner-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.setting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}button{border:1px solid #d9e1ef;border-radius:8px;background:#fff;color:#172033;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55;transform:none}.login-shell{display:grid;min-height:100dvh;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(16,185,129,.08),transparent 32%),radial-gradient(circle at 85% 12%,rgba(14,116,144,.14),transparent 28%),#f5f8fc}.login-panel{display:grid;width:min(440px,100%);gap:18px;padding:30px;border:1px solid #dfe7f1;border-radius:8px;background:#ffffffeb;box-shadow:0 22px 60px #18263c1f}.login-panel h1,.topbar h1{margin:4px 0 0;color:#111827;font-size:30px;line-height:1.2}.login-panel label{display:grid;gap:8px;color:#526071;font-size:14px;font-weight:650}.login-panel input{height:44px;border:1px solid #d7dfeb;border-radius:8px;padding:0 13px;color:#121826;outline:none}.login-panel input:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.login-panel button{height:46px;border-color:#111827;background:#111827;color:#fff;font-weight:700}.mfa-setup{display:grid;gap:8px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;padding:12px;color:#475569;font-size:13px}.mfa-setup strong{color:#172033}.mfa-setup code{overflow-wrap:anywhere;white-space:pre-wrap;color:#0f766e;font-size:13px}.eyebrow{margin:0;color:#6c778a;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.muted,.topbar p,.panel-head p{margin:6px 0 0;color:#667085;font-size:13px}.error{border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#b91c1c;padding:11px 12px;font-size:14px}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100dvh}.sidebar{border-right:1px solid #dfe6ef;background:#101827;color:#dbe5f4;padding:18px}.brand{display:grid;gap:5px;padding:8px 8px 24px}.brand strong{color:#fff;font-size:19px}.brand span{color:#92a1b8;font-size:13px}.sidebar nav{display:grid;gap:7px}.sidebar button{display:grid;width:100%;gap:3px;border-color:transparent;background:transparent;color:#c2ccda;padding:11px 12px;text-align:left}.sidebar button small{color:#748398;font-size:11px}.sidebar button.active,.sidebar button:hover{background:#1c2738;color:#fff;transform:none}.sidebar button.active{border-color:#2dd4bf52;box-shadow:inset 3px 0 #14b8a6}.sidebar button.active small,.sidebar button:hover small{color:#a8b5c9}.content{min-width:0;padding:28px;background:linear-gradient(180deg,#0f766e14,#f4f7fb00 280px),#f4f7fb}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-actions span{color:#526071;font-size:14px}.topbar-actions button{padding:10px 14px}.dashboard-stack{display:grid;gap:16px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric,.panel,.table-wrap,.empty{border:1px solid #dde6f1;border-radius:8px;background:#fffffff0;box-shadow:0 12px 30px #1b273e0f}.metric{display:grid;gap:18px;min-height:124px;padding:18px}.metric-copy{display:grid;gap:4px}.metric span{color:#4a5568;font-size:14px;font-weight:750}.metric small{color:#8791a3;font-size:12px}.metric strong{color:#0f172a;font-size:28px;line-height:1}.chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hero-charts{grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr)}.panel{min-width:0;padding:18px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-head h2{margin:0;color:#172033;font-size:16px}.panel-head strong{color:#0f766e;font-size:18px}.line-chart{display:block;width:100%;height:240px;overflow:visible}.line-chart line{stroke:#e6edf5;stroke-width:1}.line-chart polyline{fill:none;stroke:#0f766e;stroke-linecap:round;stroke-linejoin:round;stroke-width:4;vector-effect:non-scaling-stroke}.line-chart circle{fill:#fff;stroke:#0f766e;stroke-width:3;vector-effect:non-scaling-stroke}.chart-axis{display:flex;justify-content:space-between;color:#7a8495;font-size:11px}.bar-list,.status-list{display:grid;gap:14px}.bar-row{display:grid;gap:7px}.bar-label,.status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#344054;font-size:13px}.bar-label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-label strong,.status-row strong{color:#111827;font-size:13px}.bar-track{height:9px;overflow:hidden;border-radius:999px;background:#edf2f7}.bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f766e,#22c55e)}.status-row{justify-content:flex-start}.status-row strong{margin-left:auto}.status-dot{width:9px;height:9px;border-radius:999px;background:#94a3b8}.status-active,.status-completed,.status-paid,.status-success{background:#16a34a}.status-pending,.status-pending_review{background:#f59e0b}.status-failed,.status-rejected,.status-revoked{background:#ef4444}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{max-width:280px;border-bottom:1px solid #edf2f7;padding:13px 14px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}th{color:#6b7485;font-size:12px;font-weight:800;background:#f8fafc}td{color:#253044}tbody tr:hover td{background:#f8fbfd}.empty{display:grid;min-height:240px;place-items:center;color:#7b8496}.empty.compact{min-height:120px;box-shadow:none}@media(max-width:1180px){.metric-grid,.chart-grid,.hero-charts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.sidebar nav{grid-template-columns:repeat(2,1fr)}.content{padding:20px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{flex-wrap:wrap}.metric-grid,.chart-grid,.hero-charts{grid-template-columns:1fr}}
