:root{--bg:#f4f6f8;--card:#fff;--ink:#17212b;--muted:#607080;--line:#e2e6eb;--accent:#1f6feb;--accent-ink:#fff;--danger:#d1242f;--good:#1a7f37;--warn:#bf8700;--hl:#fff4c2;
--c0:#1f6feb;--c1:#d1495b;--c2:#2a9d8f;--c3:#e9a03b;--c4:#7b5ea7;--c5:#4c956c;--c6:#c4608f;--c7:#5c7c99}
@media (prefers-color-scheme:dark){:root{--bg:#0e1318;--card:#161d25;--ink:#e6edf3;--muted:#91a0ae;--line:#28323d;--accent:#4c8dff;--hl:#3b3313}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
button,.btn{cursor:pointer;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 12px;text-decoration:none;display:inline-block;color:var(--ink)}
button:hover,.btn:hover{border-color:var(--accent)}
.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.danger{background:var(--danger);color:#fff;border-color:var(--danger)}
.ghost{background:transparent}
.hidden{display:none!important}
.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.hint{color:var(--muted);font-size:12.5px;margin:6px 0 0}
.top{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--card)}
.brand{font-weight:700;font-size:16px}.brand::first-letter{color:var(--danger)}
.badges span{font-size:12px;margin-left:6px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
.layout{display:grid;grid-template-columns:290px 1fr;gap:16px;padding:16px;height:calc(100vh - 50px)}
.side{display:flex;flex-direction:column;gap:16px;min-height:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.card h3{margin:0 0 10px;font-size:14px}.card h3 small{color:var(--muted);font-weight:400}
#newForm{display:flex;flex-direction:column;gap:8px}.lbl{font-size:12px;color:var(--muted)}
.seg-ctl{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.seg-ctl label{border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:12.5px;cursor:pointer;display:flex;gap:6px;align-items:center}
.seg-ctl input{width:auto}
.list{flex:1;overflow:auto;min-height:0}
#mList{list-style:none;padding:0;margin:0}
#mList li{padding:8px;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}
#mList li:hover,#mList li.on{background:color-mix(in srgb,var(--accent) 10%,transparent)}
#mList .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#mList .d{color:var(--muted);font-size:12px;flex:none}
.main{min-height:0;display:flex;flex-direction:column}
.main.empty .placeholder{margin:auto;color:var(--muted)}.main:not(.empty) .placeholder{display:none}
.meeting{display:flex;flex-direction:column;gap:12px;min-height:0;height:100%}
.mhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.mhead h2{margin:0;font-size:20px;outline:none;border-radius:6px;padding:2px 4px}.mhead h2:focus{background:var(--card)}
.status{display:flex;align-items:center;gap:10px}
.pill{padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--line)}
.pill.rec{background:var(--danger);color:#fff;animation:pulse 1.6s infinite}.pill.stop{background:var(--good);color:#fff}
@keyframes pulse{50%{opacity:.6}}
.idle{color:var(--warn);font-size:12.5px}
.cols{display:grid;grid-template-columns:1fr 380px;gap:16px;min-height:0;flex:1}
.tx{overflow:auto;min-height:0}
.txhead{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-14px;background:var(--card);padding:4px 0;z-index:1}
.follow{font-size:12px;color:var(--muted);display:flex;gap:4px;align-items:center}.follow input{width:auto}
.seg{display:grid;grid-template-columns:52px 1fr auto;gap:8px;padding:6px 6px;border-radius:8px;align-items:start}
.seg:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.seg.hl{background:var(--hl)}
.seg .ts{color:var(--muted);font-size:12px;padding-top:2px}
.seg .who{font-weight:600;cursor:pointer;margin-right:6px}
.seg .text{outline:none;border-radius:4px}.seg .text:focus{background:var(--bg);box-shadow:0 0 0 2px var(--accent)}
.seg .edited{color:var(--muted);font-size:11px;margin-left:4px}
.seg .acts{opacity:0;display:flex;gap:2px}.seg:hover .acts{opacity:1}
.seg .acts button{padding:0 6px;border:0;background:transparent;font-size:15px}
.seg .star.on{color:var(--warn);opacity:1}
.seg.flash{animation:flash 1.2s}@keyframes flash{0%{box-shadow:0 0 0 2px var(--accent)}100%{box-shadow:none}}
.partial{color:var(--muted);font-style:italic;padding:6px 66px}
.rightcol{display:flex;flex-direction:column;gap:8px;min-height:0}
.tabs{display:flex;gap:6px}.tabs button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.tab{overflow:auto;min-height:0;flex:1}
.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}
.noteform{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.notes,.spk{list-style:none;padding:0;margin:0}
.notes li{border-left:3px solid var(--line);padding:6px 8px;margin:6px 0;display:flex;gap:8px;align-items:start}
.notes li.important{border-color:var(--warn)}.notes li.action{border-color:var(--accent)}
.notes .ts{color:var(--muted);font-size:12px;cursor:pointer}.notes .tx2{flex:1;outline:none}
.notes button{border:0;background:transparent;padding:0 4px}
.summary h4{margin:14px 0 6px}.summary [contenteditable]{outline:none;border-radius:4px}
.summary [contenteditable]:focus{background:var(--bg);box-shadow:0 0 0 2px var(--accent)}
.summary ul{padding-left:18px;margin:0}.summary table{width:100%;border-collapse:collapse;font-size:13px}
.summary td,.summary th{border:1px solid var(--line);padding:4px 6px;text-align:left;vertical-align:top}
.spk li{display:grid;grid-template-columns:14px 1fr 110px;gap:8px;align-items:center;margin:8px 0}
.spk .dot{width:12px;height:12px;border-radius:50%}
@media (max-width:1000px){.layout{grid-template-columns:1fr;height:auto}.cols{grid-template-columns:1fr}}

.topright{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.usermenu{display:flex;align-items:center;gap:6px}.usermenu button{padding:4px 10px;font-size:12.5px}
.uname{font-weight:600;font-size:13px}
.dlg{border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:18px;width:min(720px,94vw)}
.dlg::backdrop{background:rgba(0,0,0,.45)}
.dlghead{display:flex;justify-content:space-between;align-items:center}.dlghead h3{margin:0}.dlghead button{border:0;background:transparent;font-size:18px}
.adduser{display:grid;grid-template-columns:1.4fr 1fr 120px auto;gap:8px;margin:14px 0 4px}
@media(max-width:640px){.adduser{grid-template-columns:1fr}}
.users{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}
.users td,.users th{border-bottom:1px solid var(--line);padding:6px;text-align:left}
.users button{padding:2px 8px;font-size:12px}
#mList .o{display:block;color:var(--muted);font-size:11.5px}
.seg-ctl label.disabled{opacity:.45;pointer-events:none}
@media (max-width:640px){.top{flex-direction:column;align-items:flex-start;gap:6px}.badges{display:none}.layout{padding:10px}}
