:root{--page:#eef3f0;--surface:#fff;--surface-soft:#f7faf8;--line:#dfe4dd;--line-strong:#c8d0c7;--text:#172026;--muted:#66727a;--blue:#2563eb;--teal:#0f766e;--amber:#b45309;--red:#b42318;--purple:#6d28d9;--green:#15803d;--shadow:0 18px 42px #1f2a3217;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, #fff 0, #f6f8f5 260px, var(--page) 100%);color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.page-head{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:flex-start;gap:24px;padding:30px 32px 20px;display:flex}.brand-block{align-items:flex-start;gap:18px;min-width:0;display:flex}.brand-logo{object-fit:contain;flex:none;width:188px;max-width:32vw;height:auto}.eyebrow{color:#0f5e53;text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:800}h1{letter-spacing:0;margin:0;font-size:36px;line-height:1.08}.intro{color:#4f5f66;max-width:760px;margin:8px 0 0;font-size:15px}.head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.mode-switch{border:1px solid var(--line);background:#eef3f0;border-radius:8px;grid-template-columns:repeat(4,1fr);padding:3px;display:grid}.mode-switch button,.secondary,.icon-action,.inline-add-button,.edit-field-button,.commit-button,.cancel-edit-button,.validate-button,.save-button,.link-button{border:1px solid var(--line-strong);min-height:36px;color:var(--text);background:var(--surface);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px 11px;text-decoration:none;display:inline-flex}.mode-switch button{background:0 0;border:0;min-width:78px}.mode-switch .active{color:#fff;background:#132026;box-shadow:0 7px 16px #1320262e}.view-badge{border:1px solid var(--line-strong);color:#fff;background:var(--text);border-radius:8px;align-items:center;min-height:36px;padding:8px 12px;font-weight:800;display:inline-flex}.storage-badge{color:#475569;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;align-items:center;min-height:36px;padding:8px 11px;font-size:12px;font-weight:900;display:inline-flex}.storage-badge.ftp{color:#0f5e53;background:#e6f4ef;border-color:#a7d8cb}.storage-badge.browser{color:#7a3b06;background:#fff8e7;border-color:#f1d29a}.secondary:hover,.icon-action:hover,.inline-add-button:hover,.edit-field-button:hover,.commit-button:hover,.cancel-edit-button:hover,.validate-button:hover,.save-button:hover,.link-button:hover{border-color:var(--blue)}main{padding:18px 32px 42px}.summary-row{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-bottom:12px;display:grid}.stat{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:112px;padding:14px;position:relative;overflow:hidden;box-shadow:0 10px 24px #1f2a320d}.stat:before{content:"";background:#94a3b8;height:3px;position:absolute;inset:0 0 auto}.stat-icon{color:#334155;background:#f1f5f9;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:10px;display:inline-flex}.stat span{color:#5d6b72;text-transform:uppercase;font-size:12px;font-weight:800;display:block}.stat strong{margin-top:5px;font-size:27px;line-height:1;display:block}.stat small{color:var(--muted);margin-top:6px;font-size:12px;display:block}.tone-dark:before,.tone-dark .stat-icon{color:#fff;background:#172026}.tone-blue:before,.tone-blue .stat-icon{color:#fff;background:#2563eb}.tone-teal:before,.tone-teal .stat-icon{color:#fff;background:#0f766e}.tone-muted:before,.tone-muted .stat-icon{color:#fff;background:#64748b}.tone-amber:before,.tone-amber .stat-icon{color:#fff;background:#d97706}.tone-red:before,.tone-red .stat-icon{color:#fff;background:#dc2626}.tone-green:before,.tone-green .stat-icon{color:#fff;background:#16a34a}.tone-purple:before,.tone-purple .stat-icon{color:#fff;background:#6d28d9}.stat-progress,.mini-progress{background:#e2e8f0;border-radius:999px;height:7px;overflow:hidden}.stat-progress{margin-top:10px}.stat-progress i,.mini-progress i{border-radius:inherit;background:linear-gradient(90deg,#0f766e,#22c55e);height:100%;display:block}.regie-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.regie-summary-card{border:1px solid var(--line);background:#fffffff0;border-radius:8px;gap:12px;padding:14px;display:grid;box-shadow:0 12px 30px #1f2a320f}.regie-summary-card.is-valid{border-color:#9bd8c7}.regie-summary-card.is-warning{border-color:#f3c56e}.regie-summary-card.is-pending{border-color:#a9c8ff}.regie-summary-head,.regie-summary-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.regie-summary-title{gap:3px;display:grid}.regie-summary-title strong{font-size:18px}.regie-summary-title span,.regie-summary-foot span{color:var(--muted);font-size:12px}.regie-summary-foot span:first-child{color:var(--text);font-weight:800}.regie-summary-meta{gap:7px;display:grid}.regie-summary-meta span{color:#334047;align-items:center;gap:7px;font-size:13px;display:flex}.regie-summary-meta svg{color:#617078;flex:none}.filters{z-index:10;border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff5;border-radius:8px;grid-template-columns:minmax(260px,1.5fr) repeat(4,minmax(150px,.7fr));gap:10px;margin-bottom:12px;padding:12px;display:grid;position:sticky;top:0}.filters label,.search-field{align-items:center;gap:8px;min-width:0;display:flex}.search-field{border:1px solid var(--line-strong);background:var(--surface-soft);border-radius:8px;padding:0 10px}.search-field input{background:0 0;border:0}input,select,textarea{border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--text);background:var(--surface);border-radius:7px;outline:0;padding:8px 9px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.safe-field{gap:7px;display:grid}.safe-read,.safe-status-read,.safe-checkbox{background:0 0;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;min-height:32px;padding:4px 4px 4px 0;display:flex}.safe-read{align-items:flex-start}.safe-read:hover,.safe-status-read:hover,.safe-checkbox:hover{background:#ffffffbd;border-color:#d7ded5}.safe-field.is-textarea .safe-read{min-height:48px}.safe-read-value{color:#2f3b42;overflow-wrap:anywhere;min-width:0;font-size:12.5px;line-height:1.35}.safe-read-copy{gap:3px;min-width:0;display:grid}.safe-field-label{color:#6b7a80;text-transform:uppercase;font-size:10px;font-weight:900;line-height:1.1;display:block}.standalone-label{margin-bottom:4px}.safe-field.is-textarea .safe-read-value{white-space:pre-wrap}.safe-read-value.empty{color:#8a949b;font-style:italic}.edit-field-button{color:#315148;background:#eef8f4b8;border-color:#d9e8e1;flex:none;width:28px;min-height:28px;padding:0}.safe-actions{flex-wrap:wrap;gap:6px;display:flex}.safe-actions .commit-button,.safe-actions .cancel-edit-button{min-height:32px;padding:6px 9px;font-size:12px;font-weight:800}.commit-button{color:#0f5e53;background:#e6f4ef;border-color:#a7d8cb}.cancel-edit-button{color:#5e6770;background:#f4f6f3}.safe-status-read{align-items:center}.safe-checkbox{color:var(--muted);font-size:12.5px}.safe-checkbox strong{color:var(--text);display:inline}.safe-checkbox.editing{justify-content:stretch;align-items:start;display:grid}.table-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff5;border-radius:8px;overflow:hidden}.table-head{border-bottom:1px solid var(--line);background:#fbfcfa;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.table-head div{align-items:baseline;gap:6px;display:flex}.table-head strong{font-size:22px}.table-head span,.client-note{color:var(--muted);font-size:13px}.table-scroll{max-height:calc(100vh - 360px);overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;min-width:1180px}th{z-index:3;border-bottom:1px solid var(--line-strong);color:#334047;text-align:left;text-transform:uppercase;background:#eef3f0;padding:11px 12px;font-size:12px;position:sticky;top:0}td{vertical-align:top;border-bottom:1px solid var(--line);background:var(--surface);width:16.66%;min-width:155px;padding:12px}tbody tr{border-left:4px solid #0000}tbody tr.is-valid td:first-child{border-left:4px solid var(--teal)}tbody tr.is-warning td:first-child{border-left:4px solid var(--amber)}tbody tr.is-pending td:first-child{border-left:4px solid var(--blue)}td>*+*{margin-top:8px}td strong,.read-value{line-height:1.35;display:block}.read-field{gap:3px;min-width:0;display:grid}.read-value{color:#2f3b42;font-size:13px}.asset-title-line{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.asset-title-line .read-field{flex:150px}.read-value.empty{color:#8a949b;font-style:italic}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.content-cell{min-width:260px}.field-hint{color:#315148;background:#eef8f4;border:1px solid #d7e5dd;border-radius:7px;margin:0 0 8px;padding:7px 8px;font-size:12px;line-height:1.35}.preview-note{color:#7a3b06;background:#fff8e7;border:1px solid #f1d29a;border-radius:7px;margin:8px 0;padding:7px 8px;font-size:12px;line-height:1.35}.tag{color:#1b4f48;background:#e6f4ef;border-radius:6px;width:fit-content;padding:4px 7px;font-size:12px;font-weight:700;display:inline-flex}.asset-type-badge{white-space:nowrap;border:1px solid #cbd5e1;border-radius:7px;align-items:center;gap:6px;width:fit-content;min-height:25px;padding:4px 8px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.asset-type-badge.video{color:#8a3a05;background:#fff7ed;border-color:#fed7aa}.asset-type-badge.image{color:#155e75;background:#ecfeff;border-color:#a5f3fc}.link-button{width:100%;color:var(--blue);background:#eff6ff;border-color:#bfdbfe;font-weight:700}.link-button.subtle{color:#4f46e5;background:#f5f3ff;border-color:#ddd6fe}.inline-check{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:inline-flex}.inline-check input{width:16px;height:16px}.regie-group-row td,.campaign-group-row td,.asset-group-row td{padding:0}.regie-group-row td{background:#eaf2f7;border-bottom:0}.campaign-group-row td{background:#f3f7f4;border-bottom:0}.regie-card,.campaign-card{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.regie-card{background:#eaf2f7;grid-template-columns:auto auto 1fr auto;padding:17px 16px}.campaign-card{background:#f3f7f4;margin-left:34px}.row-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.inline-add-button{color:#0f5e53;background:#e6f4ef;border-color:#a7d8cb;min-height:31px;padding:6px 9px;font-size:12px;font-weight:900}.toggle-button,.asset-group-button{color:var(--text);background:0 0;border:0;align-items:center;display:inline-flex}.toggle-button{border-radius:8px;justify-content:center;width:36px;height:36px}.toggle-button:hover,.asset-group-button:hover{background:#0f766e14}.regie-main,.campaign-main{min-width:0}.regie-title,.campaign-title{gap:3px;display:grid}.regie-title strong{font-size:22px}.campaign-title strong{font-size:17px}.regie-title span,.campaign-title span,.campaign-meta span{color:var(--muted);font-size:13px}.campaign-meta{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.campaign-meta span{border:1px solid var(--line);background:var(--surface);border-radius:6px;align-items:center;padding:4px 7px;display:inline-flex}.regie-fields,.campaign-fields{align-items:end;gap:9px;display:grid}.regie-fields{grid-template-columns:minmax(190px,1.15fr) minmax(120px,.55fr) minmax(130px,.5fr) minmax(130px,.5fr) minmax(145px,.55fr) auto}.campaign-fields{grid-template-columns:minmax(200px,1.1fr) minmax(150px,.65fr) minmax(110px,.45fr) minmax(145px,.55fr) auto auto}.regie-fields label:not(.inline-check),.campaign-fields label:not(.inline-check){gap:4px;display:grid}.regie-fields label span,.campaign-fields label span{color:var(--muted);font-size:12px;font-weight:700}.regie-fields .inline-check,.campaign-fields .inline-check{min-height:38px;padding:0 4px}.online-check{color:#0f5e53;font-weight:800}.setup-extra{border-top:1px solid var(--line);gap:8px;padding-top:8px;display:grid}.setup-details{margin-top:8px}.setup-details summary{color:#315148;cursor:pointer;background:#f7faf8;border:1px solid #d7ded5;border-radius:7px;align-items:center;width:fit-content;min-height:30px;padding:5px 9px;font-size:12px;font-weight:900;list-style:none;display:inline-flex}.setup-details summary::-webkit-details-marker{display:none}.setup-details summary:before{content:"+";color:var(--teal);margin-right:7px;font-weight:950}.setup-details[open] summary{background:#eef8f4;margin-bottom:8px}.setup-details[open] summary:before{content:"-"}.asset-actions{flex-wrap:wrap;gap:8px;display:flex}.quick-actions{gap:6px}.quick-actions .icon-action{min-height:30px;padding:6px 8px;font-size:12px;font-weight:850}.icon-action{color:var(--text);background:var(--surface-soft)}.danger-action{color:var(--red);background:#fff7f7;border-color:#f4c7c3}.regie-logo{border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:106px;height:48px;padding:6px 10px;line-height:1;display:inline-flex;box-shadow:0 10px 20px #1f2a3214}.regie-logo-main{font-size:18px;font-weight:950}.regie-logo-suffix{text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:850}.regie-logo.tiktok{color:#fff;background:#111;border-color:#111}.regie-logo.tiktok .regie-logo-main{text-shadow:-2px 0 #00f2ea,2px 0 #ff0050}.regie-logo.meta{color:#fff;background:#0866ff;border-color:#0866ff}.regie-logo.google{background:#fff;border-color:#dadce0}.regie-logo.google .regie-logo-main{color:#0000;background:linear-gradient(90deg,#4285f4 0 24%,#ea4335 24% 42%,#fbbc05 42% 62%,#4285f4 62% 78%,#34a853 78% 88%,#ea4335 88%);-webkit-background-clip:text;background-clip:text}.regie-logo.google .regie-logo-suffix{color:#5f6368}.regie-logo.linkedin{color:#fff;background:#0a66c2;border-color:#0a66c2;font-family:Arial,sans-serif}.regie-logo.default{color:#fff;background:var(--text);border-color:var(--text)}.asset-group-row td{background:#f7f8f5}.asset-group-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:stretch;display:flex}.asset-group-button{text-align:left;flex:auto;gap:9px;min-width:0;padding:10px 14px 10px 86px}.group-add-button{flex:none;align-self:center;margin-right:12px}.group-count-editor{flex:0 0 138px;align-self:center;margin-right:8px}.group-count-editor .safe-read{background:#ffffffb3;border-color:#d7ded5;min-height:31px;padding-left:7px}.group-count-editor input{min-height:34px}.asset-group-button strong{font-size:14px}.asset-group-button span{color:var(--muted);font-size:13px}.status-dot{background:#a0a8ae;border-radius:50%;width:9px;height:9px;margin-left:auto;display:inline-flex}.status-dot.is-valid{background:var(--teal)}.status-dot.is-warning{background:var(--amber)}.status-dot.is-pending{background:var(--blue)}tr.asset-row td:first-child{padding-left:86px}.validate-button{color:#0f5e53;background:#e6f4ef;border-color:#a7d8cb;width:100%;font-weight:800}.validate-button.done{color:#fff;background:var(--teal);border-color:var(--teal)}.validate-button.done:hover{background:#0b5f57;border-color:#0b5f57}.save-button{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;width:100%;font-weight:800}.status-pill{border-radius:6px;width:fit-content;padding:4px 7px;font-size:12px;font-weight:800;display:inline-flex}.status-pill.is-valid{color:#0f5e53;background:#dff4ea}.status-pill.is-warning{color:#7a3b06;background:#fff3d7}.status-pill.is-pending{color:#1d4ed8;background:#dbeafe}.status-pill.is-muted{color:#5e6770;background:#eef0f2}.empty-row{height:180px;color:var(--muted);text-align:center;vertical-align:middle}@media (width<=1100px){.page-head{flex-direction:column}.brand-logo{width:150px}.head-actions{justify-content:flex-start}.summary-row,.regie-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr 1fr}}@media (width<=680px){.page-head,main{padding-left:14px;padding-right:14px}h1{font-size:28px}.brand-block{flex-direction:column;gap:12px}.brand-logo{width:170px;max-width:70vw}.head-actions,.secondary{width:100%}.filters,.summary-row,.regie-overview{grid-template-columns:1fr}.mode-switch{width:100%}.mode-switch button{min-width:0}.regie-summary-head{align-items:flex-start}.table-scroll{max-height:none}}
