/* Marketing OS interface — "Uredniška kontrolna soba".
 * One stylesheet by component, on top of tokens.css. Replaces style.css, brand-theme.css,
 * platform-preview.css, dashboard.css, graphic-editor.css and media-library.css.
 * Rules: paper and ink, hairline grid, square corners (2 px on fields), no shadows except on
 * floating layers, lime only as the single marker under the active section.
 * No inline styles anywhere (CSP style-src). Breakpoint 800 px matches dashboard.js. */

/* ==========================================================================
   1. Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--paper);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs-body)/var(--lh-text) var(--font-text);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
[hidden]{display:none!important}
img,video,canvas,svg{max-width:100%}
a{color:inherit;text-underline-offset:3px}
h1,h2,h3,h4{margin:0;font-weight:400;color:var(--ink)}
p{margin:0}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
code,kbd,time{font-family:var(--font-mono)}
kbd{display:inline-block;min-width:20px;padding:0 5px;border:1px solid var(--hair-2);border-radius:var(--radius-field);font-size:10.5px;line-height:18px;text-align:center;color:var(--ink-2)}
::selection{background:var(--ink);color:var(--on-ink)}

/* Visible focus on everything interactive, both themes */
:is(button,a[href],input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 2px var(--focus-gap)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.skip-link{position:fixed;top:8px;left:8px;z-index:10000;padding:10px 16px;background:var(--marker);color:var(--marker-ink);font-weight:700;text-decoration:none;transform:translateY(-200%)}
.skip-link:focus-visible{transform:none;outline:2px solid var(--marker-ink);outline-offset:2px}

@media(prefers-reduced-motion: reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ==========================================================================
   2. Type primitives
   ========================================================================== */
.eyebrow,.kicker{font:500 var(--fs-micro)/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.live-indicator{display:inline-block;width:6px;height:6px;margin:0 8px 1px;background:var(--st-ok)}
.green-text{color:var(--st-ok)}
.label{font:500 var(--fs-micro)/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.text-link{display:inline;padding:0;border:0;background:none;color:var(--ink);font-size:13px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;white-space:nowrap;text-align:left}
.text-link:hover{text-decoration-thickness:2px}
.metric-value{display:inline-block;min-width:2.4ch;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.is-zero{color:var(--ink-3)}
.mark{color:var(--ink)}
.note{color:var(--ink-3);font-size:var(--fs-small)}

/* ==========================================================================
   3. Controls
   ========================================================================== */
label{display:block;margin:var(--s4) 0 6px;font-size:var(--fs-small);font-weight:600;color:var(--ink-2)}
select,input,textarea{min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--hair-2);border-radius:var(--radius-field);background:var(--paper-3);color:var(--ink);font-size:var(--fs-body);outline:0;transition:border-color var(--dur) var(--ease)}
select:hover,input:hover,textarea:hover{border-color:var(--ink-3)}
select:focus,input:focus,textarea:focus{border-color:var(--ink)}
input::placeholder,textarea::placeholder{color:var(--ink-3);opacity:1}
input[type=checkbox],input[type=radio]{min-height:0;width:16px;height:16px;padding:0;accent-color:var(--ink)}
input[type=color]{padding:2px}
input[type=datetime-local],input[type=date],input[type=month]{font-family:var(--font-mono);font-size:13px}
textarea{resize:vertical;line-height:1.55}
form input,form select,form textarea{width:100%}
form input[type=checkbox],form input[type=radio]{width:16px}
fieldset{margin:var(--s4) 0 0;padding:var(--s3) var(--s4);border:1px solid var(--hair);border-radius:0;min-width:0}
legend{padding:0 6px;font:500 var(--fs-micro)/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
details>summary{cursor:pointer}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.005em;line-height:1.2;white-space:nowrap;text-decoration:none;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.btn:hover{background:var(--paper-2)}
.btn.primary{background:var(--ink);color:var(--on-ink)}
.btn.primary:hover{background:var(--ink-2);border-color:var(--ink-2)}
.btn.secondary{background:transparent}
.btn.danger{border-color:var(--st-err);color:var(--st-err)}
.btn.danger:hover{background:var(--st-err-bg)}
.btn.wide{width:100%}
form .btn{margin-top:var(--s5)}

.mini-btn,.dash-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid var(--hair-2);border-radius:0;background:transparent;color:var(--ink);font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.mini-btn:hover,.dash-btn:hover{border-color:var(--ink);background:var(--paper-2)}
.mini-btn.approve{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.mini-btn.approve:hover{background:var(--ink-2)}
.mini-btn.danger{border-color:var(--st-err);color:var(--st-err)}
.dash-btn{min-height:36px;padding:0 12px}

.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--hair-2);border-radius:0;background:transparent;color:var(--ink);font-size:16px;line-height:1}
.icon-btn:hover{border-color:var(--ink);background:var(--paper-2)}

/* Status words: colour plus a word, never colour alone */
.status-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 6px;background:var(--st-draft-bg);color:var(--st-draft);font:500 10.5px/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;white-space:nowrap}
.status-tag::before{content:"";width:7px;height:7px;background:currentColor;flex:none}
.status-tag.scheduled{background:var(--st-wait-bg);color:var(--st-wait)}
.status-tag.published{background:var(--st-ok-bg);color:var(--st-ok)}
.status-tag.failed{background:var(--st-err-bg);color:var(--st-err)}

/* ==========================================================================
   4. Shell: brand strip, masthead, dateline, content
   ========================================================================== */
.shell{--brand-bar:linear-gradient(90deg,var(--brand-createai) 0 50%,var(--brand-drapple) 50% 100%);--brand-label:"Vse znamke · CreateAI in drApple";--brand-label-ink:var(--on-ink);min-height:100vh;display:flex;flex-direction:column}
.shell:has(.brand-link.chosen[data-brand="createai"]){--brand-bar:var(--brand-createai);--brand-label:"Urejaš znamko · CreateAI"}
.shell:has(.brand-link.chosen[data-brand="drapple"]){--brand-bar:var(--brand-drapple);--brand-label:"Urejaš znamko · drApple"}
:root[data-marketing-theme="dark"] .shell:has(.brand-link.chosen[data-brand="drapple"]){--brand-label-ink:#141414}
/* The brand strip: colour edge plus the brand name, so editing the wrong brand is hard to miss */
.shell::before{content:var(--brand-label);display:block;order:-1;padding:3px var(--gutter);background:var(--brand-bar);color:var(--brand-label-ink);font:500 10.5px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}

/* Masthead (the former sidebar, #sidebar keeps its id for dashboard.js and the tests) */
.sidebar{position:relative;background:var(--paper);color:var(--ink)}
#sidebar{display:block;padding:0 var(--gutter);border-bottom:var(--line)}
#sidebar .side-head{display:flex;align-items:center;gap:var(--s6);min-height:76px;padding:var(--s3) 0;border-bottom:var(--heavy);box-shadow:0 4px 0 -3px var(--paper),0 5px 0 -3px var(--ink)}
#sidebar .side-logo{display:flex;align-items:flex-end;gap:var(--s4);margin-right:auto;min-width:0}
.branding-lockup{display:flex;align-items:center;width:168px;min-height:44px}
.branding-lockup img{display:block;width:100%;height:auto;object-fit:contain}
[data-marketing-theme="light"] .brand-lockup-dark,[data-marketing-theme="dark"] .brand-lockup-light{display:none}
.brand-subline{display:block;padding-bottom:6px;font:400 22px/1 var(--font-display);font-style:italic;letter-spacing:0;color:var(--ink)}
#sidebar .masthead-brands{display:flex;align-items:center;gap:var(--s3)}
#sidebar .brands-label{margin:0;font:500 var(--fs-micro)/1 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.brand-links{display:flex;border:1px solid var(--ink)}
.brand-link{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border:0;background:transparent;color:var(--ink);font-size:13px;font-weight:500;white-space:nowrap}
.brand-link+.brand-link{border-left:1px solid var(--ink)}
.brand-link:hover{background:var(--paper-2)}
.brand-link.chosen{background:var(--ink);color:var(--on-ink)}
.brand-dot{display:inline-block;width:8px;height:8px;flex:none}
.all-dot{background:linear-gradient(90deg,var(--brand-createai) 0 50%,var(--brand-drapple) 50%)}
.ai-dot{background:var(--brand-createai);box-shadow:inset 0 0 0 1px var(--paper)}
.dr-dot{background:var(--brand-drapple)}
.brand-link.chosen .ai-dot{box-shadow:inset 0 0 0 1px var(--on-ink),0 0 0 1px var(--on-ink)}
.brand-check{display:none}
.sidebar-collapse{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid var(--hair-2);background:transparent;color:var(--ink-2);font:500 var(--fs-micro)/1 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase}
.sidebar-collapse:hover{border-color:var(--ink);color:var(--ink)}
#sidebar .sidebar-close{display:none}
#sidebar .side-bottom{display:none}
.small-symbol{font-family:var(--font-display);font-size:28px;line-height:1}

/* Section tabs: newspaper section index, text only */
.side-nav{display:flex;flex-wrap:nowrap;align-items:stretch;gap:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;margin:0}
.side-nav::-webkit-scrollbar{display:none}
.nav-group{position:relative;display:flex;flex:0 0 auto;align-items:flex-end;gap:var(--s4);padding:24px var(--s4) 0;border-left:var(--hairline)}
.nav-group:first-child{padding-left:0;border-left:0}
.nav-group[hidden]{display:none}
.side-group-title{margin:0;font:500 10px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.nav-group>.side-group-title:not(.sr-only){position:absolute;top:8px;left:var(--s4);white-space:nowrap}
.nav-group:first-child>.side-group-title:not(.sr-only){left:0}
.nav-link{position:relative;display:inline-flex;align-items:center;min-height:40px;padding:0 2px;border:0;background:transparent;color:var(--ink-2);font-size:15px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;text-align:left}
.nav-link[hidden]{display:none}
.nav-link:hover{color:var(--ink)}
.nav-link:hover .nav-text{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
/* The marker: the single lime element on the screen */
.nav-link.active{color:var(--ink);font-weight:600}
.nav-link.active .nav-text{background:linear-gradient(transparent 58%,var(--marker) 58%,var(--marker) 92%,transparent 92%);text-decoration:none;color:var(--marker-ink)}
:root[data-marketing-theme="dark"] .nav-link.active .nav-text{color:var(--ink);background:linear-gradient(transparent 86%,var(--marker) 86%)}
.nav-link.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--ink)}

/* Collapsed masthead (desktop): one slim row, labels hidden visually, names kept */
@media(min-width:801px){
 .shell.nav-collapsed #sidebar .side-head{min-height:52px;padding:var(--s2) 0;box-shadow:none;border-bottom-width:1px}
 .shell.nav-collapsed #sidebar .branding-lockup{width:118px;min-height:0}
 .shell.nav-collapsed #sidebar .brand-subline{font-size:17px;padding-bottom:2px}
 .shell.nav-collapsed #sidebar .side-group-title{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .shell.nav-collapsed #sidebar .nav-group{padding-top:4px}
 .shell.nav-collapsed #sidebar .nav-link{min-height:36px;font-size:14px}
}

/* Dateline bar: section, search, command palette, new post, theme */
.main{flex:1;min-width:0}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:var(--s2) var(--gutter);background:var(--paper);border-bottom:var(--line)}
.crumb{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-width:0}
.crumb>span{font:500 var(--fs-micro)/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.crumb-sep{color:var(--hair-2)}
.crumb strong{font:400 22px/1.1 var(--font-display);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.global-search{position:relative;flex:1 1 280px;max-width:420px;min-width:0;margin-left:auto}
.gs-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);display:grid;color:var(--ink-3);pointer-events:none}
.gs-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
#globalSearch{width:100%;min-height:36px;padding:6px 36px 6px 32px;font-size:13px}
.search-hint{position:absolute;right:8px;top:50%;transform:translateY(-50%);pointer-events:none}
.global-search:focus-within .search-hint{display:none}
#globalSearchResults{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;max-height:min(60vh,420px);margin:0;padding:0;overflow-y:auto;list-style:none;background:var(--paper-3);border:var(--line);box-shadow:var(--float-shadow)}
.gs-group{padding:10px 12px 4px;font:500 10.5px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.gs-option{display:grid;gap:2px;padding:8px 12px;border-top:var(--hairline);cursor:pointer}
.gs-option:hover{background:var(--paper-2)}
.gs-option[aria-selected="true"]{background:var(--ink);color:var(--on-ink)}
.gs-option[aria-selected="true"] .gs-meta{color:var(--on-ink)}
.gs-title{font-size:13.5px;font-weight:600;overflow-wrap:anywhere}
.gs-meta{font:400 11.5px/1.4 var(--font-mono);color:var(--ink-3)}
.gs-empty{padding:12px;color:var(--ink-3);font-size:12.5px;overflow-wrap:anywhere}
.palette-open{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 6px 0 12px;border:1px solid var(--hair-2);background:transparent;color:var(--ink-2);font-size:13px;font-weight:500;white-space:nowrap}
.palette-open:hover{border-color:var(--ink);color:var(--ink)}
.quick-new{min-height:36px;margin:0!important;padding:0 14px;white-space:nowrap}
.quick-new-plus{font-size:18px;font-weight:400;line-height:1}
.top-actions{display:flex;align-items:center;gap:var(--s2)}
.top-date{font:500 var(--fs-micro)/1.3 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.theme-switch{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1px solid var(--hair-2);background:transparent;color:var(--ink);font-size:12.5px;font-weight:500;white-space:nowrap}
.theme-switch:hover{border-color:var(--ink)}
.theme-switch-icon{font-size:15px;line-height:1}
.role-pill{padding:0 8px;border:1px solid var(--ink);font:500 10.5px/26px var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;white-space:nowrap}
.avatar{display:grid;place-items:center;width:32px;height:32px;background:var(--ink);color:var(--on-ink);font:500 11px/1 var(--font-mono)}
.nav-menu-btn{display:none}
.nav-backdrop{position:fixed;inset:0;z-index:65;background:var(--scrim)}

.content{max-width:var(--measure);margin:0 auto;padding:var(--s8) var(--gutter) var(--s6)}
.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s6);padding-bottom:var(--s5);margin-bottom:var(--s8);border-bottom:var(--heavy)}
.heading h1{margin:var(--s3) 0 var(--s3);font:400 var(--fs-h1)/.98 var(--font-display);letter-spacing:-.015em;text-wrap:balance}
.heading h1:focus{outline:0}
.heading h1:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.heading p{max-width:62ch;font-size:var(--fs-lead);color:var(--ink-2)}
.heading-actions{display:flex;flex-wrap:wrap;gap:var(--s2)}
.heading-actions #newBtn{display:none}
footer{margin-top:var(--s12);padding:var(--s4) 0 var(--s2);border-top:var(--line);font:500 10.5px/1.6 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
footer span{margin:0 8px}
.app-version{margin:0;padding:var(--s2) var(--gutter) var(--s4);border:0;text-align:right}
.bottom-bar{display:none}

/* Boot state */
.boot-state{position:fixed;inset:0;z-index:5;display:grid;place-items:center;padding:var(--s6);background:var(--paper);color:var(--ink)}
#loginScreen:not([hidden]) ~ .boot-state,#shell:not([hidden]) ~ .boot-state{display:none}
.boot-card{width:min(420px,100%);padding:var(--s5) 0;border-top:var(--heavy);border-bottom:var(--line)}
.boot-card p{margin-top:var(--s3);font:400 var(--fs-h3)/1.3 var(--font-display);overflow-wrap:anywhere}
.boot-state.is-error .boot-card{border-top-color:var(--st-err)}
.boot-state.is-error .boot-card .sk-line{display:none}
.boot-card .dash-btn{margin-top:var(--s4)}
.dash-skeleton{padding:4px 0}
.sk-line{display:block;height:10px;margin:10px 0;background:linear-gradient(90deg,var(--paper-2) 25%,var(--hair) 50%,var(--paper-2) 75%);background-size:200% 100%;animation:sk-sweep 1.4s linear infinite}
.sk-w80{width:80%}.sk-w60{width:60%}.sk-w70{width:70%}
@keyframes sk-sweep{from{background-position:200% 0}to{background-position:-200% 0}}

/* ==========================================================================
   5. Sections (no cards: a rule on top, white space below)
   ========================================================================== */
.panel{min-width:0;padding:var(--s4) 0 var(--s2);border-top:var(--line);background:transparent}
.panel-spaced{margin-top:var(--s12)}
.panel-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--s3) var(--s4);margin-bottom:var(--s5)}
.panel-title>div{flex:1 1 220px;min-width:0}
.panel-title h2,.filter-bar h2{margin:0 0 6px;font:400 var(--fs-h2)/1.08 var(--font-display);letter-spacing:-.005em}
.panel-title h3,.calendar-drafts h3,.bulk-plan h3{margin:0 0 6px;font:600 15px/1.3 var(--font-text)}
.panel-title p,.filter-bar p{max-width:72ch;color:var(--ink-3);font-size:13px;line-height:1.55}
.panel-title>strong{font:400 var(--fs-h3)/1.2 var(--font-display)}
.panel-tip{display:flex;align-items:flex-start;gap:10px;margin-top:var(--s4);padding:var(--s3) 0 0;border-top:var(--hairline);color:var(--ink-2);font-size:12.5px}
.panel-tip>span{font-family:var(--font-mono);color:var(--ink-3)}
.panel-tip p{font-size:12.5px;line-height:1.55}
.settings-divider{margin:var(--s8) 0;border-top:var(--line)}
.settings-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s5)}
.settings-actions .btn{margin:0;white-space:normal;max-width:100%;text-align:center}
.settings-list>div{display:flex;justify-content:space-between;gap:var(--s3);padding:10px 0;border-bottom:var(--hairline);font-size:13px}
.settings-list span{color:var(--ink-3)}
.settings-list strong{font-family:var(--font-mono);font-size:12.5px;font-weight:500;text-align:right}
.form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s4)}
.form-help,.review-help{margin-top:var(--s3);color:var(--ink-3);font-size:12.5px;line-height:1.55}
.report-disclaimer{margin:0 0 var(--s4);color:var(--ink-3);font-size:12.5px;line-height:1.6;max-width:96ch}
.report-error,.bulk-error{color:var(--st-err)!important;font-size:12.5px}
.empty-state{padding:var(--s6) var(--s4);border:1px dashed var(--hair-2);color:var(--ink-3);font-size:13px;line-height:1.7;text-align:left}
.empty-state b{display:block;margin-bottom:4px;font:400 var(--fs-h3)/1.3 var(--font-display);color:var(--ink)}
.empty-state .mini-btn{margin-top:var(--s2)}
.graphics-progress{margin:var(--s2) 0 0;color:var(--ink-3);font-size:12.5px;line-height:1.55}
.publishing-pause-banner{margin:0 0 var(--s6);padding:var(--s3) var(--s4);border:1px solid var(--st-err);border-left-width:6px;background:var(--st-err-bg);color:var(--st-err);font-weight:600;font-size:13px;line-height:1.55}

