:root{--bg: #0f1115;--panel: #1a1d24;--panel2: #21252e;--panel3: #272c37;--text: #e8eaed;--muted: #9aa3b2;--line: #2c313c;--accent: #c9a24b;--accent-2: #e0bd6b;--accent-soft: rgba(201, 162, 75, .12);--ok: #7fe7a8;--ok-bg: #1f3a2e;--warn: #ffd166;--warn-bg: #3a341f;--danger: #ff9c9c;--danger-bg: #3a1f1f;--info: #6bb8ff;--info-bg: #1f2d3a;--pf-pinterest: #e60023;--pf-instagram: #c13584;--pf-facebook: #1877f2;--pf-linkedin: #0a66c2;--pf-gbp: #34a853;--pf-tiktok: #ee1d52;--fs-xs: 11px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 22px;--fs-2xl: 28px;--lh-tight: 1.25;--lh-base: 1.5;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--r-sm: 8px;--r-md: 10px;--r-lg: 14px;--r-pill: 999px;--shadow-1: 0 4px 16px rgba(0, 0, 0, .3);--shadow-2: 0 12px 40px rgba(0, 0, 0, .5);--ease: .16s ease}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--fs-md);line-height:var(--lh-base)}h1{font-size:var(--fs-xl);line-height:var(--lh-tight);margin:0}h2{font-size:var(--fs-lg);line-height:var(--lh-tight);margin:0}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:var(--sp-4) var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2);position:sticky;top:0;height:100vh}.sidebar .brand{font-weight:700;font-size:var(--fs-lg);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2);display:flex;align-items:center;gap:var(--sp-2)}.sidebar .brand .dot{width:10px;height:10px;border-radius:50%;background:var(--accent)}.navitem{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-md);cursor:pointer;transition:background var(--ease),color var(--ease)}.navitem:hover{background:var(--panel2);color:var(--text);text-decoration:none}.navitem.active{background:var(--accent-soft);color:var(--accent-2);font-weight:600}.navitem .ico{width:18px;text-align:center}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:10}.topbar .right{display:flex;align-items:center;gap:var(--sp-3)}.topbar .user{color:var(--muted);font-size:var(--fs-sm)}.hamburger{display:none;background:none;border:none;color:var(--text);font-size:22px;cursor:pointer}.content{padding:var(--sp-5);max-width:1500px;width:100%}.dryrun{padding:6px 12px;border-radius:var(--r-pill);font-weight:600;font-size:var(--fs-sm)}.dryrun.on{background:var(--ok-bg);color:var(--ok);border:1px solid #2f6b4f}.dryrun.off{background:var(--danger-bg);color:var(--danger);border:1px solid #6b2f2f}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;z-index:40;transform:translate(-100%);transition:transform var(--ease)}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-2)}.hamburger{display:block}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:30}}.btn{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 14px;font-size:var(--fs-sm);font-weight:600;cursor:pointer;background:var(--panel2);color:var(--text);display:inline-flex;align-items:center;gap:var(--sp-2);transition:filter var(--ease),background var(--ease),transform var(--ease)}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.sm{padding:6px 10px;font-size:var(--fs-xs)}.btn.primary{background:var(--accent);color:#1a1408;border:none}.btn.approve{background:var(--ok-bg);color:var(--ok);border-color:#2f6b4f}.btn.reject,.btn.danger{background:var(--danger-bg);color:var(--danger);border-color:#6b2f2f}.btn.regen{background:var(--info-bg);color:var(--info);border-color:#2f516b}.btn.save{background:var(--warn-bg);color:var(--warn);border-color:#6b5f2f}.btn.ghost{background:transparent}.btn.block{width:100%;justify-content:center}.pill{background:var(--panel2);border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 10px;font-size:var(--fs-xs);color:var(--muted);display:inline-flex;align-items:center;gap:4px}.pill.ok{background:var(--ok-bg);color:var(--ok);border-color:#2f6b4f}.pill.warn{background:var(--warn-bg);color:var(--warn);border-color:#6b5f2f}.pill.danger{background:var(--danger-bg);color:var(--danger);border-color:#6b2f2f}.pill.info{background:var(--info-bg);color:var(--info);border-color:#2f516b}.badge{position:absolute;padding:4px 9px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:700;color:#fff;text-transform:capitalize}.surface{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg)}.field{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);color:var(--muted)}.field input,.field select,.field textarea{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;font-size:var(--fs-md);font-family:inherit}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent)}.field .hint{color:var(--muted);font-size:var(--fs-xs)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:60;padding:var(--sp-4);animation:fade var(--ease)}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:460px;box-shadow:var(--shadow-2);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);animation:pop var(--ease)}.modal h2{font-size:var(--fs-lg)}.modal .body{color:var(--muted);font-size:var(--fs-sm)}.modal .actions{display:flex;gap:var(--sp-2);justify-content:flex-end}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.97)}}.toast-viewport{position:fixed;top:var(--sp-4);right:var(--sp-4);z-index:80;display:flex;flex-direction:column;gap:var(--sp-2);max-width:360px}.toast{background:var(--panel2);border:1px solid var(--line);border-left-width:4px;border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-1);font-size:var(--fs-sm);display:flex;gap:var(--sp-2);align-items:flex-start;animation:slidein var(--ease)}.toast.success{border-left-color:var(--ok)}.toast.error{border-left-color:var(--danger)}.toast.info{border-left-color:var(--info)}.toast .x{margin-left:auto;cursor:pointer;color:var(--muted);background:none;border:none}@keyframes slidein{0%{opacity:0;transform:translate(20px)}}.skel{background:linear-gradient(90deg,var(--panel2) 25%,var(--panel3) 50%,var(--panel2) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.spinner.lg{width:28px;height:28px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.loading,.empty{color:var(--muted);padding:48px;text-align:center}.empty .es-title{color:var(--text);font-weight:600;margin-bottom:var(--sp-2)}.center-screen{display:flex;align-items:center;justify-content:center;min-height:60vh}.err-panel{padding:var(--sp-6);text-align:center;color:var(--danger)}.counters{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-4)}.counter{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:8px 14px;font-size:var(--fs-sm);color:var(--muted)}.counter b{color:var(--text);font-size:var(--fs-lg);margin-right:4px}.counter.na b{color:var(--warn)}.counter.ap b{color:var(--ok)}.counter.sc b{color:var(--info)}.counter.pb b{color:var(--accent)}.toolbar{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--sp-4)}.toolbar .spacer{flex:1}.tabs{display:flex;gap:4px;flex-wrap:wrap}.tab{padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-sm);cursor:pointer}.tab.active{background:var(--accent-soft);color:var(--accent-2);border-color:var(--accent);font-weight:600}.chips{display:flex;gap:4px;flex-wrap:wrap}.chip{padding:5px 11px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-xs);cursor:pointer;text-transform:capitalize}.chip.active{color:#fff;border-color:transparent}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-4)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--ease),box-shadow var(--ease),opacity var(--ease)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-1)}.card.leaving{opacity:0;transform:scale(.96)}.card-media{position:relative;width:100%;background:#000;max-height:420px;cursor:zoom-in}.card-media img{width:100%;height:100%;object-fit:cover;display:block}.card-media .broken{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--sp-2);color:var(--muted);aspect-ratio:1;background:var(--panel2);font-size:var(--fs-sm)}.badge.platform{top:10px;left:10px}.badge.ratio{top:10px;right:10px;background:#0009}.badge.nano{bottom:10px;left:10px;background:#5a3d1a;color:#ffe1a8}.card-body{padding:var(--sp-3) var(--sp-4) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.meta{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.meta .sku{margin-left:auto;color:var(--muted);font-size:var(--fs-xs)}.pname{font-weight:600;font-size:var(--fs-md)}.sched-row{font-size:var(--fs-xs);color:var(--info)}.card textarea{width:100%;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px;font-size:var(--fs-sm);line-height:var(--lh-base);resize:vertical;font-family:inherit}.charcount{font-size:var(--fs-xs);color:var(--muted);text-align:right}.charcount.warn{color:var(--warn)}.charcount.over{color:var(--danger);font-weight:600}.hashtags{color:var(--info);font-size:var(--fs-xs);word-break:break-word}.actions{display:flex;gap:6px;flex-wrap:wrap}.err{color:var(--danger);font-size:var(--fs-xs)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:90;display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:var(--sp-5)}.lightbox img{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:var(--r-sm)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-5)}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-6);width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--sp-3)}.login-card h1{text-align:center}.login-sub{margin:0 0 var(--sp-2);color:var(--muted);font-size:var(--fs-sm);text-align:center}.login-error{background:var(--danger-bg);color:var(--danger);border:1px solid #6b2f2f;border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.conn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--sp-4)}.conn-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.conn-card .head{display:flex;align-items:center;gap:var(--sp-2)}.conn-card .pf-dot{width:12px;height:12px;border-radius:50%}.conn-card .title{font-weight:600;text-transform:capitalize}.conn-card .verified{font-size:var(--fs-xs);color:var(--muted)}.conn-note{font-size:var(--fs-xs);color:var(--warn);background:var(--warn-bg);border:1px solid #6b5f2f;border-radius:var(--r-sm);padding:var(--sp-2)}.stat-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4)}.statcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4)}.statcard .label{color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}.statcard .value{font-size:var(--fs-2xl);font-weight:700;margin-top:4px}.statcard .sub{color:var(--muted);font-size:var(--fs-xs);margin-top:2px}.panel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--sp-4)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4)}.panel .panel-title{font-weight:600;font-size:var(--fs-md);margin-bottom:var(--sp-3)}.panel .panel-empty{color:var(--muted);font-size:var(--fs-sm);padding:var(--sp-5);text-align:center}.cal-toolbar{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap}.cal-toolbar .period{font-weight:600;font-size:var(--fs-lg);min-width:180px}.cal-month{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.cal-dow{background:var(--panel2);color:var(--muted);font-size:var(--fs-xs);padding:6px;text-align:center;text-transform:uppercase}.cal-cell{background:var(--panel);min-height:110px;padding:6px;display:flex;flex-direction:column;gap:3px}.cal-cell.dim{background:var(--bg)}.cal-cell .daynum{font-size:var(--fs-xs);color:var(--muted)}.cal-cell.today .daynum{color:var(--accent);font-weight:700}.cal-event{font-size:var(--fs-xs);padding:2px 6px;border-radius:4px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;display:flex;gap:4px;align-items:center}.cal-event .st{width:6px;height:6px;border-radius:50%;background:#ffffffd9}.cal-more{font-size:var(--fs-xs);color:var(--muted)}.cal-caps{display:flex;gap:3px;margin-top:auto}.cap-dot{width:7px;height:7px;border-radius:50%;opacity:.35}.cap-dot.used{opacity:1}.cap-dot.over{box-shadow:0 0 0 2px var(--danger)}
