@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap";:root{font-family:Noto Sans SC,system-ui,sans-serif;color:#20283a;background:#f4f7fb;font-synthesis:none;--blue: #2f6df6;--blue-dark: #2156ce;--line: #e5eaf2;--muted: #788298;--panel: #fff;--shadow: 0 8px 28px rgba(38, 61, 104, .07)}.equity-json-editor{width:100%;min-height:460px;resize:vertical;border:1px solid var(--border, #ddd4c6);border-radius:12px;padding:14px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;box-sizing:border-box}.koubo-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.koubo-metric{display:grid;gap:10px;padding:22px}.koubo-metric small{color:var(--muted);font-weight:700}.koubo-metric strong{font-size:30px;color:#18233a}a.koubo-metric-link{text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}a.koubo-metric-link:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.koubo-shortcut-panel,.koubo-todo-panel{margin-bottom:16px}.koubo-shortcut-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:0 22px 22px}.koubo-shortcut{position:relative;display:flex;align-items:center;gap:12px;min-height:84px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit;background:#f8fafd}.koubo-shortcut:hover{border-color:#c9d7f2;background:#fff}.koubo-shortcut-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;color:var(--blue);background:#eaf1ff;flex-shrink:0}.koubo-shortcut b{display:block;font-size:14px}.koubo-shortcut small{color:var(--muted)}.koubo-shortcut-badge{position:absolute;top:10px;right:10px;min-width:20px;padding:1px 6px;border-radius:999px;color:#fff;background:#e24b4b;font-size:11px;font-weight:700;line-height:18px;text-align:center}.koubo-todo-panel{overflow:hidden}.koubo-todo-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 12px}.koubo-todo-title{display:flex;align-items:flex-start;gap:12px}.koubo-todo-clock,.koubo-todo-users-icon,.koubo-todo-users-arrow{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--blue);background:#e8f0ff;flex-shrink:0}.koubo-todo-title h2{margin:2px 0 4px;font-size:18px}.koubo-todo-title p{margin:0;color:var(--muted);font-size:13px}.koubo-todo-toolbar{display:flex;align-items:center;gap:8px}.koubo-todo-toolbar select{min-width:132px}.koubo-todo-list{list-style:none;margin:0;padding:0 10px 10px}.koubo-todo-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px 12px;border-bottom:1px solid var(--line)}.koubo-todo-row:last-child{border-bottom:0}.koubo-todo-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;flex-shrink:0}.koubo-todo-copy b{display:block;font-size:15px}.koubo-todo-copy small{color:var(--muted)}.koubo-todo-count{min-width:36px;padding:4px 10px;border-radius:8px;font-size:16px;font-weight:700;text-align:center}.koubo-todo-action{display:inline-flex;align-items:center;gap:2px;padding:8px 14px;border-radius:10px;color:#fff;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}.koubo-todo-row.tone-blue{--tone: #2f6df6;--tone-soft: #e8f0ff}.koubo-todo-row.tone-purple{--tone: #7b5cff;--tone-soft: #efeaff}.koubo-todo-row.tone-green{--tone: #1ea36a;--tone-soft: #e5f7ee}.koubo-todo-row.tone-orange{--tone: #e58a2e;--tone-soft: #fff1e0}.koubo-todo-row .koubo-todo-icon,.koubo-todo-row .koubo-todo-count{color:var(--tone);background:var(--tone-soft)}.koubo-todo-row .koubo-todo-action{background:var(--tone)}.koubo-todo-users{display:flex;align-items:center;gap:14px;margin:16px 0 8px;padding:16px 18px;border-radius:16px;background:#edf4ff;text-decoration:none;color:inherit}.koubo-todo-users b{display:block;color:var(--blue);font-size:15px}.koubo-todo-users small{color:var(--muted)}.koubo-todo-users-arrow{margin-left:auto;width:36px;height:36px;background:#fff;box-shadow:0 4px 12px #2f6df61f}.koubo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.koubo-actions .text-action{display:inline-flex;align-items:center;gap:4px}.text-action.danger,.negative{color:#bd3e3e}.positive{color:#198754}.koubo-drawer{width:min(780px,100%)}.koubo-drawer .detail-stack{padding:22px 24px 36px}.koubo-user-detail-page{display:grid;gap:18px;max-width:1180px;padding-bottom:32px}.koubo-user-detail-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.koubo-user-detail-actions{display:flex;flex-wrap:wrap;gap:10px}.koubo-user-detail-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:26px 28px;border:1px solid #dce7ff;border-radius:16px;background:radial-gradient(circle at right top,#dce9ff,#dce9ff00 34%),linear-gradient(115deg,#f8fbff,#eef4ff);box-shadow:var(--shadow)}.koubo-user-detail-title{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:6px}.koubo-user-detail-title h1{margin:0;font-family:Manrope,Noto Sans SC,sans-serif;font-size:28px;letter-spacing:-.5px}.koubo-user-detail-meta{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0 0;color:#5f6c82;font-size:12px;font-weight:600}.koubo-user-detail-counts{display:grid;grid-template-columns:repeat(3,minmax(72px,1fr));gap:10px;flex-shrink:0}.koubo-user-detail-counts>div{min-width:72px;padding:14px 16px;text-align:center;border:1px solid rgba(255,255,255,.72);border-radius:12px;background:#ffffffc7}.koubo-user-detail-counts small{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:600}.koubo-user-detail-counts b{font-size:22px;letter-spacing:-.4px}.koubo-user-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.koubo-user-detail-card .panel-header{padding-bottom:0}.koubo-user-detail-body,.koubo-user-detail-fields{padding:0 18px 18px}.koubo-user-detail-span{grid-column:1 / -1}.koubo-user-detail-card .koubo-account-grid{margin-bottom:16px}.koubo-user-detail-card .empty-state{padding:18px 0 8px}.koubo-task-detail-page{display:grid;gap:18px;max-width:1180px;padding-bottom:32px}.koubo-task-detail-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.koubo-task-detail-hero{padding:26px 28px;border:1px solid #dce7ff;border-radius:16px;background:radial-gradient(circle at right top,#dce9ff,#dce9ff00 34%),linear-gradient(115deg,#f8fbff,#eef4ff);box-shadow:var(--shadow)}.koubo-task-detail-title{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:6px}.koubo-task-detail-title h1{margin:0;font-family:Manrope,Noto Sans SC,sans-serif;font-size:28px;letter-spacing:-.5px}.koubo-task-detail-meta{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0 0;color:#5f6c82;font-size:12px;font-weight:600}.koubo-task-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.koubo-task-detail-card .panel-header{padding-bottom:0}.koubo-task-detail-body{padding:0 18px 18px}.koubo-task-detail-fields{margin-bottom:4px}.koubo-task-detail-span{grid-column:1 / -1}.koubo-task-detail-actions{display:flex;flex-wrap:wrap;gap:10px}.koubo-task-detail-card .koubo-script{margin-top:4px}.koubo-task-detail-card .empty-state{padding:18px 0 8px}.koubo-account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.koubo-account-grid b{padding:13px;border-radius:10px;background:#f3f6fb}.koubo-row-card{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.koubo-row-card small{grid-column:1 / -1;color:var(--muted)}.koubo-script{margin:16px 0;padding:15px;border-radius:10px;background:#f7f9fc}.koubo-script p{white-space:pre-wrap;line-height:1.8}.koubo-upload-grid{display:grid;gap:12px;margin-bottom:14px}.koubo-upload-grid label{display:grid;gap:7px}.koubo-qr-upload{display:flex;align-items:center;gap:12px;padding:20px}.koubo-settings-tabs{display:flex;gap:4px;margin:-6px 0 18px;padding:0 4px;overflow-x:auto;border-bottom:1px solid var(--line)}.koubo-settings-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap;border-bottom:2px solid transparent}.koubo-settings-tab:hover{color:#273146}.koubo-settings-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.koubo-settings-card{overflow:hidden}.koubo-settings-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,260px));justify-content:start;gap:18px 32px;padding:4px 22px 8px}.koubo-settings-fields label{display:grid;gap:8px;max-width:260px;color:#3d4a63;font-size:13px;font-weight:600}.koubo-settings-fields small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}.koubo-stepper{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:stretch;width:168px;min-height:40px;overflow:hidden;border:1px solid #dfe5ee;border-radius:10px;background:#fff}.koubo-stepper button{color:#4d5870;border:0;background:#f6f8fb;font-size:18px;line-height:1}.koubo-stepper button:hover:not(:disabled){color:var(--blue);background:#eef3fb}.koubo-stepper button:disabled{color:#c3cad6}.koubo-stepper input{width:100%;min-width:0;border:0;text-align:center;color:#273146;background:transparent;font-weight:600}.koubo-stepper input::-webkit-outer-spin-button,.koubo-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.koubo-stepper input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.koubo-settings-actions{display:flex;flex-wrap:wrap;gap:10px;padding:16px 22px 22px}.koubo-settings-loading{padding:8px 22px 22px;color:var(--muted)}.koubo-settings-hint{margin:0;padding:12px 14px;color:#3d5ea8;border-radius:10px;background:#edf4ff;font-size:13px;line-height:1.6}.koubo-qr-panel{display:grid;gap:16px;justify-items:start;padding:4px 22px 22px}.koubo-settings-card .koubo-settings-hint{max-width:520px}.koubo-qr-body{display:inline-flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;width:max-content;max-width:100%;gap:16px 20px}.koubo-qr-copy{display:grid;gap:14px;justify-items:start;flex:0 0 auto}.koubo-qr-copy>p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.koubo-qr-file{display:none}.koubo-qr-preview{display:grid;flex:0 0 180px;place-items:center;width:180px;height:180px;padding:12px;color:var(--muted);border:1px dashed #c9d4e6;border-radius:16px;background:#f8fafd;text-align:center;font-size:12px}.koubo-qr-preview img{width:100%;height:100%;object-fit:contain;border-radius:8px}.koubo-logo-preview{display:grid;flex:1 1 240px;place-items:center;min-width:200px;max-width:360px;height:48px;padding:4px 10px;color:var(--muted);border:1px dashed #c9d4e6;border-radius:10px;background:#071016;text-align:center;font-size:12px}.koubo-logo-preview img{width:auto;max-width:100%;height:100%;object-fit:contain;border-radius:0}.break-all{word-break:break-all}@media(max-width:1100px){.koubo-shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.koubo-metric-grid,.koubo-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.koubo-todo-header{flex-direction:column}.koubo-todo-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon copy count" "icon copy action"}.koubo-todo-icon{grid-area:icon}.koubo-todo-copy{grid-area:copy}.koubo-todo-count{grid-area:count}.koubo-todo-action{grid-area:action;justify-self:end}.koubo-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.koubo-qr-preview{flex-basis:160px;width:160px;height:160px}}.commerce-panel,.user-center-panel{margin-bottom:22px}.identity-tags{display:flex;flex-wrap:wrap;gap:5px}.identity-tags span{padding:3px 7px;border-radius:999px;color:var(--blue-dark);background:#eaf1ff;font-size:11px;font-weight:600}.text-action{padding:0;border:0;color:var(--blue);background:transparent}.section-tabs{display:flex;gap:8px;margin-bottom:14px}.section-tabs button{padding:9px 16px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:#fff}.section-tabs button.active{color:#fff;border-color:var(--blue);background:var(--blue)}.detail-stack{display:grid;gap:20px;padding:22px 24px 36px}.detail-stack section{display:grid;gap:12px}.detail-stack h3{font-size:15px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.detail-grid>div,.sensitive-box,.detail-row{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafcff}.detail-grid dt{color:var(--muted);font-size:11px}.detail-grid dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:13px}.sensitive-box{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px}.sensitive-box code{overflow-wrap:anywhere}.detail-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.detail-row small{display:block;margin-top:4px;color:var(--muted)}.order-detail-card{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:10px}.order-detail-card .detail-row{padding:0;border:0;background:transparent}.shipping-address-card{padding:16px;border:1px solid #cfe0ff;border-radius:12px;background:linear-gradient(135deg,#f7faff,#eef5ff)}.shipping-address-title{display:flex;align-items:center;gap:8px;color:#285ec6}.shipping-address-title h3{margin:0}.shipping-address-content{display:grid;gap:8px;color:#34415a}.shipping-address-content>div{display:flex;align-items:center;gap:12px}.shipping-address-content span,.shipping-address-content small{color:var(--muted);font-size:12px}.shipping-address-content p{margin:0;line-height:1.7}.empty-address{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.order-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:11px}.address-snapshot{color:var(--muted);line-height:1.6}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end;padding:6px 18px 20px}.settings-grid label{min-width:0;display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:13px}.settings-grid input[type=number],.settings-grid textarea{width:100%;min-height:42px;border:1px solid #dfe5ee;border-radius:9px;padding:10px 12px;background:#fff;color:#273146}.settings-grid .switch-row{min-height:42px;flex-direction:row;align-items:center}.settings-rules{grid-column:1 / -1}.settings-grid>.button{min-width:160px;justify-self:start}.banner-settings-panel{overflow:hidden}.display-config-toolbar{display:flex;align-items:center;gap:14px;margin:12px 16px 16px}.display-config-feedback{flex:1;min-width:0}.display-config-feedback .alert{margin:0}.display-config-save{flex:none;gap:8px;min-height:42px;padding-inline:18px}.home-entry-settings-panel{margin-bottom:20px;overflow:hidden}.home-entry-settings-content{display:grid;gap:14px;padding:0 24px 24px}.home-entry-settings-content .upload-field{max-width:690px}.home-entry-settings-content .image-uploader{aspect-ratio:23 / 6}.home-entry-settings-content>.button{display:inline-flex;width:max-content;align-items:center;gap:8px}.home-entry-visibility-switch{display:flex;max-width:690px;align-items:center;justify-content:space-between;gap:24px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fafcff}.home-entry-visibility-switch span,.home-entry-visibility-switch strong,.home-entry-visibility-switch small{display:block}.home-entry-visibility-switch small{margin-top:5px;color:var(--muted)}.home-entry-visibility-switch input{width:42px;height:22px;accent-color:var(--primary)}.banner-header-actions,.banner-item-actions{display:flex;align-items:center;gap:10px}.banner-header-actions .button{display:inline-flex;align-items:center;gap:8px}.banner-list{display:grid;gap:14px;padding:0 24px 24px}.banner-item{display:grid;grid-template-columns:34px minmax(220px,360px) minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fffaf6}.banner-item img{width:100%;aspect-ratio:16 / 7;border-radius:12px;object-fit:cover;background:#f7e9dd}.banner-order{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#fff0e5;color:var(--primary);font-weight:800}.banner-item-copy{min-width:0}.banner-item-copy strong,.banner-item-copy small{display:block}.banner-item-copy small{margin-top:7px;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.danger-icon{color:#c43f35}.banner-empty{display:grid;min-height:260px;place-items:center;align-content:center;gap:10px;margin:0 24px 24px;border:1px dashed #edcbb5;border-radius:18px;background:linear-gradient(135deg,#fff9f3,#fff1e4);color:var(--muted)}.banner-empty svg{color:var(--primary)}.banner-settings-footer{display:flex;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.success-alert{border-color:#bde6cf;background:#effbf4;color:#217a47}.table-subtitle{display:block;max-width:320px;margin-top:5px;color:var(--muted);font-weight:400}.row-actions{display:flex;gap:8px}.row-actions button{border:1px solid var(--border);border-radius:7px;padding:7px 10px;background:#fff;cursor:pointer}.row-actions button:last-child{color:#c24435}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}h1,h2,h3,p{margin:0}.shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:236px;display:flex;flex-direction:column;padding:22px 16px;color:#dbe7ff;background:linear-gradient(180deg,#13274a,#0e1b36)}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:0 8px 26px}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;color:#fff;font-weight:700;background:linear-gradient(135deg,#3981ff,#5b5ce7);box-shadow:0 8px 20px #346ff747}.sidebar-brand strong{display:block;color:#fff;font-size:17px}.sidebar-brand small,.sidebar-foot small,.top-user small{display:block;margin-top:2px;color:#8fa3c7;font-size:11px}.sidebar nav{display:grid;gap:6px}.nav-group{display:grid;gap:4px}.sidebar nav a,.sidebar nav button.nav-parent-link{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;color:#aebdd8;border:0;border-radius:10px;background:transparent;font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:.2s}.sidebar .nav-submenu{display:grid;gap:3px;margin:0 0 4px 25px;padding-left:9px;border-left:1px solid rgba(143,163,199,.28)}.sidebar .nav-submenu a{gap:9px;padding:9px 11px;font-size:13px}.sidebar .nav-parent-link{justify-content:flex-start}.nav-parent-indicator{margin-left:auto;transition:transform .2s ease}.nav-parent-indicator.open{transform:rotate(180deg)}.sidebar nav a:hover,.sidebar nav button.nav-parent-link:hover{color:#fff;background:#ffffff0f}.sidebar nav a.active,.sidebar nav button.nav-parent-link.active{color:#fff;background:linear-gradient(90deg,#2f6df6cc,#2f6df659);box-shadow:inset 3px 0 #78a7ff}.sidebar-foot{margin-top:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:16px 8px 0;border-top:1px solid rgba(255,255,255,.1)}.sidebar-foot strong{display:block;color:#fff;font-size:13px}.user-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#224987;background:#dfeaff;font-weight:700}.workspace{min-width:0;flex:1;margin-left:236px}.topbar{height:62px;position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:20px;padding:0 24px;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.crumb{display:flex;align-items:center;gap:7px;color:#6e7890;font-size:13px}.system-status{margin-left:auto;display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #dce9df;border-radius:8px;color:#47705a;font-size:12px;background:#f5fbf7}.system-status i{width:7px;height:7px;border-radius:50%;background:#28b463;box-shadow:0 0 0 4px #28b46321}.top-user{display:flex;align-items:center;gap:9px;padding-left:16px;border-left:1px solid var(--line)}.top-user b{display:block;font-size:12px}.top-user .user-avatar{width:32px;height:32px;font-size:12px}.content{padding:22px 24px 36px;max-width:1600px;margin:0 auto}.menu-button,.mobile-close{display:none!important}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-heading h1{margin:4px 0 5px;font-family:Manrope,Noto Sans SC,sans-serif;font-size:27px;letter-spacing:-.4px}.page-heading>div>p:last-child,.panel-header p{color:var(--muted);font-size:13px}.eyebrow{color:#4f74ca;font:700 10px/1.2 Manrope,sans-serif;letter-spacing:1.5px;text-transform:uppercase}.button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 15px;border:1px solid transparent;border-radius:8px;font-weight:600;font-size:13px;transition:.18s}.button.primary{color:#fff;background:var(--blue);box-shadow:0 5px 14px #2f6df638}.button.primary:hover{background:var(--blue-dark)}.button.secondary{color:#4d5870;border-color:#dfe5ee;background:#fff}.button.secondary:hover{border-color:#b9c8e3;color:var(--blue)}.button.danger{color:#fff;background:#e24c4b}.button.small{min-height:34px;padding:6px 11px}.button.wide{width:100%}.icon-button{width:34px;height:34px;display:grid;place-items:center;padding:0;color:inherit;border:0;border-radius:8px;background:transparent}.icon-button:hover{background:#6e82aa1a}.text-button{color:var(--blue);border:0;background:transparent;font-weight:600;font-size:13px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.panel{border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px 12px}.panel-header h2{margin-bottom:4px;font-size:15px}.range-chip{padding:5px 9px;color:var(--blue);border-radius:6px;background:#eaf1ff;font-size:11px;font-weight:600}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.metric-card{min-height:108px;display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.metric-icon,.todo-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%}.metric-icon svg{width:21px}.tone-blue{color:#2f6df6;background:#e8f0ff}.tone-green{color:#1ea768;background:#e6f8ee}.tone-orange{color:#eb8b16;background:#fff1db}.tone-purple{color:#7653dc;background:#efeaff}.metric-card p{color:#697387;font-size:12px}.metric-card strong{display:block;margin:3px 0;color:#1e273a;font:700 20px Manrope,Noto Sans SC,sans-serif;white-space:nowrap}.metric-card small{color:#8b94a5;font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.8fr) 310px;gap:12px;align-items:stretch}.trend-panel,.lifecycle-panel{min-height:350px}.chart-wrap{height:275px;padding:0 10px 10px 0}.dashboard-side{display:grid;gap:12px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:2px 14px 16px}.quick-grid button{min-height:64px;display:flex;align-items:center;gap:9px;padding:10px;color:#49546a;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px;font-weight:600}.quick-grid button:hover{color:var(--blue);border-color:#b9cffb;background:#f7faff}.quick-grid svg{width:20px;color:var(--blue)}.lifecycle-list{display:grid;gap:13px;padding:10px 18px 20px}.lifecycle-list button{display:grid;grid-template-columns:58px 1fr 28px;align-items:center;gap:10px;padding:0;color:#687287;border:0;background:transparent;font-size:12px;text-align:left}.lifecycle-list button>div{height:18px;overflow:hidden;border-radius:4px;background:#f0f3f8}.lifecycle-list i{height:100%;display:block;border-radius:4px;background:#8aaaf5}.lifecycle-list i[data-index="1"]{background:#5b82ed}.lifecycle-list i[data-index="2"]{background:#50bd90}.lifecycle-list i[data-index="3"]{background:#f0a52d}.lifecycle-list i[data-index="4"]{background:#e36d6d}.lifecycle-list i[data-index="5"]{background:#9da7b8}.lifecycle-list b{color:#2a3347;text-align:right}.todo-panel{overflow:hidden}.todo-item{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:13px 15px;border:0;border-top:1px solid #edf0f5;background:#fff;text-align:left}.todo-item:hover{background:#f8faff}.todo-icon{width:34px;height:34px}.todo-icon svg{width:17px}.todo-item span:nth-child(2) b,.todo-item span:nth-child(2) small{display:block}.todo-item span:nth-child(2) b{font-size:12px}.todo-item span:nth-child(2) small{margin-top:2px;color:#929bac;font-size:10px}.todo-item>strong{color:#e34f4f;font-size:15px}.project-overview{margin-top:12px}.list-panel{overflow:hidden}.list-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-bottom:1px solid var(--line)}.task-stats{display:flex;flex-wrap:wrap;gap:8px}.task-stat{display:flex;align-items:center;gap:10px;min-width:132px;padding:10px 12px;border:1px solid transparent;border-radius:12px;background:#f6f8fc;color:inherit;text-align:left;font:inherit;cursor:pointer}.task-stat:hover,.task-stat.active{border-color:#d7e3fb;background:#eef4ff}.task-stat-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:var(--blue);background:#e7efff}.task-stat-icon.processing{color:#1a9a62;background:#e7f7ef}.task-stat-icon.completed{color:#6c57bc;background:#eeeaff}.task-stat-icon.failed{color:#d47b11;background:#fff2de}.task-stat small{display:block;color:var(--muted);font-size:11px;font-weight:600}.task-stat b{display:block;margin-top:2px;color:#18233a;font-size:18px;line-height:1}.filters{display:flex;justify-content:flex-end;gap:10px;padding:15px 22px;border-bottom:1px solid var(--line)}.list-toolbar .filters{padding:0;border-bottom:0}.filters select,.search-field{height:38px;border:1px solid #dfe5ee;border-radius:8px;background:#fff}.filters select{min-width:150px;padding:0 32px 0 11px;color:#535e72;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23788298' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.search-field{width:min(320px,100%);display:flex;align-items:center;gap:8px;padding:0 11px;color:#98a2b3}.search-field:focus-within,.filters select:focus{border-color:#7ea6fa;box-shadow:0 0 0 3px #2f6df61a}.search-field input,.search-field input:focus{min-width:0;flex:1;padding:0;border:0;outline:0;box-shadow:none;color:#263044;background:transparent}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}th{padding:13px 16px;color:#687287;background:#f7f9fc;font-weight:600;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:14px 16px;border-bottom:1px solid #edf0f5;color:#505b6f;vertical-align:middle}th:first-child,td:first-child{padding-left:22px}th:last-child,td:last-child{padding-right:22px}tbody tr:hover{background:#fafcff}.project-cell{min-width:210px;display:flex;align-items:center;gap:10px}.project-cell>div{min-width:0}.project-cell b{display:block;max-width:220px;overflow:hidden;color:#293247;text-overflow:ellipsis;white-space:nowrap}.project-cell small{display:block;max-width:240px;margin-top:3px;overflow:hidden;color:#929bad;text-overflow:ellipsis;white-space:nowrap}.mini-cover{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;color:#5674ad;background:#eaf0fb center/cover no-repeat;font-weight:700}.amount-cell{color:var(--blue);font-weight:700;white-space:nowrap}.block-muted,.muted-text{display:block;margin-top:3px;color:#939cad;font-size:10px}.reason-cell{max-width:210px}code{color:#647087;font:10px ui-monospace,monospace}.row-actions{display:flex;align-items:center;gap:9px;white-space:nowrap}.row-actions button{padding:0;color:var(--blue);border:0;background:transparent;font-size:11px}.danger-text,.row-actions button.danger-text{color:#df4f4f}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--line);color:#7e889a;font-size:11px}.pagination span{margin-right:8px}.pagination button,.pagination b{width:30px;height:30px;display:grid;place-items:center;border:1px solid #e1e6ee;border-radius:6px;background:#fff}.pagination b{color:#fff;border-color:var(--blue);background:var(--blue)}.status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:5px;color:#607089;background:#edf1f6;font-size:10px;white-space:nowrap}.status-published,.status-succeeded,.status-approved{color:#148c59;background:#e7f7ef}.status-pending_review,.status-pending{color:#d47b11;background:#fff2de}.status-rejected,.status-failed,.status-cancelled,.status-refunded{color:#d84b4b;background:#ffe9e8}.status-paused,.status-PROCESSING{color:#6c57bc;background:#eeeaff}.status-PENDING,.status-pending_review,.status-pending{color:#d47b11;background:#fff2de}.status-COMPLETED,.status-ACTIVE,.status-APPROVED{color:#148c59;background:#e7f7ef}.status-FAILED,.status-CANCELLED,.status-REJECTED,.status-DISABLED{color:#d84b4b;background:#ffe9e8}.status-draft,.status-not_submitted{color:#657085;background:#edf0f5}.empty-state{min-height:240px;display:grid;place-items:center;align-content:center;gap:8px;color:#9aa3b3}.empty-state svg{color:#c4ccda}.alert,.notice{margin:12px 16px;padding:10px 12px;border-radius:7px;font-size:12px}.alert{color:#a93e3e;background:#fff0ef}.notice{color:#8b681f;border:1px solid #f3dfad;background:#fff9e9}.drawer-backdrop,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:flex-end;background:#0f1a307a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.drawer{width:min(660px,100%);height:100%;overflow:auto;background:#fff;box-shadow:-18px 0 50px #0c1a322e}.drawer>header{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);background:#fffffff5}.drawer h2{margin-top:4px;font-size:21px}.editor-form{display:grid;gap:16px;padding:22px 24px 30px}label,.upload-field{display:grid;gap:7px;color:#4e586c;font-size:12px;font-weight:600}input,textarea,select{color:#273146;border:1px solid #dfe5ee;border-radius:8px;outline:none;background:#fff}label input,label textarea{width:100%;padding:10px 11px}input:focus,textarea:focus,select:focus{border-color:#7ea6fa;box-shadow:0 0 0 3px #2f6df61a}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.switch-row{min-height:41px;display:flex;align-items:center;gap:8px;color:#667085;border:1px solid #dfe5ee;border-radius:8px;padding:0 11px;font-weight:400}.switch-row input{width:16px}.section-title{display:flex;justify-content:space-between;align-items:center;padding-top:7px}.section-title h3{font-size:15px}.section-title p{margin-top:3px;color:var(--muted);font-size:11px}.tier-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:12px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fafbfe}.tier-index{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;color:var(--blue);background:#e8efff;font:700 11px Manrope,sans-serif}.tier-fields{display:grid;gap:11px}.editor-form>footer{position:sticky;bottom:-30px;display:flex;justify-content:flex-end;gap:9px;margin:4px -24px -30px;padding:15px 24px;border-top:1px solid var(--line);background:#fff}.image-uploader{position:relative;width:100%;height:180px;overflow:hidden;display:grid;place-items:center;padding:0;border:1.5px dashed #b9c8e3;border-radius:10px;background:#f7faff}.image-uploader.dragging{border-color:var(--blue);background:#edf3ff}.image-uploader img{width:100%;height:100%;object-fit:cover}.upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:6px;color:#5e6c86;background:#f7faffe6}.has-image .upload-overlay{color:#fff;background:#0d1b327a;opacity:0;transition:.2s}.has-image:hover .upload-overlay{opacity:1}.upload-overlay small{font-size:10px;font-weight:400}.field-error{color:#d84b4b;font-size:11px}.detail-images-field{display:grid;gap:10px}.field-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.field-heading>div{display:grid;gap:3px}.field-label{color:#4e586c;font-size:12px;font-weight:600}.field-heading small{color:var(--muted);font-size:11px;font-weight:400}.detail-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.detail-image-card{position:relative;aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#f4f7fb}.detail-image-card img{width:100%;height:100%;object-fit:cover}.detail-image-card>span{position:absolute;left:7px;bottom:7px;padding:3px 6px;color:#fff;border-radius:5px;background:#0f1a30a8;font-size:10px}.campaign-detail-page{display:grid;gap:16px}.campaign-detail-toolbar{display:flex;justify-content:space-between;align-items:center}.back-link{display:inline-flex;align-items:center;gap:7px;padding:7px 0;color:#59677f;border:0;background:transparent;font-weight:700}.back-link:hover{color:var(--blue)}.campaign-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) 270px;min-height:190px;overflow:hidden}.campaign-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:30px 34px}.campaign-hero-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:8px}.campaign-hero-title h1{margin:0;font-size:30px;letter-spacing:-.7px}.campaign-hero-summary{max-width:660px;margin:10px 0 18px;color:var(--muted);font-size:14px;line-height:1.65}.campaign-hero-meta{display:flex;flex-wrap:wrap;gap:18px;color:#5f6c82;font-size:12px;font-weight:600}.campaign-hero-meta span{display:inline-flex;align-items:center;gap:6px}.campaign-hero-cover{width:100%;height:100%;min-height:190px;object-fit:cover;background:#edf2fa}.campaign-hero-placeholder{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#396fde,#7a9df3);font-size:58px;font-weight:800}.campaign-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.campaign-metric-card{position:relative;display:flex;align-items:center;gap:11px;min-height:94px;padding:18px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.campaign-metric-card small{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:700}.campaign-metric-card strong{color:#252e40;font-size:19px}.campaign-metric-card strong .status-badge{vertical-align:middle}.campaign-metric-icon{display:grid;flex:none;width:38px;height:38px;place-items:center;color:#2f6df6;border-radius:10px;background:#eaf1ff}.campaign-metric-icon.neutral{color:#54657e;background:#edf1f6}.campaign-metric-icon.green{color:#20a36a;background:#e6f7ef}.campaign-metric-icon.purple{color:#7658cd;background:#f0ecff}.metric-suffix{align-self:flex-end;margin-left:auto;color:#8b95a6;font-size:11px;white-space:nowrap}.campaign-progress{position:absolute;right:18px;bottom:18px;left:68px;height:4px;overflow:hidden;border-radius:4px;background:#e9eef7}.campaign-progress i{display:block;height:100%;border-radius:inherit;background:#2f6df6}.campaign-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}.campaign-detail-main,.campaign-detail-side{display:grid;gap:16px}.campaign-section{overflow:hidden}.campaign-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid #edf0f5}.campaign-section-header h2,.campaign-side-card h2{margin:5px 0 0;font-size:17px}.campaign-section-header>span{color:var(--muted);font-size:12px}.campaign-description{padding:22px 24px 0;color:#465269;line-height:1.9;white-space:pre-wrap}.campaign-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:20px 24px 24px}.campaign-gallery img{width:100%;aspect-ratio:4 / 3;border-radius:9px;object-fit:cover;background:#edf2fa}.campaign-tier-list{display:grid;gap:10px;padding:16px 24px 24px}.campaign-tier{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px;border:1px solid #e9edf4;border-radius:10px;background:#fbfcff}.campaign-tier.historical{opacity:.58}.campaign-tier-index{display:grid;width:30px;height:30px;place-items:center;color:var(--blue);border-radius:8px;background:#eaf1ff;font:700 11px Manrope,sans-serif}.campaign-tier-copy b{font-size:14px}.campaign-tier-copy p{margin-top:4px;color:var(--muted);font-size:12px}.campaign-tier-value{min-width:104px;text-align:right}.campaign-tier-value strong,.campaign-tier-value small{display:block}.campaign-tier-value strong{font-size:14px}.campaign-tier-value small{margin-top:4px;color:var(--muted);font-size:10px}.detail-tag{padding:4px 7px;color:#238860;border-radius:5px;background:#e6f7ef;font-size:10px;font-weight:700;white-space:nowrap}.detail-tag.muted{color:#717d91;background:#eef1f5}.campaign-side-card{padding:21px}.campaign-detail-list{display:grid;margin-top:14px}.campaign-detail-list>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;padding:12px 0;border-top:1px solid #edf0f5}.campaign-detail-list dt{color:var(--muted);font-size:12px}.campaign-detail-list dd{margin:0;color:#303a4d;font-size:12px;font-weight:600;line-height:1.55;text-align:right}.campaign-detail-list .review-note{display:block}.campaign-detail-list .review-note dd{margin-top:7px;text-align:left;font-weight:400}.campaign-side-tip{display:flex;gap:9px;padding:13px 14px;color:#5870a2;border-radius:10px;background:#edf3ff;font-size:11px;line-height:1.6}.campaign-side-tip svg{flex:none;margin-top:1px;color:var(--blue)}.detail-image-remove{position:absolute;top:6px;right:6px;width:25px;height:25px;display:grid;place-items:center;padding:0;color:#fff;border:0;border-radius:50%;background:#0f1a30b3}.detail-images-empty{padding:18px;color:var(--muted);border:1px dashed #cbd6e8;border-radius:9px;background:#fafcff;font-size:12px;text-align:center}.modal-backdrop{justify-content:center;align-items:center;padding:20px}.confirm-dialog{position:relative;width:min(430px,100%);padding:25px;border-radius:14px;background:#fff;box-shadow:0 25px 70px #0c193247}.confirm-dialog h2{font-size:19px}.confirm-dialog>p{margin:8px 0 18px;color:#727c91;font-size:13px;line-height:1.7}.confirm-dialog footer{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.media-preview-dialog{position:relative;width:min(920px,100%);padding:28px;border-radius:14px;background:#fff;box-shadow:0 25px 70px #0c193247}.media-preview-dialog h2{margin:4px 32px 16px 0;font-size:22px}.media-preview-player{display:block;width:100%;border-radius:10px;background:#0f1724}video.media-preview-player{max-height:min(70vh,720px);aspect-ratio:16 / 9;object-fit:contain}audio.media-preview-player{margin-top:8px}.campaign-review-dialog{position:relative;width:min(780px,100%);max-height:min(820px,calc(100vh - 40px));overflow:auto;padding:28px;border-radius:14px;background:#fff;box-shadow:0 25px 70px #0c193247}.campaign-review-dialog h2{margin:4px 0 20px;font-size:22px}.equity-type-dialog{position:relative;width:min(920px,100%);max-height:min(900px,calc(100vh - 40px));display:grid;gap:17px;overflow:auto;padding:28px;border-radius:14px;background:#fff;box-shadow:0 25px 70px #0c193247}.equity-type-dialog h2,.equity-type-dialog h3{margin:0}.equity-type-dialog>p:not(.eyebrow){margin:-10px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.equity-type-dialog label small{color:var(--muted);font-weight:400}.equity-type-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}.equity-field-list{display:grid;gap:12px}.equity-field-card{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fafcff}.equity-field-card>header{display:flex;align-items:center;justify-content:space-between}.equity-options{display:grid;gap:8px}.equity-options>span{color:var(--muted);font-size:12px;font-weight:600}.equity-options>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px}.equity-options input{min-width:0;padding:9px 10px}.equity-settings-workspace{display:grid;gap:18px}.equity-settings-hero{padding:25px 28px;border:1px solid #dce7ff;border-radius:16px;background:radial-gradient(circle at right top,#dae8ff 0,#dae8ff00 34%),linear-gradient(115deg,#f8fbff,#eef4ff)}.equity-settings-hero h2{margin:5px 0 8px;font-size:24px;letter-spacing:-.4px}.equity-settings-hero>div>p:last-child{max-width:680px;margin:0;color:#63718a;font-size:13px;line-height:1.7}.equity-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.equity-setting-card{min-width:0;padding:22px;border:1px solid #e2e8f2;border-radius:14px;background:#fff;box-shadow:0 10px 24px #233c690e}.equity-setting-card header h3{display:inline;margin:0;font-size:16px}.equity-setting-card header p{margin:8px 0 0;color:#7d899d;font-size:12px;line-height:1.6}.equity-setting-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:20px;margin-right:9px;border-radius:6px;background:#eaf1ff;color:#3569d9;font-size:10px;font-weight:800;vertical-align:1px}.equity-type-list,.equity-stage-list{display:grid;gap:8px;margin-top:18px}.equity-type-row,.equity-stage-row{display:flex;align-items:center;gap:12px;min-height:54px;padding:10px 12px;border:1px solid #edf1f6;border-radius:10px;background:#fbfcff;box-sizing:border-box}.equity-type-row>div:first-child{min-width:0;flex:1}.equity-type-row b,.equity-stage-row b{display:block;color:#27334b;font-size:13px}.equity-type-row small{display:block;margin-top:4px;color:#919caf;font-size:11px}.equity-row-meta{display:flex;align-items:center;gap:12px;color:#637087;font-size:11px}.equity-stage-row>b{flex:1}.equity-stage-row>span{width:62px;color:#637087;font-size:11px}.equity-type-row em,.equity-stage-row em{min-width:38px;color:#98a2b2;font-size:11px;font-style:normal}.equity-type-row em.is-enabled,.equity-stage-row em.is-enabled{color:#159661;font-weight:700}.equity-stage-create{display:grid;grid-template-columns:minmax(0,1fr) 90px 86px auto;gap:9px;align-items:center;margin-top:12px;padding-top:13px;border-top:1px dashed #dfe6f0}.equity-stage-create input{min-width:0;height:36px;padding:0 10px}.equity-stage-create .switch-row{min-height:36px;padding:0 7px;font-size:12px}.equity-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.equity-banner-list{display:grid;gap:10px;margin-top:18px}.equity-banner-row{display:flex;align-items:center;gap:14px;padding:10px;border:1px solid #edf1f6;border-radius:10px;background:#fbfcff}.equity-banner-row img{width:160px;height:70px;object-fit:cover;border-radius:8px;background:#eef3ff}.equity-banner-copy{min-width:0;flex:1}.equity-banner-copy b,.equity-banner-copy small{display:block}.equity-banner-copy b{font-size:13px}.equity-banner-copy small{margin-top:5px;color:#8c98aa;font-size:11px}.equity-notice-form{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}.equity-notice-form h3{display:inline;margin:0;font-size:16px}.equity-notice-form header p{margin-left:37px}.equity-notice-fields{display:grid;gap:13px}.equity-notice-fields label{display:grid;gap:7px;color:#536177;font-size:12px;font-weight:600}.equity-notice-fields input,.equity-notice-fields textarea{width:100%;box-sizing:border-box}.equity-notice-fields textarea{min-height:112px;padding:11px;line-height:1.6}.equity-notice-form footer{grid-column:2;display:flex;justify-content:flex-end;padding-top:2px}.equity-project-detail-page{display:grid;gap:18px;max-width:1180px;margin:0 auto;padding-bottom:32px}.equity-project-detail-page>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border:1px solid #dce7ff;border-radius:16px;background:radial-gradient(circle at right top,#dce9ff,#dce9ff00 34%),linear-gradient(115deg,#f8fbff,#eef4ff)}.equity-project-detail-page>header h2{margin-top:5px;color:#1b2945;font-size:24px;letter-spacing:-.4px}.equity-project-detail-page .detail-stack{display:block}.equity-project-detail-page .editor-form{gap:18px;padding:26px;border:1px solid #e0e7f2;border-radius:16px;background:#fff;box-shadow:0 12px 30px #233c690f}.equity-project-detail-page .section-title{display:flex;align-items:flex-start;justify-content:space-between;padding-top:6px}.equity-project-detail-page .section-title h3{margin:0;color:#263650;font-size:17px}.equity-project-detail-page .section-title p{margin:6px 0 0;color:#7a879c;font-size:12px;line-height:1.6}.equity-project-detail-page .equity-field-card{padding:18px;border-color:#e4ebf5;border-radius:12px;background:#fbfcff}.equity-image-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.equity-image-strip img{width:100%;height:112px;border:1px solid #e1e8f2;border-radius:10px;object-fit:cover;background:#f4f7fb}.equity-inline-image{width:100%;height:132px;margin-top:3px;border:1px solid #e1e8f2;border-radius:9px;object-fit:cover;background:#f4f7fb}.equity-inline-image.avatar{width:78px;height:78px;border-radius:50%}.equity-project-cover{display:block;object-fit:cover}.row-actions .button{min-height:34px;padding:6px 11px;border:1px solid transparent;border-radius:8px;font-size:12px}.row-actions .button.primary{color:#fff;background:var(--blue);box-shadow:0 5px 14px #2f6df633}.row-actions .button.secondary{color:#4d5870;border-color:#dfe5ee;background:#fff}.row-actions .button.danger{color:#fff;border-color:#e24c4b;background:#e24c4b}.equity-project-actions{padding-top:8px;border-top:1px solid #edf1f6}.equity-project-filter{display:flex;gap:8px;padding:0 20px 16px;border-bottom:1px solid #edf1f6}.equity-project-filter button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 12px;color:#64718a;border:1px solid #e0e7f2;border-radius:8px;background:#f8faff;font-size:12px;font-weight:700}.equity-project-filter button span{min-width:18px;padding:1px 5px;color:#8794aa;border-radius:999px;background:#eaf0fb;font-size:10px;text-align:center}.equity-project-filter button.active{color:#fff;border-color:var(--blue);background:var(--blue);box-shadow:0 5px 14px #2f6df62e}.equity-project-filter button.active span{color:#1e58d5;background:#fff}.row-actions.equity-project-actions button{min-height:34px;padding:6px 11px;border:1px solid transparent;border-radius:8px;font-size:12px}.row-actions.equity-project-actions .button.primary{color:#fff;background:var(--blue);box-shadow:0 5px 14px #2f6df633}.row-actions.equity-project-actions .button.secondary{color:#4d5870;border-color:#dfe5ee;background:#fff}.row-actions.equity-project-actions .button.danger{color:#fff;border-color:#e24c4b;background:#e24c4b}@media(max-width:720px){.equity-type-dialog{padding:22px 16px}.equity-options>div,.equity-notice-form{grid-template-columns:1fr}.equity-settings-grid{grid-template-columns:1fr}.equity-notice-form footer{grid-column:auto}.equity-banner-row{flex-wrap:wrap}.equity-project-detail-page>header{padding:18px}.equity-project-detail-page .editor-form{padding:18px}.equity-project-detail-page .form-grid{grid-template-columns:1fr}}.review-content{display:grid;gap:20px}.review-cover{width:100%;max-height:300px;border-radius:10px;object-fit:cover}.review-content h3,.review-content h4{margin:0;color:#293247}.review-summary,.review-description{margin:8px 0 0;color:#657086;line-height:1.7;white-space:pre-wrap}.review-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border:1px solid var(--line);border-radius:10px}.review-facts div{padding:13px 15px;border-bottom:1px solid var(--line)}.review-facts div:nth-last-child(-n+2){border-bottom:0}.review-facts dt{color:var(--muted);font-size:12px}.review-facts dd{margin:5px 0 0;color:#293247;font-size:13px;font-weight:700}.review-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.review-image-grid img{width:100%;aspect-ratio:4 / 3;border-radius:8px;object-fit:cover}.review-tiers{display:grid;gap:9px;margin-top:10px}.review-tiers>div{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:12px 14px;border-radius:9px;background:#f7f9fc}.review-tiers strong{color:var(--blue)}.review-tiers p,.review-tiers small{grid-column:1 / -1;margin:0;color:var(--muted);font-size:12px}.review-loading{color:var(--muted)}.modal-close{position:absolute;top:14px;right:14px;color:#778196}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#fff}.login-story{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:9vw;color:#fff;background:linear-gradient(145deg,#102447,#1e4e9f 63%,#3276eb)}.login-story:after{content:"";position:absolute;width:430px;height:430px;right:-170px;bottom:-170px;border:80px solid rgba(255,255,255,.06);border-radius:50%}.login-story .eyebrow{margin:32px 0 15px;color:#a9c7ff}.login-story h1{font:700 clamp(34px,4vw,56px)/1.3 Manrope,"Noto Sans SC",sans-serif;letter-spacing:-1px}.login-story>p:not(.eyebrow){max-width:520px;margin-top:22px;color:#c7d9f8;line-height:1.8}.login-feature{display:flex;gap:12px;align-items:center;margin-top:50px}.login-feature svg{color:#7ce0a8}.login-feature b,.login-feature small{display:block}.login-feature small{margin-top:3px;color:#a9bee0}.login-panel{display:grid;place-items:center;padding:30px}.login-card{width:min(390px,100%)}.login-card h2{margin:7px 0;font-size:29px}.login-card>p:not(.eyebrow){margin-bottom:28px;color:var(--muted)}.login-card label{margin-bottom:15px}.demo-hint{margin-top:15px;padding:10px;color:#6c7890;border-radius:7px;background:#f4f7fb;font-size:11px;text-align:center}.loading{min-height:100vh;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted)}.page-loading{min-height:55vh;display:grid;place-items:center;color:var(--muted)}.nav-backdrop{display:none}@media(max-width:1180px){.dashboard-grid{grid-template-columns:1.3fr .8fr}.dashboard-side{grid-column:1 / -1;grid-template-columns:1fr 1fr}.metrics-grid{grid-template-columns:1fr 1fr}}@media(max-width:820px){.sidebar{transform:translate(-100%);transition:.22s}.sidebar.open{transform:translate(0)}.workspace{margin-left:0}.menu-button,.mobile-close{display:grid!important}.mobile-close{margin-left:auto}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;display:block;background:#0d182c66}.top-user{display:none}.content{padding:18px 15px 30px}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-column:auto;grid-template-columns:1fr}.metrics-grid{grid-template-columns:1fr 1fr}.koubo-user-detail-hero{flex-direction:column}.koubo-user-detail-counts{width:100%}.koubo-user-detail-grid,.koubo-task-detail-grid{grid-template-columns:1fr}.koubo-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-page{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh}.page-heading{align-items:flex-start}.topbar{padding:0 14px}.system-status{margin-left:auto}}@media(max-width:560px){.display-config-toolbar{align-items:stretch;flex-direction:column-reverse;margin-inline:0}.display-config-save{width:100%}.metrics-grid,.form-grid{grid-template-columns:1fr}.metric-card{min-height:94px}.page-heading{flex-direction:column}.page-heading .button{width:100%}.koubo-user-detail-toolbar{align-items:stretch;flex-direction:column}.koubo-user-detail-actions{width:100%}.koubo-user-detail-actions .button{flex:1}.settings-grid,.detail-image-grid{grid-template-columns:1fr}.field-heading{align-items:stretch;flex-direction:column}.filters{flex-direction:column}.list-toolbar{flex-direction:column;align-items:stretch}.task-stat{flex:1 1 calc(50% - 8px)}.filters select,.search-field{width:100%}.quick-grid{grid-template-columns:1fr 1fr}.drawer>header,.editor-form{padding-left:16px;padding-right:16px}.editor-form>footer{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.topbar .system-status{font-size:0;padding:9px}.trend-panel,.lifecycle-panel{min-height:320px}.campaign-detail-hero,.campaign-detail-layout,.campaign-metrics-grid{grid-template-columns:1fr}.campaign-hero-cover,.campaign-hero-placeholder{min-height:170px}.campaign-hero-copy{padding:24px 20px}.campaign-hero-title h1{font-size:24px}.campaign-tier{grid-template-columns:auto minmax(0,1fr)}.campaign-tier-value{min-width:0;text-align:left}.detail-tag{justify-self:start}.campaign-section-header,.campaign-gallery,.campaign-tier-list,.campaign-description{padding-inline:16px}}