/* Tables: timetable style, tabular numbers */
.report-table{overflow-x:auto}
.report-table table{width:100%;min-width:600px;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.report-table th{padding:8px 10px;border-bottom:var(--line);background:transparent;color:var(--ink-3);font:500 10.5px/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;text-align:left;white-space:nowrap}
.report-table td{padding:10px;border-bottom:var(--hairline);vertical-align:top}
.report-table tr:hover td{background:var(--paper-2)}
.report-table a{color:var(--ink)}
.metric-unavailable{color:var(--ink-3)}

/* ==========================================================================
   6. Overview: front page of the day
   ========================================================================== */
#view-overview .dash-status{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);margin:0 0 var(--s8);padding:0 0 var(--s4);border:0;border-bottom:var(--hairline);background:none;color:var(--ink)}
.dash-status-text{display:grid;gap:4px;min-width:0}
.dash-status-text strong{font:400 clamp(22px,2.4vw,30px)/1.2 var(--font-display);overflow-wrap:anywhere}
.dash-status-text span{color:var(--ink-2);font-size:14px;overflow-wrap:anywhere}
.dash-status.tone-attention .dash-status-text strong::before{content:"Pozor · ";color:var(--st-wait);font-style:italic}
.dash-status.tone-calm .dash-status-text strong::before{content:"Mirno · ";color:var(--st-ok);font-style:italic}
.dash-status-meta{display:flex;align-items:center;gap:var(--s3);flex:none;font:500 var(--fs-micro)/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.dash-status-meta small{font:inherit}
.dash-error{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin:0 0 var(--s6);padding:var(--s3) var(--s4);border:1px solid var(--st-err);border-left-width:6px;background:var(--st-err-bg);color:var(--st-err)}
.dash-error-text{display:grid;gap:4px;min-width:0;font-size:13px;overflow-wrap:anywhere}

/* Three newspaper columns: waiting · next · errors; accounts run underneath */
.dash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 var(--s4);border-top:var(--heavy)}
.dash-panel{display:flex;flex-direction:column;min-width:0;padding:var(--s4) var(--s5) var(--s5);border-top:0}
.dash-panel:first-child{padding-left:0}
.dash-panel+.dash-panel{border-left:var(--hairline)}
#dashProblemPanel{padding-right:0}
#dashAccountsPanel{grid-column:1/-1;padding:var(--s4) 0 0;border-left:0;border-top:var(--line);margin-top:var(--s4)}
#dashAccountsPanel .connections-mini{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 var(--s5)}
.dash-panel .panel-title{margin-bottom:var(--s3)}
.dash-panel .panel-title h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;font-size:24px}
.dash-panel .panel-title p{font-size:12.5px}
.dash-count{font:400 30px/1 var(--font-display);font-variant-numeric:tabular-nums lining-nums;color:var(--ink)}
.dash-count.is-zero{color:var(--ink-3)}
.dash-panel.has-problems{box-shadow:inset 0 3px 0 var(--st-err)}
.dash-panel.has-problems .dash-count{color:var(--st-err)}
.dash-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.dash-item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--s2) var(--s3);padding:var(--s3) 0;border-top:var(--hairline);min-width:0}
.dash-item:first-child{border-top:var(--line)}
.dash-item.level-urgent{box-shadow:inset 3px 0 0 var(--st-err);padding-left:var(--s3)}
.dash-item.level-soon{box-shadow:inset 3px 0 0 var(--st-wait);padding-left:var(--s3)}
.dash-item-body{display:grid;flex:1 1 200px;gap:4px;min-width:0}
.dash-item-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.dash-item-title{font-size:15px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.dash-item-meta,.dash-kind{color:var(--ink-3);font:400 11.5px/1.5 var(--font-mono);overflow-wrap:anywhere}
.dash-item-msg{color:var(--ink-2);font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.dash-item-error{padding:6px 8px;background:var(--st-err-bg);color:var(--st-err);font:400 12px/1.5 var(--font-mono);overflow-wrap:anywhere}
.dash-item>.dash-btn{flex:none}
.dash-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;background:var(--st-info-bg);color:var(--st-info);font:500 10px/1.5 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;white-space:nowrap}
.dash-chip::before{content:"";width:6px;height:6px;background:currentColor}
.dash-chip.chip-urgent{background:var(--st-err-bg);color:var(--st-err)}
.dash-chip.chip-soon,.dash-chip.chip-warn{background:var(--st-wait-bg);color:var(--st-wait)}
.dash-chip.chip-ok{background:var(--st-ok-bg);color:var(--st-ok)}
.dash-risk{color:var(--st-wait)}
.dash-ready{color:var(--st-wait);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.dash-ready.is-ready{color:var(--st-ok)}
.dash-time{font:500 13px/1.3 var(--font-mono);font-variant-numeric:tabular-nums}
.dash-rel{color:var(--ink-3);font:400 11.5px/1.4 var(--font-mono)}
.dash-rel.is-overdue{color:var(--st-err);font-weight:500}
.dash-empty-row{list-style:none;border-top:var(--line)}
.dash-empty{display:grid;gap:6px;justify-items:start;padding:var(--s4) 0;color:var(--ink-3)}
.dash-empty strong{font:400 var(--fs-h3)/1.25 var(--font-display);color:var(--ink)}
.dash-empty p{font-size:13px;line-height:1.55}
.dash-more{padding:var(--s2) 0;border-top:var(--hairline);color:var(--ink-3);font-size:12.5px;list-style:none}
.dash-note{margin:var(--s3) 0 4px;color:var(--ink-3);font-size:12.5px;line-height:1.55}
.dash-account{display:grid;gap:0;margin-bottom:var(--s3)}
.dash-account h3{margin:0 0 4px;font:500 var(--fs-micro)/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.dash-account-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) 0;border-top:var(--hairline);min-width:0}
.dash-account-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid var(--ink);font:500 11px/1 var(--font-mono)}
.dash-account-info{display:grid;flex:1 1 auto;gap:2px;min-width:0}
.dash-account-info strong{font-size:13.5px;overflow-wrap:anywhere}
.dash-account-info small{color:var(--ink-3);font-size:12px;overflow-wrap:anywhere}
.report-disclaimer+.dash-note{margin-top:0}
#remindersPanel .report-disclaimer{margin:var(--s3) 0 0;font-size:12px}

