:root{--bg: #14110f;--surface: #1c1917;--surface-2: #262220;--border: #35302c;--border-strong: #4a433e;--text: #f0ece7;--text-dim: #a8a09a;--text-faint: #6f6762;--accent: #c9a227;--accent-dim: #8a6f1b;--danger: #d4664f;--warn: #d9a441;--ok: #6f9f6a;--ig: #d9557b;--fb: #4b7bd4;--th: #8b8b93;--tt: #3fbfb4;--radius: 10px;--radius-sm: 6px;--gutter: 16px;color-scheme:dark}:root[data-theme=light]{--bg: #faf8f5;--surface: #ffffff;--surface-2: #f2efe9;--border: #e0dad1;--border-strong: #c8c0b5;--text: #1c1917;--text-dim: #5c554f;--text-faint: #8b837c;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:560;letter-spacing:-.015em;margin:0}h1{font-size:1.35rem}h2{font-size:1.1rem}h3{font-size:.95rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;gap:20px;padding:0 var(--gutter);height:54px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:20}.brand{font-weight:600;letter-spacing:-.02em;white-space:nowrap;display:flex;align-items:center;gap:8px}.brand .mark{color:var(--accent);font-size:1.15rem}.nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1}.nav::-webkit-scrollbar{display:none}.nav button{background:none;border:0;color:var(--text-dim);padding:7px 12px;border-radius:var(--radius-sm);font:inherit;font-size:.9rem;cursor:pointer;white-space:nowrap}.nav button:hover{background:var(--surface-2);color:var(--text)}.nav button[aria-current=page]{background:var(--surface-2);color:var(--text);font-weight:520}.main{flex:1;padding:20px var(--gutter) 64px;max-width:1180px;width:100%;margin:0 auto}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.page-head p{margin:4px 0 0;color:var(--text-dim);font-size:.9rem}button,input,select,textarea{font:inherit;color:inherit}.btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 13px;cursor:pointer;font-size:.9rem;transition:border-color .12s,background .12s}.btn:hover:not(:disabled){border-color:var(--border-strong)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#1a1509;border-color:var(--accent);font-weight:540}.btn-primary:hover:not(:disabled){background:#dab02c}.btn-ghost{background:none;border-color:transparent;color:var(--text-dim)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{color:var(--danger)}.btn-sm{padding:4px 9px;font-size:.82rem}input[type=text],input[type=email],input[type=password],input[type=datetime-local],select,textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-dim);outline-offset:-1px;border-color:transparent}textarea{resize:vertical;min-height:92px;line-height:1.55}label{display:block;font-size:.82rem;color:var(--text-dim);margin-bottom:5px}.field{margin-bottom:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card+.card{margin-top:12px}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-watches{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.grid-photos{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:center;gap:10px}.muted{color:var(--text-dim)}.faint{color:var(--text-faint);font-size:.85rem}.stack>*+*{margin-top:10px}.chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 9px;font-size:.76rem;font-weight:520;border:1px solid var(--border);background:var(--surface-2);white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-instagram{background:var(--ig)}.dot-facebook{background:var(--fb)}.dot-threads{background:var(--th)}.dot-tiktok{background:var(--tt)}.status-published{color:var(--ok)}.status-scheduled,.status-publishing{color:var(--accent)}.status-failed{color:var(--danger)}.status-missed,.status-partial{color:var(--warn)}.status-draft,.status-idea{color:var(--text-faint)}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.cal-dow{background:var(--surface);padding:7px 8px;font-size:.74rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;text-align:center}.cal-cell{background:var(--surface);min-height:98px;padding:5px 6px;display:flex;flex-direction:column;gap:3px}.cal-cell.outside{background:var(--bg)}.cal-cell.today .cal-date{color:var(--accent);font-weight:680}.cal-cell.drop-target{outline:2px dashed var(--accent-dim);outline-offset:-2px}.cal-date{font-size:.78rem;color:var(--text-faint)}.cal-post{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:4px;padding:3px 6px;font-size:.76rem;line-height:1.3;cursor:grab;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-post:active{cursor:grabbing}.cal-post:hover{border-color:var(--border-strong)}.cal-post .time{color:var(--text-faint);font-variant-numeric:tabular-nums}.list-row{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.list-thumb{width:54px;height:54px;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-2);flex-shrink:0}.list-main{flex:1;min-width:0}.list-main .t{font-weight:520;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2);border:2px solid transparent;cursor:pointer}.photo img{width:100%;height:100%;object-fit:cover;display:block}.photo.selected{border-color:var(--accent)}.photo .badge{position:absolute;top:4px;right:4px;background:var(--accent);color:#1a1509;width:19px;height:19px;border-radius:50%;font-size:.7rem;font-weight:700;display:grid;place-items:center}.banner{border-radius:var(--radius-sm);padding:9px 12px;font-size:.86rem;border:1px solid var(--border);background:var(--surface-2);margin-bottom:12px}.banner-warn{border-color:#6a5220;background:#2a2114;color:#e8c987}.banner-error{border-color:#6d3a30;background:#2c1c19;color:#eda694}.banner-ok{border-color:#3c5539;background:#1a241a;color:#a9cfa4}.issue{font-size:.82rem;padding:3px 0}.issue-error{color:var(--danger)}.issue-warning{color:var(--warn)}.empty{text-align:center;padding:48px 16px;color:var(--text-faint)}.empty h3{color:var(--text-dim);margin-bottom:6px}.counter{font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--text-faint)}.counter.over{color:var(--danger);font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;padding:var(--gutter);z-index:50}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;width:100%;max-width:620px;max-height:88vh;overflow-y:auto}.modal-wide{max-width:1040px}.import-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.import-post{display:flex;flex-direction:column;gap:6px;min-width:0}.import-thumb{position:relative;display:block;aspect-ratio:1 / 1;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2)}.import-thumb img{width:100%;height:100%;object-fit:cover;display:block}.import-thumb-empty{display:grid;place-items:center;height:100%;color:var(--text-faint);font-size:.8rem}.import-badge{position:absolute;top:6px;right:6px;background:#000000a6;color:#fff;font-size:.7rem;padding:1px 6px;border-radius:999px}.import-caption{font-size:.78rem;color:var(--text-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}.import-tags{display:flex;flex-wrap:wrap;gap:4px}.import-tags .chip{max-width:100%;white-space:normal;text-align:left}.chip-x{background:none;border:0;color:inherit;opacity:.6;cursor:pointer;padding:0 0 0 2px;font-size:.9rem;line-height:1}.chip-x:hover{opacity:1}.import-post select{width:100%;min-width:0;font-size:.82rem}.spinner{color:var(--text-faint);padding:36px;text-align:center}@media(max-width:720px){.cal-cell{min-height:62px}.cal-post{font-size:.68rem;padding:2px 4px}.topbar{gap:10px}.brand span:not(.mark){display:none}}.watch-thumb{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:8px;margin-bottom:10px;display:block}.watch-thumb-monogram{display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-weight:600;background:#80808026;color:#808080e6}.locked-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}.btn.is-locked,button[aria-disabled=true]{opacity:.55;cursor:not-allowed}.locked-reason{font-size:.8rem;color:var(--text-dim);max-width:26ch}.locked-note{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-dim)}.meter{display:flex;flex-direction:column;gap:4px;margin:6px 0;max-width:320px}.meter-text{font-size:.85rem;color:var(--text-dim)}.meter-bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.meter-bar>span{display:block;height:100%;background:var(--ok)}.meter-bar.is-near>span{background:var(--warn)}.meter-bar.is-full>span{background:var(--danger)}.meters{display:flex;flex-wrap:wrap;gap:8px 32px}.plan-table{width:100%;border-collapse:collapse;font-size:.9rem}.plan-table th,.plan-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);font-weight:400}.plan-table thead th{font-weight:560}.plan-table .plan-area th{text-transform:capitalize;color:var(--accent);font-weight:560;padding-top:14px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:var(--surface-2);color:var(--text-dim);font-weight:560;flex:none}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.link-button{background:none;border:0;padding:0;color:var(--text);font:inherit;cursor:pointer;text-align:left}.link-button:hover{color:var(--accent)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tabs button{background:none;border:0;padding:8px 14px;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.media-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;background:var(--surface)}.media-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:4px;display:block}.badge{display:inline-block;font-size:.75rem;padding:1px 7px;border-radius:999px;border:1px solid var(--border-strong)}.badge-needs_review{color:var(--warn);border-color:var(--warn)}.badge-credit{color:var(--accent);border-color:var(--accent)}.badge-cleared{color:var(--ok);border-color:var(--ok)}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);padding:18px;text-align:center;color:var(--text-dim);margin-bottom:14px}.dropzone.is-over{border-color:var(--accent)}.cal-idea{background:transparent;border:1px dashed var(--border-strong);border-radius:4px;padding:3px 6px;font-size:.76rem;line-height:1.3;color:var(--text-dim, var(--text-faint));cursor:pointer;display:flex;gap:4px;align-items:center;justify-content:space-between;text-align:left;width:100%}.cal-idea:hover{border-color:var(--accent-dim);color:var(--text)}.cal-idea .idea-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idea-photos{display:flex;gap:6px;margin:6px 0}.idea-photos img{width:56px;height:56px;object-fit:cover;border-radius:6px}
