:root{
  --bg:#F1F3F6; --surface:#FFFFFF; --surface-2:#FAFBFC;
  --ink:#12261A; --ink-2:#4B5B50; --ink-3:#8B988E;
  --line:#E3E7E4; --line-2:#EEF1EE;
  --accent:#2B8A3E; --accent-soft:#E7F3E9;
  --done:#1C875A; --done-bg:#E6F3EC;
  --active:#2B8A3E; --active-bg:#E7F3E9;
  --wait:#B9791A; --wait-bg:#FBF0DE;
  --risk:#BF3A3A; --risk-bg:#FAE7E7;
  --idle:#7A8698; --idle-bg:#EEF1F4;
  --future:#C9D2CB; --future-bg:#F0F3F0;
  --shadow:0 1px 2px rgba(18,38,26,.04),0 8px 24px -12px rgba(18,38,26,.14);
  --radius:16px;
  --disp:'Space Grotesk',system-ui,sans-serif;
  --body:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
.wrap{max-width:1320px;margin:0 auto;padding:12px 20px 56px}
a{color:var(--accent)}

header.top{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin-bottom:8px}
.brand{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.eyebrow{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600;display:flex;align-items:center;gap:6px}
.eyebrow::before{content:"";width:16px;height:2px;background:var(--accent);border-radius:2px}
h1{font-family:var(--disp);font-weight:600;font-size:16px;margin:0;letter-spacing:-.01em}
.sub{display:none}
.asof{background:var(--ink);color:#fff;border-radius:9px;padding:4px 11px;display:flex;align-items:baseline;gap:7px;box-shadow:var(--shadow)}
.asof .l{font-family:var(--mono);font-size:9px;color:#9FBBA4;letter-spacing:.06em;text-transform:uppercase}
.asof .v{font-family:var(--disp);font-weight:600;font-size:12px}
.asof a{color:#CDE6D3;font-size:11px}
.acct{display:flex;align-items:center;gap:8px}
.acct-name{font-family:var(--disp);font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.iconbtn{width:30px;height:30px;flex:none;border:1px solid var(--line);background:var(--surface);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;color:var(--ink-2);text-decoration:none;line-height:1;cursor:pointer}
.iconbtn:hover{border-color:var(--ink-3);color:var(--ink);background:var(--surface-2)}
.iconbtn.demo-toggle.on{border-color:var(--wait);color:var(--wait);background:var(--wait-bg)}
.demo-badge{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;background:var(--wait);color:#fff;border-radius:6px;padding:3px 7px}

.rolebar{background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);padding:6px 12px;margin-bottom:8px;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.rolebar .rb-lab{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:6px}
.roles{display:flex;gap:6px;flex-wrap:wrap}
.role{font-family:var(--body);font-size:12px;font-weight:600;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:5px 11px;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.role:hover{border-color:var(--ink-3)}
.role[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.role .side{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.role.ext .side{background:var(--wait)}
.role-note{font-size:12px;color:var(--ink-2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.role-note b{color:var(--ink);font-family:var(--disp)}
.pill{font-family:var(--mono);font-size:11px;background:var(--accent-soft);color:#1C5E2A;border-radius:6px;padding:3px 8px}
.pill.edit{background:var(--wait-bg);color:var(--wait)}

.strip{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px 13px;margin-bottom:8px;display:flex;flex-wrap:wrap;gap:5px 20px;align-items:center}
.stat{display:flex;align-items:baseline;gap:6px}
.stat .n{font-family:var(--disp);font-weight:600;font-size:15px;line-height:1;display:inline-flex;align-items:center;gap:5px}
.stat .n .dot{width:7px;height:7px;border-radius:50%}
.stat .l{font-size:11px;color:var(--ink-3)}
.d-done{background:var(--done)} .d-active{background:var(--active)} .d-wait{background:var(--wait)} .d-risk{background:var(--risk)} .d-idle{background:var(--idle)}
@media(max-width:900px){.strip{grid-template-columns:repeat(3,1fr)}}

.tabs{display:flex;gap:6px;margin:2px 0 10px;flex-wrap:wrap}
.tab{font-family:var(--disp);font-size:13px;font-weight:600;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:7px 14px;cursor:pointer;transition:.15s}
.tab[aria-pressed="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}
.view{display:none}
.view.on{display:block}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px}
.panel-head{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--accent-soft);border-bottom:1px solid #CDE6D3;flex-wrap:wrap}
.panel-head .pt{font-family:var(--disp);font-weight:600;font-size:15px;color:#1C5E2A}
.panel-head .ps{font-size:12px;color:#3C7A48;margin-left:auto}
.tl-legend{display:flex;gap:14px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--line-2);font-size:11.5px;color:var(--ink-2)}
.tl-legend span{display:inline-flex;align-items:center;gap:6px}
.tl-legend i{width:14px;height:8px;border-radius:3px;display:inline-block}
.tl-scroll{overflow-x:auto}
.tl{min-width:940px;position:relative}
.tl-months{display:flex;border-bottom:1px solid var(--line);position:relative}
.mo-gutter{width:210px;flex:none;position:sticky;left:0;z-index:6;background:var(--surface);border-right:1px solid var(--line-2)}
.tl-months .mo{flex:1;font-family:var(--mono);font-size:10.5px;color:var(--ink-3);text-align:center;padding:7px 0;border-left:1px solid var(--line-2);text-transform:uppercase;letter-spacing:.04em}
.tl-client{font-family:var(--disp);font-weight:600;font-size:12px;color:var(--ink);background:var(--surface-2);padding:6px 18px;border-bottom:1px solid var(--line-2);border-top:1px solid var(--line-2);display:flex;align-items:center;gap:8px;position:sticky;left:0;z-index:5;width:max-content;min-width:100%}
.tl-client .cc{font-family:var(--mono);font-size:10px;color:var(--ink-3);background:var(--line-2);border-radius:5px;padding:1px 6px}
.tl-row{display:flex;align-items:stretch;border-bottom:1px solid var(--line-2);min-height:40px;cursor:pointer;transition:.12s}
.tl-row:hover{background:var(--surface-2)}
.tl-row:hover .tl-label{background:var(--surface-2)}
.tl-row.dim{opacity:.55}
.tl-label{width:210px;flex:none;padding:7px 12px 7px 18px;display:flex;flex-direction:column;gap:2px;justify-content:center;border-right:1px solid var(--line-2);position:sticky;left:0;z-index:4;background:var(--surface)}
.tl-label .nm{font-size:12.5px;font-weight:600;line-height:1.2}
.tl-label .cl{font-family:var(--mono);font-size:9.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.tl-track{position:relative;flex:1;margin:8px 8px}
.bar{position:absolute;top:50%;transform:translateY(-50%);height:15px;border-radius:5px;display:flex;align-items:center;overflow:hidden}
.bar span{font-size:9px;color:#fff;font-weight:600;padding:0 6px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.bar.done{background:var(--done)} .bar.active{background:var(--active)} .bar.wait{background:var(--wait)} .bar.risk{background:var(--risk)} .bar.future{background:var(--future)} .bar.idle{background:var(--future)}
.bar.future span,.bar.idle span{color:var(--ink-2)}
.ms{position:absolute;top:50%;width:11px;height:11px;background:#fff;border:2px solid var(--ink);transform:translate(-50%,-50%) rotate(45deg);z-index:3}
.ms.risk{border-color:var(--risk);background:var(--risk-bg)}
.ms.done{border-color:var(--done);background:var(--done)}
.blk{position:absolute;top:50%;width:15px;height:15px;border-radius:50%;background:var(--risk);border:2px solid #fff;transform:translate(-50%,-50%);z-index:5;box-shadow:0 1px 4px rgba(191,58,58,.5);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--disp);font-weight:700;font-size:10px}
.today{position:absolute;top:0;bottom:0;width:2px;background:var(--risk);z-index:2;opacity:.7}
.today::after{content:"сегодня";position:absolute;top:-1px;left:4px;font-family:var(--mono);font-size:9px;color:var(--risk);background:var(--surface);padding:0 3px}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:980px){.grid{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border-left:3px solid var(--st,var(--accent));cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}
.card:hover{transform:translateY(-2px);box-shadow:0 6px 22px -8px rgba(18,38,26,.30);border-color:var(--ink-3)}
.card-head{padding:16px 18px}
.r1{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.tnum{font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--ink-3);letter-spacing:.05em;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.tnum .cl{background:var(--line-2);color:var(--ink-2);padding:1px 6px;border-radius:5px}
.tnum .sys{background:var(--accent-soft);color:#1C5E2A;padding:1px 6px;border-radius:5px}
.tname{font-family:var(--disp);font-weight:600;font-size:16.5px;margin:4px 0 0;letter-spacing:-.01em}
.tdesc{font-size:12.6px;color:var(--ink-2);margin:7px 0 0;line-height:1.45}
.badge{font-size:11px;font-weight:600;padding:5px 10px;border-radius:8px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.badge .dot{width:7px;height:7px;border-radius:50%}
.b-done{background:var(--done-bg);color:var(--done)} .b-done .dot{background:var(--done)}
.b-active{background:var(--active-bg);color:var(--active)} .b-active .dot{background:var(--active)}
.b-wait{background:var(--wait-bg);color:var(--wait)} .b-wait .dot{background:var(--wait)}
.b-risk{background:var(--risk-bg);color:var(--risk)} .b-risk .dot{background:var(--risk)}
.b-idle{background:var(--idle-bg);color:var(--idle)} .b-idle .dot{background:var(--idle)}
.prog{display:flex;align-items:center;gap:11px;margin:13px 0 2px}
.prog-bar{flex:1;height:7px;border-radius:5px;background:var(--line-2);overflow:hidden}
.prog-bar i{display:block;height:100%;border-radius:5px;background:var(--st,var(--accent))}
.prog-pct{font-family:var(--mono);font-size:12px;font-weight:600;min-width:32px;text-align:right}
.expand{margin-top:12px;font-family:var(--mono);font-size:11px;color:var(--accent);display:flex;align-items:center;gap:5px;font-weight:600}
.card:hover .expand{color:#1C5E2A}
.expand .arr{margin-left:auto;transition:transform .16s}
.card:hover .expand .arr{transform:translateX(3px)}

.ovl{position:fixed;inset:0;background:rgba(18,38,26,.34);backdrop-filter:blur(1px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:40}
.ovl.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100vh;width:min(95vw,max(460px,50vw));background:var(--surface);box-shadow:-16px 0 48px -16px rgba(18,38,26,.42);transform:translateX(101%);transition:transform .34s cubic-bezier(.33,0,.1,1);z-index:50;display:flex;flex-direction:column;border-left:4px solid var(--st,var(--accent))}
.drawer.on{transform:translateX(0)}
.dw-head{padding:16px 24px 15px;border-bottom:1px solid var(--line);flex:none}
.dw-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.dw-x{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;width:34px;height:34px;cursor:pointer;font-size:15px;color:var(--ink-2);line-height:1}
.dw-x:hover{border-color:var(--ink-3);color:var(--ink)}
.dw-arrows{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.dw-arrows button{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;width:34px;height:34px;cursor:pointer;font-size:18px;color:var(--ink);line-height:1}
.dw-arrows button:disabled{opacity:.32;cursor:default}
.dw-arrows button:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}
.dw-title{font-family:var(--disp);font-weight:600;font-size:21px;margin-top:6px;letter-spacing:-.01em;line-height:1.15}
.dw-edit{margin-top:8px}
.dw-edit a{font-family:var(--mono);font-size:11px;background:var(--wait-bg);color:var(--wait);border-radius:6px;padding:4px 9px;text-decoration:none}
.dw-body{overflow-y:auto;padding:8px 24px 48px;flex:1}
.dw-body .blk-sec:first-child{margin-top:10px}
@media (prefers-reduced-motion:reduce){.drawer{transition:none}.card{transition:none}}

.blk-sec{margin-top:16px}
.blk-h{font-size:10.5px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 0 9px;display:flex;align-items:center;gap:8px}
.blk-h .num{background:var(--line-2);color:var(--ink-2);border-radius:4px;padding:0 5px;font-size:9.5px}
.sub-h{font-size:10px;font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:13px 0 8px}
.agg{font-size:12.5px;color:var(--ink-2);background:var(--surface-2);border:1px dashed var(--line);border-radius:8px;padding:8px 11px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.mchip{font-size:11px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:7px;padding:4px 9px;display:flex;gap:6px;align-items:center}
.mchip .n{font-family:var(--mono);font-weight:600;color:var(--accent)}
.mchip .dom{font-family:var(--mono);font-size:8.5px;text-transform:uppercase;color:var(--ink-3)}
.mchip.planned{border-style:dashed}
ul.lst{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
ul.lst li{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--ink-2);line-height:1.4}
ul.lst .st{width:7px;height:7px;border-radius:50%;margin-top:5px;flex:none}
.roles-mini{font-family:var(--mono);font-size:10px;color:var(--ink-3);margin-top:2px}
.pipe{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.pipe .col{border-radius:9px;padding:9px 11px;background:var(--surface-2);border:1px solid var(--line-2)}
.pipe .col h5{margin:0 0 7px;font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:6px}
.pipe .col.done h5{color:var(--done)} .pipe .col.now h5{color:var(--active)} .pipe .col.next h5{color:var(--idle)}
.pipe .col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.pipe .col li{font-size:11px;color:var(--ink-2);line-height:1.35}
table.role-tbl{width:100%;border-collapse:collapse;font-size:12px}
table.role-tbl td{padding:5px 8px;border-bottom:1px solid var(--line-2)}
table.role-tbl td.r{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;width:1px}
table.role-tbl td.nm{font-weight:600;color:var(--ink)}
.q{border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;margin-bottom:8px}
.q .qtop{display:flex;align-items:center;gap:8px;justify-content:space-between}
.court{font-family:var(--mono);font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:6px;letter-spacing:.03em}
.court.us{background:var(--accent-soft);color:#1C5E2A}
.court.client{background:var(--wait-bg);color:var(--wait)}
.q .qt{font-size:12.5px;font-weight:600;color:var(--ink)}
.q .qm{font-size:12px;color:var(--ink-2);margin-top:4px;line-height:1.4}
.q .qd{font-family:var(--mono);font-size:10.5px;color:var(--risk);margin-top:5px}
.meet{display:flex;gap:10px;align-items:center;font-size:12.5px;padding:7px 0;border-bottom:1px solid var(--line-2)}
.meet .dt{font-family:var(--mono);font-size:11px;color:var(--ink-3);white-space:nowrap;flex:none}
.meet .mlink{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:var(--ink);min-width:0}
.meet .mlink:hover{color:var(--accent)}
.meet .mlink .ttl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meet .mlink .ext{color:var(--ink-3);font-size:11px;flex:none}
.meet .sh{font-family:var(--mono);font-size:9px;border-radius:5px;padding:1px 5px;flex:none;margin-left:auto}
.meet .sh.shared{background:var(--accent-soft);color:#1C5E2A}
.meet .sh.internal{background:var(--idle-bg);color:var(--idle)}
.res{display:flex;flex-direction:column;gap:8px}
.res .rrow{display:flex;gap:9px;align-items:flex-start;font-size:12.5px}
.res .tag{font-family:var(--mono);font-size:9px;font-weight:700;padding:2px 7px;border-radius:6px;white-space:nowrap;margin-top:1px}
.res .tag.crit{background:var(--risk-bg);color:var(--risk)}
.res .tag.def{background:var(--wait-bg);color:var(--wait)}
.res .tag.free{background:var(--done-bg);color:var(--done)}
.comm{display:flex;gap:10px;flex-wrap:wrap}
.comm .cell{flex:1;min-width:120px;background:#0F2417;color:#fff;border-radius:10px;padding:10px 12px}
.comm .cell .k{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;color:#8FB89A;letter-spacing:.04em}
.comm .cell .v{font-family:var(--disp);font-weight:600;font-size:17px;margin-top:3px}
.cred{border:1px solid var(--line-2);border-radius:10px;padding:9px 11px;margin-bottom:8px;font-size:12.5px}
.cred-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cred-role{font-family:var(--mono);font-size:10px;color:var(--ink-3)}
.cred-row{margin-top:5px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cred-row .ck{font-family:var(--mono);font-size:9px;text-transform:uppercase;color:var(--ink-3);letter-spacing:.04em}
.cred-row code{font-family:var(--mono);font-size:11.5px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:5px;padding:1px 6px}
.art{display:flex;flex-direction:column;gap:6px}
.art a{font-size:12.5px;display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink)}
.art a:hover{color:var(--accent)}
.art a .aname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.art a .acat{flex:none;font-family:var(--mono);font-size:8px;letter-spacing:.03em;text-transform:uppercase;border-radius:5px;padding:2px 7px}
.acat.ac-comm{background:#0F2417;color:#8FE0A6}
.acat.ac-req{background:#EEF1F4;color:#566072}
.acat.ac-tech{background:var(--wait-bg);color:#8A5A12}
.acat.ac-gen{background:var(--line-2);color:var(--ink-3)}
.fic{width:16px;height:16px;flex:none;display:inline-block;vertical-align:middle}
.meet .mlink .fic{width:15px;height:15px}

.hidnote{font-size:11.5px;color:var(--ink-3);font-family:var(--mono);margin-top:16px;padding-top:12px;border-top:1px dashed var(--line);display:flex;align-items:center;gap:7px}

.alert{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:12px 14px;margin-top:12px;max-width:100%}
.alert>div{min-width:0}
.alert.crit{background:var(--risk-bg);border:1px solid #F0C9C9;border-left:4px solid var(--risk)}
.alert.warn{background:var(--wait-bg);border:1px solid #F0DDBB;border-left:4px solid var(--wait)}
.alert .ai{width:26px;height:26px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--disp);font-weight:700;font-size:14px;margin-top:1px}
.alert.crit .ai{background:var(--risk)} .alert.warn .ai{background:var(--wait)}
.alert .at{font-family:var(--disp);font-weight:600;font-size:13px;margin:0 0 3px}
.alert.crit .at{color:var(--risk)} .alert.warn .at{color:#8A5A12}
.alert .am{font-size:12.6px;color:var(--ink);line-height:1.45;min-width:0;overflow-wrap:anywhere}
.alert .am div{margin-top:3px}
.alert .am div:first-child{margin-top:0}

.inbox{display:flex;flex-direction:column;gap:10px}
.task{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--tc,var(--accent));border-radius:12px;box-shadow:var(--shadow);padding:13px 16px;display:flex;gap:14px;align-items:flex-start}
.task .ic{width:30px;height:30px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:13px;color:#fff}
.task .tmain{flex:1;min-width:0}
.task .tt{font-family:var(--disp);font-weight:600;font-size:14px}
.task .tmeta{font-size:12px;color:var(--ink-2);margin-top:3px;line-height:1.4}
.task .tside{text-align:right;white-space:nowrap;display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.task .tside .dd{font-family:var(--mono);font-size:11px;color:var(--risk);font-weight:600}
.task .tside .pr{font-family:var(--mono);font-size:10px;color:var(--ink-3)}
.empty{text-align:center;color:var(--ink-3);padding:40px;font-size:14px}
.inbox-lab{font-size:13px;color:var(--ink-2);margin-bottom:12px}
.inbox-lab b{color:var(--ink);font-family:var(--disp)}

/* ---------- управление данными (drawer manage) ---------- */
.dw-edit .mbtn{font-family:var(--body);font-size:12px;font-weight:600;background:var(--wait);color:#fff;border:none;border-radius:8px;padding:7px 12px;cursor:pointer}
.dw-edit .mbtn:hover{filter:brightness(1.05)}
.mpanel{display:flex;flex-direction:column;gap:14px}
.mpanel-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:sticky;top:-8px;background:var(--surface);padding:6px 0;z-index:2}
.mhint{font-size:11.5px;color:var(--ink-3)}
.msec{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.msec-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--line-2);font-family:var(--disp);font-weight:600;font-size:13px}
.saved-ok{font-size:11px;color:var(--done);font-family:var(--mono)}
.mrows{display:flex;flex-direction:column}
.mrow{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line-2);font-size:12.5px}
.mrow:last-child{border-bottom:none}
.mrow-t{min-width:0;overflow:hidden;text-overflow:ellipsis}
.mrow-act{display:flex;gap:4px;flex:none}
.mempty{padding:10px 12px;color:var(--ink-3);font-style:italic;font-size:12px}
.ico{width:26px;height:26px;border:1px solid var(--line);background:var(--surface);border-radius:7px;cursor:pointer;font-size:12px;color:var(--ink-2);line-height:1;display:inline-flex;align-items:center;justify-content:center}
.ico:hover{border-color:var(--ink-3);color:var(--ink)}
.ico.danger:hover{border-color:var(--risk);color:var(--risk)}
.btn{font-family:var(--body);font-size:12.5px;font-weight:600;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer;color:var(--ink-2)}
.btn:hover{border-color:var(--ink-3);color:var(--ink)}
.btn.sm{font-size:11.5px;padding:5px 10px}
.btn.ghost{background:transparent;border-style:dashed}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{filter:brightness(1.05);color:#fff}
.frm-slot{padding:0 12px}
.frm-slot:not(:empty){padding:12px}
.frm{display:flex;flex-direction:column;gap:9px;background:var(--surface-2);border:1px dashed var(--line);border-radius:10px;padding:12px}
.fldrow{display:flex;flex-direction:column;gap:3px}
.fldlab{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}
.fld{width:100%;font-family:var(--body);font-size:13px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:var(--surface);color:var(--ink)}
.fld:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}
select.fld[multiple]{min-height:78px}
.fld-check{width:16px;height:16px}
.err{font-size:11px;color:var(--risk)}
.frm-act{display:flex;gap:8px;margin-top:4px}
.apply{display:flex;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line-2);background:#F3F9F5}
.apply .fld{width:auto;flex:1}
.mstage{border-bottom:1px solid var(--line-2);padding:10px 12px}
.mstage:last-child{border-bottom:none}
.mstage-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mstage-h b{font-family:var(--disp);font-size:13px}
.mstage-h .dates{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.mstage-h .mrow-act{margin-left:auto}
.drag{cursor:grab;color:var(--ink-3);font-size:14px;line-height:1;user-select:none;flex:none}
.drag:active{cursor:grabbing}
.sort-ghost{opacity:.45;background:var(--accent-soft)}
.mworks{margin:8px 0 0 14px;display:flex;flex-direction:column;gap:5px}
.mwork{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:12px;color:var(--ink-2)}
.mwork span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}

/* ---------- полноэкранная панель управления + вкладки ---------- */
.mfull{position:fixed;inset:0;background:var(--bg);z-index:60;display:none;overflow-y:auto}
.mfull.on{display:block}
.mfull-inner{max-width:1100px;margin:0 auto;padding:20px 22px 60px}
.mfull-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;background:var(--bg);padding:8px 0 12px;z-index:3;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.mfull-title{font-family:var(--disp);font-weight:600;font-size:18px}
.mfull-actions{display:flex;gap:8px}
.btn.danger{border-color:#F0C9C9;color:var(--risk)}
.btn.danger:hover{background:var(--risk);color:#fff;border-color:var(--risk)}
.mtabs{display:flex;gap:6px;flex-wrap:wrap;padding:14px 0;margin-bottom:6px}
.mtab{font-family:var(--body);font-size:12.5px;font-weight:600;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer;color:var(--ink-2)}
.mtab:hover{border-color:var(--ink-3)}
.mtab.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.mpane{display:none}
.mpane.on{display:block}
.mlog{display:flex;flex-direction:column;gap:8px}
.logrow{border:1px solid var(--line-2);border-left:3px solid var(--ink-3);border-radius:9px;padding:9px 12px}
.logrow.log-create{border-left-color:var(--done)}
.logrow.log-update{border-left-color:var(--accent)}
.logrow.log-delete{border-left-color:var(--risk)}
.log-top{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.log-verb{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--ink-3)}
.log-ent{font-weight:600;font-size:12.5px}
.log-meta{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}
.log-ch{font-size:12px;color:var(--ink-2);margin-top:4px}

/* закрытие дел в «Мои дела» + бейдж закрытого дела */
.court.done{background:var(--done-bg);color:var(--done)}
.task-close{margin-top:9px;display:flex;gap:8px;align-items:center}
.task-close .fld{flex:1;font-size:12px;padding:6px 9px}
.task-close .btn.sm{flex:none;padding:6px 12px}
