:root{--bg: #f6f7f9;--surface: #ffffff;--text: #1c2430;--muted: #687385;--line: #e2e6ec;--brand: #1f4e79;--brand-soft: #e6eef7;--ok: #2e7d4f;--warn: #b26b00;--urgent: #b42318;--side: #17283b;--side-text: #d7e0ea}@media(prefers-color-scheme:dark){:root{--bg: #11161d;--surface: #18202a;--text: #e6ebf1;--muted: #97a3b4;--line: #2a3542;--brand: #7fb2e5;--brand-soft: #1e2d3e;--ok: #5cc28a;--warn: #f0a83a;--urgent: #ff7a6e;--side: #0c1117}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}h1{font-size:1.4rem;margin:.2rem 0}h3{font-size:1rem;margin:0 0 .5rem}.shell{display:flex;min-height:100vh}.sidebar{width:210px;background:var(--side);color:var(--side-text);padding:1rem;display:flex;flex-direction:column;gap:1rem;flex-shrink:0}.brand{font-weight:700;font-size:1.1rem;color:#fff}.sidebar nav{display:flex;flex-direction:column;gap:.25rem}.sidebar nav a{text-decoration:none;padding:.45rem .6rem;border-radius:6px}.sidebar nav a.active{background:#ffffff1f;color:#fff}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:.4rem;font-size:.8rem}.main{flex:1;padding:1.5rem 2rem;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin:.4rem 0 1rem;flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:.82rem}.row{display:flex;gap:.5rem;align-items:center}.between{justify-content:space-between}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:.45rem .9rem;border-radius:6px;cursor:pointer;text-decoration:none;font:inherit}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.link{background:none;border:none;color:inherit;text-decoration:underline;cursor:pointer;padding:0;font:inherit;text-align:left}.badge{opacity:.7}.pill{background:var(--brand-soft);color:var(--brand);padding:.15rem .6rem;border-radius:999px;font-size:.8rem;white-space:nowrap}.pill.big{font-size:.95rem;padding:.35rem .9rem}.search{width:100%;max-width:520px;padding:.55rem .8rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;margin-bottom:1rem}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem}.matter-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1rem;text-decoration:none;display:flex;flex-direction:column;gap:.35rem}.matter-card:hover{border-color:var(--brand)}.bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.bar span{display:block;height:100%;background:var(--brand)}.flag{font-size:.82rem;font-weight:600}.flag.urgent,.issues .urgent{color:var(--urgent)}.issues .warn{color:var(--warn)}.issues{margin:0;padding-left:1.1rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;margin-bottom:1rem}.timeline{list-style:none;padding:0;margin:0 0 1rem;display:flex;gap:.5rem;flex-wrap:wrap}.timeline li{display:flex;align-items:center;gap:.4rem;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem;font-size:.85rem}.timeline .dot{width:9px;height:9px;border-radius:50%;background:var(--line)}.timeline .done .dot{background:var(--ok)}.timeline .current{border-color:var(--brand)}.timeline .current .dot{background:var(--brand)}.tabs{display:flex;gap:.25rem;margin-bottom:.5rem;flex-wrap:wrap}.tabs button,.seg button{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font:inherit}.tabs button.on,.seg button.on{background:var(--brand);border-color:var(--brand);color:#fff}.stages{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}.check{display:flex;gap:.5rem;align-items:baseline;padding:.2rem 0;cursor:pointer}.check .small{margin-left:auto;white-space:nowrap}.plain{list-style:none;padding:0;margin:.4rem 0}.struck{text-decoration:line-through;color:var(--muted)}.table{width:100%;border-collapse:collapse;margin-bottom:1rem}.table th,.table td{text-align:left;padding:.45rem;border-bottom:1px solid var(--line)}.inline-form{display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0}.inline-form input,.inline-form select,.inline-form textarea,.form input,label select,label input{padding:.45rem .6rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:inherit}.inline-form textarea{flex:1;min-width:240px}.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.check,.inline-form label{flex-direction:row}.narrow{max-width:680px}.form{display:flex;flex-direction:column;gap:1rem}fieldset{border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem 1rem;display:flex;flex-direction:column;gap:.7rem;background:var(--surface)}legend{font-weight:600;padding:0 .3rem}.seg{display:flex;gap:.3rem;flex-wrap:wrap}.note{border-top:1px solid var(--line);padding:.6rem 0}.wrap{flex-wrap:wrap}.docs{display:grid;grid-template-columns:200px 1fr;gap:1rem;border-radius:8px;outline:2px dashed transparent;outline-offset:4px}.docs.drag-over{outline-color:var(--brand);background:var(--brand-soft)}.folders{display:flex;flex-direction:column;gap:2px}.folders button{display:flex;justify-content:space-between;background:none;border:none;color:var(--text);padding:.4rem .6rem;border-radius:6px;cursor:pointer;font:inherit;text-align:left}.folders button.on{background:var(--brand-soft);color:var(--brand);font-weight:600}.folders button:hover{background:var(--brand-soft)}.doc-main{min-width:0;overflow-x:auto}.doc-main .search{margin-bottom:0;flex:1}.dropzone{border:2px dashed var(--line);border-radius:8px;padding:.9rem;margin:.8rem 0;text-align:center;color:var(--muted);font-size:.88rem}.table select,.table input:not([type=checkbox]){padding:.3rem .4rem;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--text);font:inherit;width:100%}.table input.num,.inline-form input.num{width:90px}.table tr[draggable]{cursor:grab}.totals{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-bottom:.8rem}.totals .btn{margin-left:auto}.timer-pill{position:fixed;right:1rem;bottom:1rem;z-index:50;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:.55rem 1rem;font:600 .95rem system-ui;cursor:pointer;box-shadow:0 4px 14px #00000026}.timer-pill.running{background:var(--brand);color:#fff;border-color:var(--brand)}.timer-panel{position:fixed;right:1rem;bottom:1rem;z-index:50;width:300px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem;box-shadow:0 8px 28px #0003;display:flex;flex-direction:column;gap:.6rem}.timer-panel .clock{font-size:1.6rem;font-variant-numeric:tabular-nums}.timer-panel textarea{padding:.45rem .6rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:inherit}@media(max-width:720px){.docs{grid-template-columns:1fr}.folders{flex-direction:row;flex-wrap:wrap}.shell{flex-direction:column}.sidebar{width:auto;flex-direction:row;align-items:center;flex-wrap:wrap;padding:.6rem 1rem}.sidebar nav{flex-direction:row}.sidebar-foot{margin:0 0 0 auto}.main{padding:1rem}}.type-group{display:flex;flex-direction:column;gap:.3rem}.chain{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem}.chain-file{border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;display:flex;flex-direction:column;gap:.2rem}.chain-file.ready,.chain-file.exchanged,.chain-file.completed{border-color:var(--brand)}.chain-file.stopped{border-color:var(--urgent)}.auth{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--bg, #f6f7f9)}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:.8rem}.auth-card .brand{color:var(--brand);font-weight:700;font-size:1.2rem}.auth-card .qr{align-self:center;background:#fff;padding:8px;border-radius:8px}.auth-card code{word-break:break-all}.banner{background:var(--surface);border:1px solid var(--urgent);border-radius:8px;padding:.6rem .9rem;margin-bottom:1rem}.restricted-row{padding:.4rem 0;border-top:1px solid var(--line)}
