/* Styles for the reader + management pages + AI tab additions. Builds on the mockup's styles.css. */
.view{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.page{flex:1;overflow:auto;padding-bottom:30px}
.sp{flex:1}
.muted-p{color:var(--muted);font-size:12.5px;line-height:1.5;margin:6px 0}
.muted-p.pad,.pad{padding:0 28px}
code{font-family:var(--mono);font-size:12px;background:#F2F4F7;border-radius:4px;padding:1px 5px;color:var(--ink-2)}
.dim{opacity:.6}
.err-t{color:var(--red);font-size:12px}
.nav{margin-bottom:10px}

/* ---------- sidebar tree ---------- */
.tree{display:flex;flex-direction:column;gap:1px;margin:0 -4px 8px;flex:1 1 auto;min-height:140px;overflow:auto}
.t-sec{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:#63769A;padding:12px 10px 5px;font-weight:600}
.t-add{border:0;background:transparent;color:#7F92B0;cursor:pointer;width:20px;height:20px;border-radius:5px;display:grid;place-items:center;padding:0}
.t-add:hover{background:rgba(255,255,255,.08);color:#fff}.t-add i{width:13px;height:13px}
.t-item{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:7px;font-size:13px;color:#AEBBD0;cursor:pointer;position:relative;user-select:none;min-height:28px}
.t-item>span:not(.fdot):not(.hdot){flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-item i{width:15px;height:15px;opacity:.75}
.t-item b{font-weight:600;color:#E4EAF3;font-size:11.5px;font-variant-numeric:tabular-nums;background:rgba(255,255,255,.08);padding:0 6px;border-radius:99px}
.t-item b.dim{background:transparent;color:#6F82A1;font-weight:500;opacity:1}
.t-item:hover{background:rgba(255,255,255,.05);color:#fff}
.t-item.active{background:var(--navy-700);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.t-item.active::before{content:"";position:absolute;left:-10px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--yellow)}
.t-item.drop{outline:2px dashed #FFD500;outline-offset:-2px}
.t-item.fold{font-weight:500;color:#C7D2E3}
.t-caret{border:0;background:transparent;color:#6F82A1;width:16px;height:16px;padding:0;display:grid;place-items:center;cursor:pointer;margin-left:-4px;transition:transform .12s}
.t-caret i{width:13px;height:13px}.t-caret.open{transform:rotate(90deg)}
.t-edit{border:0;background:transparent;color:#6F82A1;width:20px;height:20px;padding:0;display:none;place-items:center;cursor:pointer;border-radius:4px}
.t-edit i{width:12px;height:12px}.t-item:hover .t-edit{display:grid}.t-edit:hover{color:#fff;background:rgba(255,255,255,.1)}
.fdot{width:9px;height:9px;border-radius:3px;flex:none}
.fdot.big{width:12px;height:12px;border-radius:4px}
.hdot{width:6px;height:6px;border-radius:50%;background:#34C38F;flex:none;opacity:.8}
.hdot.warn{background:#E0A800}.hdot.err{background:#F04438}
.t-children{margin-left:14px;border-left:1px solid rgba(255,255,255,.07);padding-left:4px}
.t-item.src{font-size:12.5px;padding:3px 8px;min-height:24px}
.t-empty{font-size:11.5px;color:#5E7194;padding:4px 12px;font-style:italic}
.side-links{display:flex;flex-direction:column;gap:1px;border-top:1px solid rgba(255,255,255,.07);padding:10px 0 10px;margin-bottom:6px}
.side-links a{display:flex;align-items:center;gap:9px;color:#9FB0C9;font-size:12.5px;padding:4px 10px;border-radius:7px}
.side-links a i{width:14px;height:14px;opacity:.8}
.side-links a:hover{background:rgba(255,255,255,.05);color:#fff}
.side-links a.active{background:var(--navy-700);color:#fff}
.pipeline{margin-top:0;margin-bottom:0;padding:8px 12px}
.pipeline-run{display:flex;align-items:center;gap:8px;font-size:12px;color:#FFDF4D;padding-top:6px}
.spin{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;animation:spin .8s linear infinite;display:inline-block;flex:none}
.spin.dark{border-color:#D0D5DD;border-top-color:var(--blue)}
@keyframes spin{to{transform:rotate(360deg)}}
#btnCollect.running{color:var(--blue);border-color:var(--blue-100);background:var(--blue-50)}

/* ---------- reader layout ---------- */
.reader{flex:1;min-height:0;display:grid;grid-template-columns:1fr 0;transition:grid-template-columns .15s}
.reader.pane-open{grid-template-columns:minmax(420px,44%) 1fr}
.reader.view-expanded.pane-open{grid-template-columns:1fr 0}
.rl-col{display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid var(--line)}
.rp-col{min-width:0;min-height:0;overflow:auto;background:#fff;display:none}
.reader.pane-open .rp-col{display:block}
.reader.view-expanded .rp-col{display:none}
.rl-head{flex:none;background:#fff;border-bottom:1px solid var(--line);padding:14px 22px 10px}
.rl-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rl-t{display:flex;align-items:center;gap:10px;min-width:0}
.rl-t h1{font-size:19px;margin:0;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-counts{display:flex;gap:10px;font-size:12.5px;color:var(--muted);white-space:nowrap}
.rl-counts b{color:var(--blue);font-weight:700}
.rl-actions{display:flex;gap:6px;flex:none}
.rl-sub{font-size:12.5px;color:var(--muted);margin:2px 0 8px}
.rl-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rl-toolbar .seg button{padding:4px 10px;font-size:12.5px}
.seg.icons button{padding:4px 8px;display:grid;place-items:center}.seg.icons i{width:15px;height:15px}
.select.sm{height:30px;font-size:12.5px;padding:0 8px}
.btn.on{background:var(--blue-50);color:var(--blue);border-color:var(--blue-100)}
.btn.danger{color:var(--red);border-color:#F4C7C3}.btn.danger:hover{background:var(--red-bg)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn.star-on{color:#B54708;background:#FFF6D1;border-color:#F5DC85}
.btn.star-on i svg{fill:#FDB022;stroke:#B54708}
.split-caret2{border-radius:0 8px 8px 0;padding:0 7px;border-left:0;margin-left:-1px}
.split .btn:first-child:not(.split-main){border-radius:8px 0 0 8px}
.rl-list{flex:1;overflow:auto;background:#fff}
.rl-empty{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);padding:70px 20px}
.rl-empty i{width:34px;height:34px;color:var(--muted-2)}
.rl-end,.rl-more{text-align:center;color:var(--muted-2);font-size:12px;padding:18px;display:flex;gap:8px;justify-content:center;align-items:center}

/* rows */
.arow{display:grid;grid-template-columns:24px 1fr;gap:0 8px;padding:9px 18px 9px 12px;border-bottom:1px solid var(--line-2);cursor:pointer;position:relative}
.arow:hover{background:#FAFBFD}
.arow.sel,.acard.sel,.aexp.sel{background:var(--blue-50);box-shadow:inset 3px 0 0 var(--blue)}
.ar-main{min-width:0}
.ar-line1{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);min-width:0}
.ar-line1 .a-time{margin-left:auto;white-space:nowrap}
.ar-title{font-size:14px;line-height:1.38;color:var(--muted);margin-top:2px;font-weight:500}
.unread .ar-title,.unread .ac-title,.unread .ax-title{color:var(--ink);font-weight:650}
.arow.unread::after{content:"";position:absolute;left:5px;top:15px;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.ar-snip{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.ar-line3{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px;align-items:center}
mark,.ar-title b.hl{background:#FFE58A;color:inherit;border-radius:2px;padding:0 1px}
.a-src{font-weight:600;color:var(--ink-2);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.a-src.tg::before{content:"TG";font-size:9px;font-weight:700;color:#1D4F91;background:#E3EEFB;border-radius:3px;padding:0 3px;margin-right:4px;vertical-align:1px}
.a-src.big{font-size:13px}
.a-time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.views{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;color:var(--muted-2)}.views i{width:12px;height:12px}
.st-btn{border:0;background:transparent;cursor:pointer;color:#C4CAD4;padding:0;width:22px;height:22px;display:grid;place-items:center;border-radius:5px;margin-top:1px}
.st-btn i{width:15px;height:15px}.st-btn:hover{color:#B54708;background:#FFF6D1}
.st-btn.on{color:#B54708}.st-btn.on svg{fill:#FDB022}
.rchip{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:4px;white-space:nowrap;background:#F2F4F7;color:var(--ink-2)}
.rchip.r-0{background:#FCEFEE;color:#A1241B}.rchip.r-1{background:#EAF2FC;color:#0057B7}.rchip.r-2{background:#FFF3E0;color:#9A4B00}.rchip.r-3{background:#EFF5E6;color:#4D6B1F}
.rs-facets .rchip{cursor:pointer}.rchip b{margin-left:3px}
.atag{font-size:11px;font-weight:600;color:var(--c,#0057B7);background:color-mix(in srgb,var(--c,#0057B7) 11%,#fff);border:1px solid color-mix(in srgb,var(--c,#0057B7) 28%,#fff);padding:0 7px;border-radius:99px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.atag::before{content:"#";opacity:.6}
.atag.big{font-size:12px;padding:2px 9px}
.atag button{border:0;background:transparent;color:inherit;cursor:pointer;padding:0 0 0 2px;font-size:14px;line-height:1;opacity:.6}
.also{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:#5B3FA8;background:#F3F0FC;border:1px solid #E2DAF7;border-radius:5px;padding:0 7px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.also i{width:12px;height:12px}

/* expanded */
.aexp{padding:18px 26px 20px;border-bottom:6px solid var(--bg);cursor:pointer;max-width:980px}
.ax-head{display:flex;align-items:center;gap:8px}
.ax-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}
.ax-act{display:flex;gap:6px}
.ax-title{font-size:18px;line-height:1.35;margin:8px 0 6px;color:var(--muted);font-weight:600}
.ax-tags{display:flex;gap:6px;margin-bottom:6px}
.ax-text{font-size:14px;line-height:1.6;color:var(--ink-2);max-height:420px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent)}
.ax-text p{margin:0 0 8px}
/* cards */
.view-cards .rl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;padding:14px 18px;background:var(--bg);align-content:start}
.view-cards .rl-end,.view-cards .rl-more,.view-cards .rl-empty{grid-column:1/-1}
.acard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow);min-height:150px}
.acard:hover{border-color:#C9D2DE}
.ac-top{display:flex;justify-content:space-between;align-items:center}
.ac-title{font-size:14px;line-height:1.38;font-weight:550;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ac-snip{font-size:12.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:none}
.ac-foot{display:flex;gap:8px;align-items:center;margin-top:auto}.ac-foot .a-time{margin-left:auto}
.ac-tags,.ac-also{display:flex;gap:5px;flex-wrap:wrap}

/* reading pane */
.rp-bar{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(4px);display:flex;gap:6px;align-items:center;padding:10px 20px;border-bottom:1px solid var(--line);z-index:2}
.rp-body{padding:20px 34px 50px;max-width:860px}
.rp-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.rp-title{font-size:23px;line-height:1.3;margin:12px 0 6px;font-weight:700;letter-spacing:-.012em}
.rp-url{font-size:12px;font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px}
.rp-url a{color:var(--muted)}
.rp-also{background:#F8F6FE;border:1px solid #E2DAF7;border-radius:9px;padding:9px 12px;font-size:12.5px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-bottom:10px}
.rp-also b{display:flex;align-items:center;gap:5px;color:#5B3FA8;width:100%}.rp-also b i{width:14px;height:14px}
.rp-also a{color:var(--ink-2);font-weight:600}.rp-also a span{color:var(--muted);font-weight:400}
.rp-orig{background:var(--warn-bg);border:1px solid #F5DC85;color:var(--warn-ink);border-radius:9px;padding:8px 12px;font-size:12.5px;display:flex;gap:6px;align-items:center;margin-bottom:10px}
.rp-orig i{width:14px;height:14px}
.rp-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.tag-form input{border:1px dashed #C9D2DE;border-radius:99px;height:24px;padding:0 10px;font-size:12px;outline:0;width:140px;background:#fff}
.tag-form input:focus{border-style:solid;border-color:var(--blue);width:200px}
.rp-text{font-size:15.5px;line-height:1.7;color:#1D2939}
.rp-text p{margin:0 0 12px}
.rp-text a{word-break:break-all}
.rp-extra{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line-2);margin-top:14px;padding-top:10px}
.rp-extra span{display:inline-flex;gap:4px;align-items:center}.rp-extra i{width:13px;height:13px}
.rp-links{display:flex;flex-direction:column;gap:3px;font-size:12px;margin-top:12px;word-break:break-all}
.rp-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);text-align:center;padding:30px}
.rp-empty i{width:36px;height:36px;color:#C4CAD4}.rp-empty p{margin:0;font-weight:600}.rp-empty small{font-size:12px;line-height:1.9}

/* search page */
.rs-search{margin-bottom:12px;flex-wrap:wrap;padding:6px 6px 6px 14px}
.rs-search input#rsQ{min-width:260px}
.dfl{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--muted)}
.dfl input{height:34px;border:1px solid var(--line);border-radius:8px;padding:0 6px;background:#F9FAFB;font-size:12.5px}
.rs-stats:empty{display:none}
.rs-stats{margin:0 0 10px}
.rs-kpis{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.rs-kpis>div:not(.rs-spark):not(.rs-facets){display:flex;flex-direction:column}
.rs-kpis b{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}
.rs-kpis span{font-size:11.5px;color:var(--muted)}
.rs-spark{display:flex;flex-direction:column;gap:2px}
.rs-facets{display:flex;gap:5px;flex-wrap:wrap}
.rs-src{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.chip.xs{font-size:11.5px;padding:2px 8px}
.rs-help{font-size:12.5px;color:var(--muted);line-height:1.8;background:#F8F9FB;border:1px solid var(--line-2);border-radius:8px;padding:8px 12px}
.rs-help.sm{font-size:11.5px;padding:5px 9px;line-height:1.6}

/* ---------- modal ---------- */
.modal-bg{position:fixed;inset:0;background:rgba(8,17,31,.45);display:none;align-items:flex-start;justify-content:center;z-index:60;padding:6vh 20px}
.modal-bg.open{display:flex}
.modal{background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(8,17,31,.35);width:520px;max-width:100%;max-height:88vh;display:flex;flex-direction:column}
.modal.wide{width:940px}
.m-h{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.m-h b{font-size:15px}
.m-b{padding:16px 18px;overflow:auto}
.m-f{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--line)}
.set-card .m-f{padding:12px 0;border:0}
.icon-x{border:0;background:transparent;color:var(--muted);cursor:pointer;width:28px;height:28px;border-radius:6px;display:grid;place-items:center;flex:none}
.icon-x:hover{background:var(--line-2);color:var(--ink)}.icon-x i{width:15px;height:15px}
.inp{height:36px;border:1px solid #D0D5DD;border-radius:8px;padding:0 10px;background:#fff;font-size:13.5px;outline:0;width:100%}
.inp:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-100)}
.inp.sm{height:30px;font-size:12.5px}.inp.xs{height:26px;width:64px;display:inline-block;font-size:12px}
.inp.mono{font-family:var(--mono);font-size:12.5px}
.fl{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--ink-2);margin:0 0 12px}
.fl input[type=color]{width:60px;height:32px;border:1px solid #D0D5DD;border-radius:6px;padding:2px;background:#fff}
.qcode{display:block;padding:6px 10px;font-size:13px}
.hb{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:99px;white-space:nowrap}
.hb::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.hb.ok{background:var(--ok-bg);color:var(--ok)}.hb.warn{background:var(--warn-bg);color:var(--warn-ink)}.hb.err{background:var(--red-bg);color:var(--red)}.hb.mute{background:#F2F4F7;color:var(--muted)}
.hb.sm{font-size:10.5px;padding:1px 6px}
.row-act{white-space:nowrap;text-align:right}
.row-act button{border:0;background:transparent;width:28px;height:28px;border-radius:6px;color:var(--muted);cursor:pointer;display:inline-grid;place-items:center}
.row-act button:hover{background:var(--line-2);color:var(--ink)}.row-act i{width:15px;height:15px}
.disc{display:flex;gap:8px}
.disc-wait{display:flex;gap:10px;align-items:center;color:var(--muted);padding:14px 0}
.disc-card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:8px;background:#FCFCFD}
.disc-card.warn{border-color:#F5DC85;background:#FFFCEB}.disc-card.err{border-color:#F4C7C3;background:var(--red-bg);color:var(--red)}
.dc-h{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.dc-row{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center;margin-bottom:8px;font-size:13px}
.dc-row>span:first-child{color:var(--muted);font-size:12px;font-weight:600}
.fchecks{display:flex;flex-wrap:wrap;gap:6px 14px}
.fchecks label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;cursor:pointer}
.keys{border-collapse:collapse;font-size:13px}.keys td{padding:4px 14px 4px 0}.keys td:first-child{white-space:nowrap}

/* ---------- pages ---------- */
.page .table-wrap{overflow:auto}
.page .table td .spark-svg{display:block}
.page-tabs{padding:0 28px 14px}
.page-tabs .tab i{width:14px;height:14px}
.auto-body .table td{vertical-align:middle}
.auto-sum{line-height:1.7}
.auto-sum .cz{font-size:11.5px;font-weight:600;background:#F2F4F7;border-radius:4px;padding:1px 6px}
.auto-sum em{font-style:normal;color:var(--muted);font-size:12px}
.auto-sum i{width:13px;height:13px;vertical-align:-2px;color:#B54708}
.card.pad-card,.pad-card{padding:16px 18px}
.card.pad-card{margin:0 28px 14px}
.dup-kpis{display:grid;grid-template-columns:220px 260px 1fr;gap:12px;margin-top:14px;align-items:start}
.dup-ex{font-size:12.5px;line-height:1.6;color:var(--ink-2)}.dup-ex b{display:block;margin-bottom:4px}
.pad-card .toggle{margin:8px 0;white-space:normal}
.set-card{max-width:900px}.set-card .toggle{display:flex;margin:10px 0}
.empty-card{background:#fff;border:1px dashed #C9D2DE;border-radius:12px;padding:30px;color:var(--muted);grid-column:1/-1;text-align:center}
.grid-h{grid-column:1/-1;margin:14px 0 0;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.mon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px;padding:0 28px}
.mon-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.mc-h{display:flex;gap:10px;align-items:flex-start}
.mc-ic{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:#fff;flex:none}.mc-ic i{width:17px;height:17px}
.mc-h>div:nth-child(2){flex:1;min-width:0}
.mc-name{font-weight:700;font-size:15px}
.mc-q{display:inline-block;margin-top:3px;font-size:11.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-act{display:flex;gap:2px}
.mc-act button{border:0;background:transparent;width:26px;height:26px;border-radius:6px;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.mc-act button:hover{background:var(--line-2);color:var(--ink)}.mc-act i{width:14px;height:14px}
.mc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.mc-kpis div{display:flex;flex-direction:column;background:#F8F9FB;border-radius:8px;padding:7px 10px}
.mc-kpis b{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15}
.mc-kpis div:first-child b{color:var(--blue)}
.mc-kpis span{font-size:11px;color:var(--muted)}
.mc-spark svg{width:100%;height:40px}
.mc-days{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted-2);margin-top:2px}
.mc-f{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.mc-f .btn i{width:14px;height:14px}
.mon-edit{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.me-row{display:flex;gap:10px}.me-row .fl{flex:1}
.me-form .toggle{display:flex;margin:6px 0}
.me-prev{background:#F8F9FB;border:1px solid var(--line-2);border-radius:10px;padding:12px 14px;min-height:300px}
.me-prev-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px;display:flex;justify-content:space-between;gap:8px}
.me-prev-h span{text-transform:none;letter-spacing:0;font-weight:500}.me-prev-h b{color:var(--blue)}
#mSpark svg{width:100%}
.me-items{display:flex;flex-direction:column;margin-top:8px}
.me-it{display:grid;grid-template-columns:1fr auto;gap:0 8px;padding:7px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.4}
.me-it>div{grid-column:1/-1}
.me-it .a-time{text-align:right}
.cond,.act{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.cond .c-f{width:130px}.cond .c-o{width:130px}.cond .c-v{flex:1}
.act .a-t{width:190px}.act .a-v,.act .a-fold{flex:1}
.out-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 28px;align-items:start}
.out-new{display:flex;gap:8px;align-items:center;padding:0 18px 12px;flex-wrap:wrap}
.out-new .select{height:32px}
.out-row{border-top:1px solid var(--line-2);padding:12px 18px}
.or-h{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.copyrow{display:flex;align-items:center;gap:6px;margin:4px 0}
.copyrow code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 8px}
.copyrow .btn i{width:13px;height:13px}
.fmt{font-size:10.5px;font-weight:700;color:var(--muted);width:44px;text-transform:uppercase}
.ep{width:100%;border-collapse:collapse;margin:12px 0}
.ep td{padding:6px 8px 6px 0;border-top:1px solid var(--line-2);vertical-align:top;font-size:12.5px}
.ep .muted-p{margin:2px 0 0}
.ep .m{font-family:var(--mono);font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:4px}
.ep .m.GET{background:var(--ok-bg);color:var(--ok)}.ep .m.POST{background:var(--blue-50);color:var(--blue)}
pre.code{font-family:var(--mono);font-size:12px;background:var(--navy-900);color:#D6E2F3;border-radius:8px;padding:10px 12px;overflow:auto;white-space:pre-wrap;margin:6px 0}
.page .kpis{grid-template-columns:repeat(5,1fr)}

/* ---------- AI tab ---------- */
.ai-strip{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 24px;background:linear-gradient(90deg,#F6F3FE,#F7F9FC);border-bottom:1px solid var(--line);flex-wrap:wrap}
.ais-l,.ais-r{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ai-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;color:#5B3FA8;background:#EBE5FB;border-radius:6px;padding:3px 8px;letter-spacing:.04em}
.ai-badge i{width:13px;height:13px}
.ais-prog{display:flex;flex-direction:column;gap:4px;min-width:280px}
.ais-t{font-size:12.5px;color:var(--ink-2)}
.period-bar.wide{width:100%}
.ais-lh{font-size:12px;font-weight:600;color:var(--ink-2)}
.lim{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.lim b{font-weight:600;color:var(--muted)}.lim small{color:var(--muted-2);font-size:11px}
.lim-bar{width:54px;height:6px;border-radius:99px;background:#E4E9F0;overflow:hidden;display:inline-block}
.lim-bar span{display:block;height:100%;background:var(--ok);border-radius:99px}
.lim.mid .lim-bar span{background:#E0A800}.lim.hi .lim-bar span{background:var(--red)}
.ai-log{flex:none;max-height:260px;overflow:auto;background:#fff;border-bottom:1px solid var(--line);padding:10px 24px}
.ai-log-h{display:flex;gap:10px;align-items:center;font-size:12.5px;margin-bottom:6px}
.ai-jobs{border-collapse:collapse;font-size:12px;margin-bottom:8px}
.ai-jobs td{padding:3px 14px 3px 0;border-top:1px solid var(--line-2)}
.ai-empty{margin:40px auto;max-width:520px;text-align:center;color:var(--muted)}
.ai-empty i{width:40px;height:40px;color:#C4CAD4}.ai-empty h3{color:var(--ink);margin:10px 0 6px}
.newer-bar{margin-top:10px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--warn-ink);background:var(--warn-bg);border:1px solid #F5DC85;border-radius:8px;padding:6px 10px}
.newer-bar i{width:15px;height:15px}
.period-t{white-space:nowrap}
.mtime{font-size:11.5px;color:var(--muted-2);font-variant-numeric:tabular-nums;margin-left:auto}
.thr{font-size:10.5px;font-weight:700;color:#5B3FA8;background:#F3F0FC;border-radius:4px;padding:1px 5px}
.mside{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.counter{border:1px solid var(--line);background:#fff;border-radius:6px;font-size:11.5px;color:var(--ink-2);padding:2px 8px;display:inline-flex;gap:4px;align-items:center;cursor:pointer;white-space:nowrap}
.counter:hover{border-color:var(--blue);color:var(--blue)}.counter i{width:12px;height:12px}
.msg.merging{box-shadow:inset 3px 0 0 #5B3FA8;background:#F8F6FE}
.flag-note{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:12.5px;color:var(--warn-ink)}
.flag-note i{width:14px;height:14px}.flag-note span{flex:1}
.flag-note .btn{height:24px;font-size:11.5px;padding:0 8px}
.checks li{cursor:pointer}
.events tr.ev-place td{border-top:0;padding-top:0;color:var(--muted);font-size:12px}
.events td[contenteditable]:focus{outline:0;background:var(--blue-50)}
.mq{font-size:13.5px;font-weight:500;background:#F8F9FB;border-radius:8px;padding:8px 12px}
.toast.err i{color:#FDA29B}

/* login */
.login-body{display:grid;place-items:center;height:100vh;background:linear-gradient(180deg,var(--navy-900),var(--navy-950))}
.login-card{background:#fff;border-radius:14px;padding:26px 28px;width:340px;display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.login-card h1{font-size:17px;margin:0}

@media (max-width:1200px){.out-grid,.mon-edit{grid-template-columns:1fr}.page .kpis{grid-template-columns:repeat(3,1fr)}.report-body{grid-template-columns:1fr 320px}}
.page .rgn{white-space:nowrap}
.auto-t th{white-space:nowrap}
.rh-top>.eyebrow{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.last-col{font-size:12px;color:var(--muted);white-space:nowrap}.last-col b{color:var(--ink-2);font-weight:600}
.acard>*{flex-shrink:0}.acard>.ac-foot{flex-shrink:1}
.pipeline-row span,.pipeline-row b{white-space:nowrap}
.acard{height:212px;min-height:0;overflow:hidden}.acard>.ac-snip{flex:1 1 0;min-height:0;flex-shrink:1}.view-cards .rl-list{grid-auto-rows:212px}
.acard>.ac-snip{flex:0 1 auto;-webkit-line-clamp:4;max-height:73px}