.dash-secondary-title{margin:var(--s12) 0 0;padding-top:var(--s2);border-top:var(--heavy);font:400 var(--fs-h2)/1.1 var(--font-display)}
/* Meta numbers as large serif figures with a mono label */
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:var(--s4);border-top:var(--line);border-bottom:var(--line)}
.kpi{display:flex;flex-direction:column;min-width:0;padding:var(--s4) var(--s5) var(--s5);border-left:var(--hairline)}
.kpi:first-child{border-left:0;padding-left:0}
.kpi-icon{display:none}
.kpi p{order:1;font:500 var(--fs-micro)/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.kpi strong{order:2;margin:var(--s2) 0 var(--s1);font:400 var(--fs-figure)/.95 var(--font-display);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em}
.kpi small{order:3;color:var(--ink-3);font-size:12px}
.indigo,.amber,.green,.sky{color:var(--ink-3)}
.dash-kpis{margin-bottom:0}

/* Mini calendar: a 7-column hairline table */
.mini-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:var(--line);border-left:var(--hairline)}
.mini-day{min-width:0;min-height:120px;padding:var(--s2);border-right:var(--hairline);border-bottom:var(--hairline);overflow:hidden}
.mini-day.today{box-shadow:inset 0 3px 0 var(--ink)}
.mini-day small{font:500 10px/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.mini-day strong{display:block;margin:2px 0 var(--s2);font:400 28px/1 var(--font-display);font-variant-numeric:tabular-nums lining-nums}
.mini-event{display:flex;flex-direction:column;gap:3px;margin-top:4px;padding:3px 4px;border-left:3px solid var(--brand-createai);background:var(--brand-createai-tint);color:var(--brand-createai-ink);font-size:10.5px;overflow:hidden}
.mini-event.drapple{border-left-color:var(--brand-drapple);background:var(--brand-drapple-tint);color:var(--brand-drapple-ink)}
.mini-event span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.mini-event-image{width:100%;height:44px;object-fit:cover}

/* Visual gallery: pictures with captions, like a photo page */
.visual-post-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--s5) var(--s4)}
.visual-card{display:flex;flex-direction:column;min-width:0}
.visual-card-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--paper-2);border:var(--hairline)}
.visual-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.visual-card-note{position:absolute;left:0;bottom:0;padding:3px 6px;background:var(--ink);color:var(--on-ink);font:500 10px/1.3 var(--font-mono);letter-spacing:.04em}
.visual-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:6px;padding:var(--s2) 0 0}
.visual-card-body>small{font:400 11px/1.4 var(--font-mono);color:var(--ink-3)}
.visual-card-body>strong{font-size:13.5px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.visual-card-body .mini-btn{margin-top:auto}
.preview-only-note{color:var(--ink-3)!important;font-style:italic}

/* Connections */
.connections-mini{display:grid;gap:0}
.connection,.meta-choice{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) 0;border-top:var(--hairline);background:transparent}
.conn-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid var(--ink);font:500 12px/1 var(--font-mono)}
.conn-icon.ig{border-style:dashed}
.conn-info{flex:1;min-width:0}
.conn-info strong{display:block;font-size:13.5px}
.conn-info small{display:block;margin-top:2px;color:var(--ink-3);font-size:12px}
.conn-status{padding:2px 7px;background:var(--st-wait-bg);color:var(--st-wait);font:500 10.5px/1.5 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;white-space:nowrap}
.conn-status.ok{background:var(--st-ok-bg);color:var(--st-ok)}
.meta-choice{margin:0}
.meta-choice div{flex:1}
.meta-choice strong{display:block;font-size:14px}
.meta-choice small{display:block;margin-top:3px;color:var(--ink-3);font-size:12px}

/* Feature directory */
.dash-features{padding:0}
.dash-features>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4) 0;list-style:none}
.dash-features>summary::-webkit-details-marker{display:none}
.dash-features>summary h2{font:400 var(--fs-h2)/1.1 var(--font-display)}
.dash-features>summary::after{content:"Pokaži +";font:500 var(--fs-micro)/1 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase}
.dash-features[open]>summary::after{content:"Skrij −"}
.dash-features .dash-features-body{padding:0 0 var(--s4)}
.dash-features .dash-features-body>p{color:var(--ink-3);font-size:13px}
.feature-directory-note{margin-left:auto;font:500 10.5px/1 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.feature-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:var(--s4);border-top:var(--line)}
.feature-card{display:flex;flex-direction:column;gap:6px;min-width:0;padding:var(--s3) var(--s4) var(--s4) 0;border-bottom:var(--hairline);background:transparent;color:var(--ink)}
.feature-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s2)}
.feature-card h3{font-size:14px;font-weight:600;line-height:1.35}
.feature-card p{flex:1;color:var(--ink-2);font-size:12.5px;line-height:1.5}
.feature-card small{color:var(--ink-3);font-size:11.5px}
.feature-card .text-link{align-self:flex-start;font-size:12.5px}
.feature-status{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;font:500 10px/1.5 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:var(--st-draft-bg);color:var(--st-draft)}
.feature-status::before{content:"";width:6px;height:6px;background:currentColor}
.feature-status.available{background:var(--st-ok-bg);color:var(--st-ok)}
.feature-status.partial{background:var(--st-wait-bg);color:var(--st-wait)}
.feature-status.disconnected{background:var(--st-err-bg);color:var(--st-err)}
.feature-status.planned{background:var(--st-draft-bg);color:var(--st-draft)}

/* ==========================================================================
   7. Posts and review: dense timetable
   ========================================================================== */
.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4)}
.filter-bar>div:first-child{flex:1 1 260px;min-width:0}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}
.filters select,.filters input{min-height:36px;font-size:13px}
.filters input[type=search]{width:min(240px,100%)}
.filter-label{margin:0 0 0 var(--s2);font:500 10.5px/1 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.bulk-actions{display:flex;flex-wrap:wrap;gap:var(--s2);padding:var(--s3) 0;border-top:var(--line);border-bottom:var(--hairline)}
.results-count{margin:var(--s4) 0 0;font:500 var(--fs-micro)/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.bulk-plan{margin:var(--s4) 0;padding:var(--s4);border:var(--line);background:var(--paper-3)}
.bulk-plan p{color:var(--ink-2);font-size:13px}
.bulk-plan-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:var(--s3);padding:var(--s3) 0;border-bottom:var(--hairline)}
.bulk-plan-row label{display:flex;align-items:center;gap:10px;min-width:0;margin:0}
.bulk-plan-row label span{min-width:0;overflow-wrap:anywhere}
.bulk-plan-row small{display:block;margin-top:2px;color:var(--ink-3);font-family:var(--font-mono);font-size:11.5px}
.bulk-plan-row input[type=datetime-local]{width:100%}
.bulk-approve-hint{color:var(--ink-3);font-size:12.5px}

#postsTable,#recentPosts{border-top:var(--line)}
.post-item{display:grid;grid-template-columns:48px minmax(0,1fr) 128px auto;align-items:center;gap:var(--s4);padding:10px var(--s2) 10px var(--s3);border-bottom:var(--hairline);box-shadow:inset 3px 0 0 var(--hair);transition:background-color var(--dur) var(--ease)}
.post-item:hover{background:var(--paper-2)}
.post-item:has(.post-thumb.createai){box-shadow:inset 3px 0 0 var(--brand-createai)}
.post-item:has(.post-thumb.drapple){box-shadow:inset 3px 0 0 var(--brand-drapple)}
.post-thumb{display:grid;place-items:center;width:48px;height:60px;overflow:hidden;flex:none;background:var(--paper-2);border:var(--hairline);color:var(--ink-3);font-size:18px}
.post-thumb.has-picture{background-position:center;background-size:cover}
.post-thumb-image{display:block;width:100%;height:100%;object-fit:cover}
.post-info{display:grid;gap:3px;min-width:0}
.post-info strong{font-size:15px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post-info small{display:block;color:var(--ink-3);font:400 11.5px/1.45 var(--font-mono);overflow-wrap:anywhere}
.post-info small.preview-only-note{font-family:var(--font-text);font-size:12px}
.ready-note{color:var(--st-ok)!important}
.ready-note.not-ready{color:var(--st-wait)!important}
.post-variant-meta{color:var(--st-info)!important}
.post-item>.status-tag{justify-self:start}
.post-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.failures-list{margin:var(--s3) 0}
.failure-card{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s3);border-left:3px solid var(--st-err);border-bottom:var(--hairline);background:var(--st-err-bg)}
.failure-card small{display:block;margin-top:4px;color:var(--ink-2);font-family:var(--font-mono);font-size:11.5px}
.failure-card p{color:var(--st-err);font-size:13px;overflow-wrap:anywhere}
.reminder-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) 0;border-bottom:var(--hairline)}
.reminder-row div{flex:1;min-width:0}
.reminder-row small{display:block;margin-top:3px;color:var(--ink-3);font-size:12px}
.reminder-level{display:grid;place-items:center;flex:none;width:26px;height:26px;border:1px solid var(--st-info);color:var(--st-info);font:500 12px/1 var(--font-mono)}
.reminder-level.urgent{border-color:var(--st-err);color:var(--st-err);background:var(--st-err-bg)}
.reminder-level.soon{border-color:var(--st-wait);color:var(--st-wait);background:var(--st-wait-bg)}

