:root{--violet: #6c3ce9;--violet-bright: #8b5cff;--night: #160b2e;--night-2: #211243;--sky: #39c2ff;--cloud: #f1eefa;--tower: #5b5470;--green: #2fbf71;--amber: #e8a33d;--red: #e05252;--ink: #241b3a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Manrope,system-ui,sans-serif;background:var(--night);color:var(--ink);-webkit-font-smoothing:antialiased}.shell{max-width:880px;margin:0 auto;padding:16px 14px 48px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 4px 16px;color:var(--cloud)}.brand{display:flex;gap:12px;align-items:center}.wordmark{font-family:Sora,sans-serif;font-weight:600;font-size:26px;letter-spacing:-.3px;color:#fff}.wordmark em{font-style:normal;color:var(--sky)}.tagline{font-size:13px;color:#bdb2dd}.member{font-size:13px;color:#bdb2dd;text-align:right}.banner{border-radius:12px;padding:12px 14px;margin-bottom:12px;font-size:14px}.banner.ok{background:#123527;color:#a9ecc9;border:1px solid var(--green)}.banner.bad{background:#3d1420;color:#ffc9c9;border:1px solid var(--red)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab{font-family:Sora,sans-serif;font-size:14px;font-weight:600;background:var(--night-2);color:#cfc4ee;border:1px solid #3a256e;padding:9px 14px;border-radius:999px;cursor:pointer}.tab.active{background:var(--violet);color:#fff;border-color:var(--violet)}.card{background:var(--cloud);border-radius:18px;padding:20px;margin-bottom:14px;box-shadow:0 10px 30px #00000059}.card.center{text-align:center}.card h2{font-family:Sora,sans-serif;font-size:20px;margin:0 0 8px;color:var(--night)}.hint{color:var(--tower);font-size:13.5px;line-height:1.45}.warn{color:#8a5a00;background:#fdf3dd;border:1px solid var(--amber);border-radius:10px;padding:9px 12px;font-size:13.5px}.field{display:block;margin:14px 0}.field>span,fieldset.field>legend{display:block;font-weight:700;font-size:14px;margin-bottom:6px;color:var(--night)}fieldset.field{border:none;padding:0}textarea,input[type=text],input:not([type]),.pack-form input,input[type=url],input[type=datetime-local]{width:100%;font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1.5px solid #cfc6ea;border-radius:12px;padding:11px 12px}textarea:focus,input:focus{outline:2px solid var(--sky);border-color:var(--violet)}.counters{display:flex;gap:8px;flex-wrap:wrap;margin-top:-6px}.counter{font-size:12.5px;font-weight:700;color:var(--tower);background:#e6defa;border-radius:999px;padding:4px 10px}.counter.over{color:#fff;background:var(--red)}.platforms{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.platform{display:flex;flex-direction:column;gap:3px;text-align:left;background:#fff;border:1.5px solid #cfc6ea;border-radius:14px;padding:12px;cursor:pointer}.platform.on{border-color:var(--violet);box-shadow:0 0 0 2px #6c3ce940}.platform input{align-self:flex-start;width:18px;height:18px;accent-color:var(--violet)}.platform-name{font-family:Sora,sans-serif;font-weight:600;font-size:16px}.platform-lane{font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--violet)}.platform-times{font-size:12.5px;color:var(--tower);line-height:1.4}.photo-preview img{max-width:100%;border-radius:12px;display:block;margin-bottom:8px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}button.primary{font-family:Sora,sans-serif;font-weight:600;font-size:15px;background:var(--violet);color:#fff;border:none;border-radius:12px;padding:12px 18px;cursor:pointer}button.primary:hover{background:var(--violet-bright)}button.ghost{font:inherit;font-weight:700;font-size:14px;background:transparent;color:var(--violet);border:1.5px solid var(--violet);border-radius:12px;padding:10px 14px;cursor:pointer}button.ghost.danger{color:var(--red);border-color:var(--red)}button:disabled{opacity:.55;cursor:wait}.post-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.status{font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;border-radius:999px;padding:4px 10px;background:#e6defa;color:var(--violet)}.status.s-published{background:#d9f5e6;color:#177245}.status.s-partial{background:#fdf3dd;color:#8a5a00}.status.s-cancelled{background:#f6dede;color:#93322f}.when{font-size:13.5px;font-weight:700;color:var(--tower)}.post-body{font-size:16px;line-height:1.55;white-space:pre-wrap;margin:10px 0 6px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.chip{font-size:12.5px;font-weight:700;background:#e6defa;color:var(--ink);border-radius:999px;padding:5px 11px;border:none}button.chip{cursor:pointer;color:var(--violet)}.chip.sent{background:#d9f5e6;color:#177245}.chip.queued{background:#ece7f9;color:var(--tower)}.chip-x{background:none;border:none;color:var(--red);font-weight:800;cursor:pointer;margin-left:4px}.pack-form{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}@media(min-width:640px){.pack-form{grid-template-columns:1fr 1.6fr auto}}.packs-row{margin:10px 0}.log{list-style:none;margin:8px 0 0;padding:0}.log li{display:flex;gap:10px;padding:8px 0;border-top:1px solid #ddd4f5;font-size:13.5px;line-height:1.45}.outcome{flex:0 0 auto;font-size:11.5px;font-weight:800;text-transform:uppercase;border-radius:999px;padding:3px 9px;height:fit-content}.o-sent{background:#d9f5e6;color:#177245}.o-refused{background:#fdf3dd;color:#8a5a00}.o-failed{background:#f6dede;color:#93322f}.cal-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.cal-head h2{margin:0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:12px}.cal-dow{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--tower);text-align:center;padding:4px 0}.cal-cell{background:#fff;border:1px solid #ddd4f5;border-radius:10px;min-height:74px;padding:5px;overflow:hidden}.cal-cell.dim{opacity:.45}.cal-num{font-size:12px;font-weight:800;color:var(--tower)}.cal-post{font-size:10.5px;font-weight:700;background:#e6defa;color:var(--violet);border-radius:6px;padding:2px 4px;margin-top:3px;line-height:1.3}.cal-post.s-published{background:#d9f5e6;color:#177245}.cal-post.s-partial{background:#fdf3dd;color:#8a5a00}.foot{color:#bdb2dd;font-size:13px;line-height:1.5;padding:8px 4px}.foot .lane-line{margin:4px 0}.foot strong{color:var(--cloud)}
