:root{--pink:#E91E63;--pink-dark:#C42A80;--pink-soft:#FCEDF1;--pink-bg:#FFE6F1;--ink:#020219;--text:#0F0F10;--text-2:#6B6B73;--text-3:#A0A0A6;--border:#ECECEF;--border-strong:#D8D8DC;--bg:#FAFAFA;--card:#FFFFFF;--subtle:#F6F6F7;--success:#5BC67B;--success-soft:#D9F2E0;--success-text:#2D7A3E;--warn:#C46A00;--warn-soft:#FFF4E5;--danger:#D64550;--danger-soft:#FDE7E9;--danger-text:#B0212C;--info:#1A56DB;--info-soft:#E6F0FF;--signal-grad:linear-gradient(90deg,#FF6BD9 0%,#E84BC4 50%,#A87BFF 100%);--shadow-sm:0 1px 2px rgba(2,2,25,.05);--shadow-md:0 4px 12px rgba(2,2,25,.06),0 1px 3px rgba(2,2,25,.04);--shadow-lg:0 16px 32px -8px rgba(2,2,25,.08),0 4px 12px rgba(2,2,25,.04);--shadow-pink:0 6px 16px rgba(233,30,99,.22);--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-pill:999px;--font-sans:"Geist",system-ui,sans-serif;--font-header:"Geist",system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);font-family:var(--font-sans);color:var(--text);-webkit-font-smoothing:antialiased;letter-spacing:-.005em}h1,h2,h3,h4,h5{font-family:var(--font-header);letter-spacing:-.02em;margin:0}i.ph,i.ph-fill{font-size:1em;line-height:1;display:inline-flex;vertical-align:middle}.mono{font-family:Inter,ui-monospace,monospace;font-variant-numeric:tabular-nums}.em-italic{font-family:var(--font-header);font-style:italic;font-weight:600;position:relative;display:inline-block;padding-bottom:4px}.em-italic:after{content:"";position:absolute;bottom:-1px;left:4%;right:4%;height:5px;background:var(--signal-grad);border-radius:50%;transform:scaleY(.4) translateY(6px)}.app-shell{display:grid;grid-template-columns:250px 1fr;height:100vh}.app-side{background:var(--card);border-right:1px solid var(--border);padding:28px 16px;display:flex;flex-direction:column;overflow-y:auto}.logo-row{padding:6px 14px 34px;display:flex;justify-content:center}.tt-logo{display:inline-flex;align-items:center;height:34px}.tt-logo svg{height:100%;width:auto;display:block}.nav-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);padding:22px 14px 8px}.app-nav-item{display:flex;align-items:center;gap:13px;padding:12px 15px;font-family:var(--font-sans);font-size:14.5px;color:var(--text);border-radius:var(--r-md);margin-bottom:5px;font-weight:500;cursor:pointer;letter-spacing:-.005em}.app-nav-item:hover{background:var(--subtle)}.app-nav-item.active{background:var(--pink-soft);color:var(--pink-dark);font-weight:600}.app-nav-item i.ph{font-size:18px;width:20px;color:var(--text-2)}.app-nav-item.active i.ph{color:var(--pink)}.side-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.side-foot .app-nav-item{color:var(--text-2)}.app-main{overflow-y:auto;padding:34px 44px 60px;background:var(--bg);position:relative}.ribbon{position:absolute;top:14px;right:20px;background:var(--ink);color:#fff;font-size:11px;font-weight:600;padding:5px 12px;border-radius:var(--r-pill);display:flex;align-items:center;gap:6px;z-index:5}.ribbon i{color:var(--pink)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px;gap:20px;flex-wrap:wrap}.page-head .eyebrow{font-size:11px;font-weight:700;color:var(--pink);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.page-head h1{font-size:30px;font-weight:700;line-height:1.05}.page-head h1 .count{font-family:var(--font-sans);color:var(--text-2);font-weight:500;font-size:14px;margin-left:12px}.page-head p.sub{color:var(--text-2);font-size:14px;margin:8px 0 0}.btn{height:44px;border-radius:var(--r-sm);background:var(--pink);color:#fff;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;cursor:pointer;border:none;box-shadow:var(--shadow-pink);white-space:nowrap}.btn:hover{background:var(--pink-dark)}.btn.secondary{background:var(--card);color:var(--text);border:1px solid var(--border-strong);box-shadow:none}.btn.ghost{background:var(--subtle);color:var(--text);box-shadow:none}.btn.disabled{background:var(--subtle);color:var(--text-3);box-shadow:none;cursor:not-allowed}.btn.sm{height:38px;font-size:13px;padding:0 16px}.btn.success{background:var(--success-text);box-shadow:none}.btn.danger{background:var(--danger);box-shadow:none}.btn.warn{background:var(--warn);box-shadow:none}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card .card-head{padding:18px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card .card-head h3{font-size:16px;font-weight:700}.card .card-body{padding:22px 24px}.section-label{font-size:18px;font-weight:700;margin:30px 0 14px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-bottom:26px}.kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--shadow-sm)}.kpi .top{display:flex;align-items:center;justify-content:space-between}.kpi .klab{font-size:13px;font-weight:600;color:var(--text-2)}.kpi .kicon{width:38px;height:38px;border-radius:var(--r-sm);background:var(--pink-soft);color:var(--pink);display:grid;place-items:center;font-size:19px}.kpi .kval{font-size:32px;font-weight:700;margin-top:16px;letter-spacing:-.03em}.kpi .kmeta{font-size:12.5px;color:var(--text-2);margin-top:6px}.kpi .kmeta b{color:var(--success-text);font-weight:600}.filter-bar{display:flex;gap:10px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.filter-pill{padding:8px 16px;background:var(--card);border-radius:var(--r-pill);font-size:13px;color:var(--text);border:1px solid var(--border-strong);font-weight:500;cursor:pointer}.filter-pill.active{background:var(--ink);color:#fff;border-color:var(--ink)}.search-input{margin-left:auto;padding:9px 16px;background:var(--card);border-radius:var(--r-pill);font-size:13px;color:var(--text-2);border:1px solid var(--border-strong);min-width:240px;display:flex;align-items:center;gap:8px}.data-table{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:14px}.data-table th{text-align:left;padding:8px 18px;color:var(--text-2);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:14px 18px;background:var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:middle}.data-table td:first-child{border-left:1px solid var(--border);border-radius:var(--r-md) 0 0 var(--r-md)}.data-table td:last-child{border-right:1px solid var(--border);border-radius:0 var(--r-md) var(--r-md) 0}.data-table tr:hover td{background:#fff;border-color:var(--pink-bg)}.cell-user{display:flex;align-items:center;gap:13px}.avatar{width:42px;height:42px;border-radius:var(--r-sm);background-size:cover;background-position:center;flex-shrink:0;display:grid;place-items:center;font-family:var(--font-header);font-weight:700;font-size:14px;color:#fff;background-color:var(--pink)}.avatar.round{border-radius:var(--r-pill)}.cell-name{font-family:var(--font-header);font-weight:600;font-size:14px}.cell-sub{font-size:12px;color:var(--text-2);margin-top:2px}.addr{font-family:ui-monospace,monospace;font-size:12.5px;color:var(--text-2);background:var(--subtle);padding:4px 9px;border-radius:6px;display:inline-flex;align-items:center;gap:6px}.num{font-variant-numeric:tabular-nums;font-weight:600}.badge{font-size:11px;font-weight:600;padding:5px 11px;border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:6px}.badge:before{content:"";width:6px;height:6px;border-radius:var(--r-pill)}.badge.success,.badge.approved,.badge.claimed,.badge.promoted,.badge.active-b{background:var(--success-soft);color:var(--success-text)}.badge.success:before,.badge.approved:before,.badge.claimed:before,.badge.promoted:before,.badge.active-b:before{background:var(--success)}.badge.warn,.badge.pending,.badge.captured,.badge.unclaimed{background:var(--warn-soft);color:var(--warn)}.badge.warn:before,.badge.pending:before,.badge.captured:before,.badge.unclaimed:before{background:#ffa300}.badge.danger,.badge.declined,.badge.failed,.badge.rejected{background:var(--danger-soft);color:var(--danger-text)}.badge.danger:before,.badge.declined:before,.badge.failed:before,.badge.rejected:before{background:var(--danger)}.badge.info,.badge.training,.badge.processing{background:var(--info-soft);color:var(--info)}.badge.info:before,.badge.training:before,.badge.processing:before{background:#3b82f6}.badge.live{background:var(--pink);color:#fff}.badge.live:before{background:#fff;box-shadow:0 0 8px #fff}.badge.neutral{background:var(--subtle);color:var(--text-2)}.badge.neutral:before{background:var(--text-3)}.banner{background:var(--pink-soft);border:1px solid var(--pink-bg);border-radius:var(--r-md);padding:18px 22px;margin-bottom:22px;display:flex;align-items:center;gap:18px}.banner .picon{width:44px;height:44px;border-radius:var(--r-sm);background:var(--card);display:grid;place-items:center;font-size:22px;color:var(--pink);box-shadow:var(--shadow-sm)}.banner .bname{font-family:var(--font-header);font-weight:700;font-size:14px}.banner .bmeta{font-size:12px;color:var(--text-2);margin-top:2px}.banner .quota{flex:1;height:6px;background:#ffffffb3;border-radius:var(--r-pill);overflow:hidden;max-width:240px}.banner .quota>div{background:var(--pink);height:100%;border-radius:var(--r-pill)}.banner .right{margin-left:auto;font-size:12px;color:var(--text-2);font-weight:500}.form-label{font-size:12px;font-weight:600;color:var(--text-2);margin:16px 0 6px;display:block}.form-input,.form-select,.form-textarea{width:100%;min-height:46px;border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:11px 14px;font-family:var(--font-sans);font-size:14px;color:var(--text);background:var(--card)}.form-textarea{min-height:90px;resize:vertical}.field-row{display:flex;gap:14px;flex-wrap:wrap}.chip{padding:7px 14px;background:var(--card);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--r-pill);font-size:12px;font-weight:500}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.toggle{width:42px;height:24px;border-radius:var(--r-pill);background:var(--success);position:relative;flex-shrink:0}.toggle:after{content:"";position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#fff}.toggle.off{background:var(--border-strong)}.toggle.off:after{left:3px;right:auto}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}.asset{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-sm)}.asset.sel{outline:2px solid var(--pink);outline-offset:-1px}.asset .thumb{aspect-ratio:16/10;background:var(--subtle);background-size:cover;background-position:center;position:relative}.asset .thumb .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#0000008c;color:#fff;display:grid;place-items:center;font-size:18px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.asset .meta{padding:14px 16px}.asset .fn{font-family:var(--font-header);font-weight:600;font-size:13.5px;margin-bottom:3px}.asset .id{font-family:ui-monospace,monospace;font-size:11px;color:var(--text-3)}.modal-stage{position:fixed;top:0;right:0;bottom:0;left:0;background:#02021980;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:40px}.modal{background:var(--card);border-radius:var(--r-xl);width:520px;max-width:100%;overflow:hidden;box-shadow:var(--shadow-lg)}.modal .m-head{padding:26px 28px 14px}.modal .m-head h3{font-size:21px;font-weight:700}.modal .m-head p{font-size:14px;color:var(--text-2);margin:8px 0 0;line-height:1.5}.modal .m-body{padding:0 28px 8px}.modal .m-actions{padding:18px 28px 24px;display:flex;gap:10px;justify-content:flex-end}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 20px;color:var(--text-2)}.state .sicon{width:64px;height:64px;border-radius:var(--r-pill);background:var(--pink-soft);color:var(--pink);display:grid;place-items:center;font-size:30px;margin-bottom:16px}.skeleton{height:64px;border-radius:var(--r-md);background:linear-gradient(90deg,var(--subtle),#eee,var(--subtle));background-size:200% 100%;animation:sk 1.4s infinite;margin-bottom:8px}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:44px;height:44px;border-radius:50%;border:3px solid var(--pink-soft);border-top-color:var(--pink);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toolbar{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 18px;margin-bottom:18px}.checkbox{width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:5px;display:inline-block}.pagination{display:flex;gap:6px;align-items:center;justify-content:flex-end;margin-top:18px}.pagination .pg{min-width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--card);display:grid;place-items:center;font-size:13px;color:var(--text-2);font-weight:600}.pagination .pg.active{background:var(--pink);color:#fff;border-color:var(--pink)}.card .card-head a{font-size:13px;color:var(--pink);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.card .card-head a:hover{color:var(--pink-dark)}.dist-row{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--border)}.dist-row:last-child{border-bottom:none}.dist-row .who{display:flex;align-items:center;gap:13px}.dist-row .nm{font-family:var(--font-header);font-weight:600;font-size:14px}.dist-row .dt{font-size:12px;color:var(--text-2);margin-top:2px}.dist-row .amt{font-weight:600;font-size:14px;text-align:right}.qa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.qa{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px;cursor:pointer;transition:.15s;box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;display:block}.qa:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--pink-bg)}.qa .qicon{width:42px;height:42px;border-radius:var(--r-md);background:var(--pink-soft);color:var(--pink);display:grid;place-items:center;font-size:21px;margin-bottom:14px}.qa h4{font-size:15px;font-weight:700;margin-bottom:4px}.qa p{font-size:12.5px;color:var(--text-2);margin:0;line-height:1.45}.qa.accent{background:linear-gradient(135deg,#fff,#fef5f7);border-color:var(--pink-bg)}button.qa{border:1px solid var(--border);font-family:inherit;text-align:left;width:100%}@media (max-width:1100px){.qa-grid{grid-template-columns:1fr 1fr}}.two-col{display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:start}.action-row{display:grid;grid-template-columns:38px 1fr;-moz-column-gap:14px;column-gap:14px;row-gap:11px;padding:18px 24px;border-bottom:1px solid var(--border)}.action-row:last-child{border-bottom:none}.ar-icon{grid-column:1;grid-row:1 / span 2;align-self:start;width:38px;height:38px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:19px}.ar-icon.warn-icon{background:var(--warn-soft);color:var(--warn)}.ar-icon.danger-icon{background:var(--danger-soft);color:var(--danger)}.ar-body{grid-column:2;grid-row:1;min-width:0}.ar-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.35}.ar-sub{font-size:12.5px;color:var(--text-3);line-height:1.45;margin-top:3px}.ar-cta{grid-column:2;grid-row:2;justify-self:start}.upload-drop{border:2px dashed var(--border-strong);border-radius:var(--r-md);padding:28px 20px;text-align:center;background:var(--subtle);color:var(--text-2);font-size:13px}.upload-drop i{font-size:32px;color:var(--text-3);margin-bottom:8px;display:block}.pending-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border);gap:12px}.pending-item:last-child{border-bottom:none}.pending-info .pf-name{font-weight:600;font-size:13.5px}.pending-info .pf-meta{font-size:11.5px;color:var(--text-3);margin-top:2px}.profile-detail{background:var(--subtle);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;margin-top:12px}.profile-detail .pd-name{font-family:var(--font-header);font-weight:700;font-size:15px}.profile-detail .pd-email{font-size:12px;color:var(--text-2);margin-top:3px}.profile-detail .pd-tags{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.asset .meta-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.asset .meta-type{font-size:11px;color:var(--text-3);font-weight:500}.asset .meta-size{font-size:11px;color:var(--text-3)}.asset .creator-row{display:flex;align-items:center;gap:8px;margin:8px 0 6px}.asset .creator-av{width:22px;height:22px;border-radius:50%;background:var(--pink);color:#fff;font-size:9px;font-weight:700;display:grid;place-items:center;font-family:var(--font-header);flex-shrink:0}.asset .creator-name{font-size:12px;color:var(--text-2);font-weight:500}.asset .asset-actions{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.status-pills{display:flex;gap:6px;flex-wrap:wrap}.expand-btn{width:30px;height:30px;border-radius:8px;background:var(--subtle);border:1px solid var(--border);display:grid;place-items:center;cursor:pointer;color:var(--text-2);font-size:14px}.sub-table-wrap{background:var(--subtle);border-radius:var(--r-md);padding:18px 20px;margin-top:4px}.sub-table{width:100%;border-collapse:collapse;font-size:13px}.sub-table th{text-align:left;padding:6px 12px;color:var(--text-3);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.sub-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle;background:var(--card)}.sub-table tr:last-child td{border-bottom:none}.sub-table tr:hover td{background:var(--pink-soft)}.tax-badge{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:var(--r-pill);background:var(--success-soft);color:var(--success-text);cursor:pointer}.tax-badge.w8{background:var(--info-soft);color:var(--info)}
