:root { --bg:#f7f4ee; --surface:#fffdf9; --surface-2:#eef4f4; --ink:#17212b; --muted:#697684; --soft:#eaece6; --line:#d9ded8; --line-strong:#bdc7c3; --accent:#276c73; --accent-strong:#1d4f55; --accent-soft:#ddeeed; --gold:#a56a2a; --gold-soft:#f5ead8; --danger:#a23737; --danger-soft:#f7e6e3; --ok:#2f7a4d; --ok-soft:#ddf0e6; --border:var(--line); --surface-1:var(--surface); --surface-3:var(--soft); --text-1:var(--ink); --text-2:var(--muted); --text-muted:var(--muted); --shadow:0 18px 50px rgba(23,33,43,.11); --shadow-soft:0 4px 16px rgba(23,33,43,.07); --focus-ring:0 0 0 3px rgba(39,108,115,.13); --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-8:32px; --sp-10:40px; --sp-12:48px; --tx-2xs:10px; --tx-xs:11px; --tx-sm:12px; --tx-body:13px; --tx-base:14px; --tx-md:15px; --tx-read:17px; --tx-lg:22px; --tx-xl:26px; --tx-2xl:32px; --r-sm:4px; --r-md:6px; --r:8px; --r-xl:12px; --r-pill:999px; --radius:var(--r); --h-input:38px; --h-btn:36px; --h-btn-sm:30px; --h-btn-xs:28px; --h-pill:19px; --sidebar:248px; --t-fast:.12s; --t-base:.15s; --t-slow:.18s; }
*, *::before, *::after { box-sizing:border-box; }
[hidden] { display:none !important; }
html { min-width:320px; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:var(--tx-base); line-height:1.5; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
button, input, textarea, select { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.55; }
a { color:inherit; text-decoration:none; }
h1, h2, h3, p { margin:0; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:var(--sidebar) minmax(0,1fr); }
.sidebar { position:sticky; top:0; height:100vh; overflow-y:auto; padding:var(--sp-4) var(--sp-3); background:#19252f; color:#f7f4ee; border-right:1px solid rgba(255,255,255,.06); }
.brand { display:flex; align-items:center; gap:var(--sp-2); min-height:var(--sp-10); margin-bottom:var(--sp-5); font-weight:800; font-size:17px; letter-spacing:-.01em; }
.brand-icon { display:inline-grid; place-items:center; width:34px; height:34px; flex:0 0 auto; border:0; border-radius:var(--r-pill); background:transparent; color:#fff; font-size:var(--tx-xs); font-weight:900; letter-spacing:.08em; object-fit:contain; }
.brand-text { display:block; line-height:1.05; }
.brand img { width:34px; height:34px; }
.main-nav { display:grid; gap:2px; margin-bottom:var(--sp-5); }
.side-section { display:grid; gap:2px; margin-top:var(--sp-5); padding-top:var(--sp-4); border-top:1px solid rgba(255,255,255,.07); }
.sidebar-divider { height:1px; margin:var(--sp-4) 0 0; background:rgba(255,255,255,.07); }
.nav-item, .side-filter { width:100%; border:0; outline:none; border-radius:var(--r-md); color:inherit; background:transparent; text-align:left; }
.nav-item:focus-visible, .side-filter:focus-visible { outline:2px solid rgba(247,244,238,.35); outline-offset:-2px; }
.nav-item { padding:9px 10px; font-size:var(--tx-body); font-weight:600; color:rgba(247,244,238,.85); display:flex; align-items:center; gap:var(--sp-2); }
.nav-item[hidden] { display:none; }
.nav-item .nav-icon { font-size:var(--tx-base); width:18px; text-align:center; opacity:.75; flex-shrink:0; }
.nav-item:hover { background:rgba(255,255,255,.08); color:#fff; }
.nav-item.active { background:rgba(255,255,255,.12); color:#fff; }
.nav-item.active .nav-icon { opacity:1; }
.side-section h2 { color:rgba(247,244,238,.45); font-size:var(--tx-2xs); font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:0 6px; margin-bottom:2px; }
.side-title { color:rgba(247,244,238,.45); font-size:var(--tx-2xs); font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.side-title-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; padding:2px 6px; margin-bottom:2px; border:0; outline:none; background:none; cursor:pointer; }
.side-title-toggle:hover { color:rgba(247,244,238,.75); }
.side-collapse-icon { font-size:9px; opacity:.55; transition:transform var(--t-fast); }
.side-section.collapsed .side-collapse-icon { transform:rotate(-90deg); }
.side-section-body { display:grid; gap:2px; }
.side-section.collapsed .side-section-body { display:none; }
.side-filter { padding:6px 9px; font-size:var(--tx-sm); color:rgba(247,244,238,.75); border-radius:var(--r-md); }
.side-filter:hover, .side-filter.active { background:rgba(255,255,255,.09); color:#fff; }
.status-dot { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:var(--r-pill); vertical-align:1px; background:rgba(247,244,238,.45); }
.dot--all { background:rgba(247,244,238,.55); }
.dot--oczekujący { background:var(--accent-strong); }
.dot--zaimportowany { background:#6f5aa8; }
.dot--szkic { background:var(--muted); }
.dot--gotowy { background:var(--gold); }
.dot--opublikowany { background:var(--ok); }
.filter-stack { display:flex; flex-wrap:wrap; gap:var(--sp-1); }
.filter-chip { border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.05); color:rgba(247,244,238,.8); border-radius:var(--r-pill); padding:3px 9px; font-size:var(--tx-xs); cursor:pointer; }
.filter-chip.active { border-color:rgba(255,255,255,.38); background:rgba(255,255,255,.14); color:#fff; }
#categoryFilters { display:grid !important; gap:2px; width:100%; }
.cat-folder { width:100%; min-width:0; border-radius:var(--r-md); overflow:hidden; }
.cat-folder-header { width:100%; display:flex; align-items:center; gap:6px; padding:6px 8px; border:0; outline:none; background:none; color:rgba(247,244,238,.75); font-size:var(--tx-sm); font-weight:400; text-align:left; border-radius:var(--r-md); cursor:pointer; overflow:hidden; transition:background var(--t-fast),color var(--t-fast); }
.cat-folder-header:focus-visible { outline:2px solid rgba(247,244,238,.35); outline-offset:-2px; }
.cat-folder-header:hover { background:rgba(255,255,255,.08); color:#fff; }
.cat-folder.active .cat-folder-header { background:rgba(255,255,255,.1); color:#fff; }
.cat-folder-arrow { display:inline-block; flex-shrink:0; width:5px; height:5px; border-right:1.5px solid rgba(247,244,238,.45); border-bottom:1.5px solid rgba(247,244,238,.45); transform:rotate(-45deg) translateY(1px); transition:transform var(--t-base); }
.cat-folder-arrow.expanded { transform:rotate(45deg) translateY(-1px); }
.cat-folder-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cat-folder-count { flex-shrink:0; font-size:var(--tx-2xs); font-weight:700; color:rgba(247,244,238,.4); min-width:16px; text-align:right; }
.cat-folder-body { padding:2px 0 4px 14px; display:grid; gap:1px; }
.cat-folder-item { width:100%; padding:4px 8px; border:0; outline:none; background:transparent; color:rgba(247,244,238,.6); font-size:var(--tx-xs); text-align:left; border-radius:var(--r); cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; transition:background var(--t-fast),color var(--t-fast); }
.cat-folder-item:focus-visible { outline:2px solid rgba(247,244,238,.35); outline-offset:-2px; }
.cat-folder-item:hover { background:rgba(255,255,255,.07); color:#fff; }
.cat-folder-empty { display:block; padding:4px 8px; color:rgba(247,244,238,.3); font-size:var(--tx-xs); font-style:italic; }
.sidebar-footer { position:sticky; bottom:0; display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2); margin-top:var(--sp-6); padding-top:var(--sp-3); background:linear-gradient(to top,#19252f 80%,rgba(25,37,47,0)); }
.portal-switcher { min-width:0; width:112px; height:30px; border:1px solid rgba(255,255,255,.14); border-radius:var(--r-md); background:rgba(255,255,255,.08); color:#fff; padding:0 7px; font-size:var(--tx-xs); font-weight:800; }
.portal-switcher option { color:var(--ink); background:#fff; }
.user-chip { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:rgba(247,244,238,.74); font-size:var(--tx-sm); font-weight:700; }
.sidebar-logout { flex:0 0 auto; color:rgba(247,244,238,.7); }
.sidebar-logout:hover { background:rgba(255,255,255,.1); color:#fff; }
.workspace { min-width:0; padding:22px var(--sp-6); }
.topbar { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--sp-5); margin-bottom:var(--sp-5); }
.topbar-copy p { color:var(--gold); font-size:var(--tx-xs); font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:2px; }
.topbar-copy h1 { font-size:var(--tx-xl); line-height:1.18; letter-spacing:-.02em; font-weight:800; }
.topbar-eyebrow { color:var(--gold); font-size:var(--tx-xs); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.topbar-title { font-size:var(--tx-xl); line-height:1.18; letter-spacing:-.02em; font-weight:800; }
.topbar-actions { display:flex; justify-content:flex-end; align-items:center; gap:var(--sp-2); flex-wrap:wrap; }
.topbar-sep { width:1px; height:var(--h-input); background:var(--line); }
.search-box { display:flex; align-items:center; gap:7px; min-width:min(380px,40vw); padding:0 11px; height:var(--h-input); background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:0 1px 0 rgba(23,33,43,.03); transition:border-color var(--t-base); }
.search-icon { flex:0 0 auto; color:var(--muted); }
.search-box:focus-within { border-color:var(--accent); box-shadow:var(--focus-ring); }
.search-box span { color:var(--muted); font-size:17px; line-height:1; }
.search-box input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--ink); font-size:var(--tx-body); }
.button, .text-button, .icon-button, .btn-action, .icon-btn { border:0; border-radius:var(--r); min-height:var(--h-btn); }
.button, .btn-action { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 var(--sp-3); font-weight:700; font-size:var(--tx-body); white-space:nowrap; text-decoration:none; transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),box-shadow var(--t-fast); }
.fa-solid, .fa-regular, .fa-brands { display:inline-grid; place-items:center; width:1em; height:1em; line-height:1; flex:0 0 auto; }
.fa-solid::before, .fa-regular::before, .fa-brands::before { content:""; display:block; width:1em; height:1em; background:currentColor; -webkit-mask:var(--fa-mask) center / contain no-repeat; mask:var(--fa-mask) center / contain no-repeat; }
.fa-table-cells-large { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M64 96h128v128H64V96zm0 192h128v128H64V288zm192-192h192v128H256V96zm0 192h192v128H256V288z'/%3E%3C/svg%3E"); }
.fa-align-left { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M64 96h384v48H64V96zm0 96h256v48H64v-48zm0 96h384v48H64v-48zm0 96h256v48H64v-48z'/%3E%3C/svg%3E"); }
.fa-calendar-days { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M152 32h48v64h112V32h48v64h72c26.5 0 48 21.5 48 48v288c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h72V32zm280 192H80v208h352V224zM96 160v32h320v-32H96z'/%3E%3C/svg%3E"); }
.fa-clock { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zm24 112v88l72 43-24 39-96-58V160h48z'/%3E%3C/svg%3E"); }
.fa-arrow-right-from-bracket { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M320 96h96v320h-96v-48h48V144h-48V96zM288 176l80 80-80 80v-56H96v-48h192v-56z'/%3E%3C/svg%3E"); }
.fa-plus { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M256 80c13.3 0 24 10.7 24 24v128h128c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v128c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H104c-13.3 0-24-10.7-24-24s10.7-24 24-24h128V104c0-13.3 10.7-24 24-24z'/%3E%3C/svg%3E"); }
.fa-file-import { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M112 32h224l96 96v352H112V32zm208 32v80h80L320 64zM80 256l96-96v64h112v64H176v64l-96-96z'/%3E%3C/svg%3E"); }
.fa-file-export { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M112 32h224l96 96v352H112V32zm208 32v80h80L320 64zm-64 160h80v-64l96 96-96 96v-64h-80v-64z'/%3E%3C/svg%3E"); }
.fa-gear { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M256 176a80 80 0 1 0 0 160 80 80 0 1 0 0-160zm224 80c0 17-3 34-8 49l48 37-48 83-57-23c-24 21-54 36-87 43l-9 61h-96l-9-61c-33-7-63-22-87-43l-57 23-48-83 48-37c-5-15-8-32-8-49s3-34 8-49l-48-37 48-83 57 23c24-21 54-36 87-43l9-61h96l9 61c33 7 63 22 87 43l57-23 48 83-48 37c5 15 8 32 8 49z'/%3E%3C/svg%3E"); }
.fa-arrow-left { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M224 96 64 256l160 160v-96h224V192H224V96z'/%3E%3C/svg%3E"); }
.fa-pen { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M373 32l107 107-276 276-128 32 32-128L373 32zm-32 74L150 297l65 65 191-191-65-65z'/%3E%3C/svg%3E"); }
.fa-arrow-up-right-from-square { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M176 80h256v256h-48V162L141 405l-34-34 243-243H176V80zM80 112h160v48H128v224h224V272h48v160H80V112z'/%3E%3C/svg%3E"); }
.fa-play { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M144 96v320l256-160L144 96z'/%3E%3C/svg%3E"); }
.fa-pause { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M128 96h96v320h-96V96zm160 0h96v320h-96V96z'/%3E%3C/svg%3E"); }
.fa-copy { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M160 64h224v288h-48V112H160V64zm-32 96h224v288H128V160zm48 48v192h128V208H176z'/%3E%3C/svg%3E"); }
.fa-magnifying-glass { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M208 64a144 144 0 1 0 0 288 144 144 0 1 0 0-288zM16 208a192 192 0 1 1 342.9 118.9l121.4 121.4c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L326.9 362.9A192 192 0 0 1 16 208z'/%3E%3C/svg%3E"); }
.fa-clone { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M128 96h288v288H128V96zm-32 64H64v256c0 17.7 14.3 32 32 32h256v-32H96V160z'/%3E%3C/svg%3E"); }
.fa-trash-can { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M176 64h160l16 48h80v48H80v-48h80l16-48zm-48 128h256l-24 288H152l-24-288zm80 48v192h32V240h-32zm64 0v192h32V240h-32z'/%3E%3C/svg%3E"); }
.fa-spinner { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M256 48a208 208 0 1 1-147 355l34-34A160 160 0 1 0 256 96V48z'/%3E%3C/svg%3E"); }
.fa-wand-magic-sparkles { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M160 352l224-224 48 48-224 224-48-48zm-32 32l48 48-64 64-48-48 64-64zM96 64l16 48 48 16-48 16-16 48-16-48-48-16 48-16 16-48zm288-32l12 36 36 12-36 12-12 36-12-36-36-12 36-12 12-36zm48 256l12 36 36 12-36 12-12 36-12-36-36-12 36-12 12-36z'/%3E%3C/svg%3E"); }
.fa-floppy-disk { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M80 48h304l48 48v368H80V48zm64 48v128h224V96h-48v80H192V96h-48zm32 224v96h160v-96H176z'/%3E%3C/svg%3E"); }
.fa-xmark { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M400 145.5 366.5 112 256 222.5 145.5 112 112 145.5 222.5 256 112 366.5 145.5 400 256 289.5 366.5 400 400 366.5 289.5 256 400 145.5z'/%3E%3C/svg%3E"); }
.fa-link { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M200 288l-32 32c-35 35-92 35-128 0s-35-92 0-128l64-64c35-35 92-35 128 0l16 16-34 34-16-16c-17-17-45-17-62 0l-64 64c-17 17-17 45 0 62s45 17 62 0l32-32 34 32zm112-64l32-32c17-17 45-17 62 0s17 45 0 62l-64 64c-17 17-45 17-62 0l-16-16-34 34 16 16c35 35 92 35 128 0l64-64c35-35 35-92 0-128s-92-35-128 0l-32 32 34 32zm-144 48 128-128 34 34-128 128-34-34z'/%3E%3C/svg%3E"); }
.fa-upload { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M256 64l128 128h-80v128h-96V192h-80L256 64zM96 352h64v48h192v-48h64v96H96v-96z'/%3E%3C/svg%3E"); }
.fa-envelope { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M64 96h384c17.7 0 32 14.3 32 32v256c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zm0 64v32l192 96 192-96v-32L256 256 64 160zm0 86v138h384V246L256 342 64 246z'/%3E%3C/svg%3E"); }
.fa-rotate { --fa-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M448 128V32h-48v52C361 52 310 32 256 32 132 32 32 132 32 256s100 224 224 224c79 0 152-42 193-110l-41-25c-32 54-90 87-152 87-97 0-176-79-176-176S159 80 256 80c42 0 82 15 114 42h-66v48h144v-42z'/%3E%3C/svg%3E"); }
.fa-spin::before { animation:fa-spin 1s linear infinite; }
@keyframes fa-spin {
  to { transform:rotate(360deg); }
}
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.icon-action { width:34px; min-width:34px; padding:0; }
.button.primary, .btn--primary { background:var(--accent); color:#fff; box-shadow:0 1px 3px rgba(39,108,115,.3); }
.button.primary:hover, .btn--primary:hover { background:var(--accent-strong); box-shadow:0 2px 6px rgba(39,108,115,.35); }
.button.ghost, .btn--ghost { border:1px solid var(--line); background:var(--surface); color:var(--ink); }
.button.ghost:hover, .btn--ghost:hover { border-color:var(--line-strong); background:#fff; }
.button.danger, .btn--danger { color:var(--danger); }
.btn--accent-ghost { color:var(--accent); }
.text-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:0; color:var(--accent); background:transparent; font-weight:700; font-size:var(--tx-body); }
.text-button:hover { color:var(--accent-strong); }
.icon-button, .icon-btn { display:inline-grid; place-items:center; width:34px; height:34px; background:transparent; color:var(--muted); font-size:26px; line-height:1; border-radius:var(--r-md); }
.icon-btn .fa-solid, .icon-btn .fa-regular { font-size:15px; }
.icon-button:hover, .icon-btn:hover { background:var(--soft); color:var(--ink); }
.view { display:none; }
.view.active { display:block; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--sp-3); margin-bottom:var(--sp-3); }
.metric-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:var(--sp-3) var(--sp-4); min-height:106px; border-top-width:3px; box-shadow:var(--shadow-soft); position:relative; overflow:hidden; }
.metric-card:nth-child(1) { border-top-color:var(--accent); }
.metric-card:nth-child(2) { border-top-color:var(--ok); }
.metric-card:nth-child(3) { border-top-color:var(--gold); }
.metric-card:nth-child(4) { border-top-color:var(--danger); }
.metric-card span { display:block; color:var(--muted); font-weight:800; font-size:var(--tx-xs); text-transform:uppercase; letter-spacing:.08em; margin-bottom:var(--sp-1); }
.metric-card strong { display:block; font-size:var(--tx-2xl); line-height:1; font-weight:900; letter-spacing:-.03em; }
.metric-card p { color:var(--muted); margin-top:var(--sp-1); font-size:var(--tx-sm); }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:var(--sp-2); margin-bottom:var(--sp-3); }
.dashboard-grid--scores { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dashboard-grid--secondary { grid-template-columns:repeat(3,minmax(0,1fr)); }
.panel, .article-list-panel, .reader-panel { background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow-soft); }
.panel { padding:var(--sp-4); }
.span-2 { grid-column:span 2; }
.admin-alerts { display:grid; gap:var(--sp-2); margin-bottom:var(--sp-3); }
.admin-alert { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); padding:var(--sp-3) var(--sp-4); border-radius:var(--r); background:var(--gold-soft); border:1px solid rgba(197,150,60,.3); color:var(--ink); font-size:var(--tx-sm); font-weight:700; }
.admin-alert a, .admin-alert button { color:var(--gold); font-weight:800; }
.score-panel { display:grid; gap:var(--sp-2); align-content:start; }
.score-value { font-size:var(--tx-lg); font-weight:900; color:var(--accent-strong); }
.score-bar { height:10px; border-radius:var(--r-pill); background:var(--soft); overflow:hidden; }
.score-bar-fill { height:100%; border-radius:var(--r-pill); width:0%; transition:width .4s ease; }
.score-bar-fill--quality { background:var(--accent); }
.score-bar-fill--completion { background:var(--ok); }
.score-hint { color:var(--muted); font-size:var(--tx-sm); margin:0; }
.timeline-chart { display:flex; align-items:flex-end; gap:6px; height:140px; padding-top:var(--sp-2); }
.timeline-bar-col { flex:1 1 0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:4px; height:100%; min-width:0; }
.timeline-bar { width:100%; max-width:28px; border-radius:4px 4px 0 0; background:var(--accent); min-height:3px; }
.timeline-bar-label { font-size:var(--tx-2xs); color:var(--muted); white-space:nowrap; }
.timeline-bar-count { font-size:var(--tx-2xs); font-weight:800; color:var(--ink); }
.category-bars, .word-bucket-bars, .group-bars { display:grid; gap:var(--sp-2); }
.bar-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--sp-1); align-items:center; }
.bar-row-label { display:flex; justify-content:space-between; gap:var(--sp-2); font-size:var(--tx-sm); grid-column:1 / -1; }
.bar-row-label strong { color:var(--ink); font-weight:800; }
.bar-track { grid-column:1 / -1; height:8px; border-radius:var(--r-pill); background:var(--soft); overflow:hidden; }
.bar-track-fill { height:100%; border-radius:var(--r-pill); background:var(--accent); }
.pipeline-mini { display:grid; gap:var(--sp-2); }
.pipeline-mini-row { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2); padding:var(--sp-2) var(--sp-3); border:1px solid var(--line); border-radius:var(--r-md); background:#fff; }
.pipeline-mini-row strong { font-size:var(--tx-lg); font-weight:900; }
.panel-heading, .section-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4); margin-bottom:var(--sp-3); }
.panel-heading h2, .form-section h3, .section-heading h3 { font-size:var(--tx-md); font-weight:700; line-height:1.25; }
.image-actions { display:flex; align-items:center; justify-content:flex-end; gap:var(--sp-2); flex-wrap:wrap; }
.row-list { display:grid; gap:6px; }
.row-card { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--sp-3); align-items:center; padding:var(--sp-2) var(--sp-3); border:1px solid var(--line); border-radius:var(--r-md); background:#fff; text-align:left; transition:border-color var(--t-fast),box-shadow var(--t-fast); }
.row-card:hover { border-color:var(--line-strong); box-shadow:var(--shadow-soft); }
.row-card strong { display:block; font-size:var(--tx-body); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.row-card>span:first-child>span { display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-1); margin-top:3px; font-size:var(--tx-sm); color:var(--muted); }
.calendar-panel { width:100%; }
.calendar-heading { align-items:center; }
.calendar-actions { display:flex; gap:var(--sp-1); flex-wrap:wrap; }
.calendar-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--sp-2); margin-bottom:var(--sp-3); }
.calendar-summary article { min-height:86px; padding:var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:var(--surface); }
.calendar-summary span { display:block; color:var(--muted); font-size:var(--tx-xs); font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.calendar-summary strong { display:block; margin-top:var(--sp-1); color:var(--ink); font-size:var(--tx-xl); line-height:1.1; }
.calendar-summary p { margin-top:var(--sp-1); color:var(--muted); font-size:var(--tx-xs); line-height:1.35; }
.calendar-controls { display:flex; justify-content:space-between; gap:var(--sp-2); flex-wrap:wrap; margin-bottom:var(--sp-3); }
.compact-segmented button { min-height:var(--h-btn-sm); padding:0 var(--sp-2); font-size:var(--tx-sm); }
.calendar-weekdays, .publication-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:var(--sp-1); }
.calendar-weekdays { margin-bottom:var(--sp-1); }
.calendar-weekdays span { color:var(--muted); font-size:var(--tx-xs); font-weight:800; letter-spacing:.06em; text-align:center; text-transform:uppercase; }
.calendar-day { min-height:164px; padding:var(--sp-2); border:1px solid var(--line); border-radius:var(--r); background:#fff; overflow:hidden; transition:border-color var(--t-fast),box-shadow var(--t-fast); }
.calendar-day.has-events { background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%); }
.calendar-day.is-busy { border-color:rgba(39,108,115,.35); }
.calendar-day.muted-day { background:var(--soft); opacity:.45; }
.calendar-day.today { border-color:var(--accent); box-shadow:inset 0 0 0 1px rgba(39,108,115,.18); }
.calendar-day-head { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-1); margin-bottom:var(--sp-1); }
.calendar-day-number { color:var(--muted); font-size:var(--tx-xs); font-weight:900; }
.calendar-day-count { display:inline-flex; align-items:center; justify-content:center; min-width:20px; min-height:20px; border-radius:var(--r-pill); background:var(--accent-soft); color:var(--accent-strong); font-size:var(--tx-xs); font-weight:900; }
.calendar-day-empty { display:block; padding-top:var(--sp-2); color:var(--muted); font-size:var(--tx-xs); opacity:.58; }
.calendar-events { display:grid; gap:var(--sp-1); }
.calendar-event { display:grid; gap:3px; width:100%; min-height:0; padding:7px; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:var(--r-md); background:var(--accent-soft); color:var(--accent-strong); font-size:var(--tx-xs); line-height:1.25; text-align:left; }
.calendar-event:hover { border-color:var(--accent); box-shadow:var(--shadow-soft); }
.calendar-event-top { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-1); }
.calendar-event-top b { font-size:var(--tx-2xs); letter-spacing:.06em; text-transform:uppercase; }
.calendar-event strong { color:var(--ink); font-size:var(--tx-xs); font-weight:800; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.calendar-event small { color:var(--muted); font-size:var(--tx-2xs); line-height:1.3; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.calendar-event--jbzd { border-left-color:var(--gold); background:var(--gold-soft); }
.calendar-event--fanpage { border-left-color:var(--ok); background:var(--ok-soft); }
.calendar-event--waiting { opacity:.86; }
.calendar-empty { grid-column:1 / -1; }
.calendar-upcoming { margin-top:var(--sp-4); padding-top:var(--sp-4); border-top:1px solid var(--line); }
.calendar-upcoming-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--sp-2); }
.calendar-upcoming-heading h3 { font-size:var(--tx-md); font-weight:800; }
.calendar-upcoming-heading span { color:var(--muted); font-size:var(--tx-xs); font-weight:800; }
.calendar-upcoming-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--sp-2); }
.calendar-upcoming-item { display:grid; gap:3px; text-align:left; padding:var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:#fff; }
.calendar-upcoming-item:hover { border-color:var(--accent); box-shadow:var(--shadow-soft); }
.calendar-upcoming-item span { color:var(--accent-strong); font-size:var(--tx-xs); font-weight:900; }
.calendar-upcoming-item strong { color:var(--ink); font-size:var(--tx-sm); line-height:1.35; }
.calendar-upcoming-item em { color:var(--muted); font-style:normal; font-size:var(--tx-xs); }
.articles-toolbar { display:flex; justify-content:space-between; align-items:center; gap:var(--sp-3); margin-bottom:var(--sp-3); }
.segmented { display:flex; gap:2px; background:var(--soft); border-radius:var(--r); padding:3px; }
.segmented button { min-height:var(--h-btn-sm); border:0; border-radius:var(--r-md); padding:0 var(--sp-2); background:transparent; color:var(--muted); font-weight:700; font-size:var(--tx-sm); transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast); }
.segmented button:hover { color:var(--ink); }
.segmented button.active { background:var(--surface); color:var(--ink); box-shadow:0 1px 4px rgba(23,33,43,.12); }
.sort-control { display:flex; align-items:center; gap:7px; color:var(--muted); font-weight:700; font-size:var(--tx-sm); white-space:nowrap; }
.sort-control select { height:var(--h-btn-sm); border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface); padding:0 9px; color:var(--ink); font-size:var(--tx-sm); }
.articles-layout { display:grid; grid-template-columns:1fr; gap:var(--sp-3); align-items:start; }
.articles-layout.has-reader { grid-template-columns:320px minmax(0,1fr); }
.articles-layout.has-reader .article-list-panel { max-height:calc(100vh - 150px); overflow-y:auto; }
.article-list-panel { overflow:hidden; }
.list-summary { padding:var(--sp-2) var(--sp-3); border-bottom:1px solid var(--line); color:var(--muted); font-weight:700; font-size:var(--tx-sm); letter-spacing:.01em; }
.article-list { max-height:calc(100vh - 206px); overflow-y:auto; display:grid; }
.article-card { width:300px; display:grid; grid-template-columns:minmax(0,1fr); gap:var(--sp-2); align-items:start; padding:11px var(--sp-3); border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; transition:background var(--t-fast); border-left:3px solid transparent; }
.article-card.has-thumb { grid-template-columns:auto minmax(0,1fr); }
.article-card-thumb { width:58px; aspect-ratio:4 / 3; border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; background:var(--surface-2); }
.article-card-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.article-card-main { min-width:0; display:block; }
.article-card:hover { background:var(--soft); }
.article-card.active { background:var(--accent-soft); border-left-color:var(--accent); }
.article-card h3 { font-size:var(--tx-body); font-weight:700; line-height:1.35; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow-wrap:anywhere; margin-top:var(--sp-1); }
.article-card p { margin-top:var(--sp-1); color:var(--muted); font-size:var(--tx-sm); line-height:1.45; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.card-meta, .meta-line { display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-1); color:var(--muted); font-size:var(--tx-xs); }
.status-pill { display:inline-flex; align-items:center; min-height:var(--h-pill); border-radius:var(--r-pill); padding:0 7px; background:var(--soft); color:var(--muted); font-size:var(--tx-xs); font-weight:800; letter-spacing:.02em; text-transform:uppercase; }
.status-pill.waiting { background:var(--accent-soft); color:var(--accent-strong); }
.status-pill.imported { background:#ece8f8; color:#5b478f; }
.status-pill.ready { background:var(--ok-soft); color:var(--ok); }
.status-pill.published { background:var(--accent-soft); color:var(--accent-strong); }
.status-pill.draft { background:var(--gold-soft); color:var(--gold); }
.small-pill { display:inline-flex; align-items:center; min-height:var(--h-pill); border-radius:var(--r-pill); padding:0 7px; background:var(--soft); color:var(--ink); font-size:var(--tx-xs); font-weight:700; }
.reader-panel { min-height:calc(100vh - 180px); }
.empty-state { display:grid; align-content:center; justify-items:center; min-height:430px; padding:var(--sp-10); text-align:center; }
.empty-state span { display:inline-flex; margin-bottom:var(--sp-3); border-radius:var(--r-pill); padding:var(--sp-1) var(--sp-3); color:var(--accent-strong); background:var(--accent-soft); font-weight:800; font-size:var(--tx-sm); letter-spacing:.05em; text-transform:uppercase; }
.empty-state h2 { font-size:var(--tx-lg); font-weight:800; }
.empty-state p { max-width:380px; margin-top:var(--sp-2); color:var(--muted); }
.reader-toolbar { display:flex; align-items:center; gap:var(--sp-2); padding:var(--sp-2) var(--sp-4); border-bottom:1px solid var(--line); background:var(--surface); position:sticky; top:0; z-index:10; }
.reader-toolbar-meta { flex:1; display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; font-size:var(--tx-sm); color:var(--muted); min-width:0; overflow:hidden; }
.reader-toolbar-meta .reader-meta-cat { font-weight:600; color:var(--accent-strong); }
.reader-actions { display:flex; gap:0; flex-wrap:wrap; justify-content:flex-end; flex-shrink:0; }
.reader-action-group { display:inline-flex; align-items:center; gap:2px; padding:0 var(--sp-1); border-right:1px solid var(--line); }
.reader-action-group .btn-action { min-height:34px; border-radius:var(--r); font-size:var(--tx-sm); }
.reader-action-group .btn--ghost { background:transparent; border-color:transparent; }
.reader-action-group .btn--ghost:hover { border-color:var(--line); background:var(--soft); }
.reader-action-group:first-child { padding-left:0; }
.reader-action-group:last-child { padding-right:0; border-right:0; }
.reader-action-group--primary .btn--ghost { color:var(--accent-strong); }
.back-button { flex-shrink:0; white-space:nowrap; }
.reader-hero { position:relative; overflow:hidden; }
.reader-hero.has-image { height:340px; }
.reader-hero-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.35; }
.reader-hero-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,18,24,.85) 0%,rgba(10,18,24,.2) 60%,transparent 100%); }
.reader-hero-content { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; height:100%; padding:var(--sp-6) var(--sp-8) var(--sp-6); }
.reader-hero-plain { padding:var(--sp-6) var(--sp-8) var(--sp-4); border-bottom:1px solid var(--line); }
.reader-hero-cats { font-size:var(--tx-sm); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); margin-bottom:var(--sp-2); }
.reader-hero.has-image .reader-hero-cats { color:rgba(255,255,255,.75); }
.reader-hero-title { font-size:clamp(1.35rem,2.5vw,2rem); font-weight:800; line-height:1.18; letter-spacing:-.02em; color:var(--ink); margin:0 0 var(--sp-3); overflow-wrap:anywhere; }
.reader-hero.has-image .reader-hero-title { color:#fff; }
.reader-hero-meta { display:flex; flex-wrap:wrap; gap:var(--sp-3); font-size:var(--tx-sm); color:var(--muted); }
.reader-hero.has-image .reader-hero-meta { color:rgba(255,255,255,.65); }
.reader { display:grid; grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(200px,260px); column-gap:var(--sp-5); align-items:start; max-width:1600px; margin:0 auto; padding:var(--sp-5) var(--sp-6) var(--sp-10); }
.reader-col-left { position:sticky; top:var(--sp-12); display:flex; flex-direction:column; gap:var(--sp-3); padding-top:var(--sp-4); max-height:calc(100vh - 80px); overflow-y:auto; }
.reader-col-main { min-width:0; padding-top:var(--sp-4); }
.reader-col-main .reader-tabs { margin-bottom:var(--sp-4); }
.scenario-body { border:1px solid var(--line); border-radius:var(--r); padding:var(--sp-4); background:#fff; }
.reader-col-right { position:sticky; top:var(--sp-12); padding-top:var(--sp-4); max-height:calc(100vh - 80px); overflow-y:auto; }
.quick-status { display:flex; flex-wrap:wrap; gap:var(--sp-1); }
.quick-status button { min-height:var(--h-btn-xs); border:1px solid var(--line); border-radius:var(--r-md); padding:0 var(--sp-2); background:var(--surface); color:var(--muted); font-weight:700; font-size:var(--tx-sm); transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast); }
.quick-status button:hover { border-color:var(--line-strong); color:var(--ink); }
.quick-status button.active { border-color:var(--accent); background:var(--accent-soft); color:var(--accent-strong); }
.visual-actions-panel .detail-box { display:grid; gap:var(--sp-2); }
.visual-actions-panel select { height:var(--h-btn-sm); font-size:var(--tx-sm); }
.article-analysis { margin:0; }
.analysis-detail { display:grid; grid-template-columns:1fr; gap:var(--sp-2); }
.analysis-detail-header { display:flex; align-items:center; gap:var(--sp-2); }
.analysis-detail-header h3 { margin:0; }
.analysis-detail-summary, .analysis-detail-meta { min-width:0; }
.analysis-detail .analysis-summary { margin:0; }
.analysis-key-points { margin:0; padding-left:18px; color:var(--ink); font-size:var(--tx-body); line-height:1.5; }
.analysis-key-points li+li { margin-top:var(--sp-1); }
.analysis-detail .analysis-keywords { margin-bottom:var(--sp-2); }
.reader-gallery { display:flex; flex-direction:column; gap:var(--sp-3); }
.infographic-box { margin-bottom:var(--sp-3); }
.infographic-preview { display:block; overflow:hidden; border:1px solid var(--line); border-radius:var(--r-md); background:#fff; }
.infographic-preview img { display:block; width:100%; height:auto; }
.reader-gallery-item { margin:0; }
.reader-gallery-item a { display:block; border-radius:var(--r-md); overflow:hidden; border:1px solid var(--line); }
.reader-gallery-item img { width:100%; height:auto; display:block; transition:opacity var(--t-fast); }
.reader-gallery-item a:hover img { opacity:.85; }
.reader-gallery-item figcaption { margin-top:var(--sp-1); font-size:var(--tx-xs); color:var(--muted); line-height:1.4; }
.reader-gallery-item .img-source { color:var(--muted); opacity:.75; }
.reader-related { margin-top:var(--sp-8); padding-top:var(--sp-6); border-top:1px solid var(--line); }
.reader-related-title { font-size:var(--tx-md); font-weight:800; letter-spacing:-.01em; margin:0 0 var(--sp-4); color:var(--ink); }
.reader-related-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:var(--sp-3); }
.reader-related-card { display:flex; flex-direction:column; text-align:left; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:var(--surface); transition:box-shadow var(--t-fast),border-color var(--t-fast); cursor:pointer; }
.reader-related-card:hover { border-color:var(--accent); box-shadow:var(--shadow-soft); }
.reader-related-card img, .reader-related-placeholder { width:100%; height:110px; object-fit:cover; display:block; }
.reader-related-placeholder { background:var(--surface-raised); }
.reader-related-body { display:flex; flex-direction:column; gap:var(--sp-1); padding:var(--sp-2) var(--sp-3); }
.reader-related-cats { display:flex; flex-wrap:wrap; gap:4px; }
.reader-related-cat { display:inline-flex; width:fit-content; padding:2px 6px; border-radius:var(--r-pill); background:var(--accent-soft); font-size:var(--tx-xs); font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--accent); }
.reader-related-name { font-size:var(--tx-sm); font-weight:600; line-height:1.35; color:var(--ink); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.reader-related-reason { color:var(--muted); font-size:var(--tx-xs); line-height:1.45; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.article-body { max-width:none; }
.markdown-body { color:#1a2430; font-size:16px; line-height:1.68; text-align:justify; hyphens:auto; -webkit-hyphens:auto; hanging-punctuation:first; }
.markdown-body h1, .markdown-body h2, .markdown-body h3 { text-align:left; line-height:1.25; letter-spacing:-.01em; margin:1.6em 0 .5em; font-weight:800; }
.markdown-body h1 { font-size:1.5em; border-bottom:2px solid var(--line); padding-bottom:.3em; }
.markdown-body h2 { font-size:1.25em; border-bottom:1px solid var(--line); padding-bottom:.25em; }
.markdown-body h3 { font-size:1.08em; color:var(--accent-strong); }
.markdown-body h1:first-child, .markdown-body h2:first-child, .markdown-body h3:first-child, .markdown-body p:first-child { margin-top:0; }
.markdown-body p, .markdown-body ul, .markdown-body ol, .markdown-body blockquote, .markdown-body pre { margin:0 0 1.05em; }
.markdown-body ul, .markdown-body ol { padding-left:1.5em; text-align:left; }
.markdown-body li+li { margin-top:.3em; }
.markdown-body blockquote { text-align:left; border-left:3px solid var(--accent); background:var(--accent-soft); border-radius:0 var(--r-md) var(--r-md) 0; padding:var(--sp-2) var(--sp-4); color:var(--accent-strong); font-style:italic; margin-left:0; margin-right:0; }
.markdown-body code { background:#eef2f3; border:1px solid var(--line); border-radius:var(--r-sm); padding:1px 5px; font-size:.88em; font-family:ui-monospace,"Cascadia Code","Fira Code",Menlo,monospace; color:var(--accent-strong); }
.markdown-body pre { background:#f0f4f5; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:0 var(--r-md) var(--r-md) 0; overflow-x:auto; padding:var(--sp-3) var(--sp-4); }
.markdown-body pre code { background:none; border:0; padding:0; font-size:.85em; color:var(--ink); }
.markdown-body hr { border:0; border-top:1px solid var(--line); margin:2em 0; }
.markdown-body a { color:var(--accent); text-decoration:underline; text-decoration-color:rgba(39,108,115,.35); text-underline-offset:2px; }
.markdown-body a:hover { color:var(--accent-strong); text-decoration-color:var(--accent); }
.visual-action-buttons { display:flex; flex-wrap:wrap; gap:var(--sp-1); }
.visual-action-buttons .button { flex:1 1 120px; justify-content:center; min-height:var(--h-btn-xs); font-size:var(--tx-sm); }
.inline-actions { display:flex; flex-wrap:wrap; gap:var(--sp-2); align-items:center; }
.analysis-options { display:flex; flex-wrap:wrap; gap:var(--sp-3); margin:var(--sp-3) 0; }
.detail-box, .visual-box { padding:var(--sp-3) var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:rgba(255,253,249,.96); backdrop-filter:blur(8px); }
.detail-box h3 { margin-bottom:var(--sp-2); font-size:var(--tx-xs); text-transform:uppercase; letter-spacing:.08em; font-weight:800; color:var(--muted); }
.detail-box p { font-size:var(--tx-body); line-height:1.5; color:var(--ink); }
.detail-box p+p { margin-top:var(--sp-1); }
.detail-row { display:flex; align-items:baseline; gap:var(--sp-1); font-size:var(--tx-body); padding:3px 0; }
.detail-row .detail-label { color:var(--muted); font-size:var(--tx-sm); min-width:60px; flex-shrink:0; }
.detail-ok { color:var(--ok); font-weight:700; }
.planned-form { display:grid; grid-template-columns:minmax(220px,1.4fr) minmax(160px,.8fr) minmax(180px,1fr) minmax(110px,.5fr) minmax(150px,.6fr) minmax(220px,1fr) auto; gap:var(--sp-2); margin-bottom:var(--sp-3); }
.planner-form { grid-template-columns:minmax(0,1fr) minmax(230px,auto); align-items:start; }
.planner-form textarea { width:100%; min-height:118px; border:1px solid var(--line); border-radius:var(--r); background:#fff; color:var(--ink); padding:var(--sp-3); resize:vertical; }
.planner-actions { display:flex; flex-direction:column; align-items:stretch; gap:var(--sp-2); }
.planner-run-log { display:grid; gap:var(--sp-1); max-height:190px; overflow:auto; margin:0 0 var(--sp-3); padding:var(--sp-2); border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface-2); font-size:var(--tx-sm); }
.planner-run-log p { margin:0; color:var(--muted); }
.planner-log-entry { display:grid; grid-template-columns:68px minmax(0,1fr); gap:var(--sp-2); align-items:start; }
.planner-log-entry time { color:var(--muted); font-variant-numeric:tabular-nums; }
.planner-log-entry.is-warning span { color:var(--warning); font-weight:700; }
.planner-log-entry.is-error span { color:var(--danger); font-weight:700; }
.planned-import { display:grid; gap:var(--sp-2); margin-bottom:var(--sp-4); }
.planned-import textarea { width:100%; min-height:110px; border:1px solid var(--line); border-radius:var(--r); background:#fff; color:var(--ink); padding:var(--sp-3); resize:vertical; }
.planned-import-actions { display:flex; align-items:center; justify-content:flex-end; gap:var(--sp-2); flex-wrap:wrap; }
.planned-list { display:grid; gap:var(--sp-1); }
.planned-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--sp-3); align-items:start; padding:11px var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:#fff; transition:border-color var(--t-fast); }
.planned-item:hover { border-color:var(--line-strong); }
.planned-item strong { font-size:var(--tx-body); font-weight:700; }
.planned-item .muted { font-size:var(--tx-sm); margin-top:2px; }
.planned-meta, .planned-suggestions, .planned-duplicates, .planned-used { display:flex; flex-wrap:wrap; gap:var(--sp-1); margin-top:var(--sp-2); }
.planned-suggestions span, .planned-duplicates span, .planned-used span { display:inline-flex; align-items:center; min-height:var(--h-pill); border-radius:var(--r-pill); padding:0 8px; font-size:var(--tx-xs); font-weight:700; background:var(--soft); color:var(--ink); }
.planned-duplicates span { background:var(--danger-soft); color:var(--danger); }
.planned-used span { background:var(--ok-soft); color:var(--ok); }
.planned-proposals { display:grid; gap:var(--sp-2); margin-top:var(--sp-3); }
.planned-proposal { display:grid; gap:var(--sp-2); padding:var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:var(--surface); }
.planned-proposal p { color:var(--muted); font-size:var(--tx-sm); }
.planned-proposal .btn-action { justify-self:start; }
.planned-proposal-picker { display:grid; gap:var(--sp-2); margin-top:var(--sp-3); max-width:720px; }
.planned-title-select, .planned-custom-title { width:100%; min-height:40px; border:1px solid var(--line); border-radius:var(--r); background:#fff; color:var(--ink); padding:0 var(--sp-2); font:inherit; }
.planned-custom-title:focus { outline:none; border-color:var(--accent); box-shadow:var(--focus-ring); }
.planned-selected-description { color:var(--muted); font-size:var(--tx-sm); line-height:1.5; }
.planner-draft { border-color:var(--accent-soft); box-shadow:var(--shadow-soft); }
.planner-draft-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2); flex-wrap:wrap; }
.planned-synopsis-input { width:100%; min-height:96px; border:1px solid var(--line); border-radius:var(--r); background:#fff; color:var(--ink); padding:var(--sp-3); font:inherit; line-height:1.5; resize:vertical; }
.planned-title-list { display:grid; gap:var(--sp-2); margin-top:var(--sp-3); }
.planned-title-row { display:grid; grid-template-columns:minmax(220px,1fr) auto; gap:var(--sp-2); align-items:center; padding:var(--sp-2); border:1px solid var(--line); border-radius:var(--r); background:var(--surface); }
.planned-title-row .planned-duplicates { grid-column:1 / -1; margin-top:0; }
.duplicate-score { display:inline-flex; align-items:center; justify-content:center; min-height:var(--h-pill); border-radius:var(--r-pill); padding:0 8px; background:var(--ok-soft); color:var(--ok); font-size:var(--tx-xs); font-weight:800; white-space:nowrap; }
.duplicate-score.is-high { background:var(--danger-soft); color:var(--danger); }
.planned-separator { color:var(--muted); font-size:var(--tx-xs); font-weight:800; text-transform:uppercase; letter-spacing:.08em; margin:var(--sp-3) 0 var(--sp-1); }
/* ── Widok Reelsy ─────────────────────────────────────────────────────────── */
.reader-reels-body { padding-top:var(--sp-2); }
.reader-reels-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:var(--sp-3); }
.reader-reel-item { margin:0; }
.reader-reel-thumb { position:relative; cursor:zoom-in; border-radius:var(--r-md); overflow:hidden; aspect-ratio:9/16; background:var(--surface-2); border:1px solid var(--line); }
.reader-reel-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s; }
.reader-reel-thumb:hover img { transform:scale(1.04); }
.reader-reel-zoom-hint { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.35); color:#fff; font-size:1.4rem; opacity:0; transition:opacity .15s; pointer-events:none; }
.reader-reel-thumb:hover .reader-reel-zoom-hint { opacity:1; }
.reel-view-badges { display:flex; flex-wrap:wrap; gap:3px; margin-top:3px; }
.reel-scenario-badge { display:inline-flex; align-items:center; padding:1px 6px; background:var(--gold-soft); color:var(--gold); border-radius:var(--r-pill); font-size:var(--tx-2xs); font-weight:700; white-space:nowrap; }
.reel-cat-badge { display:inline-flex; align-items:center; padding:1px 6px; background:var(--accent-soft); color:var(--accent-strong); border-radius:var(--r-pill); font-size:var(--tx-2xs); font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:90px; }
.reels-view-toolbar { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); margin-bottom:var(--sp-4); flex-wrap:wrap; }
.reels-view-filters { display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; }
.reels-search-field { width:220px; }
.reels-view-count { color:var(--muted); font-size:var(--tx-sm); font-weight:700; }
.reels-view-grid { display:grid; grid-template-columns:repeat(auto-fill,185px); gap:16px; width:100%; }
.reel-view-card { width:185px; min-width:0; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--shadow-soft); overflow:hidden; transition:box-shadow .15s, transform .15s; cursor:default; }
.reel-view-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); }
.reel-view-thumb { position:relative; width:100%; aspect-ratio:9/16; overflow:hidden; cursor:zoom-in; background:var(--surface-2); flex-shrink:0; }
.reel-view-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s; }
.reel-view-card:hover .reel-view-thumb img { transform:scale(1.05); }
.reel-view-zoom-hint { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.35); color:#fff; font-size:1.4rem; opacity:0; transition:opacity .15s; pointer-events:none; }
.reel-view-card:hover .reel-view-zoom-hint { opacity:1; }
.reel-view-meta { padding:8px 10px 4px; display:flex; flex-direction:column; gap:4px; flex:1 1 auto; min-width:0; }
.reel-view-title { font-size:var(--tx-sm); font-weight:700; color:var(--ink); line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.reel-status-badge { display:inline-block; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; padding:1px 6px; border-radius:var(--r-pill); width:fit-content; }
.reel-status-opublikowany { background:#d1fae5; color:#065f46; }
.reel-status-gotowy { background:#dbeafe; color:#1e40af; }
.reel-status-szkic { background:#f3f4f6; color:#4b5563; }
.reel-status-zaimportowany { background:#fef3c7; color:#92400e; }
.reel-status-oczekujący { background:#ede9fe; color:#5b21b6; }
.reel-view-actions { display:flex; gap:4px; padding:6px 8px 8px; border-top:1px solid var(--line); background:var(--surface-2); flex-wrap:wrap; }
.reel-action-copy-img, .reel-action-copy-link { flex:1 1 0; display:flex; align-items:center; justify-content:center; gap:4px; font-size:11px; padding:4px 5px; white-space:nowrap; min-width:0; }
.reel-action-edit { flex:0 0 auto; padding:4px 8px; font-size:11px; }
/* ── Reel lightbox / modal ────────────────────────────────────────────────── */
.reel-lightbox { position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.88); display:flex; flex-direction:column; }
.reel-lightbox-header { flex:0 0 auto; display:flex; align-items:center; gap:var(--sp-3); padding:10px 16px; background:rgba(0,0,0,.5); backdrop-filter:blur(6px); border-bottom:1px solid rgba(255,255,255,.1); }
.reel-lightbox-title { flex:1 1 0; min-width:0; color:#fff; font-size:var(--tx-sm); font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.reel-lightbox-header-actions { display:flex; align-items:center; gap:var(--sp-2); flex-shrink:0; }
.reel-lightbox-btn { display:inline-flex; align-items:center; gap:5px; padding:5px 12px; border-radius:var(--r-md); border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.12); color:#fff; font-size:12px; font-weight:600; cursor:pointer; transition:background .15s; white-space:nowrap; }
.reel-lightbox-btn:hover { background:rgba(255,255,255,.25); }
.reel-lightbox-btn.ok { background:var(--ok); border-color:var(--ok); }
.reel-lightbox-close-btn { background:none; border:none; color:rgba(255,255,255,.7); font-size:1.4rem; cursor:pointer; line-height:1; padding:2px 4px; }
.reel-lightbox-close-btn:hover { color:#fff; }
.reel-lightbox-body { flex:1 1 0; overflow-y:auto; display:flex; align-items:flex-start; justify-content:center; padding:24px 60px; gap:var(--sp-4); }
.reel-lightbox-img-wrap { flex-shrink:0; }
.reel-lightbox-img-wrap img { display:block; max-width:min(420px,90vw); border-radius:var(--r-md); box-shadow:0 8px 48px rgba(0,0,0,.6); }
.reel-lightbox-footer { flex:0 0 auto; display:flex; align-items:center; justify-content:center; gap:var(--sp-3); padding:10px 16px; background:rgba(0,0,0,.4); border-top:1px solid rgba(255,255,255,.1); }
.reel-lightbox-nav { background:rgba(255,255,255,.15); border:none; color:#fff; font-size:1.2rem; cursor:pointer; padding:8px 16px; border-radius:var(--r-md); line-height:1; transition:background .15s; }
.reel-lightbox-nav:hover { background:rgba(255,255,255,.3); }
.reel-lightbox-counter { color:rgba(255,255,255,.7); font-size:var(--tx-sm); min-width:60px; text-align:center; }
/* ── Narzędzia ────────────────────────────────────────────────────────────── */
.tools-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-3); align-items:stretch; margin-bottom:var(--sp-3); }
.tool-panel { display:flex; flex-direction:column; gap:var(--sp-3); }
.tool-panel .panel-heading { margin-bottom:0; }
.tool-copy { min-height:58px; font-size:var(--tx-body); line-height:1.55; }
.tool-controls { display:grid; gap:var(--sp-2); margin-top:auto; }
.tool-controls .compact-field { margin:0; }
.tool-results-panel { max-width:1100px; }
.tool-log { display:grid; gap:var(--sp-1); max-height:180px; overflow:auto; margin-bottom:var(--sp-3); padding:var(--sp-2); border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface-2); font-size:var(--tx-sm); }
.tool-log p { margin:0; color:var(--muted); }
.tool-log-entry { display:grid; grid-template-columns:68px minmax(0,1fr); gap:var(--sp-2); align-items:start; }
.tool-log-entry time { color:var(--muted); font-variant-numeric:tabular-nums; }
.tool-log-entry span { color:var(--ink); min-width:0; }
.tool-log-entry.error span { color:var(--danger); font-weight:700; }
.tool-results { display:grid; gap:var(--sp-3); }
.tool-result-head { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); color:var(--muted); font-size:var(--tx-sm); }
.tool-result-head strong { color:var(--ink); font-size:var(--tx-md); }
.tool-result-metrics { display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.tool-result-pill { display:inline-flex; align-items:center; gap:6px; min-height:var(--h-btn-sm); padding:0 var(--sp-2); border:1px solid var(--line); border-radius:var(--r-pill); background:#fff; color:var(--muted); font-size:var(--tx-sm); }
.tool-result-pill strong { color:var(--accent-strong); font-size:var(--tx-base); }
.tool-result-list { display:grid; gap:var(--sp-1); margin:0; padding:0; list-style:none; }
.tool-result-list li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--sp-2); align-items:center; padding:var(--sp-2); border:1px solid var(--line); border-radius:var(--r-md); background:#fff; font-size:var(--tx-sm); }
.tool-result-list strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tool-result-list span { color:var(--muted); }
.tool-result-list.errors li { border-color:rgba(162,55,55,.24); background:var(--danger-soft); }
.tool-result-subtitle { font-size:var(--tx-sm); color:var(--danger); margin-top:var(--sp-1); }
.drawer, .editor-drawer { position:fixed; inset:0; z-index:20; pointer-events:none; opacity:0; overflow:hidden; background:var(--surface); transition:opacity var(--t-slow) ease; }
.drawer.open, .editor-drawer.open { pointer-events:auto; opacity:1; }
.drawer-backdrop { display:none; }
.drawer-panel { position:absolute; inset:0; width:100%; height:100%; overflow-y:auto; overflow-x:hidden; background:var(--surface); box-shadow:none; padding:clamp(18px,3vw,42px); transform:translateY(18px); transition:transform var(--t-slow) ease; }
.editor-drawer .drawer-panel>form { width:min(1320px,calc(100vw - 48px)); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,340px); gap:var(--sp-5); align-items:start; }
.editor-col-main, .editor-col-side, .editor-col-wide { min-width:0; }
.editor-col-side { position:static; max-height:none; overflow:visible; padding-right:0; }
.editor-col-wide { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-4); align-items:start; }
.editor-col-wide .side-section-block { margin-bottom:0; }
.editor-block-distribution, .editor-block-sources, .editor-block-notes, .editor-block-scenario { min-width:0; }
.editor-block-distribution, .editor-block-images, .editor-block-related { grid-column:1 / -1; }
.drawer.open .drawer-panel, .editor-drawer.open .drawer-panel { transform:translateY(0); }
.editor-topbar { position:sticky; top:0; z-index:15; display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4); width:min(1320px,calc(100vw - 48px)); margin:0 auto var(--sp-5); padding:var(--sp-2) 0 var(--sp-3); background:var(--surface); border-bottom:1px solid var(--line); box-shadow:0 8px 18px rgba(247,244,238,.9); }
.editor-topbar-left, .drawer-heading-copy { flex:1 1 auto; min-width:0; }
.editor-topbar-actions { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-end; gap:var(--sp-2); flex-wrap:wrap; }
.drawer-eyebrow { color:var(--gold); font-size:var(--tx-xs); font-weight:800; text-transform:uppercase; letter-spacing:.08em; margin:0 0 3px; }
.drawer-title { margin:0; font-size:var(--tx-lg); font-weight:800; letter-spacing:-.01em; line-height:1.15; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.drawer-close { flex:0 0 auto; }
.drawer-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--sp-4); margin-bottom:var(--sp-5); }
.drawer-heading p { color:var(--gold); font-size:var(--tx-xs); font-weight:800; text-transform:uppercase; letter-spacing:.08em; margin-bottom:3px; }
.drawer-heading h2 { font-size:var(--tx-lg); font-weight:800; letter-spacing:-.01em; }
.field { display:grid; gap:var(--sp-1); margin-bottom:var(--sp-3); }
.field span, .check-field span { color:var(--muted); font-weight:800; font-size:var(--tx-xs); letter-spacing:.02em; }
input, textarea, select { width:100%; min-width:0; border:1px solid var(--line); border-radius:var(--r); background:#fff; color:var(--ink); outline:0; transition:border-color var(--t-base),box-shadow var(--t-base); }
input, select { height:var(--h-input); padding:0 11px; }
textarea { padding:var(--sp-2) 11px; min-height:100px; resize:vertical; line-height:1.6; }
#contentInput { min-height:320px; font-size:var(--tx-base); line-height:1.7; resize:vertical; overflow-y:auto; }
input:focus, textarea:focus, select:focus { border-color:var(--accent); box-shadow:var(--focus-ring); }
.field-label { display:inline-flex; align-items:center; gap:var(--sp-1); color:var(--muted); font-weight:800; font-size:var(--tx-xs); letter-spacing:.02em; }
.field-link { color:var(--accent); text-decoration:underline; text-decoration-color:rgba(39,108,115,.35); text-underline-offset:2px; }
.field-hint-inline { color:var(--muted); font-size:var(--tx-xs); font-weight:600; }
.field-input, .field-textarea { width:100%; }
.field-input--sm { height:var(--h-btn-sm); padding:0 var(--sp-2); font-size:var(--tx-sm); }
.field-textarea--sm { min-height:78px; font-size:var(--tx-body); }
.editor-title-input { height:52px; padding:0 14px; font-size:var(--tx-xl); font-weight:800; letter-spacing:-.02em; line-height:1.2; }
.editor-content-field { margin-bottom:var(--sp-4); }
.editor-content-textarea { min-height:420px; }
.editor-block-scenario { margin-bottom:0; }
.scenario-textarea { min-height:150px; font-size:var(--tx-body); }
.editor-block-reels { grid-column:1 / -1; margin-bottom:0; }
.reels-list { display:grid !important; grid-template-columns:repeat(auto-fill,130px); gap:var(--sp-3); padding-top:var(--sp-2); width:100%; }
.repeat-row.reel-row { display:block !important; position:relative; border-radius:var(--r-md); background:#fff; box-shadow:var(--shadow-soft); border:1px solid var(--line); overflow:hidden; cursor:grab; }
.reel-row .reel-thumb { display:block; width:100%; aspect-ratio:9/16; overflow:hidden; background:var(--surface-2); cursor:zoom-in; }
.reel-row .reel-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .2s; }
.reel-row:hover .reel-thumb img { transform:scale(1.04); }
.reel-row .reel-thumb .reel-no-img { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:2rem; }
.reel-row .reel-bar { display:flex; align-items:center; gap:4px; padding:4px 6px; background:#fff; }
.reel-row .drag-handle { font-size:14px; color:var(--muted); cursor:grab; flex:0 0 auto; line-height:1; }
.reel-row .reel-filename { flex:1 1 0; font-size:10px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.reel-row [data-remove-row] { flex:0 0 auto; padding:1px 5px; font-size:11px; opacity:0; transition:opacity .15s; }
.reel-row:hover [data-remove-row] { opacity:1; }
.repeat-row.reel-row.drag-over { outline:2px solid var(--accent); outline-offset:2px; }
.repeat-row.reel-row.dragging { opacity:.4; }
/* Reel lightbox */
.reel-lightbox { position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.92); display:flex; align-items:center; justify-content:center; }
.reel-lightbox img { max-height:95vh; max-width:95vw; object-fit:contain; border-radius:var(--r-md); box-shadow:0 8px 48px rgba(0,0,0,.6); }
.reel-lightbox-close { position:absolute; top:18px; right:22px; background:none; border:none; color:#fff; font-size:2rem; cursor:pointer; line-height:1; opacity:.8; }
.reel-lightbox-close:hover { opacity:1; }
.reel-lightbox-nav { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.12); border:none; color:#fff; font-size:2rem; cursor:pointer; padding:10px 16px; border-radius:var(--r-md); line-height:1; }
.reel-lightbox-nav:hover { background:rgba(255,255,255,.25); }
.reel-lightbox-prev { left:16px; }
.reel-lightbox-next { right:16px; }
.reel-lightbox-counter { position:absolute; bottom:18px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.7); font-size:var(--tx-sm); }
.editor-block-infographic { grid-column:1 / -1; }
.infographic-editor { display:grid; grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) minmax(160px,.7fr) minmax(180px,.8fr) auto; gap:var(--sp-2); align-items:center; }
.meta-badge { display:inline-flex; align-items:center; min-height:var(--h-btn-xs); padding:0 var(--sp-2); border:1px solid var(--line); border-radius:var(--r-pill); background:var(--surface-2); color:var(--muted); font-size:var(--tx-xs); font-weight:800; white-space:nowrap; }
.select-inline { width:auto; min-width:84px; height:var(--h-btn-sm); padding:0 var(--sp-2); font-size:var(--tx-sm); }
.checkbox-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:var(--sp-1) var(--sp-2); }
.visual-hint-section, .side-section-block { padding:var(--sp-4); margin-bottom:var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:#fff; }
.drop-active { position:relative; outline:2px dashed var(--accent); outline-offset:-3px; background:var(--accent-soft) !important; border-color:var(--accent) !important; transition:background var(--t-fast),outline var(--t-fast); }
.drop-active::after { content:"Upuść tutaj"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; border-radius:var(--r); font-weight:800; font-size:var(--tx-base); color:var(--accent); pointer-events:none; z-index:5; letter-spacing:.01em; }
.form-section-header, .side-section-header, .settings-section-header { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-1); margin-bottom:var(--sp-2); }
.form-section-title, .side-section-title, .settings-section-title { margin:0; color:var(--ink); font-size:var(--tx-sm); font-weight:800; line-height:1; }
.side-field-group { display:grid; gap:var(--sp-1); padding:var(--sp-4); margin-bottom:var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:#fff; }
.channel-row { display:grid; grid-template-columns:minmax(94px,.7fr) minmax(130px,.8fr) minmax(150px,1fr); gap:var(--sp-2); align-items:center; }
.channel-row+.channel-row { margin-top:var(--sp-2); }
.distribution-grid { display:grid; grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr); gap:var(--sp-3); align-items:start; }
.distribution-channels, .distribution-groups { min-width:0; }
.distribution-groups .repeat-list { gap:var(--sp-2); }
.distribution-groups .group-row { grid-template-columns:minmax(180px,1fr) 132px minmax(220px,1.2fr) auto; }
.channel-name { color:var(--ink); font-weight:700; font-size:var(--tx-body); }
.editor-meta { display:flex; align-items:center; gap:var(--sp-2); margin:-2px 0 var(--sp-3); color:var(--muted); font-size:var(--tx-sm); }
.editor-meta span { font-weight:600; }
.visual-hint-row { display:flex; align-items:center; gap:var(--sp-2); margin:-6px 0 var(--sp-3); padding:var(--sp-2) var(--sp-3); background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:var(--r-md); font-size:var(--tx-sm); flex-wrap:wrap; }
.hint-label { color:var(--muted); font-weight:700; font-size:var(--tx-xs); text-transform:uppercase; letter-spacing:.04em; margin-right:2px; }
.visual-hint-row select { padding:3px 6px; font-size:var(--tx-sm); background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r-sm); color:var(--ink); }
.check-field.small { min-height:unset; gap:var(--sp-1); font-size:var(--tx-sm); }
.check-field.small span { font-size:var(--tx-sm); font-weight:600; }
.check-field.small input { width:13px; height:13px; }
.form-grid { display:grid; grid-template-columns:minmax(0,200px) minmax(0,1fr); gap:var(--sp-3); }
.form-section { padding:var(--sp-3) var(--sp-3); margin-bottom:var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:#fff; }
.form-section h3 { font-size:var(--tx-sm); font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:var(--sp-2); }
.publish-grid { display:grid; grid-template-columns:120px minmax(130px,.7fr) minmax(180px,1fr); gap:var(--sp-2); align-items:end; }
.check-field { display:flex; align-items:center; gap:var(--sp-2); min-height:var(--h-input); }
.check-field input { width:15px; height:15px; }
.repeat-list { display:grid; gap:var(--sp-1); }
.repeat-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,.35fr) auto; gap:7px; align-items:center; }
.repeat-row.group-row { grid-template-columns:minmax(140px,1fr) 130px minmax(160px,1.2fr) auto; }
.repeat-row.image-row { grid-template-columns:var(--sp-4) minmax(230px,280px) minmax(190px,1fr) minmax(150px,.75fr) minmax(190px,.9fr) auto; grid-template-areas:"drag preview url url url remove" "drag preview caption source sourceurl ai"; align-items:stretch; padding:var(--sp-2); gap:var(--sp-2); border:1px solid var(--line); border-radius:var(--r-md); background:#fff; box-shadow:var(--shadow-soft); }
.image-row .drag-handle { grid-area:drag; align-self:center; }
.image-row .image-preview { grid-area:preview; }
.image-row [data-image-url] { grid-area:url; }
.image-row [data-image-caption] { grid-area:caption; }
.image-row [data-image-source] { grid-area:source; }
.image-row .image-source-url-field { grid-area:sourceurl; }
.image-row .compact-check { grid-area:ai; }
.image-row [data-remove-row] { grid-area:remove; }
.image-preview { display:grid; grid-template-columns:76px minmax(0,1fr); gap:var(--sp-2); align-items:center; min-width:0; padding:6px; border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface-2); }
.image-preview-thumb { position:relative; display:grid; place-items:center; width:76px; height:58px; overflow:hidden; border-radius:var(--r-sm); background:var(--bg); color:var(--muted); }
.image-preview-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.image-preview.has-image .image-preview-thumb i { display:none; }
.image-preview-info { display:grid; gap:2px; min-width:0; }
.image-preview-info strong, .image-preview-info small { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.image-preview-info strong { color:var(--ink); font-size:var(--tx-xs); font-weight:800; }
.image-preview-info small { color:var(--muted); font-size:var(--tx-2xs); }
.image-preview[data-preview-state="error"] { border-color:rgba(162,55,55,.28); background:var(--danger-soft); }
.image-source-url-field { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--sp-1); align-items:center; min-width:0; }
.image-source-link, .img-source a { color:var(--accent); font-weight:700; text-decoration:none; }
.image-source-link:hover, .img-source a:hover { text-decoration:underline; }
.drag-handle { display:flex; align-items:center; justify-content:center; width:var(--sp-4); color:var(--muted); cursor:grab; font-size:var(--tx-md); line-height:1; user-select:none; touch-action:none; }
.drag-handle:active { cursor:grabbing; }
.repeat-row.image-row.drag-over { outline:2px solid var(--accent); outline-offset:2px; border-radius:var(--r-md); }
.repeat-row.image-row.dragging { opacity:.4; }
.image-search-panel { display:grid; gap:var(--sp-3); margin-bottom:var(--sp-3); padding:var(--sp-3); border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface-2); }
.image-search-panel[hidden] { display:none; }
.image-search-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(170px,auto) auto auto; gap:var(--sp-2); align-items:center; }
.image-search-controls input { width:100%; height:var(--h-input); padding:0 var(--sp-3); border:1px solid var(--line); border-radius:var(--r-md); background:var(--bg); color:var(--ink); font-size:var(--tx-body); }
#imageSearchCloseBtn { width:var(--h-input); min-width:var(--h-input); padding:0; font-size:var(--tx-md); }
.image-search-results { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:var(--sp-3); }
.image-search-results>.muted, .image-search-summary { grid-column:1 / -1; }
.image-search-summary { margin:0; color:var(--muted); font-size:var(--tx-sm); }
.image-result-card { display:grid; grid-template-rows:150px minmax(138px,1fr) auto; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface); }
.image-result-thumb { background:var(--bg); }
.image-result-thumb img { width:100%; height:100%; display:block; object-fit:cover; }
.image-result-body { display:grid; gap:3px; min-width:0; padding:var(--sp-2); }
.image-result-body strong, .image-result-body span, .image-result-body small, .image-result-body a, .image-result-meta { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.image-result-body strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-size:var(--tx-sm); line-height:1.25; }
.image-result-body span, .image-result-body small, .image-result-body a, .image-result-meta { white-space:nowrap; color:var(--muted); font-size:var(--tx-xs); }
.image-result-meta { font-weight:700; color:var(--ink-soft); }
.image-result-body a { color:var(--accent); font-weight:700; text-decoration:none; }
.image-result-body a:hover { text-decoration:underline; }
.image-result-actions { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-1); padding:0 var(--sp-2) var(--sp-2); }
.repeat-row.timeline-row { grid-template-columns:130px minmax(0,1fr) minmax(120px,.35fr) auto auto; }
.related-search-row { position:relative; margin-bottom:var(--sp-2); }
.related-search-row input[type="search"] { width:100%; height:var(--h-input); padding:0 var(--sp-3); border:1px solid var(--line); border-radius:var(--r-md); background:var(--bg); color:var(--ink); font-size:var(--tx-body); }
.related-search-results { position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:50; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--shadow-soft); overflow:hidden; }
.related-search-item { display:flex; align-items:center; gap:var(--sp-2); width:100%; padding:var(--sp-2) var(--sp-3); text-align:left; background:none; border:0; border-bottom:1px solid var(--line); cursor:pointer; transition:background var(--t-fast); }
.related-search-item:last-child { border-bottom:0; }
.related-search-item:hover { background:var(--soft); }
.related-search-id { flex-shrink:0; font-size:var(--tx-xs); font-weight:700; color:var(--muted); min-width:36px; }
.related-search-name { flex:1; font-size:var(--tx-sm); font-weight:600; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.related-search-status { flex-shrink:0; font-size:var(--tx-xs); color:var(--muted); }
.related-search-empty { padding:var(--sp-3); text-align:center; color:var(--muted); font-size:var(--tx-sm); }
.repeat-row.related-row { grid-template-columns:40px minmax(120px,1fr) minmax(160px,1.2fr) auto; align-items:center; }
.related-row-id { font-size:var(--tx-xs); font-weight:700; color:var(--muted); text-align:center; }
.related-row-title { font-size:var(--tx-sm); font-weight:600; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.compact-check { justify-content:center; min-height:var(--h-btn-sm); padding:0 var(--sp-2); border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface-2); }
.notes-input { min-height:150px; }
.chip-input { position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-1); min-height:var(--h-input); padding:6px var(--sp-2); border:1px solid var(--line); border-radius:var(--r-md); background:var(--bg); cursor:text; transition:border-color var(--t-fast); }
.chip-input:focus-within { border-color:var(--accent); outline:2px solid var(--accent-soft); outline-offset:1px; }
.chip-list { display:contents; }
.chip { display:inline-flex; align-items:center; gap:4px; padding:2px var(--sp-2) 2px var(--sp-2); background:var(--accent-soft); color:var(--accent-strong); border-radius:var(--r-pill); font-size:var(--tx-xs); font-weight:700; white-space:nowrap; max-width:200px; overflow:hidden; text-overflow:ellipsis; }
.chip button { all:unset; display:flex; align-items:center; justify-content:center; width:14px; height:14px; font-size:13px; line-height:1; color:var(--accent); border-radius:50%; cursor:pointer; flex-shrink:0; opacity:.7; transition:opacity var(--t-fast),background var(--t-fast); }
.chip button:hover { opacity:1; background:var(--accent); color:#fff; }
.chip-text-input { all:unset; flex:1; min-width:80px; height:24px; font-size:var(--tx-sm); color:var(--ink); caret-color:var(--accent); }
.chip-text-input::placeholder { color:var(--muted); opacity:.6; }
.chip-dropdown { position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:120; max-height:190px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--shadow-soft); overflow-y:auto; display:flex; flex-direction:column; }
.chip-dropdown[hidden] { display:none !important; }
.chip-drop-item { all:unset; padding:7px var(--sp-3); font-size:var(--tx-sm); color:var(--ink); cursor:pointer; transition:background var(--t-fast); border-bottom:1px solid var(--line); }
.chip-drop-item:last-child { border-bottom:0; }
.chip-drop-item:hover, .chip-drop-item:focus { background:var(--soft); color:var(--accent-strong); }
.analysis-box { margin:var(--sp-3) 0; padding:var(--sp-3) var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:var(--surface-2); }
.analysis-box h3 { margin-bottom:var(--sp-2); font-size:var(--tx-sm); font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.analysis-box .compact-field { margin-top:var(--sp-2); }
.analysis-box label:has([data-analysis-keywords]) { display:none; }
.analysis-box label:has([data-analysis-category]) { display:none; }
.analysis-summary-input { min-height:86px; resize:vertical; }
.drawer-actions { position:sticky; bottom:-22px; display:flex; justify-content:flex-end; gap:var(--sp-2); margin:var(--sp-5) -22px -22px; padding:var(--sp-3) 22px; background:rgba(255,253,249,.96); border-top:1px solid var(--line); backdrop-filter:blur(8px); }
.view-form-actions { display:flex; justify-content:flex-end; gap:var(--sp-2); margin-top:var(--sp-5); padding-top:var(--sp-3); border-top:1px solid var(--line); }
.toast-zone { position:fixed; right:var(--sp-4); bottom:var(--sp-4); z-index:40; display:grid; gap:var(--sp-2); }
.toast { max-width:min(400px,calc(100vw - 32px)); padding:11px var(--sp-3); border-radius:var(--sp-2); color:#fff; background:#19252f; box-shadow:var(--shadow); font-size:var(--tx-body); font-weight:500; animation:toast-in .2s ease; }
.toast.error { background:var(--danger); }
.toast.ok { background:var(--ok); }
@keyframes toast-in {
  from { opacity:0; transform:translateY(6px) scale(.97); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
.hidden { display:none !important; }
.muted { color:var(--muted); }
.img-thumbs-grid { display:grid; grid-template-columns:1fr; gap:var(--sp-2); }
.image-strip { padding:0; border:0; background:transparent; backdrop-filter:none; }
.image-strip-item { position:relative; display:grid; gap:var(--sp-1); margin:0; }
.img-thumb-link { display:block; border-radius:var(--r-md); overflow:hidden; border:1px solid var(--line); flex-shrink:0; }
.img-thumb { display:block; width:100%; height:auto; max-height:none; object-fit:contain; transition:opacity var(--t-base); }
.image-strip-item figcaption { color:var(--muted); font-size:var(--tx-sm); line-height:1.35; }
.img-source { color:var(--muted); font-size:var(--tx-xs); opacity:0.7; }
.visual-box.compact { font-size:var(--tx-sm); }
.visual-box.tall { min-height:260px; }
.visual-table-wrap { overflow-x:auto; }
.visual-table { width:100%; border-collapse:collapse; font-size:var(--tx-sm); }
.visual-table th, .visual-table td { border-bottom:1px solid var(--line); padding:var(--sp-1) 5px; text-align:left; vertical-align:top; }
.bar-chart { display:grid; gap:7px; }
.bar-row { display:grid; grid-template-columns:minmax(64px,.7fr) minmax(80px,1fr) auto; gap:var(--sp-1); align-items:center; font-size:var(--tx-xs); }
.bar-row strong { display:block; height:9px; border-radius:var(--r-pill); background:var(--accent); }
.bar-row em { color:var(--muted); font-style:normal; }
.visual-svg { width:100%; height:auto; }
.visual-line { fill:none; stroke:var(--accent); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.visual-area { fill:rgba(39,108,115,.14); }
.visual-axis, .visual-legend { display:flex; flex-wrap:wrap; gap:var(--sp-1); color:var(--muted); font-size:var(--tx-xs); }
.donut-wrap { display:grid; grid-template-columns:96px minmax(0,1fr); gap:var(--sp-2); align-items:center; }
.donut-chart { width:90px; height:90px; transform:rotate(-90deg); }
.donut-chart circle { fill:none; stroke-width:12; }
.s0 { stroke:#276c73; background:#276c73; }
.s1 { stroke:#b7791f; background:#b7791f; }
.s2 { stroke:#4f6f52; background:#4f6f52; }
.s3 { stroke:#8b5e83; background:#8b5e83; }
.s4 { stroke:#4b6584; background:#4b6584; }
.s5 { stroke:#9a5b4f; background:#9a5b4f; }
.visual-legend span { display:inline-flex; align-items:center; gap:var(--sp-1); }
.visual-legend i { width:8px; height:8px; border-radius:var(--r-pill); }
.visual-timeline { display:grid; gap:var(--sp-2); margin:0; padding:0; list-style:none; }
.visual-timeline li { border-left:2px solid var(--accent); padding-left:var(--sp-2); }
.visual-timeline time { display:block; color:var(--muted); font-size:var(--tx-xs); font-weight:800; }
.visual-timeline strong { display:block; font-size:var(--tx-body); }
.fact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-2); }
.fact-grid div { border:1px solid var(--line); border-radius:var(--r-md); padding:var(--sp-2); background:var(--surface-2); }
.fact-grid span { display:block; color:var(--muted); font-size:var(--tx-2xs); font-weight:800; text-transform:uppercase; }
.fact-grid strong { display:block; margin-top:3px; font-size:var(--tx-body); }
.visual-description { margin:-4px 0 var(--sp-3); color:var(--muted); font-size:var(--tx-sm); line-height:1.45; }
.visual-metric { display:grid; gap:var(--sp-1); }
.visual-metric>strong { color:var(--accent); font-size:30px; line-height:1; }
.visual-metric>span { font-size:var(--tx-sm); font-weight:800; }
.visual-metric>p, .visual-quote cite, .fact-grid p, .ranked-list p, .process-list p, .glossary-list small, .compare-row em { color:var(--muted); font-size:var(--tx-sm); line-height:1.45; }
.visual-quote blockquote { margin:0; padding-left:var(--sp-3); border-left:3px solid var(--accent); font-size:15px; font-weight:700; line-height:1.45; }
.visual-quote cite { display:block; margin-top:9px; font-style:normal; }
.compare-head, .compare-row { display:grid; grid-template-columns:minmax(92px,.72fr) repeat(2,minmax(0,1fr)); gap:var(--sp-2); }
.compare-head { margin-bottom:var(--sp-2); color:var(--muted); font-size:var(--tx-2xs); font-weight:800; text-transform:uppercase; }
.compare-head span:first-child { grid-column:2; }
.compare-row { padding:var(--sp-2) 0; border-top:1px solid var(--line); }
.compare-row strong { font-size:var(--tx-sm); }
.compare-row p, .compare-row em { margin:0; }
.compare-row em { grid-column:2 / -1; font-style:normal; }
.process-list, .ranked-list { display:grid; gap:var(--sp-2); margin:0; padding:0; list-style:none; }
.process-list li, .ranked-list li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:var(--sp-2); }
.ranked-list li { align-items:start; padding:var(--sp-2); border:1px solid var(--line); border-radius:var(--r); background:var(--surface-2); }
.process-list li>span, .ranked-list li>span { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:var(--r-pill); background:var(--accent); color:#fff; font-size:var(--tx-xs); font-weight:800; }
.ranked-head { display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-2); }
.ranked-content { min-width:0; }
.ranked-value { flex:0 0 auto; padding:2px 8px; border-radius:var(--r-pill); background:var(--accent-soft); color:var(--accent-strong); font-size:var(--tx-2xs); font-weight:900; }
.process-list strong, .ranked-list strong, .glossary-list dt { display:block; font-size:var(--tx-body); font-weight:800; }
.process-list p, .ranked-list p, .ranked-list em:not(.ranked-value) { display:block; margin:2px 0 0; font-style:normal; }
.pros-cons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-2); }
.pros-cons div, .glossary-list div { border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface-2); padding:var(--sp-2); }
.pros-cons h4 { margin:0 0 7px; color:var(--accent); font-size:var(--tx-xs); text-transform:uppercase; }
.pros-cons ul { display:grid; gap:var(--sp-1); margin:0; padding-left:var(--sp-4); font-size:var(--tx-sm); }
.glossary-list { display:grid; gap:var(--sp-2); margin:0; }
.glossary-list dd { margin:3px 0 0; }
.glossary-list small { display:block; margin-top:3px; }
.visual-box>p, .visual-description, .visual-table td, .bar-row span, .bar-row em, .visual-timeline p, .visual-metric>p, .visual-quote cite, .fact-grid p, .compare-row p, .compare-row em, .process-list p, .ranked-list p, .ranked-list em:not(.ranked-value), .pros-cons li, .glossary-list dd, .glossary-list small { color:var(--text-2); font-size:var(--tx-sm); }
@media (max-width:700px) {
  .compare-head { display:none; }
  .compare-row { grid-template-columns:1fr; }
  .compare-row em { grid-column:auto; }
  .pros-cons, .fact-grid { grid-template-columns:1fr; }
}
.img-thumb:hover { opacity:.88; }
.img-thumb-fallback { display:block; padding:var(--sp-1) var(--sp-2); font-size:var(--tx-xs); color:var(--muted); word-break:break-all; max-width:200px; }
.markdown-img { display:block; max-width:100%; border-radius:var(--r-md); margin:var(--sp-1) 0; border:1px solid var(--line); }
.sources-list { list-style:none; padding:0; margin:0; display:grid; gap:var(--sp-1); }
.source-link { display:block; font-size:var(--tx-sm); color:var(--accent); word-break:break-all; text-decoration:underline; text-decoration-color:rgba(39,108,115,.35); text-underline-offset:2px; }
.analysis-warning { padding:var(--sp-2) var(--sp-2); color:#8a4b00; background:rgba(255,193,7,.16); border:1px solid rgba(255,193,7,.32); border-radius:var(--r); }
.comments-admin-box { display:grid; gap:var(--sp-3); }
.admin-comment-form, .admin-reply-form { display:grid; gap:var(--sp-2); }
.admin-comment-form textarea, .admin-reply-form textarea { width:100%; min-height:66px; padding:9px var(--sp-2); color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:var(--r); resize:vertical; font:inherit; font-size:var(--tx-body); }
.admin-comments-list { display:grid; gap:var(--sp-2); }
.admin-comment { display:grid; gap:var(--sp-2); padding:var(--sp-2); border:1px solid var(--line); border-radius:var(--r); background:rgba(255,255,255,.72); }
.admin-comment.admin { border-color:rgba(39,108,115,.32); background:rgba(39,108,115,.08); }
.admin-comment-head { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2); color:var(--muted); font-size:var(--tx-sm); }
.admin-comment-head strong { color:var(--ink); }
.admin-comment p { margin:0; color:var(--ink); font-size:var(--tx-body); line-height:1.45; }
.admin-comment-actions { display:flex; justify-content:flex-end; }
.admin-comment-replies { display:grid; gap:var(--sp-2); margin-left:var(--sp-2); padding-left:var(--sp-2); border-left:2px solid var(--line); }

.comments-moderation-hero {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--sp-4);
  margin-bottom:var(--sp-4);
  padding:var(--sp-5);
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(246,241,229,.72));
  box-shadow:var(--shadow-soft);
}
.comments-moderation-hero h2 { margin:2px 0 var(--sp-1); font-size:clamp(1.35rem, 2vw, 2rem); font-weight:800; line-height:1.05; }
.comments-moderation-hero p { max-width:680px; margin:0; color:var(--muted); line-height:1.55; }
.comments-moderation-stats {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:var(--sp-3);
  margin-bottom:var(--sp-4);
}
.comment-stat-card {
  display:grid;
  gap:4px;
  min-width:0;
  padding:var(--sp-3);
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(255,255,255,.76);
}
.comment-stat-card span { color:var(--muted); font-size:var(--tx-sm); font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.comment-stat-card strong { color:var(--ink); font-size:1.65rem; line-height:1; }
.comments-moderation-toolbar {
  display:grid;
  grid-template-columns:minmax(260px, 1fr) minmax(190px, .32fr) minmax(170px, .25fr);
  gap:var(--sp-3);
  align-items:end;
  margin-bottom:var(--sp-4);
  padding:var(--sp-3);
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(255,255,255,.68);
}
.comments-moderation-list { display:grid; gap:var(--sp-3); }
.moderation-comment-card {
  display:grid;
  gap:var(--sp-3);
  padding:var(--sp-4);
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow-soft);
}
.moderation-comment-card.needs-reply { border-color:rgba(176,113,28,.36); background:rgba(255,248,235,.9); }
.moderation-comment-card.redaction { border-color:rgba(39,108,115,.28); }
.moderation-comment-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--sp-3);
}
.moderation-article-title { display:block; color:var(--ink); font-size:1.08rem; font-weight:800; line-height:1.2; }
.moderation-meta { display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-top:5px; color:var(--muted); font-size:var(--tx-sm); }
.moderation-status {
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:999px;
  font-size:var(--tx-xs);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.moderation-status.needs-reply { color:#8a4f05; background:rgba(176,113,28,.13); }
.moderation-status.answered { color:#1f6d38; background:rgba(31,109,56,.12); }
.moderation-status.redaction { color:#276c73; background:rgba(39,108,115,.12); }
.moderation-comment-body {
  margin:0;
  color:var(--ink);
  font-size:var(--tx-body);
  line-height:1.58;
  overflow-wrap:anywhere;
}
.moderation-parent-context {
  display:grid;
  gap:4px;
  padding:var(--sp-2);
  border-left:3px solid rgba(39,108,115,.25);
  background:rgba(39,108,115,.06);
  border-radius:0 var(--r) var(--r) 0;
}
.moderation-parent-context span, .moderation-more { color:var(--muted); font-size:var(--tx-xs); font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.moderation-parent-context p { margin:0; color:var(--ink); font-size:var(--tx-sm); line-height:1.45; }
.moderation-replies {
  display:grid;
  gap:var(--sp-2);
  padding-left:var(--sp-3);
  border-left:2px solid var(--line);
}
.moderation-reply {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2px var(--sp-2);
  padding:var(--sp-2);
  border-radius:var(--r);
  background:rgba(255,255,255,.68);
}
.moderation-reply.admin { background:rgba(39,108,115,.08); }
.moderation-reply strong { color:var(--ink); font-size:var(--tx-sm); }
.moderation-reply span { color:var(--muted); font-size:var(--tx-sm); }
.moderation-reply p { grid-column:1 / -1; margin:0; color:var(--ink); line-height:1.45; }
.moderation-reply-box { display:grid; gap:var(--sp-2); }
.moderation-reply-box textarea {
  width:100%;
  min-height:82px;
  padding:10px var(--sp-2);
  color:var(--ink);
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r);
  resize:vertical;
  font:inherit;
}
.moderation-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-2); }
.comments-empty-state {
  display:grid;
  gap:4px;
  padding:var(--sp-6);
  border:1px dashed var(--line);
  border-radius:var(--r-xl);
  color:var(--muted);
  background:rgba(255,255,255,.58);
  text-align:center;
}
.comments-empty-state strong { color:var(--ink); }
.source-link:hover { color:var(--accent-strong); }
.sources-input { min-height:80px; font-size:var(--tx-body); }
.ai-badge { display:inline-flex; align-items:center; padding:2px var(--sp-2); border-radius:var(--r-pill); font-size:var(--tx-xs); font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.ai-badge.ai-on { background:var(--accent-soft); color:var(--accent-strong); }
.ai-badge.ai-off { background:var(--soft); color:var(--muted); }
body.ai-restricted [data-ai-only] { display:none !important; }
.analysis-badge { display:inline-flex; align-items:center; padding:1px 7px; border-radius:var(--r-pill); font-size:var(--tx-2xs); font-weight:800; letter-spacing:.05em; text-transform:uppercase; vertical-align:middle; margin-left:var(--sp-1); }
.analysis-badge.ai { background:var(--accent-soft); color:var(--accent-strong); }
.analysis-badge.local { background:var(--soft); color:var(--muted); }
.analysis-header { display:flex; align-items:center; gap:var(--sp-2); margin-bottom:var(--sp-2); }
.analysis-header h3 { font-size:var(--tx-sm); font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin:0; }
.analysis-summary { font-size:var(--tx-body); line-height:1.55; margin-bottom:var(--sp-2); color:var(--ink); }
.analysis-keywords { display:flex; flex-wrap:wrap; gap:var(--sp-1); margin-bottom:var(--sp-2); }
.related-label { display:block; font-size:var(--tx-xs); font-weight:800; letter-spacing:.06em; text-transform:uppercase; margin-bottom:var(--sp-1); }
.related-list { margin-top:var(--sp-1); display:grid; gap:var(--sp-1); }
.related-item { display:flex; align-items:center; gap:var(--sp-2); background:transparent; border:0; padding:var(--sp-1) 0; text-align:left; font-size:var(--tx-body); color:var(--accent); cursor:pointer; width:100%; }
.related-item:hover { color:var(--accent-strong); }
.score-bar { display:inline-block; flex-shrink:0; width:52px; height:5px; background:var(--soft); border-radius:var(--r-pill); overflow:hidden; }
.score-bar span { display:block; height:100%; background:var(--accent); border-radius:var(--r-pill); }
.related-block { margin-top:var(--sp-2); }
.related-item-inline { display:flex; align-items:center; gap:var(--sp-2); padding:3px 0; }
.related-item-inline .text-button { font-size:var(--tx-body); font-weight:600; }
.score-pct { font-size:var(--tx-xs); color:var(--muted); font-weight:700; flex-shrink:0; }
.settings-form { display:grid; gap:var(--sp-2); }
#settingsView .field { margin-bottom:var(--sp-2); }
#settingsView .view-form-actions { margin-top:var(--sp-3); padding-top:var(--sp-2); }
.settings-tabs, .reader-tabs { display:flex; gap:var(--sp-1); padding:4px; margin-bottom:var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:var(--surface-2); }
.reader-tabs[hidden] { display:none; }
.settings-tab, .reader-tab { flex:1 1 0; height:var(--h-btn-sm); border:0; border-radius:calc(var(--r) - 2px); background:transparent; color:var(--muted); font-size:var(--tx-sm); font-weight:800; cursor:pointer; }
.settings-tab.active, .reader-tab.active { background:#fff; color:var(--ink); box-shadow:var(--shadow-soft); }
.settings-tab-panel { display:grid; gap:var(--sp-2); }
.settings-tab-panel[hidden] { display:none; }
.settings-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-2); margin-bottom:var(--sp-2); }
.settings-summary-card { display:grid; gap:2px; padding:var(--sp-2) var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:#fff; box-shadow:var(--shadow-soft); }
.settings-summary-card strong { color:var(--ink); font-size:var(--tx-sm); }
.settings-summary-card span:last-child { color:var(--muted); font-size:var(--tx-xs); line-height:1.35; }
.summary-label { color:var(--gold); font-size:var(--tx-xs); font-weight:900; text-transform:uppercase; }
.settings-users-grid, .user-create-form { display:grid; gap:var(--sp-2); }
.settings-section { padding:var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:var(--surface); box-shadow:var(--shadow-soft); }
.settings-section-header { align-items:flex-start; justify-content:flex-start; gap:var(--sp-3); margin-bottom:var(--sp-2); }
.settings-section-icon { display:inline-grid; place-items:center; flex:0 0 auto; width:28px; height:28px; border-radius:var(--r); background:var(--accent-soft); color:var(--accent-strong); }
.settings-section-desc { margin-top:2px; color:var(--muted); font-size:var(--tx-sm); }
.analytics-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--sp-3); margin-bottom:var(--sp-3); flex-wrap:wrap; }
.analytics-overview { grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:var(--sp-3); }
.analytics-metric-card strong { font-size:var(--tx-lg); }
.analytics-shell { display:grid; gap:var(--sp-3); }
.analytics-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--sp-2); }
.analytics-kpi { display:grid; gap:6px; min-width:0; padding:var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:#fff; box-shadow:var(--shadow-soft); }
.analytics-kpi.primary { border-color:rgba(39,108,115,.35); background:linear-gradient(135deg,#fff,rgba(221,238,237,.7)); }
.analytics-kpi-top { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2); color:var(--muted); font-size:var(--tx-xs); font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.analytics-kpi strong { color:var(--ink); font-size:clamp(22px,2.4vw,34px); line-height:1; letter-spacing:-.03em; }
.analytics-kpi p { margin:0; color:var(--muted); font-size:var(--tx-xs); line-height:1.35; }
.analytics-kpi-trend { flex:0 0 auto; padding:2px 7px; border-radius:var(--r-pill); font-size:var(--tx-2xs); letter-spacing:0; }
.analytics-kpi-trend.up { color:var(--ok); background:var(--ok-soft); }
.analytics-kpi-trend.down { color:var(--danger); background:var(--danger-soft); }
.analytics-kpi-trend.flat { color:var(--muted); background:var(--soft); }
.analytics-info-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--sp-2); }
.analytics-info-card { display:grid; gap:3px; padding:var(--sp-2) var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:rgba(255,255,255,.68); }
.analytics-info-card span { color:var(--muted); font-size:var(--tx-xs); font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.analytics-info-card strong { color:var(--ink); font-size:var(--tx-md); }
.analytics-info-card p { margin:0; color:var(--muted); font-size:var(--tx-xs); }
.analytics-panel { min-width:0; padding:var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:var(--surface); box-shadow:var(--shadow-soft); }
.analytics-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--sp-2); margin-bottom:var(--sp-2); }
.analytics-panel-head h3 { color:var(--ink); font-size:var(--tx-md); line-height:1.2; }
.analytics-panel-head span { color:var(--muted); font-size:var(--tx-xs); text-align:right; }
.analytics-panels-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-3); }
.analytics-panel-wide { overflow:hidden; }
.analytics-chart { display:flex; align-items:end; gap:3px; height:152px; padding:var(--sp-2) 0 0; border-bottom:1px solid var(--line); }
.analytics-chart-bar { position:relative; flex:1 1 0; min-width:3px; height:100%; display:flex; align-items:end; }
.analytics-chart-bar::before { content:""; width:100%; height:var(--h); border-radius:4px 4px 0 0; background:linear-gradient(180deg,var(--accent),var(--accent-strong)); opacity:.9; }
.analytics-chart-bar i { position:absolute; left:50%; bottom:calc(var(--fb) * .82); width:5px; height:5px; border-radius:50%; background:var(--gold); transform:translate(-50%,50%); box-shadow:0 0 0 2px rgba(165,106,42,.18); }
.analytics-legend { display:flex; gap:var(--sp-3); margin-top:var(--sp-2); color:var(--muted); font-size:var(--tx-xs); }
.analytics-legend span { display:inline-flex; align-items:center; gap:6px; }
.analytics-legend i { width:10px; height:10px; border-radius:2px; background:var(--accent); }
.analytics-legend span:last-child i { border-radius:50%; background:var(--gold); }
.analytics-bar-list { display:grid; gap:var(--sp-2); margin-top:var(--sp-2); }
.analytics-bar-row { display:grid; grid-template-columns:22px minmax(90px,1fr) minmax(76px,.75fr) auto; align-items:center; gap:var(--sp-2); }
.analytics-rank { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:var(--r-pill); color:var(--accent-strong); background:var(--accent-soft); font-size:var(--tx-xs); font-weight:900; }
.analytics-bar-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--tx-xs); color:var(--ink); }
.analytics-bar-track { position:relative; height:8px; border-radius:var(--r-pill); background:var(--soft); overflow:hidden; }
.analytics-bar-fill { position:absolute; inset:0 auto 0 0; background:var(--accent); border-radius:var(--r-pill); }
.analytics-bar-value { font-size:var(--tx-xs); color:var(--muted); white-space:nowrap; }
@media (max-width:900px) {
  .analytics-overview,
  .analytics-kpi-grid,
  .analytics-info-grid,
  .analytics-panels-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .analytics-bar-row { grid-template-columns:22px minmax(0,1fr) auto; }
  .analytics-bar-track { grid-column:2 / -1; order:4; }
}
.table-edit-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--sp-3); margin-bottom:var(--sp-3); flex-wrap:wrap; }
.table-edit-actions { display:flex; align-items:center; gap:var(--sp-2); }
.table-edit-status { color:var(--muted); font-size:var(--tx-xs); white-space:nowrap; }
.table-edit-scroll { overflow:auto; border:1px solid var(--line); border-radius:var(--r); background:var(--surface); max-height:calc(100vh - 260px); }
.bulk-edit-table { width:100%; border-collapse:collapse; font-size:var(--tx-sm); }
.bulk-edit-table th { position:sticky; top:0; z-index:1; padding:var(--sp-2) var(--sp-3); text-align:left; color:var(--muted); font-size:var(--tx-xs); font-weight:800; text-transform:uppercase; letter-spacing:.04em; background:var(--surface-2); border-bottom:1px solid var(--line); }
.bulk-edit-table td { padding:2px var(--sp-2); border-bottom:1px solid var(--line); vertical-align:middle; }
.table-edit-id { color:var(--muted); font-size:var(--tx-xs); white-space:nowrap; }
.table-edit-input { width:100%; min-width:120px; padding:6px 8px; border:1px solid transparent; border-radius:var(--r-md); background:transparent; color:var(--ink); font:inherit; }
.table-edit-input:hover { border-color:var(--line); }
.table-edit-input:focus { outline:none; border-color:var(--accent); background:#fff; }
.table-edit-row-indicator { width:24px; text-align:center; font-weight:800; }
tr.row-dirty { background:var(--accent-soft); }
tr.row-dirty .table-edit-row-indicator { color:var(--accent-strong); }
tr.row-saving { background:var(--soft); }
tr.row-saved { background:var(--ok-soft); }
tr.row-saved .table-edit-row-indicator { color:var(--ok); }
tr.row-error { background:var(--danger-soft); }
tr.row-error .table-edit-row-indicator { color:var(--danger); }
.settings-row-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-2); }
.modal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-3); }
.slider-wrapper { display:grid; gap:var(--sp-1); }
.range-input { padding:0; accent-color:var(--accent); }
.slider-track-labels { display:flex; justify-content:space-between; color:var(--muted); font-size:var(--tx-xs); }
.temp-val { color:var(--accent); font-weight:900; }
.pill--off { background:var(--soft); color:var(--muted); }
.pill--on { background:var(--ok-soft); color:var(--ok); }
.badge { display:inline-flex; align-items:center; min-height:var(--h-pill); border-radius:var(--r-pill); padding:0 7px; font-size:var(--tx-xs); font-weight:800; letter-spacing:.02em; text-transform:uppercase; }
.badge--on { background:var(--accent-soft); color:var(--accent-strong); }
.badge--off { background:var(--soft); color:var(--muted); }
.ml-auto { margin-left:auto; }
.users-list { display:grid; gap:var(--sp-2); max-height:340px; overflow-y:auto; padding-right:2px; }
.user-row { display:flex; flex-wrap:wrap; gap:var(--sp-2); align-items:center; padding:var(--sp-2); border:1px solid var(--line); border-radius:var(--r); background:var(--surface-2); }
.user-name { flex:1 1 160px; min-width:0; overflow:hidden; color:var(--ink); font-weight:800; text-overflow:ellipsis; }
.user-email { font-weight:400; }
.user-role-select { max-width:170px; }
.user-expires { display:flex; align-items:center; gap:var(--sp-1); font-size:var(--tx-sm); }
.user-expires-input { max-width:150px; }
.users-filter-row { display:flex; gap:var(--sp-2); margin-bottom:var(--sp-2); }
.users-list:empty::before { content:"Brak danych do wyświetlenia."; color:var(--muted); font-size:var(--tx-sm); }
.mail-toolbar { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); margin-bottom:var(--sp-3); padding:var(--sp-3); border:1px solid var(--line); border-radius:var(--r); background:var(--surface); box-shadow:var(--shadow-soft); }
.mail-toolbar-copy { min-width:0; display:grid; gap:2px; }
.mail-toolbar-copy strong { min-width:0; overflow:hidden; color:var(--ink); font-size:var(--tx-base); text-overflow:ellipsis; white-space:nowrap; }
.mail-toolbar-copy span { color:var(--muted); font-size:var(--tx-sm); }
.mail-toolbar-actions { display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; }
.mail-shell { display:grid; grid-template-columns:minmax(260px,330px) minmax(360px,1fr) minmax(320px,420px); gap:var(--sp-3); height:calc(100vh - 214px); min-height:560px; }
.mail-list-pane, .mail-detail-pane, .mail-compose-pane { min-width:0; min-height:0; border:1px solid var(--line); border-radius:var(--r); background:var(--surface); box-shadow:var(--shadow-soft); overflow:hidden; }
.mail-list-pane { display:flex; flex-direction:column; }
.mail-list-header { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2); min-height:48px; padding:0 var(--sp-3); border-bottom:1px solid var(--line); background:var(--surface-2); }
.mail-mailbox-address { min-width:0; overflow:hidden; color:var(--ink); font-size:var(--tx-sm); font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.mail-count { display:inline-flex; align-items:center; justify-content:center; min-width:24px; height:24px; padding:0 7px; border-radius:var(--r-pill); background:var(--soft); color:var(--muted); font-size:var(--tx-xs); font-weight:800; }
.mail-list { flex:1; overflow-y:auto; display:flex; flex-direction:column; }
.mail-list-empty { margin:var(--sp-3); padding:var(--sp-3); border:1px dashed var(--line); border-radius:var(--r); color:var(--muted); font-size:var(--tx-sm); text-align:center; }
.mail-list-item { display:grid; gap:4px; width:100%; padding:12px var(--sp-3); text-align:left; border:0; border-bottom:1px solid var(--line); background:transparent; cursor:pointer; }
.mail-list-item:hover { background:var(--surface-2); }
.mail-list-item.active { background:var(--accent-soft); box-shadow:inset 3px 0 0 var(--accent); }
.mail-item-topline { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2); min-width:0; }
.mail-item-from { min-width:0; overflow:hidden; color:var(--ink); font-size:var(--tx-sm); font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.mail-item-subject { min-width:0; overflow:hidden; color:var(--ink); font-size:var(--tx-sm); font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.mail-item-snippet { min-width:0; overflow:hidden; color:var(--muted); font-size:var(--tx-xs); line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.mail-item-date { flex:0 0 auto; max-width:92px; overflow:hidden; color:var(--muted); font-size:var(--tx-2xs); text-overflow:ellipsis; white-space:nowrap; }
.mail-detail-pane { display:flex; flex-direction:column; gap:var(--sp-3); padding:var(--sp-4); overflow-y:auto; }
.mail-empty-hint { margin:auto; display:grid; gap:4px; color:var(--muted); text-align:center; }
.mail-empty-hint strong { color:var(--ink); font-size:var(--tx-base); }
.panel-eyebrow { display:block; margin-bottom:2px; color:var(--gold); font-size:var(--tx-2xs); font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.mail-detail-header { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--sp-3); padding-bottom:var(--sp-3); border-bottom:1px solid var(--line); }
.mail-detail-header h3 { margin:0 0 4px; font-size:var(--tx-lg); line-height:1.25; }
.mail-detail-actions { display:flex; gap:var(--sp-2); flex-wrap:wrap; justify-content:flex-end; }
.mail-detail-meta { color:var(--muted); font-size:var(--tx-sm); }
.mail-detail-body { min-height:0; padding:var(--sp-3); background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r); font-size:var(--tx-sm); line-height:1.55; }
.mail-plain-body { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; }
.mail-html-frame { width:100%; min-height:420px; border:0; border-radius:var(--r-sm); background:#fff; }
.mail-compose-pane { display:flex; flex-direction:column; }
.mail-compose-form { flex:1; min-height:0; display:flex; flex-direction:column; gap:var(--sp-3); padding:var(--sp-4); }
.mail-compose-head { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--sp-2); padding-bottom:var(--sp-3); border-bottom:1px solid var(--line); }
.mail-compose-head h3 { font-size:var(--tx-lg); line-height:1.2; }
.mail-body-field { flex:1; min-height:220px; display:flex; flex-direction:column; }
.mail-body-field textarea { flex:1; min-height:220px; resize:none; line-height:1.55; }
.mail-signature-preview { display:grid; gap:2px; padding:var(--sp-3); border-top:1px solid #e2ddd0; background:var(--surface-2); color:var(--muted); font-family:Georgia,serif; font-size:13px; }
.mail-signature-preview strong { color:var(--ink); }
.mail-compose-actions { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2); flex-wrap:wrap; padding-top:var(--sp-2); border-top:1px solid var(--line); }

.ai-log-section { margin-top:var(--sp-4); }
.field-hint { margin:-8px 0 var(--sp-2); font-size:var(--tx-sm); color:var(--muted); }
.field-hint a { color:var(--accent); text-decoration:underline; }
.ai-log-list { display:grid; gap:var(--sp-1); max-height:280px; overflow-y:auto; }
.ai-log-entry { display:grid; grid-template-columns:80px 120px 70px 60px 55px 1fr; gap:var(--sp-1); align-items:center; padding:var(--sp-1) var(--sp-2); background:var(--surface-2); border-radius:var(--r-sm); font-size:var(--tx-sm); }
.ai-log-op { font-weight:700; color:var(--accent-strong); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ai-log-model { font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ai-log-tokens { font-size:var(--tx-xs); color:var(--muted); }
.ai-log-cost { font-size:var(--tx-xs); color:var(--ok); font-weight:700; }
.ai-log-dur { font-size:var(--tx-xs); }
.ai-log-date { font-size:var(--tx-xs); text-align:right; }
.tts-btn { font-size:var(--tx-sm); font-weight:700; }
.tts-btn.tts-active { background:var(--accent-soft); border-color:var(--accent); color:var(--accent-strong); }
.tts-segment { border-radius:var(--r-md); transition:background var(--t-base),box-shadow var(--t-base); cursor:pointer; }
.tts-segment:hover { background:rgba(39,108,115,.06); }
.tts-current { background:rgba(39,108,115,.14); box-shadow:0 0 0 4px rgba(39,108,115,.08); }
.tts-btn.tts-paused { background:var(--gold-soft); border-color:var(--gold); color:var(--gold); }
@media (max-width:1100px) {
  .app-shell { grid-template-columns:1fr; }
  .sidebar { position:static; height:auto; display:block; }
  .main-nav { display:flex; flex-wrap:wrap; gap:var(--sp-1); }
  .side-section { display:flex; flex-wrap:wrap; gap:var(--sp-1); }
  .side-section h2 { width:100%; }
  .nav-item, .side-filter { width:auto; }
  .workspace { padding:var(--sp-4); }
  .topbar, .articles-toolbar, .reader-toolbar { flex-direction:column; align-items:stretch; gap:var(--sp-2); }
  .topbar-actions { justify-content:stretch; }
  .reader-actions { justify-content:flex-start; }
  .search-box { min-width:100%; }
  .metric-grid, .dashboard-grid, .articles-layout, .articles-layout.has-reader { grid-template-columns:1fr; }
  .calendar-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .publication-calendar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .calendar-weekdays { display:none; }
  .reader { grid-template-columns:1fr; }
  .reader-col-left, .reader-col-right { position:static; max-height:none; overflow:visible; }
  .reader-col-right { order:-1; }
  .reader-hero.has-image { height:220px; }
  .reader-related-grid { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); }
  .analysis-detail { grid-template-columns:1fr; }
  .mail-shell { grid-template-columns:minmax(260px,340px) minmax(0,1fr); height:auto; min-height:0; }
  .mail-compose-pane { grid-column:1 / -1; }
  .mail-detail-pane { min-height:520px; }
  .article-list { max-height:420px; }
  .span-2 { grid-column:auto; }
  .editor-drawer .drawer-panel>form { grid-template-columns:1fr; }
  .editor-col-wide { grid-template-columns:1fr; }
  .distribution-grid { grid-template-columns:1fr; }
  .editor-block-distribution, .editor-block-images, .editor-block-related, .editor-block-infographic { grid-column:auto; }
  .infographic-editor, .settings-overview { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .workspace { padding:var(--sp-3); }
  .topbar-copy h1, .reader-hero-title { font-size:var(--tx-lg); }
  .metric-grid, .planned-form, .tools-grid, .form-grid, .publish-grid, .image-search-controls, .repeat-row, .settings-row-2, .modal-grid, .channel-row, .user-row { grid-template-columns:1fr; }
  .calendar-summary, .publication-calendar, .calendar-upcoming-list { grid-template-columns:1fr; }
  .mail-toolbar { align-items:stretch; flex-direction:column; }
  .mail-toolbar-actions { justify-content:stretch; }
  .mail-toolbar-actions .btn-action { flex:1 1 150px; }
  .mail-shell { grid-template-columns:1fr; }
  .mail-detail-header { flex-direction:column; }
  .mail-detail-actions { justify-content:flex-start; }
  .mail-detail-pane { min-height:420px; }
  .calendar-day { min-height:auto; }
  .repeat-row.image-row { grid-template-columns:1fr; grid-template-areas:"preview" "url" "caption" "source" "sourceurl" "ai" "remove"; }
  .image-row .drag-handle { display:none; }
  .settings-tabs, .reader-tabs { flex-wrap:wrap; }
  .editor-topbar { position:sticky; top:0; flex-direction:column; align-items:stretch; width:100%; margin:0 0 var(--sp-4); padding-top:var(--sp-2); }
  .editor-topbar-actions { justify-content:stretch; }
  .drawer-panel { padding:var(--sp-4); }
  .drawer-actions { margin:var(--sp-4) -16px -16px; padding:11px var(--sp-4); }
  .reader-action-group { flex:1 1 100%; }
  .reader-action-group .btn-action { flex:1 1 0; }
  .segmented { flex-wrap:wrap; }
}
.modal-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.65); z-index:9000; display:flex; align-items:center; justify-content:center; padding:var(--sp-4); }
.modal-backdrop[hidden] { display:none; }
.modal-box { background:var(--surface-2); border:1px solid var(--border); border-radius:var(--r-xl); width:100%; max-width:560px; max-height:90vh; display:flex; flex-direction:column; box-shadow:0 24px 64px rgba(0,0,0,.5); }
.modal-header { display:flex; align-items:center; justify-content:space-between; padding:var(--sp-4) var(--sp-5); border-bottom:1px solid var(--border); }
.modal-header h2 { font-size:var(--tx-md); font-weight:600; color:var(--text-1); margin:0; }
.modal-body { padding:var(--sp-5); overflow-y:auto; display:flex; flex-direction:column; gap:var(--sp-3); }
.modal-footer { display:flex; align-items:center; justify-content:space-between; padding:var(--sp-3) var(--sp-5); border-top:1px solid var(--border); gap:var(--sp-2); }
.settings-actions { margin-top:var(--sp-4); }
.ai-log-heading { margin-top:var(--sp-6); }
.json-editor { font-family:monospace; font-size:var(--tx-sm); }
.json-editor-hint { margin-top:var(--sp-1); color:var(--text-muted); font-size:var(--tx-sm); }
.modal-action-group { display:flex; gap:var(--sp-2); }
.button.danger { color:#e05c5c; border-color:#e05c5c44; }
.button.danger:hover { background:#e05c5c22; }
.visual-wrap { position:relative; }
.visual-admin-actions { position:absolute; top:var(--sp-2); right:var(--sp-2); display:inline-flex; align-items:center; gap:var(--sp-1); opacity:0; transition:opacity var(--t-base); z-index:10; pointer-events:none; }
.visual-placeholder { border-style:dashed; background:var(--surface-2); }
.visual-placeholder p { color:var(--muted); }
.visual-edit-btn { background:var(--surface-1); border:1px solid var(--border); border-radius:var(--r-md); padding:var(--sp-1) var(--sp-2); font-size:var(--tx-sm); cursor:pointer; opacity:0; transition:opacity var(--t-base); z-index:10; color:var(--text-2); }
.visual-order-btn { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; background:var(--surface-1); border:1px solid var(--border); border-radius:var(--r-md); color:var(--text-2); font-size:var(--tx-body); font-weight:700; cursor:pointer; }
.visual-order-btn:disabled { opacity:.38; cursor:not-allowed; }
.visual-wrap:hover .visual-admin-actions, .visual-wrap:focus-within .visual-admin-actions { opacity:1; pointer-events:auto; }
.visual-admin-actions .visual-edit-btn { position:static; opacity:1; }
@media (hover:none) {
  .visual-admin-actions { opacity:1; pointer-events:auto; }
}

/* Production responsive pass: phones and tablets */
@media (max-width:1100px) {
  body { overflow-x:hidden; }
  .app-shell { display:block; min-width:0; }
  .sidebar {
    position:sticky;
    top:0;
    z-index:50;
    height:auto;
    max-height:min(46vh,430px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:12px;
    box-shadow:0 10px 30px rgba(10,18,24,.18);
  }
  .brand { min-height:34px; margin-bottom:10px; }
  .brand-text { font-size:16px; }
  .main-nav {
    display:flex;
    flex-wrap:nowrap;
    gap:6px;
    margin:0;
    padding:0 0 7px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .main-nav::-webkit-scrollbar,
  .side-section-body::-webkit-scrollbar,
  #categoryFilters::-webkit-scrollbar { display:none; }
  .nav-item {
    flex:0 0 auto;
    width:auto;
    min-height:38px;
    padding:8px 10px;
    scroll-snap-align:start;
    white-space:nowrap;
  }
  .sidebar-divider { margin-top:8px; }
  .side-section {
    display:block;
    margin-top:8px;
    padding-top:8px;
  }
  .side-title-toggle { min-height:32px; }
  .side-section-body {
    display:flex;
    flex-wrap:nowrap;
    gap:6px;
    overflow-x:auto;
    padding:2px 0 8px;
    scrollbar-width:none;
  }
  .side-filter {
    flex:0 0 auto;
    width:auto;
    white-space:nowrap;
  }
  #categoryFilters {
    display:flex !important;
    flex-wrap:nowrap;
    overflow-x:auto;
  }
  #categoryFilters>.side-filter,
  .cat-folder { flex:0 0 auto; width:auto; max-width:240px; }
  .cat-folder-header { min-height:32px; }
  .cat-folder-body {
    max-height:180px;
    overflow-y:auto;
    padding-right:4px;
  }
  .sidebar-footer {
    position:static;
    margin-top:8px;
    padding-top:8px;
    background:none;
  }
  .workspace { min-width:0; padding:16px; }
  .topbar {
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
    gap:12px;
    margin-bottom:14px;
  }
  .topbar-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .topbar-actions .search-box { grid-column:1 / -1; min-width:0; width:100%; }
  .topbar-actions .btn-action { width:100%; min-width:0; padding-inline:10px; }
  .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-grid,
  .dashboard-grid--scores,
  .dashboard-grid--secondary,
  .tools-grid,
  .analytics-overview { grid-template-columns:1fr; }
  .panel-heading,
  .section-heading,
  .articles-toolbar,
  .calendar-heading,
  .table-edit-toolbar,
  .reels-view-toolbar,
  .tool-result-head,
  .analytics-toolbar {
    align-items:stretch;
    flex-direction:column;
  }
  .calendar-actions,
  .calendar-controls,
  .table-edit-actions,
  .reels-view-filters,
  .mail-toolbar-actions,
  .image-actions,
  .inline-actions {
    width:100%;
  }
  .calendar-actions .btn-action,
  .table-edit-actions .btn-action,
  .reels-view-filters .field-input,
  .reels-search-field { min-width:0; width:100%; }
  .article-card { width:100%; }
  .row-card,
  .pipeline-mini-row,
  .planned-item,
  .tool-result-list li {
    min-width:0;
  }
  .row-card strong,
  .pipeline-mini-row strong,
  .planned-item strong,
  .tool-result-list strong {
    min-width:0;
    overflow-wrap:anywhere;
  }
  .row-card strong {
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
  .reader {
    max-width:none;
    padding:16px;
  }
  .reader-toolbar {
    position:static;
    align-items:stretch;
  }
  .reader-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .reader-action-group {
    border:0;
    padding:0;
  }
  .reader-action-group .btn-action { width:100%; }
  .reader-hero-content,
  .reader-hero-plain { padding:18px; }
  .reader-hero.has-image { height:240px; }
  .editor-drawer .drawer-panel>form,
  .editor-topbar {
    width:100%;
  }
  .editor-topbar {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .editor-topbar-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  .editor-topbar-actions .btn-action,
  .editor-topbar-actions .icon-button { width:100%; }
  .drawer-title {
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .distribution-groups .group-row,
  .repeat-row.group-row,
  .repeat-row.timeline-row,
  .infographic-editor {
    grid-template-columns:1fr;
  }
  .reels-view-grid {
    grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
    gap:12px;
  }
  .reel-view-card { width:100%; }
  .mail-shell {
    grid-template-columns:1fr;
    height:auto;
    min-height:0;
  }
  .mail-detail-pane,
  .mail-compose-pane { min-height:0; }
  .mail-html-frame { min-height:320px; }
}

@media (max-width:900px) {
  .table-edit-toolbar {
    gap:8px;
  }
  .table-edit-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .table-edit-status {
    white-space:normal;
  }
  .table-edit-scroll {
    max-height:none;
    overflow:visible;
    border:0;
    background:transparent;
  }
  .bulk-edit-table,
  .bulk-edit-table tbody,
  .bulk-edit-table tr,
  .bulk-edit-table td {
    display:block;
    width:100%;
  }
  .bulk-edit-table thead {
    display:none;
  }
  .bulk-edit-table tr {
    margin-bottom:10px;
    padding:10px;
    border:1px solid var(--line);
    border-radius:var(--r);
    background:var(--surface);
    box-shadow:var(--shadow-soft);
  }
  .bulk-edit-table td {
    display:grid;
    grid-template-columns:104px minmax(0,1fr);
    align-items:center;
    gap:8px;
    padding:5px 0;
    border:0;
  }
  .bulk-edit-table td::before {
    color:var(--muted);
    font-size:var(--tx-xs);
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .bulk-edit-table td:nth-child(1)::before { content:"ID"; }
  .bulk-edit-table td:nth-child(2)::before { content:"Tytuł"; }
  .bulk-edit-table td:nth-child(3)::before { content:"Status"; }
  .bulk-edit-table td:nth-child(4)::before { content:"Kategoria"; }
  .bulk-edit-table td:nth-child(5)::before { content:"Facebook"; }
  .bulk-edit-table td:nth-child(6) {
    display:none;
  }
  .table-edit-input {
    min-width:0;
    background:#fff;
    border-color:var(--line);
  }
}

@media (max-width:700px) {
  :root {
    --h-input:40px;
    --h-btn:40px;
  }
  .sidebar {
    max-height:38vh;
    padding:10px;
  }
  .brand-icon,
  .brand img { width:30px; height:30px; }
  .brand-text { font-size:15px; }
  .nav-item {
    min-height:36px;
    padding:8px 9px;
    font-size:var(--tx-sm);
  }
  .workspace { padding:12px; }
  .topbar-copy h1,
  .topbar-title { font-size:21px; }
  .topbar-actions { grid-template-columns:1fr; }
  .button,
  .btn-action { white-space:normal; line-height:1.2; }
  .metric-grid,
  .calendar-summary,
  .publication-calendar,
  .calendar-upcoming-list,
  .settings-overview,
  .analytics-overview,
  .reader-related-grid,
  .reader-reels-grid,
  .image-search-results {
    grid-template-columns:1fr;
  }
  .panel,
  .form-section,
  .side-field-group,
  .visual-hint-section,
  .side-section-block,
  .settings-section { padding:12px; }
  .panel-heading,
  .section-heading { gap:8px; }
  .row-card {
    grid-template-columns:1fr;
    gap:8px;
  }
  .row-card strong {
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
  .empty-state {
    min-height:260px;
    padding:28px 16px;
  }
  .articles-layout.has-reader .article-list-panel {
    max-height:min(460px,56vh);
    overflow-y:auto;
  }
  .article-list {
    max-height:min(420px,52vh);
  }
  .reader {
    padding:12px;
  }
  .reader-actions,
  .editor-topbar-actions {
    grid-template-columns:1fr;
  }
  .reader-tabs,
  .settings-tabs {
    overflow-x:auto;
    flex-wrap:nowrap;
  }
  .reader-tab,
  .settings-tab {
    flex:0 0 auto;
    min-width:118px;
  }
  .markdown-body {
    font-size:15px;
    line-height:1.62;
    text-align:left;
  }
  .reader-hero.has-image { height:210px; }
  .reader-hero-content,
  .reader-hero-plain { padding:14px; }
  .reader-hero-title { font-size:20px; }
  .planned-item,
  .planned-title-row {
    grid-template-columns:1fr;
  }
  .planned-title-row .btn-action,
  .planned-item>.button,
  .planned-item>.btn-action {
    width:100%;
  }
  .planned-list,
  .planned-item,
  .planned-title-list { min-width:0; }
  .planned-custom-title,
  .planned-title-select,
  .planned-synopsis-input { min-width:0; }
  .planned-custom-title {
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .table-edit-actions {
    grid-template-columns:1fr;
  }
  .bulk-edit-table td {
    grid-template-columns:84px minmax(0,1fr);
  }
  .drawer-panel {
    padding:12px;
  }
  .editor-title-input {
    height:auto;
    min-height:46px;
    padding:10px 12px;
    font-size:20px;
  }
  #contentInput,
  .editor-content-textarea {
    min-height:300px;
  }
  .repeat-row.image-row {
    padding:10px;
  }
  .image-preview {
    grid-template-columns:64px minmax(0,1fr);
  }
  .image-preview-thumb {
    width:64px;
    height:52px;
  }
  .image-search-controls,
  .image-result-actions,
  .modal-action-group,
  .modal-footer,
  .users-filter-row,
  .mail-compose-actions {
    grid-template-columns:1fr;
    flex-direction:column;
    align-items:stretch;
  }
  .reels-view-filters {
    display:grid;
    grid-template-columns:1fr;
  }
  .reels-view-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .reel-view-actions {
    display:grid;
    grid-template-columns:1fr;
  }
  .reel-action-edit {
    width:100%;
  }
  .reel-lightbox-header,
  .reel-lightbox-footer {
    padding:8px 10px;
  }
  .reel-lightbox-header-actions {
    gap:6px;
  }
  .reel-lightbox-btn {
    padding:5px 8px;
    font-size:11px;
  }
  .reel-lightbox-body {
    padding:12px;
  }
  .mail-toolbar,
  .mail-detail-header,
  .mail-compose-head {
    align-items:stretch;
    flex-direction:column;
  }
  .mail-detail-actions {
    display:grid;
    grid-template-columns:1fr;
  }
  .mail-detail-body,
  .mail-compose-form {
    padding:12px;
  }
  .settings-section-header {
    display:grid;
    grid-template-columns:1fr;
  }
  .user-role-select,
  .user-expires-input {
    max-width:none;
  }
  .analytics-bar-row {
    grid-template-columns:1fr auto;
  }
  .analytics-bar-track {
    grid-column:1 / -1;
    order:3;
  }
  .analytics-bar-value {
    text-align:right;
  }
  .ai-log-entry {
    grid-template-columns:1fr auto;
  }
  .ai-log-model,
  .ai-log-date {
    grid-column:1 / -1;
    text-align:left;
  }
  .modal-backdrop {
    align-items:stretch;
    padding:10px;
  }
  .modal-box {
    max-height:calc(100vh - 20px);
    border-radius:var(--r);
  }
  .modal-header,
  .modal-body,
  .modal-footer {
    padding:12px;
  }
  .toast-zone {
    right:10px;
    bottom:10px;
    left:10px;
  }
  .toast {
    max-width:none;
  }
}

@media (max-width:430px) {
  .sidebar { max-height:34vh; }
  .metric-card strong { font-size:28px; }
  .calendar-day { padding:10px; }
  .reels-view-grid { grid-template-columns:1fr 1fr; }
  .bulk-edit-table td {
    grid-template-columns:1fr;
    gap:4px;
  }
}

@media (max-width:900px) {
  .comments-moderation-hero,
  .moderation-comment-head {
    display:grid;
    grid-template-columns:1fr;
  }
  .comments-moderation-stats {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .comments-moderation-toolbar {
    grid-template-columns:1fr;
  }
  .moderation-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .moderation-actions .btn-action,
  .moderation-actions .text-button {
    width:100%;
    justify-content:center;
  }
}

@media (max-width:560px) {
  .comments-moderation-hero,
  .moderation-comment-card {
    padding:14px;
    border-radius:var(--r);
  }
  .comments-moderation-stats,
  .moderation-actions {
    grid-template-columns:1fr;
  }
  .moderation-status {
    justify-self:start;
  }
  .moderation-replies {
    padding-left:10px;
  }
  .moderation-reply {
    grid-template-columns:1fr;
  }
  .analytics-kpi-grid,
  .analytics-info-grid,
  .analytics-panels-grid {
    grid-template-columns:1fr;
  }
  .analytics-panel-head {
    display:grid;
    grid-template-columns:1fr;
  }
  .analytics-panel-head span {
    text-align:left;
  }
  .analytics-chart {
    height:128px;
    gap:2px;
  }
  .analytics-bar-row {
    grid-template-columns:22px minmax(0,1fr) auto;
  }
  .analytics-bar-track {
    grid-column:2 / -1;
    order:4;
  }
}
