:root{color-scheme:light;font-family:Segoe UI,Aptos,system-ui,sans-serif;background:#eef1ed;color:#16211d;font-synthesis:none;text-rendering:optimizeLegibility;--line: #d7ddd5;--muted: #66736c;--surface: #fbfcfa;--surface-2: #f4f7f3;--ink: #16211d;--primary: #0d5c63;--primary-ink: #ffffff;--danger: #a93535;--warning: #9d6b19;--success: #2c7048;--radius: 8px}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}.loading,.login-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.login-panel{display:grid;width:min(100%,420px);gap:16px;border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:var(--surface);box-shadow:0 24px 70px #16211d1a}.login-panel h1,.login-panel p{margin:0}.login-panel p{color:var(--muted)}.mark{display:grid;width:44px;height:44px;place-items:center;border-radius:var(--radius);background:#dcebe6;color:var(--primary)}.mark.danger{background:#f4dfdf;color:var(--danger)}.primary-button,.secondary-button,.ghost-button,.table-actions button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid transparent;border-radius:7px;padding:0 14px;cursor:pointer}.primary-button{background:var(--primary);color:var(--primary-ink)}.secondary-button,.table-actions button{border-color:var(--line);background:var(--surface);color:var(--ink)}.ghost-button{background:transparent;color:var(--muted)}.button-row{display:flex;flex-wrap:wrap;gap:10px}.admin-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{display:grid;grid-template-rows:auto 1fr;gap:24px;border-right:1px solid var(--line);padding:24px 18px;background:#17221f;color:#eef5f1}.brand{display:flex;align-items:center;gap:12px}.brand span{display:block;color:#9eb0a8;font-size:13px}.sidebar nav{display:grid;align-content:start;gap:6px}.sidebar nav button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:7px;padding:11px 12px;background:transparent;color:#c9d6d0;cursor:pointer;text-align:left}.sidebar nav button.active,.sidebar nav button:hover{background:#24322e;color:#fff}.content{display:grid;align-content:start;gap:20px;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar p,.topbar h1{margin:0}.topbar p{color:var(--muted);font-size:13px;text-transform:uppercase}.topbar h1{font-size:28px}.session{display:flex;align-items:center;gap:10px;color:var(--muted)}.icon-button{width:38px;padding:0;border-color:var(--line);background:var(--surface);color:var(--ink)}.grid{display:grid;gap:14px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card,.table-card,.error-banner{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.stat-card{display:grid;gap:8px;padding:18px}.stat-card span,.stat-card p{color:var(--muted)}.stat-card strong{font-size:32px}.stat-card p{margin:0}.table-card{overflow:hidden}.table-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 18px;background:var(--surface-2)}.table-header h2{margin:0;font-size:18px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:13px 16px;text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px;text-transform:uppercase}td small{color:var(--muted)}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.status{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;text-transform:uppercase}.status-approved,.status-paid{background:#dff0e5;color:var(--success)}.status-pending,.status-requested{background:#f8ecd5;color:var(--warning)}.status-rejected,.status-suspended,.status-inactive,.status-archived{background:#f4dfdf;color:var(--danger)}.status-active{background:#dff0e5;color:var(--success)}.status-draft{background:#e6e9e7;color:var(--muted)}.promotion-admin-layout{display:grid;gap:18px}.promotion-editor{display:grid;gap:20px;border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:var(--surface)}.promotion-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.promotion-editor-heading span{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.promotion-editor-heading h2{margin:4px 0 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.promotion-editor label{display:grid;min-width:0;gap:7px;color:var(--muted);font-size:13px;font-weight:700}.promotion-editor input,.promotion-editor select,.promotion-editor textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit}.promotion-editor textarea{resize:vertical}.form-wide{grid-column:1 / -1}.review-media-field{display:grid;gap:8px}.review-media-field>span{color:var(--muted);font-size:13px;font-weight:700}.review-media-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px}.review-media-strip-compact{max-width:190px;gap:6px}.review-media-empty{color:var(--muted)}.review-media-preview{position:relative;flex:0 0 156px;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:var(--muted);background:var(--surface-2);text-decoration:none}.review-media-preview[data-status=processing],.review-media-preview[data-status=pending_upload]{border-color:#d9c7a0}.review-media-preview[data-status=failed]{border-color:#df9b9b}.review-media-strip-compact .review-media-preview{flex-basis:46px;border-radius:7px}.review-media-preview img,.review-media-preview video{width:100%;height:100%;object-fit:cover}.review-media-preview>span{width:100%;height:100%;display:grid;place-items:center;color:var(--primary);background:#dcebe6}.review-media-preview>i{position:absolute;left:8px;top:8px;width:30px;height:30px;border-radius:999px;display:grid;place-items:center;color:#fff;background:#000000a3}.review-media-strip-compact .review-media-preview>i{left:4px;top:4px;width:20px;height:20px}.review-media-preview small{position:absolute;left:7px;right:7px;bottom:7px;overflow:hidden;border-radius:999px;padding:3px 6px;color:#fff;background:#000000ad;font-size:10px;font-weight:800;text-align:center;text-overflow:ellipsis;white-space:nowrap}.review-media-strip-compact .review-media-preview small{display:none}.promotion-editor small{color:var(--muted);font-weight:400}.promotion-editor fieldset{border:1px solid var(--line);border-radius:7px;padding:14px}.promotion-editor legend{padding:0 6px;font-weight:700}.placement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.refund-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.refund-context-grid div{min-width:0;border:1px solid var(--line);border-radius:7px;padding:10px;background:var(--surface-2)}.refund-context-grid span{display:block;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.refund-context-grid strong{display:block;min-width:0;margin-top:4px;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.level-rule-list{display:grid;gap:12px}.level-rule-row{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr)) auto;gap:10px;align-items:flex-end;border:1px solid var(--line);border-radius:7px;padding:12px;background:var(--surface-2)}.promotion-editor .check-label{display:flex;align-items:center;gap:8px}.promotion-editor .check-label input{width:auto}.content-search-input{position:relative;display:grid;align-items:center}.content-search-input svg{position:absolute;left:11px;color:var(--muted);pointer-events:none}.promotion-editor .content-search-input input{padding-left:34px}.content-product-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.content-product-picker button,.content-product-selected,.content-media-item{border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}.content-product-picker button{min-width:0;padding:9px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:2px 10px;color:var(--ink);cursor:pointer;text-align:left}.content-product-picker button.active{border-color:var(--primary);background:#e5f1ee}.content-product-picker img,.content-product-picker button>span{grid-row:1 / 3;width:42px;height:42px;border-radius:6px;object-fit:cover;display:grid;place-items:center;background:#dcebe6;color:var(--primary);font-size:12px;font-weight:800}.content-product-picker strong,.content-product-picker small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-product-selected{grid-column:1 / -1;padding:11px 12px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;align-items:center;color:var(--success)}.content-product-selected small{grid-column:2 / 3}.content-media-list{display:grid;gap:10px}.content-media-item{padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(150px,.35fr) minmax(180px,.5fr) auto;gap:10px;align-items:center}.content-media-item[data-status=uploading]{opacity:.68}.content-media-icon{width:38px;height:38px;border-radius:7px;display:grid;place-items:center;color:var(--primary);background:#dcebe6}.content-media-item strong,.content-media-item small{min-width:0;overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap}.content-media-error{color:var(--danger)}.error-banner{padding:13px 16px;color:var(--danger)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:960px){.admin-shell{grid-template-columns:1fr}.sidebar{position:static;border-right:0;border-bottom:1px solid var(--line)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start;flex-direction:column}.placement-grid,.refund-context-grid,.level-rule-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.stats-grid{grid-template-columns:1fr}.session{width:100%;justify-content:space-between}.form-grid,.placement-grid,.refund-context-grid,.level-rule-row,.content-product-picker,.content-media-item{grid-template-columns:1fr}}