#reviewQueue{border-top:var(--line)}
.review-queue-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:var(--s4);padding:10px var(--s2) 10px var(--s3);border-bottom:var(--hairline);box-shadow:inset 3px 0 0 var(--st-wait)}
.review-queue-row:hover{background:var(--paper-2)}
.review-queue-image{width:52px;height:64px;overflow:hidden;background:var(--paper-2);border:var(--hairline)}
.review-queue-image img{display:block;width:100%;height:100%;object-fit:cover}
.review-queue-details{display:flex;flex-direction:column;gap:3px;min-width:0}
.review-queue-details strong{font-size:15px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.review-queue-details small{color:var(--ink-3);font:400 11.5px/1.45 var(--font-mono)}
.review-queue-status{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:2px 6px;background:var(--st-wait-bg);color:var(--st-wait);font:500 10.5px/1.5 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase}
.review-queue-status::before{content:"";width:6px;height:6px;background:currentColor}

/* ==========================================================================
   8. Calendar: month table, weekly time strip, day, list, grid, feed
   ========================================================================== */
.month-selector{display:flex;flex:none;align-items:center;gap:0;border:var(--line)}
.month-selector button{width:36px;height:36px;border:0;background:transparent;color:var(--ink);font-size:20px;line-height:1}
.month-selector button:hover{background:var(--paper-2)}
.month-selector strong{min-width:150px;padding:0 var(--s3);border-left:var(--line);border-right:var(--line);font:500 12px/36px var(--font-mono);letter-spacing:.04em;text-align:center;white-space:nowrap}
.calendar-mode-toolbar{display:flex;flex-wrap:wrap;gap:0;margin:0 0 var(--s3);border-bottom:var(--line)}
.calendar-mode-btn{position:relative;min-height:38px;padding:0 var(--s4);border:0;background:transparent;color:var(--ink-3);font-size:13.5px;font-weight:500;white-space:nowrap}
.calendar-mode-btn:hover{color:var(--ink)}
.calendar-mode-btn.active{color:var(--ink);font-weight:600}
.calendar-mode-btn.active::after{content:"";position:absolute;left:var(--s4);right:var(--s4);bottom:-1px;height:3px;background:var(--ink)}
.calendar-view-note{margin:0 0 var(--s2);color:var(--ink-2);font-size:13px}
.weekday-row,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.weekday-row{border-top:var(--line);border-bottom:var(--line)}
.weekday-row span{padding:var(--s2);font:500 10.5px/1.4 var(--font-mono);letter-spacing:.08em;color:var(--ink-3)}
.month-grid{gap:0;border-left:var(--hairline)}
.month-cell{min-width:0;min-height:118px;padding:6px;border-right:var(--hairline);border-bottom:var(--hairline);overflow:hidden;overflow-wrap:anywhere}
.month-cell.outside{background:var(--paper-2);color:var(--ink-3)}
.month-cell.outside>strong{color:var(--ink-3)}
.month-cell.today{box-shadow:inset 0 3px 0 var(--ink)}
.month-cell>strong{display:block;margin-bottom:6px;font:400 22px/1 var(--font-display);font-variant-numeric:tabular-nums lining-nums}
.month-cell.calendar-drop-target{outline:2px dashed var(--ink);outline-offset:-4px;background:var(--paper-2)}
/* Posts as square blocks in the brand colour */
.calendar-entry{display:flex;align-items:stretch;gap:2px;min-width:0;margin:3px 0}
.calendar-entry>.calendar-pill{flex:1;min-width:0}
.calendar-pill{display:flex;align-items:center;gap:5px;width:100%;max-width:100%;min-width:0;margin:3px 0;padding:3px 5px;border:0;border-left:3px solid var(--brand-createai);background:var(--brand-createai-tint);color:var(--brand-createai-ink);font-size:11px;font-weight:500;line-height:1.3;text-align:left;overflow:hidden}
.calendar-entry .calendar-pill{margin:0}
.calendar-pill.drapple{border-left-color:var(--brand-drapple);background:var(--brand-drapple-tint);color:var(--brand-drapple-ink)}
.calendar-pill span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-pill-action{cursor:pointer;font-family:inherit}
.calendar-pill-action:hover{outline:1px solid var(--ink);outline-offset:-1px}
.calendar-pill[draggable="true"]{cursor:grab}
.calendar-pill[draggable="true"]:active{cursor:grabbing}
.calendar-event-image{flex:none;width:22px;height:26px;object-fit:cover}
.pp-peek{flex:none;width:24px;padding:0;border:1px solid var(--hair-2);background:transparent;color:var(--ink);font-size:12px;line-height:1}
.pp-peek:hover{border-color:var(--ink);background:var(--paper-2)}

/* Week: a time strip, 06–23 h, one row per hour; blocks sit on their Ljubljana hour */
#calendarDateGrid:has(.week-mode) .weekday-row{grid-template-columns:44px repeat(7,minmax(0,1fr))}
#calendarDateGrid:has(.week-mode) .weekday-row::before{content:"Ura";padding:var(--s2) 0;font:500 10.5px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.month-grid.week-mode{grid-template-columns:44px repeat(7,minmax(0,1fr))}
.month-grid.week-mode::before{content:"\A 06\A 07\A 08\A 09\A 10\A 11\A 12\A 13\A 14\A 15\A 16\A 17\A 18\A 19\A 20\A 21\A 22\A 23";white-space:pre;padding:0 6px 0 0;border-right:var(--line);font:400 10.5px/36px var(--font-mono);color:var(--ink-3);text-align:right;line-height:36px}
.month-grid.week-mode .month-cell{display:grid;grid-template-rows:36px repeat(18,36px);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column dense;align-content:start;min-height:0;padding:0 3px;background-image:repeating-linear-gradient(to bottom,transparent 0 35px,var(--hair) 35px 36px);background-position:0 36px;background-repeat:repeat-x;background-size:100% calc(100% - 36px)}
.month-grid.week-mode .month-cell>strong{grid-row:1;grid-column:1/-1;align-self:center;margin:0;font-size:18px}
.month-grid.week-mode .month-cell>strong{padding:0 3px}
.month-grid.week-mode .calendar-entry{grid-row:2;margin:2px 0}
.month-grid.week-mode .calendar-entry .pp-peek{width:20px;font-size:10px}
.month-grid.week-mode .calendar-pill{flex-direction:column;align-items:flex-start;height:100%;padding:2px 4px;font-size:10.5px}
.month-grid.week-mode .calendar-pill span{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.month-grid.week-mode .calendar-pill .calendar-event-image{display:none}
.month-grid.week-mode .calendar-pill.createai:not(.calendar-pill-action){background:var(--brand-createai);color:var(--on-ink)}
.month-grid.week-mode .calendar-pill.drapple:not(.calendar-pill-action){background:var(--brand-drapple);color:var(--paper)}
:root[data-marketing-theme="dark"] .month-grid.week-mode .calendar-pill.drapple:not(.calendar-pill-action){color:#141414}
.month-grid.week-mode .calendar-entry[data-hour="7"]{grid-row:3}
.month-grid.week-mode .calendar-entry[data-hour="8"]{grid-row:4}
.month-grid.week-mode .calendar-entry[data-hour="9"]{grid-row:5}
.month-grid.week-mode .calendar-entry[data-hour="10"]{grid-row:6}
.month-grid.week-mode .calendar-entry[data-hour="11"]{grid-row:7}
.month-grid.week-mode .calendar-entry[data-hour="12"]{grid-row:8}
.month-grid.week-mode .calendar-entry[data-hour="13"]{grid-row:9}
.month-grid.week-mode .calendar-entry[data-hour="14"]{grid-row:10}
.month-grid.week-mode .calendar-entry[data-hour="15"]{grid-row:11}
.month-grid.week-mode .calendar-entry[data-hour="16"]{grid-row:12}
.month-grid.week-mode .calendar-entry[data-hour="17"]{grid-row:13}
.month-grid.week-mode .calendar-entry[data-hour="18"]{grid-row:14}
.month-grid.week-mode .calendar-entry[data-hour="19"]{grid-row:15}
.month-grid.week-mode .calendar-entry[data-hour="20"]{grid-row:16}
.month-grid.week-mode .calendar-entry[data-hour="21"]{grid-row:17}
.month-grid.week-mode .calendar-entry[data-hour="22"]{grid-row:18}
.month-grid.week-mode .calendar-entry[data-hour="23"]{grid-row:19}

/* Day */
#calendarDateGrid.day-mode .weekday-row{display:none}
.month-grid.day-mode{grid-template-columns:minmax(0,1fr)!important;border-top:var(--line)}
.month-grid.day-mode .month-cell{display:flex;flex-direction:column;gap:0;min-height:260px;padding:var(--s4) 0;border-right:0}
.month-grid.day-mode .month-cell>strong{margin-bottom:var(--s3);font-size:40px}
.month-grid.day-mode .calendar-entry{margin:0;padding:var(--s2) 0;border-top:var(--hairline)}
.month-grid.day-mode .calendar-pill{gap:var(--s3);min-height:56px;padding:var(--s2);font-size:14px}
.month-grid.day-mode .calendar-pill span{white-space:normal;line-height:1.5}
.month-grid.day-mode .calendar-event-image{flex:0 0 44px;width:44px;height:55px}
.month-grid.day-mode .pp-peek{width:36px}

.calendar-drafts{margin-top:var(--s8);padding-top:var(--s4);border-top:var(--line)}
.calendar-drafts .panel-title{margin-bottom:var(--s3)}
.calendar-draft-tray{display:flex;gap:0;padding:0 0 var(--s3);overflow-x:auto;border-left:var(--hairline)}
.calendar-draft{display:flex;align-items:center;gap:var(--s2);flex:0 0 auto;min-width:190px;max-width:240px;padding:var(--s2);border:0;border-right:var(--hairline);border-bottom:var(--hairline);background:transparent;color:var(--ink);text-align:left;cursor:grab}
.calendar-draft:hover{background:var(--paper-2)}
.calendar-draft-image{flex:none;width:40px;height:50px;object-fit:cover}
.calendar-draft span{min-width:0;overflow:hidden;font-size:12.5px;font-weight:600;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.calendar-draft small{display:none}
.calendar-alternative{min-height:150px}
.calendar-alternative .post-item:first-child{border-top:var(--line)}
.instagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:100%;max-width:880px;margin-inline:auto}
.instagram-grid-item{position:relative;min-width:0;aspect-ratio:1;overflow:hidden;background:var(--paper-2)}
.instagram-grid-image{display:block;width:100%;height:100%;object-fit:cover}
.instagram-grid-overlay{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;gap:4px;padding:var(--s2);background:var(--ink);color:var(--on-ink);overflow-wrap:anywhere}
.instagram-grid-overlay strong{font-size:11.5px;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.instagram-grid-overlay span{font:400 10px/1.3 var(--font-mono)}
.instagram-grid-overlay .mini-btn{align-self:flex-start;min-height:26px;border-color:var(--on-ink);color:var(--on-ink)}
.feed-post{min-width:0;border-top:var(--line);background:transparent}
.feed-post-top{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) 0}
.feed-post-top>div{min-width:0;flex:1}
.feed-post-top strong,.feed-post-top small{display:block;line-height:1.4}
.feed-post-top small{margin-top:2px;color:var(--ink-3);font:400 11px/1.4 var(--font-mono)}
.feed-post-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;background:var(--ink);color:var(--on-ink);font:400 18px/1 var(--font-display)}
.feed-post-body{padding:0 0 var(--s3)}
.feed-post-body strong{font-size:14px}
.feed-post-body p{max-height:165px;margin-top:6px;overflow:auto;color:var(--ink-2);font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.feed-post-media{position:relative;aspect-ratio:4/5;max-height:450px;background:var(--paper-2)}
.feed-post-image{display:block;width:100%;height:100%;object-fit:contain}
.feed-post-actions{display:flex;gap:var(--s2);padding:var(--s3) 0}
#calendarFeedView{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s4) var(--s6)}
#calendarFeedView[hidden]{display:none}

/* Drag affordance shared by the calendar (mouse and long-press touch) and the kanban */
.calendar-pill[draggable="true"],.kanban-card[draggable="true"]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.calendar-dragging{outline:2px solid var(--ink);outline-offset:-2px;opacity:.75}

/* Kanban: seven timetable columns separated by hairlines; cards are rows, not boxes */
.kanban-board{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));gap:0;overflow-x:auto;border-top:var(--heavy);border-left:var(--hairline)}
.kanban-col{min-width:0;border-right:var(--hairline);transition:background-color var(--dur) var(--ease)}
.kanban-col.calendar-drop-target{background:var(--paper-2);outline:2px dashed var(--ink);outline-offset:-4px}
.kanban-col>header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s2);padding:var(--s3) var(--s3) var(--s2);border-bottom:var(--line)}
.kanban-col h3{font:400 20px/1.1 var(--font-display)}
.kanban-count{font:400 24px/1 var(--font-display);font-variant-numeric:tabular-nums lining-nums;color:var(--ink-3)}
.kanban-list{display:grid;gap:0;align-content:start;min-height:120px}
.kanban-empty{padding:var(--s3);color:var(--ink-3);font:400 11.5px/1.4 var(--font-mono)}
.kanban-card{display:grid;gap:var(--s2);padding:var(--s3);border-bottom:var(--hairline);box-shadow:inset 3px 0 0 var(--brand-createai)}
.kanban-card.drapple{box-shadow:inset 3px 0 0 var(--brand-drapple)}
.kanban-card[draggable="true"]{cursor:grab}
.kanban-card[draggable="true"]:active{cursor:grabbing}
.kanban-card:hover{background:var(--paper-2)}
.kanban-card-top{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--s2);align-items:start}
.kanban-card .post-thumb{width:40px;height:50px}
.kanban-card-info{display:grid;gap:2px;min-width:0}
.kanban-card-info strong{font-size:13.5px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.kanban-card-info small{color:var(--ink-3);font:400 11px/1.4 var(--font-mono);overflow-wrap:anywhere}
.kanban-card-actions{display:flex;flex-wrap:wrap;gap:6px}
.kanban-move{width:auto;min-height:32px;padding:0 6px;font-size:12px}

/* ==========================================================================
   9. Campaigns
   ========================================================================== */
.campaign-list{display:grid;gap:0;margin-top:var(--s3);border-top:var(--line)}
.campaign-card{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s4) 0 var(--s4) var(--s3);border-bottom:var(--hairline);box-shadow:inset 3px 0 0 var(--hair)}
.campaign-card:hover{background:var(--paper-2)}
.campaign-card>div{display:flex;flex-direction:column;flex:1;gap:4px;min-width:0}
.campaign-card h3{font:400 22px/1.15 var(--font-display)}
.campaign-card p{color:var(--ink-2);font-size:13px;line-height:1.5}
.campaign-card small{color:var(--ink-3);font-size:12px}
.campaign-meta{font:500 10.5px/1.5 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.campaign-channels{display:flex;flex-wrap:wrap;gap:var(--s4)}
.campaign-channels label{display:flex;align-items:center;gap:7px;margin:0}
#campaignForm{margin-top:var(--s6);padding-top:var(--s4);border-top:var(--heavy)}
#campaignForm>h3{font:400 var(--fs-h2)/1.1 var(--font-display)}

/* ==========================================================================
   10. AI studio: the editor's desk — input left, live preview right
   ========================================================================== */
.studio-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:0;align-items:start}
.studio-desk{min-width:0;padding-right:var(--s8);border-right:var(--hairline)}
.studio-desk>.panel+.panel{margin-top:var(--s10)}
.studio-preview{position:sticky;top:72px;padding-left:var(--s8);border-top:var(--line);max-height:calc(100vh - 88px);overflow:auto}
.studio-heading{padding:0 0 var(--s4)}
.studio-icon{display:none}
.studio-heading h2{font:400 var(--fs-h2)/1.1 var(--font-display)}
.studio-heading p{max-width:60ch;margin-top:6px;color:var(--ink-3);font-size:13px}
.studio-result{margin-top:var(--s6);padding-top:var(--s4);border-top:var(--line)}
.studio-result textarea{width:100%;font-size:14px}
.studio-result .panel-title span{font:500 10.5px/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.topic-entry{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) 0;border-bottom:var(--hairline)}
.topic-entry:first-child{border-top:var(--line)}
.topic-entry>span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-left:3px solid var(--brand-createai);color:var(--ink-3);font-size:13px}
.topic-entry.drapple>span{border-left-color:var(--brand-drapple)}
.topic-entry div{flex:1;min-width:0}
.topic-entry strong{display:block;font-size:14px;font-weight:600}
.topic-entry small{display:block;margin-top:2px;color:var(--ink-3);font:400 11px/1.4 var(--font-mono)}
.topic-entry button{border:0;background:none;color:var(--ink);font-size:12.5px;font-weight:600;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.kb-idea-choices{margin:var(--s3) 0;padding:var(--s3) 0;border-top:var(--hairline);border-bottom:var(--hairline)}
.kb-idea-choices strong{font-size:12.5px}
.kb-idea-list{display:flex;flex-wrap:wrap;gap:var(--s2);max-height:150px;overflow:auto;margin-top:var(--s2)}
.kb-idea-list label{display:flex;align-items:center;gap:7px;margin:0;padding:5px 9px;border:1px solid var(--hair-2);font-weight:500}
.kb-idea-list input{width:auto}
.kb-idea-sources{padding-bottom:var(--s3);color:var(--ink-2);font-size:12.5px;line-height:1.6}
.kb-idea-sources p{color:var(--st-wait);font-size:12px}
.kb-idea-sources a,.kb-brand-card a,.kb-item a{color:var(--ink);font-size:12.5px}

/* ==========================================================================
   11. Brands and knowledge
   ========================================================================== */
.kb-brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:var(--line)}
.kb-brand-card{min-width:0;padding:var(--s4) var(--s5) var(--s4) 0}
.kb-brand-card+.kb-brand-card{padding:var(--s4) 0 var(--s4) var(--s5);border-left:var(--hairline)}
.kb-profile-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4);min-height:72px}
.kb-profile-head img{max-width:165px;max-height:64px;padding:6px;object-fit:contain;background:#fff;border:var(--hairline)}
.kb-profile-head strong{font:400 26px/1.1 var(--font-display)}
.kb-brand-card p{color:var(--ink-2);font-size:13px;line-height:1.55}
.kb-brand-card small{display:block;margin:var(--s3) 0;color:var(--ink-3);font-family:var(--font-mono);font-size:11.5px;line-height:1.5}
.kb-swatches{display:flex;flex-wrap:wrap;gap:0;border:var(--hairline);width:max-content;max-width:100%}
.kb-swatches span{width:40px;height:40px;border-right:var(--hairline)}
.kb-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}
.kb-alerts{display:grid;gap:0}
.kb-alert{display:flex;justify-content:space-between;gap:var(--s3);padding:var(--s3);border-left:3px solid var(--st-wait);border-bottom:var(--hairline);background:var(--st-wait-bg);color:var(--st-wait);font-size:12.5px}
.kb-alert span{font-family:var(--font-mono);font-size:11.5px}
.kb-list{border-top:var(--line)}
.kb-item{display:flex;justify-content:space-between;gap:var(--s4);padding:var(--s4) 0;border-bottom:var(--hairline)}
.kb-item strong{font-size:15px;font-weight:600}
.kb-item small{display:block;margin-top:4px;color:var(--ink-3);font-family:var(--font-mono);font-size:11.5px}
.kb-item p{margin:var(--s2) 0;color:var(--ink-2);font-size:13px;line-height:1.6}
.kb-item-actions{display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px}
.kb-form-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}
.kb-form-actions .btn{margin:0}
.kb-post-note{padding:var(--s3);border-left:3px solid var(--ink);background:var(--paper-2);color:var(--ink);font-size:12.5px}
#discoverList{margin-top:var(--s3)}

