:root{color-scheme:light;--ink:#172026;--muted:#60717d;--line:#d8e0e5;--surface:#ffffff;--panel:#f7f9fa;--accent:#0f8b8d;--accent-dark:#0a6466;--gold:#d79331;--danger:#b54747;--ok:#2f7d4b}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:#eef3f4;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{display:grid;grid-template-columns:248px minmax(0,1fr)}.shell,.sidebar{min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto;background:#172026;color:#f7fbfc;padding:22px}.brand{display:flex;align-items:center;min-height:100px;margin-bottom:24px}.brand img{display:block;width:210px;max-width:100%;height:auto}.nav{display:grid;grid-gap:6px;gap:6px}.nav a{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 12px;border-radius:8px;color:#c8d4d8}.nav a:hover{background:#243139;color:white}.main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 28px;border-bottom:1px solid var(--line);background:var(--surface)}.topbar h1{margin:0;font-size:22px}.user-menu{position:relative;display:flex;align-items:center}.user-avatar{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:8px;background:var(--accent);color:white;font-size:12px;font-weight:800;overflow:hidden}.profile-photo img,.user-avatar img{width:100%;height:100%;object-fit:cover}.profile-trigger{display:inline-flex;align-items:center;gap:10px;min-height:40px;border:0;padding:0;background:transparent;color:var(--ink);cursor:pointer}.profile-trigger:hover{color:var(--accent-dark)}.profile-name{max-width:150px;overflow:hidden;font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:20;display:grid;width:230px;padding:8px;border:1px solid var(--line);border-radius:8px;background:white;box-shadow:0 18px 45px rgb(23 32 38/14%)}.profile-menu-header{display:grid;grid-gap:3px;gap:3px;padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.profile-menu-header strong{font-size:13px}.profile-menu-header span{color:var(--muted);font-size:12px}.profile-menu button{display:flex;align-items:center;gap:9px;min-height:38px;border:0;border-radius:8px;padding:0 10px;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.profile-menu button:hover{background:#f3f7f8}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:rgb(23 32 38/35%)}.profile-modal{display:grid;grid-gap:18px;gap:18px;width:min(640px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;border:1px solid var(--line);border-radius:8px;padding:22px;background:white;box-shadow:0 24px 70px rgb(23 32 38/22%)}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal-heading h2{margin:0 0 4px;font-size:20px}.modal-heading p{margin:0;color:var(--muted);font-size:13px}.profile-form{display:grid;grid-gap:12px;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.profile-form h3{margin:0;font-size:16px}.profile-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px}.profile-form input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px;color:var(--ink)}.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.profile-photo-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-photo{display:grid;width:64px;height:64px;place-items:center;overflow:hidden;border-radius:8px;background:var(--accent);color:white;font-weight:800}.photo-action{display:inline-flex!important;align-items:center;gap:8px!important;width:-moz-fit-content;width:fit-content;color:var(--accent-dark)!important;cursor:pointer;font-weight:800}.photo-action:hover{color:var(--accent)!important}.icon-button{display:inline-grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);cursor:pointer}.icon-button:hover{border-color:var(--accent);color:var(--accent-dark)}.row-actions{display:flex;align-items:center;gap:8px}.content{padding:28px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.card{min-height:96px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.metric{display:grid;grid-gap:6px;gap:6px}.metric span{color:var(--muted);font-size:13px}.metric strong{font-size:30px}.metric-status{font-size:18px!important;word-break:break-word}.metric small{color:var(--muted);font-size:12px}.section{margin-top:24px;padding:22px;border-top:1px solid var(--line);background:var(--surface)}.section h2{margin:0 0 16px;font-size:18px}.dashboard-charts{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);grid-gap:18px;gap:18px}.chart-panel{min-width:0;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.chart-panel-main{display:grid;grid-gap:12px;gap:12px}.chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.chart-heading.compact{margin-top:18px}.chart-heading h2{margin:0 0 4px;font-size:18px}.chart-heading p{margin:0;color:var(--muted);font-size:13px}.chart-heading strong{color:var(--accent-dark);font-size:28px}.chart-heading-actions{display:grid;justify-items:end;grid-gap:8px;gap:8px}.chart-heading-actions select{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:white;color:var(--ink);font-size:13px}.line-chart{display:block;width:100%;min-height:240px}.line-chart line{stroke:#e1e8eb;stroke-width:1}.line-chart text{fill:var(--muted);font-size:12px}.chart-area{fill:url(#customer-growth-fill)}.chart-line{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.chart-dot{fill:white;stroke:var(--accent-dark);stroke-width:3}.chart-x-label{fill:var(--muted)}.coupon-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.coupon-summary div{display:grid;grid-gap:6px;gap:6px;min-height:82px;padding:14px;border:1px solid var(--line);border-radius:8px;background:white}.coupon-summary span{color:var(--muted);font-size:12px}.coupon-summary strong{font-size:28px}.coupon-ratio{display:grid;grid-gap:14px;gap:14px;margin-top:12px}.coupon-ratio-bar{display:flex;width:100%;height:46px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:white}.coupon-ratio-available,.coupon-ratio-used{min-width:0;transition:width .22s ease}.coupon-ratio-used{background:var(--gold)}.coupon-ratio-available{background:var(--accent)}.coupon-ratio-copy{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.coupon-ratio-copy strong{font-size:22px}.coupon-ratio-copy span{color:var(--muted);font-size:13px}.chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:var(--muted);font-size:12px}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:999px}.legend-dot.generated{background:var(--accent)}.legend-dot.used{background:var(--gold)}.empty-chart{display:grid;min-height:220px;place-items:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:13px}.toolbar{justify-content:space-between;gap:12px;margin-bottom:16px}.search-box,.toolbar{display:flex;align-items:center}.search-box{gap:8px;min-height:40px;width:min(360px,100%);border:1px solid var(--line);border-radius:8px;padding:0 10px;background:white;color:var(--muted)}.search-box input{min-width:0;width:100%;border:0;outline:0;color:var(--ink)}.filters{display:flex;align-items:center;justify-content:flex-end;gap:10px;width:min(520px,100%)}.filters select{min-height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:white;color:var(--ink)}.success-panel{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:14px;border:1px solid #b8dcc8;border-radius:8px;background:#edf8f1;color:var(--ok)}.success-panel div{display:grid;grid-gap:4px;gap:4px}.error-message,.success-panel span{font-size:13px}.error-message{color:var(--danger)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid transparent;border-radius:8px;background:var(--accent);color:white;cursor:pointer;font-weight:700}.button:disabled{cursor:not-allowed;opacity:.65}.button.secondary{border-color:var(--line);background:white;color:var(--ink)}.form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px}.form input,.form select{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:white;color:var(--ink)}.form-message{display:flex;align-items:center;min-height:40px}.form-message,.muted-copy{color:var(--muted);font-size:13px}.muted-copy{margin:4px 0 0}.billing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.billing-section{padding:16px}.billing-section>.toolbar{margin-bottom:10px}.billing-grid .card{min-height:74px;padding:12px 14px}.billing-grid .metric{gap:4px}.billing-grid .metric span{font-size:12px}.billing-grid .metric strong{font-size:18px!important}.billing-grid .metric small{font-size:11px}.billing-payments{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(280px,1fr);align-items:stretch;grid-gap:18px;gap:18px;margin-top:16px}.payment-history{margin-top:18px;padding-top:14px}.payment-history,.payment-panel{border-top:1px solid var(--line)}.payment-panel{background:var(--surface)}.payment-panel-main{padding:14px 16px}.payment-panel-side{display:grid;align-content:start;grid-gap:22px;gap:22px;padding:18px}.payment-panel h2{margin:0;font-size:16px}.mp-logo-img{display:block;width:min(180px,100%);height:auto}.mp-pay-button{position:relative;display:flex;align-items:center;justify-content:center;align-self:start;min-height:92px;width:100%;overflow:hidden;border:0;border-radius:8px;background:#009ee3;color:white;cursor:pointer;font-weight:800;font-size:16px;letter-spacing:0}.mp-pay-button:disabled{cursor:not-allowed;opacity:.72}.mp-pay-content{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:10px}.cancel-subscription-button{background:#d92d20;color:white}.cancel-subscription-button:disabled{background:#d92d20}.active-period-button,.active-period-button:disabled{background:#64748b}.mp-card-brick-shell{position:relative}.mp-card-brick-shell.is-disabled .mp-card-brick{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;filter:grayscale(.15);opacity:.56}.mp-card-brick-shell.is-disabled:after{content:"";position:absolute;inset:0;border-radius:8px;background:rgba(255,255,255,.18)}.mp-card-disabled-label{position:absolute;left:14px;bottom:14px;z-index:1;display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#e7f4f2;color:var(--accent-dark);font-size:12px;font-weight:800}.mp-pay-progress{position:absolute;inset:0 auto 0 0;width:0;background:#00a650}.mp-pay-button.is-loading .mp-pay-progress{animation:mp-progress 2s ease-in-out forwards}@keyframes mp-progress{0%{width:0}35%{width:28%}70%{width:68%}to{width:100%}}.mp-card-brick{min-height:260px;zoom:.88}.setup-panel{display:grid;grid-gap:4px;gap:4px;margin-bottom:16px;padding:14px;border:1px solid #ffe0aa;border-radius:8px;background:#fff8ec;color:#8a5614;font-size:13px}.table{width:100%;border-collapse:collapse;background:white}.table td,.table th{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.table th{color:var(--muted);font-size:12px;text-transform:uppercase}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#e7f4f2;color:var(--accent-dark);font-size:12px;font-weight:700}.badge.warn{background:#fff3df;color:#8a5614}.badge.danger{background:#fae8e8;color:var(--danger)}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px}.login-box{width:min(420px,100%);padding:28px;border:1px solid var(--line);border-radius:8px;background:white}.login-box h1{margin:0 0 20px}@media (max-width:960px){.shell{grid-template-columns:1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:1;min-height:auto;max-height:none}.nav{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-grid,.billing-payments,.dashboard-charts,.form,.grid{grid-template-columns:1fr}}