/* ==========================================================================
   12. Inbox
   ========================================================================== */
.inbox-layout{display:grid;grid-template-columns:minmax(290px,1fr) minmax(350px,1.15fr);gap:0;margin-top:var(--s6);align-items:start;border-top:var(--heavy)}
.inbox-column{min-width:0;border-top:0;padding:var(--s4) var(--s6) var(--s4) 0}
.inbox-column+.inbox-column{padding:var(--s4) 0 var(--s4) var(--s6);border-left:var(--hairline)}
.inbox-column>h3{font:400 22px/1.15 var(--font-display)}
.inbox-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.65fr);gap:var(--s3)}
.inbox-filters label{margin:0}
.inbox-filters input,.inbox-filters select{display:block;width:100%;margin-top:6px}
.inbox-list{display:grid;gap:0;max-height:600px;overflow-y:auto;border-top:var(--line)}
.inbox-item{display:grid;gap:6px;width:100%;padding:var(--s3) var(--s2);border:0;border-bottom:var(--hairline);background:transparent;color:var(--ink);text-align:left;white-space:normal}
.inbox-item:hover{background:var(--paper-2)}
.inbox-item.selected{background:var(--paper-2);box-shadow:inset 3px 0 0 var(--ink)}
.inbox-item-top,.inbox-item-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.inbox-item-top strong{font-size:14px}
.inbox-item-top small,.inbox-item-meta{color:var(--ink-3);font:400 11px/1.4 var(--font-mono)}
.inbox-item-text{font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.inbox-message{margin:0;padding:var(--s4);border-left:3px solid var(--ink);background:var(--paper-2);font:400 18px/1.5 var(--font-display);white-space:pre-wrap;overflow-wrap:anywhere}
.inbox-detail-form{margin-top:var(--s4)}
.inbox-entries{display:grid;gap:0;margin:var(--s3) 0;border-top:var(--hairline)}
.inbox-entry{padding:var(--s3) 0;border-bottom:var(--hairline)}
.inbox-entry small{color:var(--ink-3);font:400 11px/1.4 var(--font-mono)}
.inbox-entry p{margin:6px 0;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.inbox-draft-tag{color:var(--st-info);font:500 10.5px/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase}

/* ==========================================================================
   13. Analytics, reports, outcomes
   ========================================================================== */
.report-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}
.report-actions label{margin:0;font:500 10.5px/1 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.report-actions input{min-height:36px}
.report-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:var(--line)}
.report-brand{padding:var(--s4) var(--s5) var(--s4) 0}
.report-brand+.report-brand{padding-left:var(--s5);border-left:var(--hairline)}
.report-brand h3{margin-bottom:var(--s3);font:400 24px/1.1 var(--font-display)}
.report-kpis{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s6)}
.report-kpis span{display:flex;flex-direction:column;min-width:70px;color:var(--ink-3);font:500 10.5px/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.report-kpis strong{order:-1;font:400 40px/1 var(--font-display);font-variant-numeric:tabular-nums lining-nums;letter-spacing:0;text-transform:none;color:var(--ink)}
.report-brand ul{margin:var(--s3) 0 0;padding-left:18px}
.report-brand li{margin-top:4px;font-size:13px}
.insights-meta{margin:var(--s2) 0;color:var(--ink-3);font:400 11.5px/1.5 var(--font-mono)}
.source-breakdown{font-size:12.5px;color:var(--ink-2)}
.conversion-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:var(--s3);margin:var(--s4) 0}
.conversion-form label{display:flex;flex-direction:column;gap:6px;margin:0}
.conversion-form .btn{margin:0}
.conversion-list{max-height:320px;overflow-y:auto;border-top:var(--line)}
.conversion-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) 0;border-bottom:var(--hairline);font-size:13px;font-variant-numeric:tabular-nums}

/* ==========================================================================
   14. Settings, system checks, delivery, crisis stop
   ========================================================================== */
.system-checks{display:grid;gap:0;margin-top:var(--s3);border-top:var(--hairline)}
.system-check,.system-item{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) 0;border-bottom:var(--hairline);background:transparent}
.system-check small{display:block;margin-top:3px;color:var(--ink-3);font-size:12.5px;line-height:1.5}
.system-check .report-disclaimer{margin:0}
.check-indicator{display:grid;place-items:center;flex:none;width:24px;height:24px;border:1px solid var(--st-info);color:var(--st-info);font:500 12px/1 var(--font-mono)}
.check-indicator.ok{border-color:var(--st-ok);background:var(--st-ok-bg);color:var(--st-ok)}
.check-indicator.warning{border-color:var(--st-wait);background:var(--st-wait-bg);color:var(--st-wait)}
.check-indicator.error{border-color:var(--st-err);background:var(--st-err-bg);color:var(--st-err)}
.crisis-brand-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s4) 0;border-top:var(--hairline)}
.crisis-brand-row>div{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
.crisis-brand-row strong{font:400 22px/1.15 var(--font-display)}
.crisis-brand-row small{color:var(--ink-3);font-size:12.5px;overflow-wrap:anywhere}
.crisis-brand-row .crisis-warning{color:var(--st-err);font-weight:600}
.crisis-brand-row button{min-width:170px}
.crisis-state{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:2px 6px;font:500 10.5px/1.5 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase}
.crisis-state::before{content:"";width:6px;height:6px;background:currentColor}
.crisis-state.running{background:var(--st-ok-bg);color:var(--st-ok)}
.crisis-state.paused{background:var(--st-err-bg);color:var(--st-err)}
.outbox-rows{display:grid;gap:0;margin-top:var(--s3);border-top:var(--hairline)}
.outbox-item{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);padding:var(--s2) 0;border-bottom:var(--hairline)}
.outbox-item code{flex:1 1 230px;font-size:11.5px;overflow-wrap:anywhere}
.outbox-item span{color:var(--ink-3);font-size:12.5px}
.activity-log{display:grid;gap:0;margin-top:var(--s3);border-top:var(--line)}
.activity-entry{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) 0;border-bottom:var(--hairline)}
.activity-entry>div{flex:1;min-width:0}
.activity-entry strong{display:block;font-size:13px}
.activity-entry small{display:block;margin-top:2px;color:var(--ink-3);font-size:12px}
.activity-entry time{color:var(--ink-3);font-size:11.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.activity-dot{flex:none;width:7px;height:7px;background:var(--ink)}
.media-cleanup-list{max-height:250px;margin:var(--s3) 0;overflow-y:auto;border-top:var(--line)}
.media-cleanup-item{display:flex;align-items:center;gap:10px;margin:0;padding:var(--s2) 0;border-bottom:var(--hairline);font-size:13px;font-weight:400;overflow-wrap:anywhere;cursor:pointer}
.media-cleanup-item:hover{background:var(--paper-2)}
.media-cleanup-item input{flex:none}

/* ==========================================================================
   15. Media library (page and editor picker)
   ========================================================================== */
.ml-root{min-width:0;color:var(--ink)}
#view-media .panel{overflow:hidden}
.ml-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3);align-items:end;margin-bottom:var(--s3)}
.ml-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.ml-field label,.ml-collections-pick legend{margin:0;font:500 10.5px/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.ml-field select,.ml-field input,.ml-field textarea,.ml-collection-add input,.ml-collection-edit input{width:100%;min-width:0}
.ml-field-search{grid-column:1/-1}
.ml-collections{display:flex;flex-wrap:wrap;gap:var(--s3);margin:0 0 var(--s3)}
.ml-collection-add,.ml-collection-edit{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);min-width:0}
.ml-collection-add input,.ml-collection-edit input{width:min(260px,100%)}
.ml-status{margin:4px 0 var(--s3)}
.ml-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s5);align-items:start}
.ml-list{min-width:0}
.ml-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s4) var(--s3)}
.ml-grid-picker{grid-template-columns:repeat(3,minmax(0,1fr));max-height:340px;overflow-y:auto}
.ml-card{padding:0}
.ml-card.is-selected .ml-thumb{outline:2px solid var(--ink);outline-offset:2px}
.ml-thumb{width:100%;gap:4px;padding:0;text-align:left}
.ml-thumb img{display:block;width:100%;height:120px;object-fit:cover;background:var(--paper-2)}
.ml-grid-picker .ml-thumb img{height:100px}
.ml-meta,.ml-use{display:block;color:var(--ink-3);font:400 11px/1.4 var(--font-mono);overflow-wrap:anywhere}
.ml-use.is-used{color:var(--ink);font-weight:500}
.ml-use.is-unused{color:var(--ink-3)}
.ml-tags{display:flex;flex-wrap:wrap;gap:4px}
.ml-tag{max-width:100%;padding:1px 6px;border:1px solid var(--hair-2);font:400 10.5px/1.5 var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ml-more{margin:var(--s4) 0;text-align:center}
.ml-empty{grid-column:1/-1;padding:var(--s6) var(--s4);border:1px dashed var(--hair-2);text-align:left}
.ml-empty .btn{margin-top:var(--s2)}
.ml-detail{min-width:0;padding:var(--s4) 0 var(--s4) var(--s5);border-left:var(--line)}
.ml-detail h3{margin-bottom:var(--s3);font:400 22px/1.15 var(--font-display);overflow-wrap:anywhere}
.ml-detail h3:focus{outline:2px solid var(--focus);outline-offset:2px}
.ml-detail h4{margin:var(--s4) 0 6px;font:500 10.5px/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.ml-preview img,.ml-preview video{display:block;width:100%;max-height:340px;object-fit:contain;background:var(--paper-2)}
.ml-detail-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s3) 0}
.ml-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2) var(--s4);margin:0;border-top:var(--hairline);padding-top:var(--s2)}
.ml-fact dt{font:500 10px/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.ml-fact dd{margin:0;font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ml-usage-list{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:var(--hairline)}
.ml-usage-list li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:var(--s2) 0;border-bottom:var(--hairline)}
.ml-usage-title{flex:1 1 140px;min-width:0;font-weight:600;overflow-wrap:anywhere}
.ml-usage-list small{color:var(--ink-3)}
.ml-edit .btn{margin-top:var(--s3)}
.ml-collections-pick{margin:var(--s3) 0 0;padding:var(--s2) var(--s3)}
.ml-check{display:flex;align-items:center;gap:var(--s2);margin:0;padding:4px 0;font-size:13px;font-weight:400}
.ml-check input{flex:none;width:auto}
.ml-picker-wrap{min-width:0}
.ml-picker-wrap .ml-adv{display:none}
.ml-picker-wrap .ml-toolbar.show-adv .ml-adv{display:flex}
.ml-picker-wrap .ml-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
.ml-more-filters{justify-self:start}
.ml-root .media-choice{background:transparent;color:var(--ink);border:0}
.ml-root .media-video-icon{display:flex;align-items:center;justify-content:center;height:120px;background:var(--paper-2);color:var(--ink)}
.ml-grid-picker .media-video-icon{height:100px}
@media(min-width:1000px){
 .ml-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}
 .ml-detail{position:sticky;top:72px;max-height:calc(100vh - 88px);overflow-y:auto}
 .ml-picker-wrap .ml-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.media-tools{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s2) 0}
.media-tools .btn{margin:0;white-space:normal}
.media-library{margin:var(--s3) 0;padding:var(--s3);border:var(--line);background:var(--paper-3)}
.media-library-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);margin-bottom:var(--s2)}
.media-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);max-height:300px;overflow-y:auto}
.media-choice-wrap{display:flex;flex-direction:column;gap:6px;min-width:0}
.media-choice-wrap .media-choice{flex:1}
.media-choice{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:4px;padding:0;overflow:hidden;border:1px solid var(--hair);background:transparent;color:var(--ink);cursor:pointer;text-align:left}
.media-choice:hover{border-color:var(--ink)}
.media-choice img{display:block;width:100%;height:115px;object-fit:cover}
.media-choice small{padding:0 4px 4px;color:var(--ink-3);font:400 10.5px/1.4 var(--font-mono)}
.media-video-icon{display:grid;place-items:center;height:115px;background:var(--paper-2);font-size:20px}
.graphic-preview{display:block;width:100%;max-width:200px;height:auto;margin:var(--s2) 0 var(--s4);border:var(--hairline)}
.video-preview{display:block;max-width:235px;max-height:300px;margin:var(--s2) 0 var(--s4);border:var(--hairline)}

/* ==========================================================================
   16. Editor: the detail panel slides in from the right, full height
   ========================================================================== */
.modal{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-end}
.modal-backdrop{position:absolute;inset:0;background:var(--scrim)}
.modal-card{--brand-edge:var(--hair-2);position:relative;z-index:1;display:block;width:min(720px,100vw);height:100%;max-height:100%;padding:0 var(--s8) var(--s8);overflow:auto;overscroll-behavior:contain;background:var(--paper);border-left:6px solid var(--brand-edge);box-shadow:var(--float-shadow);animation:panel-in var(--dur) var(--ease)}
.modal-card:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}
@keyframes panel-in{from{opacity:.4}to{opacity:1}}
#modal:has(#postBrand option[value="createai"]:checked) .modal-card{--brand-edge:var(--brand-createai)}
#modal:has(#postBrand option[value="drapple"]:checked) .modal-card{--brand-edge:var(--brand-drapple)}
.modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);margin:0 calc(var(--s8) * -1) var(--s4);padding:var(--s4) var(--s8) var(--s3);background:var(--paper);border-bottom:var(--line)}
.modal-header h2{margin-top:4px;font:400 36px/1.05 var(--font-display)}
#modal .modal-header .eyebrow::after{content:" · CreateAI"}
#modal:has(#postBrand option[value="drapple"]:checked) .modal-header .eyebrow::after{content:" · drApple"}
.modal-card>p{color:var(--ink-2);font-size:13px}
.modal-actions{position:sticky;bottom:calc(var(--s8) * -1);z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--s2);margin:var(--s5) calc(var(--s8) * -1) calc(var(--s8) * -1);padding:var(--s3) var(--s8);background:var(--paper);border-top:var(--line)}
.bulk-plan .modal-actions{position:static;margin:var(--s4) 0 0;padding:var(--s3) 0 0}
.modal-actions .btn{margin:0}
#metaModal .modal-card{width:min(560px,100vw)}
#metaModal .modal-card>p{margin-bottom:var(--s3)}
#pageChoices{border-bottom:var(--hairline)}
@media(min-width:1180px){
 #modal .modal-card.pp-split{width:min(1240px,calc(100vw - 96px));max-width:none}
 #modal .modal-card.pp-split #postForm{display:grid;grid-template-columns:minmax(0,1fr) 440px;column-gap:var(--s8);align-items:start}
 #modal .modal-card.pp-split #postForm>*{grid-column:1}
 #modal .modal-card.pp-split #postForm>.post-preview-panel{grid-column:2;grid-row:1 / span 60;position:sticky;top:96px;max-height:calc(100vh - 180px);overflow:auto;margin-top:0;padding-left:var(--s6);border-top:0;border-left:var(--hairline)}
 #modal .modal-card.pp-split #postForm>.modal-actions{grid-column:1 / -1}
}
.claim-audit{margin:var(--s3) 0 var(--s4);padding:var(--s3) 0 var(--s3) var(--s3);border-left:3px solid var(--ink);background:var(--paper-2)}
.claim-audit p{margin:var(--s2) 0 0;line-height:1.5}
.graphic-format-row{margin:var(--s3) 0;padding:var(--s3) 0;border-top:var(--hairline);border-bottom:var(--hairline)}
.graphic-format-row label{margin:0 0 6px}
.graphic-format-row select{max-width:100%}
.graphic-format-row p{margin:6px 0 0}
.reel-fields,.carousel-fields{margin:var(--s4) 0;padding:var(--s3);border:1px solid var(--hair-2)}
.reel-fields label{margin-bottom:var(--s2)}
.carousel-list{display:grid;gap:0;margin:var(--s3) 0;padding:0;list-style:none;border-top:var(--hairline)}
.carousel-item{display:grid;grid-template-columns:56px 26px minmax(0,1fr) auto;align-items:center;gap:var(--s3);padding:6px 0;border-bottom:var(--hairline)}
.carousel-item img{width:56px;height:56px;object-fit:cover;background:var(--paper-2)}
.carousel-pos{font:400 22px/1 var(--font-display);text-align:center}
.carousel-name{overflow:hidden;color:var(--ink-3);font:400 11.5px/1.4 var(--font-mono);text-overflow:ellipsis;white-space:nowrap}
.carousel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.carousel-add{display:flex;flex-wrap:wrap;gap:var(--s2)}
.carousel-add input{flex:1;min-width:180px}
.post-review-panel,.post-variant-panel{margin:var(--s6) 0;padding:var(--s4) 0 0;border-top:var(--line)}
.post-review-panel h3,.post-variant-panel h3{font:400 22px/1.15 var(--font-display)}
.post-review-panel .panel-title p,.post-variant-panel .panel-title p{font-size:12.5px}
.review-history{margin:var(--s2) 0 var(--s3);color:var(--ink-3);font:400 11px/1.65 var(--font-mono)}
.review-comments{display:flex;flex-direction:column;gap:0;max-height:260px;margin:var(--s3) 0;overflow:auto;border-top:var(--hairline)}
.review-comment{padding:var(--s3) 0;border-bottom:var(--hairline);line-height:1.5}
.review-comment strong{font-size:12.5px}
.review-comment small{margin-left:var(--s2);color:var(--ink-3);font:400 11px/1.4 var(--font-mono)}
.review-comment p{margin-top:6px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.review-comment.external{padding-left:var(--s3);box-shadow:inset 3px 0 0 var(--st-info)}
.review-external-badge{margin-left:var(--s2);padding:1px 5px;border:1px solid var(--st-info);color:var(--st-info);font:500 10px/1.4 var(--font-mono);text-transform:uppercase}
.review-controls{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s3) 0}
.variant-option{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) 0;border-bottom:var(--hairline)}
.variant-option.selected{box-shadow:inset 3px 0 0 var(--ink);padding-left:var(--s3)}
.variant-option>div{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.variant-option strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.variant-option small{color:var(--ink-3);font:400 11px/1.4 var(--font-mono)}
.variant-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid var(--ink);font:500 11px/1 var(--font-mono)}
.variant-current{color:var(--st-ok);font:500 10.5px/1.4 var(--font-mono);text-transform:uppercase}
.post-preview-panel{margin-top:var(--s6);padding-top:var(--s4);border-top:var(--line)}
.post-preview-panel h3{margin-bottom:4px;font:400 22px/1.15 var(--font-display)}
.social-preview{max-width:490px;margin-top:var(--s3);padding:var(--s4);border:var(--hairline);background:var(--paper-3)}
.social-preview-heading{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s3)}
.social-preview-heading strong{display:block;font-size:13px}
.social-preview-heading small{display:block;margin-top:2px;color:var(--ink-3);font-size:11.5px}
.social-preview-avatar{display:grid;place-items:center;width:36px;height:36px;background:var(--ink);color:var(--on-ink)}
.social-preview-text{max-height:220px;overflow-y:auto;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.social-preview img{display:block;max-width:100%;max-height:320px;margin-top:var(--s3);object-fit:contain}
.social-preview>small{display:block;margin-top:var(--s2);color:var(--ink-3)}

/* ==========================================================================
   17. Platform preview engine (dock, fullscreen studio). The post cards inside simulate
       Facebook/Instagram on purpose; only the chrome around them follows the paper system.
   ========================================================================== */
.pp-device{--pp-bg:#fff;--pp-fg:#14171c;--pp-muted:#65696f;--pp-line:#dde0e5;--pp-chip:#f0f2f5;width:390px;max-width:100%;margin:0 auto;color:var(--pp-fg);font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.pp-device.pp-dark{--pp-bg:#18191b;--pp-fg:#eceef1;--pp-muted:#a2a7ae;--pp-line:#34373b;--pp-chip:#26282b}
.pp-device--desktop{width:540px}
.pp-device[data-placement="instagram_reel"],.pp-device[data-placement="instagram_story"]{width:360px}
.pp-card{overflow:hidden;background:var(--pp-bg);border:1px solid var(--pp-line);border-radius:12px;text-align:left}
.pp-icon{flex:none;width:22px;height:22px}
.pp-icon--sm{width:14px;height:14px;vertical-align:-2px}
.pp-head{display:flex;align-items:center;gap:10px;padding:10px 12px}
.pp-who{display:flex;flex:1;flex-direction:column;min-width:0}
.pp-name{overflow:hidden;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.pp-meta{color:var(--pp-muted);font-size:12px}
.pp-head-dots{color:var(--pp-muted)}
.pp-avatar{position:relative;display:inline-block;flex:none;width:40px;height:40px;overflow:hidden;background:#fff;border:1px solid var(--pp-line);border-radius:50%}
.pp-avatar img{display:block}
/* The CreateAI file is a 3:1 wordmark; only the brain mark region of the original file is shown. */
.pp-avatar--mark img{position:absolute;top:-20%;left:-33.3%;width:400%;max-width:none}
.pp-avatar--full img{width:100%;height:100%;padding:3px;object-fit:contain}
.pp-avatar--ring{box-shadow:0 0 0 2px var(--pp-bg),0 0 0 4px #d300c5}
.pp-text{padding:2px 14px 12px;font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.pp-text--placeholder{color:var(--pp-muted);font-style:italic}
.pp-more{padding:0;border:0;background:none;color:var(--pp-muted);font:inherit;font-weight:600;cursor:pointer}
.pp-more:hover{text-decoration:underline}
.pp-carousel{position:relative}
.pp-media{position:relative;width:100%;overflow:hidden;background:var(--pp-chip)}
.pp-media-el{display:block;width:100%;height:100%;object-fit:cover}
.pp-media--original{background:repeating-linear-gradient(45deg,var(--pp-chip),var(--pp-chip) 8px,var(--pp-line) 8px,var(--pp-line) 16px)}
.pp-media--original .pp-media-el{object-fit:contain}
.pp-media--empty,.pp-media--broken{display:flex;align-items:center;justify-content:center;color:var(--pp-muted)}
.pp-media--broken .pp-media-el{visibility:hidden}
.pp-media--broken::after{content:"Medija ni mogoče naložiti";position:absolute;color:var(--pp-muted);font-size:13px}
.pp-crop-badge{position:absolute;top:8px;left:8px;padding:3px 8px;border-radius:999px;background:#000a;color:#fff;font-size:11px;font-weight:600}
.pp-counter{position:absolute;top:10px;right:10px;padding:2px 9px;border-radius:999px;background:#000b;color:#fff;font-size:12px}
.pp-step{position:absolute;top:50%;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#fffd;color:#111;transform:translateY(-50%);cursor:pointer;box-shadow:0 2px 8px #0004}
.pp-step--prev{left:8px}.pp-step--next{right:8px}
.pp-step .pp-icon{width:18px;height:18px}
.pp-dots{position:absolute;right:0;bottom:8px;left:0;display:flex;justify-content:center;gap:5px}
.pp-dot{width:6px;height:6px;border-radius:50%;background:#fff8;box-shadow:0 0 0 1px #0003}
.pp-dot.is-active{background:#fff}
.pp-video-toggle{position:absolute;inset:0;padding:0;border:0;background:none;cursor:pointer}
.pp-play-badge{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#000a;color:#fff;transform:translate(-50%,-50%)}
.pp-playing .pp-play-badge{opacity:0}
.pp-video-toggle:focus-visible .pp-play-badge,.pp-video-toggle:hover .pp-play-badge{opacity:1}
.pp-fb-actions{display:flex;margin:0 12px;padding:4px 0;border-top:1px solid var(--pp-line)}
.pp-fb-actions .pp-action{flex:1;justify-content:center;padding:8px 0;color:var(--pp-muted);font-weight:600}
.pp-action{display:inline-flex;align-items:center;gap:6px}
.pp-ig-actions{display:flex;justify-content:space-between;padding:10px 12px 4px}
.pp-ig-actions-left{display:flex;gap:14px}
.pp-ig-caption{padding-top:4px;padding-bottom:6px}
.pp-ig-when{display:block;padding:0 14px 14px;color:var(--pp-muted);font-size:10.5px;letter-spacing:.04em}
.pp-text-name{font-weight:700}
.pp-vertical{background:#000;border-color:#000;border-radius:16px;color:#fff}
.pp-vertical-stage{position:relative}
.pp-vertical .pp-media{background:#111}
.pp-vertical .pp-crop-badge{top:46px}
.pp-reel-top,.pp-story-top,.pp-reel-bottom,.pp-story-bottom{position:absolute;right:0;left:0;color:#fff}
.pp-reel-top{top:0;display:flex;align-items:center;justify-content:space-between;padding:14px 14px 28px;background:linear-gradient(#0008,transparent)}
.pp-reel-rail{position:absolute;right:10px;bottom:84px;display:flex;flex-direction:column;gap:20px;color:#fff;filter:drop-shadow(0 1px 3px #0009)}
.pp-reel-rail .pp-icon{width:26px;height:26px}
.pp-reel-bottom{bottom:0;padding:34px 60px 14px 14px;background:linear-gradient(transparent,#000b)}
.pp-reel-author{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.pp-reel-author .pp-avatar{width:30px;height:30px}
.pp-reel-caption{padding:0;color:#fff;font-size:13px}
.pp-reel-caption .pp-more{color:#ddd}
.pp-reel-audio{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px}
.pp-story-top{top:0;padding:10px 12px 26px;background:linear-gradient(#0009,transparent)}
.pp-story-bars{display:flex;gap:4px;margin-bottom:10px}
.pp-story-bar{flex:1;height:3px;border-radius:2px;background:#fff5}
.pp-story-bar.is-active{background:#fff}
.pp-story-who{display:flex;align-items:center;gap:8px;font-size:13px}
.pp-story-who .pp-avatar{width:32px;height:32px}
.pp-story-who small{color:#ddd}
.pp-story-bottom{bottom:0;display:flex;align-items:center;gap:12px;padding:26px 12px 14px;background:linear-gradient(transparent,#0009)}
.pp-story-reply{flex:1;padding:10px 16px;border:1px solid #fff9;border-radius:999px;font-size:13px}
.pp-safe{position:absolute;inset:0;pointer-events:none}
.pp-safe-zone{position:absolute;right:0;left:0;display:flex;align-items:center;justify-content:center;border:1px dashed #ff2d55;background:repeating-linear-gradient(135deg,#ff2d5566,#ff2d5566 6px,#ff2d5522 6px,#ff2d5522 12px);color:#fff;font-size:10px;font-weight:700}
.pp-safe-top{top:0;height:var(--pp-safe-top,14%)}
.pp-safe-bottom{bottom:0;height:var(--pp-safe-bottom,20%)}
.pp-safe-right{top:var(--pp-safe-top,14%);bottom:var(--pp-safe-bottom,20%);left:auto;width:12%}
.pp-reel .pp-safe-top{height:6%}.pp-reel .pp-safe-bottom{height:25%}
.pp-story .pp-safe-top{height:14%}.pp-story .pp-safe-bottom{height:20%}
.pp-more:focus-visible,.pp-step:focus-visible,.pp-video-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 2px var(--focus-gap)}
/* Docked preview: editor and AI studio */
.pp-dock-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin-bottom:var(--s3)}
.pp-select{flex:1;min-width:150px;min-height:32px;font-size:12.5px}
.pp-dock-stage{padding:var(--s4);overflow:hidden;background:var(--paper-2);border:var(--hairline)}
.pp-checks{display:grid;gap:0;margin:var(--s3) 0 0;padding:0;list-style:none;border-top:var(--hairline)}
.pp-check{padding:6px 0 6px var(--s3);border-bottom:var(--hairline);box-shadow:inset 3px 0 0 var(--st-info);font-size:12.5px;line-height:1.45}
.pp-check--error{box-shadow:inset 3px 0 0 var(--st-err);color:var(--st-err)}
.pp-check--warn{box-shadow:inset 3px 0 0 var(--st-wait);color:var(--st-wait)}
.pp-check--info{box-shadow:inset 3px 0 0 var(--st-info)}
.pp-check--ok{box-shadow:inset 3px 0 0 var(--st-ok);color:var(--st-ok)}
.pp-note{color:var(--ink-3);font-size:11.5px}
/* Fullscreen preview studio */
.pp-overlay{position:fixed;inset:0;z-index:9500;background:var(--paper);color:var(--ink)}
.pp-overlay[hidden]{display:none}
.pp-shell{display:flex;flex-direction:column;height:100%}
.pp-topbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4);padding:var(--s2) var(--s4);border-bottom:var(--line);background:var(--paper)}
.pp-title{flex:1 1 180px;min-width:0;margin:0;overflow:hidden;font:400 24px/1.1 var(--font-display);text-overflow:ellipsis;white-space:nowrap}
.pp-tabs,.pp-tools{display:flex;flex-wrap:wrap;align-items:center;gap:0}
.pp-tab,.pp-btn{flex:none;min-height:32px;padding:0 10px;border:1px solid var(--hair-2);margin-left:-1px;border-radius:0;background:transparent;color:var(--ink);font-size:12.5px;font-weight:500;white-space:nowrap;cursor:pointer}
.pp-tab:hover,.pp-btn:hover{background:var(--paper-2)}
.pp-tab.is-active,.pp-btn.is-active{position:relative;z-index:1;background:var(--ink);border-color:var(--ink);color:var(--on-ink);font-weight:600}
.pp-btn--close{margin-left:auto}
.pp-tab:focus-visible,.pp-btn:focus-visible,.pp-stage:focus-visible{position:relative;z-index:2}
.pp-zoom-label{min-width:100px;color:var(--ink-3);font:400 11.5px/1 var(--font-mono);text-align:center}
.pp-body{display:flex;flex:1;min-height:0}
.pp-stage{flex:1;min-width:0;padding:var(--s6);overflow:auto;background:var(--paper-2)}
.pp-zoomer{position:relative;margin:0 auto}
.pp-scaler{width:max-content;transform:scale(var(--pp-zoom,1));transform-origin:0 0}
.pp-row{display:flex;align-items:flex-start;gap:var(--s6)}
.pp-column{display:flex;flex-direction:column;gap:10px}
.pp-column-title{display:flex;align-items:center;gap:var(--s2);margin:0;font:500 11px/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-2)}
.pp-badge{padding:1px 6px;background:var(--st-draft-bg);color:var(--st-draft);font:500 10px/1.5 var(--font-mono);text-transform:uppercase}
.pp-badge--error{background:var(--st-err-bg);color:var(--st-err)}.pp-badge--warn{background:var(--st-wait-bg);color:var(--st-wait)}.pp-badge--ok{background:var(--st-ok-bg);color:var(--st-ok)}.pp-badge--info{background:var(--st-info-bg);color:var(--st-info)}
.pp-side{flex:none;width:340px;padding:var(--s4);overflow:auto;border-left:var(--line);background:var(--paper)}
.pp-side-title{margin:var(--s4) 0 var(--s2);font:500 10.5px/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.pp-side-title:first-child{margin-top:0}
.pp-side-sub{margin:var(--s3) 0 6px;font-size:13px;font-weight:600}
.pp-side-line{margin:4px 0;color:var(--ink-2);font-size:12.5px}
.pp-side .pp-note{margin-top:var(--s4)}
.pp-keys{color:var(--ink-3);font:400 11px/1.6 var(--font-mono)}
@media(max-width:900px){
 .pp-body{flex-direction:column}
 .pp-side{width:auto;max-height:30vh;border-left:0;border-top:var(--line)}
 .pp-stage{padding:var(--s3)}
 .pp-title{order:0;flex:1 1 0}
 .pp-btn--close{order:1;margin-left:0}
 .pp-tabs,.pp-tools{order:2;flex:1 0 100%;flex-wrap:nowrap;padding:0 0 4px 1px;overflow-x:auto}
}
@media(max-width:560px){
 .pp-topbar{gap:var(--s2);padding:var(--s2) var(--s3)}
 .pp-tab,.pp-btn{padding:0 8px;font-size:12px}
 .pp-keys{display:none}
 .pp-side{max-height:26vh}
 .carousel-item{grid-template-columns:48px 22px minmax(0,1fr)}
 .carousel-actions{grid-column:1 / -1;justify-content:flex-start}
}

/* ==========================================================================
   18. Graphic editor: printer's paste-up table
   ========================================================================== */
.ge-overlay{position:fixed;inset:0;z-index:9400;background:var(--paper);color:var(--ink)}
.ge-overlay[hidden]{display:none}
.ge-shell{display:flex;flex-direction:column;height:100%}
.ge-topbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) 10px;padding:var(--s2) var(--s4);border-bottom:var(--line);background:var(--paper)}
.ge-title{flex:1 1 140px;margin:0 var(--s2) 0 0;font:400 24px/1.1 var(--font-display)}
.ge-btn,.ge-select{min-height:32px;padding:0 10px;border:1px solid var(--hair-2);border-radius:0;background:transparent;color:var(--ink);font-size:12.5px;font-weight:500;white-space:nowrap;cursor:pointer}
.ge-select{padding:0 8px;border-radius:var(--radius-field)}
.ge-btn:hover{border-color:var(--ink);background:var(--paper-2)}
.ge-btn:disabled{opacity:.45;cursor:not-allowed}
.ge-btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.ge-btn--primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink);font-weight:600}
.ge-btn--primary:hover{background:var(--ink-2)}
.ge-btn--danger{border-color:var(--st-err);color:var(--st-err)}
.ge-btn--small{min-height:28px;padding:0 8px;font-size:12px}
.ge-btn:focus-visible,.ge-select:focus-visible,.ge-frame:focus-visible,.ge-layer-pick:focus-visible,.ge-thumb:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 2px var(--focus-gap)}
.ge-body{display:grid;flex:1;grid-template-columns:200px minmax(0,1fr) 300px;min-height:0}
.ge-tools,.ge-side{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4);overflow:auto;background:var(--paper)}
.ge-tools{border-right:var(--line)}
.ge-side{border-left:var(--line)}
.ge-h{margin:var(--s3) 0 4px;font:500 10.5px/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.ge-h:first-child{margin-top:0}
.ge-stage{display:flex;align-items:center;justify-content:center;min-width:0;padding:var(--s4);overflow:auto;background:var(--paper-2);background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);background-size:24px 24px}
.ge-frame{position:relative;flex:none;outline:1px solid var(--ink);touch-action:none;cursor:default}
.ge-canvas,.ge-guides{position:absolute;inset:0;width:100%;height:100%}
.ge-guides{pointer-events:none}
.ge-layers{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:var(--hairline)}
.ge-layer-pick{width:100%;padding:6px 8px;overflow:hidden;border:0;border-bottom:var(--hairline);background:transparent;color:var(--ink);font-size:12.5px;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.ge-layer-pick:hover{background:var(--paper-2)}
.ge-layer.is-selected .ge-layer-pick{background:var(--ink);color:var(--on-ink)}
.ge-empty,.ge-hint{margin:4px 0;color:var(--ink-3);font-size:12.5px}
.ge-inspector{display:flex;flex-direction:column;gap:var(--s2)}
.ge-field{display:flex;flex-direction:column;gap:3px;color:var(--ink-2);font-size:12px}
.ge-field input,.ge-field select,.ge-field textarea{max-width:100%;min-height:32px;padding:4px 8px;font:inherit;font-size:13px}
.ge-field input[type=color]{height:34px;padding:0}
.ge-row{display:flex;flex-wrap:wrap;gap:6px}
.ge-issue{margin:0 0 6px;padding:6px 8px;border-left:3px solid var(--st-info);background:var(--paper-2);font-size:12px}
.ge-issue--error{border-color:var(--st-err);color:var(--st-err)}.ge-issue--warn{border-color:var(--st-wait);color:var(--st-wait)}.ge-issue--ok{border-color:var(--st-ok);color:var(--st-ok)}
.ge-library{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;max-height:260px;overflow:auto}
.ge-thumb{padding:0;overflow:hidden;border:1px solid var(--hair);background:var(--paper-2);cursor:pointer}
.ge-thumb:hover{border-color:var(--ink)}
.ge-thumb img{display:block;width:100%;height:80px;object-fit:cover}
@media(max-width:1000px){
 .ge-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(220px,1fr) minmax(0,40vh)}
 .ge-tools{flex-direction:row;flex-wrap:nowrap;align-items:center;overflow-x:auto;border-right:0;border-bottom:var(--line)}
 .ge-tools .ge-h{display:none}
 .ge-library{position:absolute;z-index:2;width:min(92vw,420px);grid-template-columns:repeat(3,1fr);padding:var(--s2);background:var(--paper-3);border:var(--line);box-shadow:var(--float-shadow)}
 .ge-side{border-left:0;border-top:var(--line)}
}
@media(max-width:560px){.ge-title{display:none}.ge-body{grid-template-rows:auto minmax(300px,1fr) minmax(0,28vh)}.ge-topbar{padding:var(--s2) 10px}.ge-btn,.ge-select{padding:0 8px;font-size:12px}}

/* ==========================================================================
   19. Command palette and toast (floating layers carry the only shadows)
   ========================================================================== */
.palette{position:fixed;inset:0;z-index:9600;display:flex;justify-content:center;align-items:flex-start;padding:12vh var(--s4) var(--s4)}
.palette-backdrop{position:absolute;inset:0;background:var(--scrim)}
.palette-card{position:relative;z-index:1;display:flex;flex-direction:column;width:min(640px,100%);max-height:min(70vh,560px);background:var(--paper-3);border:var(--line);box-shadow:var(--float-shadow);animation:palette-in var(--dur) var(--ease)}
@keyframes palette-in{from{transform:translateY(-6px);opacity:.6}to{transform:none;opacity:1}}
.palette-title{padding:var(--s3) var(--s4) 0;font:500 10.5px/1.4 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}
.palette-field{display:flex;align-items:center;gap:var(--s2);padding:0 var(--s4);border-bottom:var(--line)}
.palette-prompt{font:400 30px/1 var(--font-display);color:var(--ink-3)}
#paletteInput{flex:1;min-height:56px;padding:0;border:0;background:transparent;font:400 26px/1.2 var(--font-display);box-shadow:none}
#paletteInput:focus-visible{outline:0;box-shadow:none}
.palette-field:focus-within{box-shadow:inset 0 -3px 0 var(--ink)}
.palette-list{flex:1;margin:0;padding:0;overflow-y:auto;list-style:none}
.palette-group{padding:var(--s3) var(--s4) 4px;font:500 10px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.palette-option{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);padding:9px var(--s4);border-top:var(--hairline);cursor:pointer}
.palette-option:hover{background:var(--paper-2)}
.palette-option[aria-selected="true"]{background:var(--ink);color:var(--on-ink)}
.palette-option[aria-selected="true"] .palette-hint{color:var(--on-ink)}
.palette-label{min-width:0;font-size:14.5px;font-weight:500;overflow-wrap:anywhere}
.palette-hint{flex:none;font:400 11px/1.4 var(--font-mono);color:var(--ink-3)}
.palette-empty{padding:var(--s4);color:var(--ink-3);font-size:13px}
.palette-help{display:flex;flex-wrap:wrap;gap:var(--s4);padding:var(--s2) var(--s4);border-top:var(--line);font:400 11px/1.6 var(--font-mono);color:var(--ink-3)}
.palette-help kbd{margin-right:3px}
.toast{position:fixed;right:var(--s5);bottom:var(--s5);z-index:9700;max-width:420px;padding:var(--s3) var(--s4);background:var(--ink);color:var(--on-ink);box-shadow:var(--float-shadow);font-size:13px;font-weight:500;opacity:0;transform:translateY(6px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);pointer-events:none}
.toast.show{opacity:1;transform:none}
.toast.error{background:var(--st-err);color:#fff}

/* ==========================================================================
   20. Login: a full-screen front page
   ========================================================================== */
.login-screen{min-height:100vh;min-height:100dvh;padding:0 var(--gutter);background:var(--paper);color:var(--ink)}
.login-card{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr auto;column-gap:var(--s6);min-height:100vh;min-height:100dvh;max-width:var(--measure);margin:0 auto}
.login-masthead{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s3) var(--s6);padding:var(--s5) 0 var(--s3);border-bottom:var(--heavy);box-shadow:0 4px 0 -3px var(--paper),0 5px 0 -3px var(--ink)}
.login-brand{display:flex;align-items:flex-end;gap:var(--s4)}
.login-brand img{display:block;width:190px;height:auto;object-fit:contain}
.login-brand .brand-subline{font-size:26px}
.login-front{grid-column:1/9;align-self:center;padding:var(--s10) 0}
.login-front h1{font:400 clamp(64px,10.5vw,176px)/.88 var(--font-display);letter-spacing:-.025em}
.login-front h1 em{font-style:italic}
.login-front p{max-width:40ch;margin-top:var(--s6);padding-top:var(--s3);border-top:var(--line);font-size:var(--fs-lead);color:var(--ink-2)}
#loginForm{grid-column:9/-1;align-self:center;padding:var(--s5) 0 var(--s5) var(--s6);border-left:var(--line)}
#loginForm label:first-child{margin-top:0}
#loginForm input{min-height:46px;font-size:15px}
#loginForm .btn{min-height:48px;font-size:14px}
.small-note{grid-column:1/-1;padding:var(--s3) 0 var(--s4);border-top:var(--hairline);font:500 10.5px/1.5 var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink-3)}

/* ==========================================================================
   21. Responsive
   ========================================================================== */
@media(max-width:1280px){
 .topbar .crumb>span{display:none}
 .theme-switch-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .theme-switch{width:36px;padding:0;justify-content:center}
 .feature-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1100px){
 .top-date{display:none}
 .dash-grid{grid-template-columns:minmax(0,1fr)}
 .dash-panel,.dash-panel:first-child,#dashProblemPanel{padding:var(--s4) 0}
 .dash-panel+.dash-panel{border-left:0;border-top:var(--line)}
 .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kpi:nth-child(3){border-left:0;padding-left:0}
 .kpi:nth-child(n+3){border-top:var(--hairline)}
 .inbox-layout{grid-template-columns:minmax(0,1fr)}
 .inbox-column,.inbox-column+.inbox-column{padding:var(--s4) 0;border-left:0}
 .inbox-column+.inbox-column{border-top:var(--line)}
 .studio-grid{grid-template-columns:minmax(0,1fr)}
 .studio-desk{padding-right:0;border-right:0}
 .studio-preview{position:static;max-height:none;margin-top:var(--s10);padding-left:0;overflow:visible}
 .login-front{grid-column:1/-1;padding-bottom:var(--s4)}
 #loginForm{grid-column:1/-1;max-width:520px;padding:var(--s4) 0 var(--s8);border-left:0;border-top:var(--line)}
}
@media(max-width:1000px){
 .global-search{max-width:none}
}
@media(max-width:900px){
 .post-item{grid-template-columns:48px minmax(0,1fr) auto}
 .post-item>.post-actions{grid-column:2 / -1;justify-content:flex-start}
}

/* Phone and small tablet: bottom bar with four views + "Več"; the masthead becomes the "Več" sheet */
@media(max-width:800px){
 .shell::before{position:sticky;top:0;z-index:31;padding:2px var(--s4);font-size:10px}
 .main{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
 #sidebar{position:fixed;inset:0 0 calc(60px + env(safe-area-inset-bottom)) 0;z-index:70;display:flex;flex-direction:column;padding:0 var(--s4) var(--s4);overflow-y:auto;overscroll-behavior:contain;border:0;visibility:hidden;transform:translateY(16px);opacity:0;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility 0s linear var(--dur)}
 .shell.nav-open #sidebar{visibility:visible;transform:none;opacity:1;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
 #sidebar .side-head{flex-wrap:wrap;gap:var(--s3);min-height:0;padding:var(--s3) 0}
 #sidebar .side-logo{flex:1 1 auto}
 #sidebar .branding-lockup{width:132px;min-height:0}
 #sidebar .brand-subline{font-size:18px;padding-bottom:2px}
 #sidebar .sidebar-close{display:inline-grid;order:2}
 #sidebar .sidebar-collapse{display:none}
 #sidebar .masthead-brands{order:3;flex:1 0 100%;flex-direction:column;align-items:stretch;gap:6px}
 .brand-links{width:100%}
 .brand-link{flex:1;justify-content:center;min-height:44px;padding:0 6px;font-size:13px}
 .side-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s4);overflow:visible;padding-top:var(--s2)}
 .nav-group,.nav-group:first-child{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:var(--s3) 0 0;border-left:0;border-top:var(--line)}
 .nav-group>.side-group-title:not(.sr-only){position:static}
 .nav-group .side-group-title.sr-only{position:static;width:auto;height:auto;margin:0 0 2px;overflow:visible;clip:auto;white-space:normal}
 .nav-link{width:100%;min-height:44px;padding:0;border-bottom:var(--hairline);font-size:17px}
 .nav-link.active::after{display:none}
 #sidebar .side-bottom{display:flex;align-items:center;gap:var(--s3);margin-top:auto;padding-top:var(--s4);border-top:var(--hairline);color:var(--ink-3);font-size:12px}
 #sidebar .side-bottom strong{color:var(--ink);font-size:13px}
 .bottom-bar{position:fixed;right:0;bottom:0;left:0;z-index:75;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:var(--line)}
 .bottom-link{position:relative;min-height:60px;padding:0 2px;text-align:center;border:0;border-left:var(--hairline);background:transparent;color:var(--ink-2);font-size:12.5px;font-weight:500}
 .bottom-link:first-child{border-left:0}
 .bottom-link.active{color:var(--marker-ink);font-weight:600;background:var(--marker)}
 .bottom-link.active::after{content:"";position:absolute;top:-1px;left:0;right:0;height:3px;background:var(--ink)}
 .bottom-link.nav-menu-btn{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--ink)}
 .shell.nav-open .bottom-link.nav-menu-btn{background:var(--ink);color:var(--on-ink)}
 /* The marker lives on the bottom bar here; the sheet shows the current section in ink */
 #sidebar .nav-link.active .nav-text{background:none;color:var(--ink);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
 .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"crumb new actions" "search search palette";gap:var(--s2);padding:var(--s2) var(--s4);top:20px}
 .crumb{grid-area:crumb}
 .crumb strong{font-size:24px}
 .top-actions{grid-area:actions;gap:6px}
 .top-actions .avatar,.top-actions #refresh{display:none}
 .global-search{grid-area:search;max-width:none;margin:0}
 .search-hint{display:none}
 #globalSearch{font-size:16px}
 .palette-open{grid-area:palette}
 .palette-open kbd{display:none}
 .quick-new{grid-area:new}
 .content{padding:var(--s5) var(--s4) var(--s8)}
 .heading{display:block;margin-bottom:var(--s6);padding-bottom:var(--s4)}
 .heading h1{font-size:clamp(36px,11vw,52px)}
 .heading p{font-size:15px}
 .heading-actions{margin-top:var(--s4)}
 .panel-title h2,.filter-bar h2{font-size:23px}
 .dash-status-text strong{font-size:21px}
 #view-overview .dash-status{flex-direction:column;align-items:stretch}
 .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .filters .filter-label{display:none}
 .filters input[type=search]{grid-column:1/-1;width:100%}
 .filters select{max-width:100%;min-width:0}
 .month-cell{min-height:84px;padding:4px 3px}
 .month-cell>strong{font-size:17px}
 .calendar-pill{padding:2px 3px;font-size:9.5px}
 .calendar-event-image{display:none}
 .weekday-row span{padding:6px 3px;font-size:9px}
 .calendar-mode-toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
 .calendar-mode-btn{padding:0 var(--s3);font-size:12.5px}
 .calendar-mode-btn.active::after{left:var(--s3);right:var(--s3)}
 /* Week on a phone: days stack, each a short timetable in time order */
 #calendarDateGrid:has(.week-mode) .weekday-row{display:none}
 .month-grid.week-mode{grid-template-columns:minmax(0,1fr);border-left:0;border-top:var(--line)}
 .month-grid.week-mode::before{display:none}
 .month-grid.week-mode .month-cell{display:block;min-height:0;padding:var(--s2) 0;border-right:0;background:none}
 .month-grid.week-mode .month-cell>strong{margin-bottom:4px;padding:0}
 .month-grid.week-mode .calendar-entry .pp-peek{width:32px;height:auto}
 .month-grid.week-mode .calendar-pill{flex-direction:row;min-height:36px;font-size:12.5px}
 .kanban-board{grid-template-columns:minmax(0,1fr);border-left:0;overflow:visible}
 .kanban-col{border-right:0;border-bottom:var(--line)}
 .kanban-list{min-height:0}
 .kb-brand-grid,.report-summary-grid{grid-template-columns:minmax(0,1fr)}
 .kb-brand-card+.kb-brand-card,.report-brand+.report-brand{padding-left:0;border-left:0;border-top:var(--line)}
 .kb-item{flex-direction:column}
 .feature-status-grid{grid-template-columns:minmax(0,1fr)}
 .conversion-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .toast{right:var(--s4);bottom:calc(72px + env(safe-area-inset-bottom));left:var(--s4);max-width:none}
 .modal-card{padding:0 var(--s4) var(--s6);border-left-width:4px}
 .modal-header{margin:0 calc(var(--s4) * -1) var(--s3);padding:var(--s3) var(--s4)}
 .modal-header h2{font-size:28px}
 .modal-actions{bottom:calc(var(--s6) * -1);margin:var(--s4) calc(var(--s4) * -1) calc(var(--s6) * -1);padding:var(--s3) var(--s4)}
 .palette{padding-top:var(--s6)}
}
@media(max-width:640px){
 .post-item{grid-template-columns:40px minmax(0,1fr);gap:6px var(--s3);padding-left:var(--s3)}
 .post-thumb{width:40px;height:50px;grid-row:span 2}
 .post-item>.status-tag{grid-column:2}
 .post-item>.post-actions{grid-column:1 / -1}
 .post-info strong{white-space:normal}
 .review-queue-row{grid-template-columns:44px minmax(0,1fr)}
 .review-queue-image{width:44px;height:55px}
 .review-queue-row>.btn{grid-column:1 / -1;justify-self:start}
 .bulk-plan-row{grid-template-columns:minmax(0,1fr)}
 .bulk-plan{padding:var(--s3)}
 .bulk-plan-row input[type=datetime-local]{font-size:16px}
 .crisis-brand-row{flex-direction:column;align-items:stretch;gap:var(--s2)}
 .crisis-brand-row button{width:100%}
 .campaign-card{flex-direction:column;align-items:stretch}
 .campaign-card button{width:100%}
 .variant-option{flex-wrap:wrap}
 .variant-option .mini-btn{margin-left:auto}
 .kb-alert{flex-direction:column}
 .review-controls .btn{flex:1 1 40%}
 .ml-grid,.ml-grid-picker,.ml-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
 .media-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kpi strong{font-size:44px}
 .visual-post-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) var(--s3)}
 .instagram-grid{gap:2px}
 .instagram-grid-overlay span{display:none}
 .instagram-grid-overlay strong{font-size:9.5px}
 .instagram-grid-overlay .mini-btn{min-height:22px;padding:0 5px;font-size:9.5px}
 .mini-calendar .mini-day{min-height:84px;padding:4px 3px}
 .mini-day strong{font-size:20px}
 .mini-event{font-size:9px}
 .mini-event-image{height:34px}
 .login-front h1{font-size:clamp(56px,17vw,96px)}
 .login-brand img{width:150px}
 .login-brand .brand-subline{font-size:20px}
}
@media(max-width:480px){
 .form-columns{grid-template-columns:minmax(0,1fr)}
 .inbox-filters{grid-template-columns:minmax(0,1fr)}
 .inbox-item-top,.inbox-item-meta{flex-direction:column;align-items:flex-start;gap:4px}
 .conversion-form{grid-template-columns:minmax(0,1fr)}
 .conversion-row,.activity-entry,.reminder-row{flex-wrap:wrap}
 .dash-item>.dash-btn{width:100%}
 .quick-new{width:40px;padding:0}
 .quick-new span:not(.quick-new-plus){position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .role-pill{max-width:84px;overflow:hidden;text-overflow:ellipsis}
 .heading-actions .btn{flex:1}
 .month-cell{min-height:64px}
 .kpi{padding:var(--s3) var(--s3) var(--s3) 0}
 .kpi:nth-child(even){padding-left:var(--s3)}
}
@media(max-width:560px){
 .ge-title{display:none}
}
