:root{--bg: #f4f6f8;--surface: #fff;--surface-2: #f0f2f5;--text: #1b2430;--muted: #627083;--line: #dde2e8;--brand: #0f7b5f;--brand-ink: #fff;--brand-soft: #e3f4ee;--warn: #b26a00;--warn-soft: #fff4e0;--bad: #c0392b;--bad-soft: #fdecea;--ok: #1e7e34;--ok-soft: #e6f4ea;--in: #fff;--out: #dcf5e8;--radius: 10px;--shadow: 0 1px 2px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.05);color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;color:var(--text)}@media(prefers-color-scheme:dark){:root{--bg: #12161b;--surface: #1a2027;--surface-2: #222a33;--text: #e6ebf0;--muted: #94a1b1;--line: #2e3742;--brand: #34b58a;--brand-ink: #062118;--brand-soft: #173a2f;--warn: #f0b04a;--warn-soft: #3a2e17;--bad: #ef7d70;--bad-soft: #3d1f1c;--ok: #6fd08a;--ok-soft: #183323;--in: #222a33;--out: #19392d;--shadow: none;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg)}h1,h2,h3,h4{margin:0 0 .4em;line-height:1.2}h2{font-size:1.35rem}h3{font-size:1.1rem}h4{font-size:1rem}a{color:var(--brand)}code{background:var(--surface-2);padding:0 .3em;border-radius:4px}button,.button,input,select,textarea{font:inherit;color:inherit}button,.button{display:inline-flex;align-items:center;gap:.35em;padding:.45em .9em;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;text-decoration:none;white-space:nowrap;min-height:36px}button:hover:not(:disabled),.button:hover{border-color:var(--brand)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-weight:600}button.link{border:0;background:none;padding:0 .2em;min-height:0;color:var(--brand);text-decoration:underline;text-underline-offset:2px}button.icon{border:0;background:none;padding:.2em .45em;min-height:0;font-size:1.1rem}button.icon.small{font-size:.9rem;padding:0 .3em}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:1px}input,select,textarea{padding:.45em .6em;border:1px solid var(--line);border-radius:8px;background:var(--surface);min-height:36px;max-width:100%}textarea{min-height:80px;resize:vertical}label{display:flex;flex-direction:column;gap:.25em;font-size:.9rem;color:var(--muted)}label>input,label>select,label>textarea{color:var(--text)}label.inline{flex-direction:row;align-items:center;gap:.4em}label.check{flex-direction:row;align-items:center;gap:.4em;color:var(--text)}label.check input{min-height:0}fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:.6em .8em .8em;margin:0}legend{color:var(--muted);font-size:.85rem;padding:0 .3em}table{width:100%;border-collapse:collapse;background:var(--surface)}th,td{text-align:left;padding:.5em .6em;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.8rem;color:var(--muted);font-weight:600;background:var(--surface-2);position:sticky;top:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);max-height:70vh}td.actions{white-space:nowrap;display:flex;gap:.5em;flex-wrap:wrap}tr.row-warn td{background:var(--warn-soft)}.bad{color:var(--bad)}.muted{color:var(--muted)}.small{font-size:.85rem}.pad{padding:1rem}.pad-x{padding:0 .8rem}.center{display:grid;place-items:center;height:100%}.row{display:flex;gap:.6em;align-items:center}.row.wrap,.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:.7em}.spacer{flex:1}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6em}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6em}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);margin-bottom:1rem}.empty{padding:2rem 1rem;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}.error-box{background:var(--bad-soft);color:var(--bad);padding:.6em .8em;border-radius:8px}.banner{padding:.6em .8em;border-radius:8px}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.ok{background:var(--ok-soft);color:var(--ok)}.badge{display:inline-block;padding:.05em .55em;border-radius:999px;font-size:.78rem;background:var(--surface-2);color:var(--muted);border:1px solid var(--line);vertical-align:middle}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.badge.bad{background:var(--bad-soft);color:var(--bad);border-color:transparent}.chip{display:inline-flex;align-items:center;gap:.2em;padding:.1em .5em;margin:.15em;border-radius:999px;background:var(--surface-2);font-size:.85rem}.login{min-height:100%;display:grid;place-items:center;padding:16px}.login-card{width:min(380px,100%);display:flex;flex-direction:column;gap:.8em}.login-card h1{font-weight:400;font-size:1.4rem}.shell{display:grid;grid-template-columns:240px 1fr;grid-template-rows:56px 1fr;height:100%}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:.8em;padding:0 1rem;background:var(--surface);border-bottom:1px solid var(--line)}.brand{font-size:1.05rem}.brand b{color:var(--brand)}.menu-btn{display:none}.live-dot{width:10px;height:10px;border-radius:50%;background:var(--warn)}.live-dot.online{background:var(--ok)}.live-dot.offline{background:var(--bad)}.bell{position:relative;text-decoration:none;font-size:1.15rem}.bell .count{position:absolute;top:-6px;right:-10px;background:var(--bad);color:#fff;font-size:.7rem;border-radius:999px;padding:0 .4em}.avail{border-radius:999px;font-size:.85rem}.avail.on{background:var(--ok-soft);color:var(--ok);border-color:transparent}.avail.off{background:var(--bad-soft);color:var(--bad);border-color:transparent}.avail.small{min-height:28px;padding:.1em .7em}.me{display:flex;gap:.6em;align-items:center;font-size:.9rem}.sidenav{background:var(--surface);border-right:1px solid var(--line);padding:.6rem;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidenav a{padding:.55em .7em;border-radius:8px;color:var(--text);text-decoration:none;font-size:.92rem}.sidenav a:hover{background:var(--surface-2)}.sidenav a.active{background:var(--brand-soft);color:var(--brand);font-weight:600}.content{overflow:auto;min-width:0}.page{padding:1rem 1.2rem 2rem;display:flex;flex-direction:column;gap:.8rem;max-width:1500px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:.8em;flex-wrap:wrap}.page-head h2,.page-head h3{margin:0}.filters{gap:.6em}.tabs{display:flex;gap:.3em;flex-wrap:wrap}.tabs button{border-radius:999px;font-size:.88rem;min-height:32px;padding:.3em .8em}.tabs button.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:600}.two-col{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1.2rem;align-items:start}.two-col.page{max-width:none}.pager{justify-content:center}.toasts{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:100;max-width:calc(100vw - 32px)}.toast{background:var(--text);color:var(--bg);padding:.6em .9em;border-radius:8px;box-shadow:var(--shadow)}.toast.err{background:var(--bad);color:#fff}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--surface);border-radius:var(--radius);width:min(620px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:var(--shadow)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-body{padding:1rem;overflow:auto;display:flex;flex-direction:column;gap:.7em}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.7rem}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .9rem}.stat-label{color:var(--muted);font-size:.82rem}.stat-value{font-size:1.5rem;font-weight:650;font-variant-numeric:tabular-nums}.stat-hint{color:var(--muted);font-size:.75rem}.stat.ok .stat-value{color:var(--ok)}.stat.warn .stat-value{color:var(--warn)}.stat.bad .stat-value{color:var(--bad)}.stats-inline{gap:1.2em;font-size:.92rem}.kanban{display:flex;gap:.7rem;overflow-x:auto;padding-bottom:.5rem;align-items:flex-start;min-height:60vh}.kcol{flex:0 0 260px;background:var(--surface-2);border-radius:var(--radius);display:flex;flex-direction:column;max-height:75vh}.kcol header{padding:.6rem .7rem;border-bottom:1px solid var(--line)}.kcol.won header{color:var(--ok)}.kcol.lost header,.kcol.no_interest header{color:var(--muted)}.kcards{padding:.5rem;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto}.kcard{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.55rem .65rem;display:flex;flex-direction:column;gap:.2rem;cursor:grab}.kcard[draggable=false]{cursor:default}.kcard-title{font-weight:600;text-align:left;text-decoration:none!important;color:var(--text)!important}.history{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.history li{border-left:2px solid var(--line);padding-left:.6rem}.task-list,.notif-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.task{display:flex;gap:.8rem;justify-content:space-between;align-items:center;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .9rem}.task.overdue{border-color:var(--bad)}.task-main{min-width:0;flex:1}.notif-list li{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem}.notif-list li.unread{border-left:3px solid var(--brand)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.qr{width:220px;max-width:100%;background:#fff;padding:8px;border-radius:8px}.qr svg{display:block;width:100%;height:auto}.account{display:flex;flex-direction:column;gap:.5rem;margin:0}.kv{display:grid;grid-template-columns:auto 1fr;gap:.2em .8em;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0}.store-block{border-top:1px solid var(--line);padding:.7rem 0}.store-block h4{margin:0}.member-list{display:flex;flex-direction:column;gap:.2rem;margin:.3rem 0}.team-block{padding:.2rem 0 .2rem .8rem;border-left:2px solid var(--brand-soft)}.dest-row select{min-width:180px}.dest-row input[type=number]{width:100px}.inbox{display:grid;grid-template-columns:340px minmax(0,1fr) 320px;height:calc(100vh - 56px)}.inbox-list{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:var(--surface)}.inbox-list .tabs{padding:.6rem .6rem 0}.inbox-list .filters{padding:.5rem .6rem;display:flex;flex-wrap:wrap;gap:.4em}.inbox-list .filters>input,.inbox-list .filters>.row{width:100%}.inbox-list .filters select{flex:1 1 0;min-width:0}.conv-items{overflow-y:auto;flex:1;list-style:none;margin:0;padding:0}.conv-item{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:.65rem .8rem;background:none;min-height:0;white-space:normal}.conv-item:hover{background:var(--surface-2)}.conv-item.active{background:var(--brand-soft)}.conv-top{display:flex;justify-content:space-between;gap:.5em;align-items:baseline}.conv-preview{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-meta{display:flex;gap:.3em;flex-wrap:wrap;margin-top:.2rem}.inbox-empty{display:grid;place-items:center;padding:2rem}.thread{display:flex;flex-direction:column;min-height:0;min-width:0}.thread-head{display:flex;align-items:center;gap:.6em;padding:.6rem .9rem;border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap}.icon.back{display:none}.messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.4rem}.msg{max-width:min(560px,80%);padding:.45rem .7rem;border-radius:10px;background:var(--in);border:1px solid var(--line);align-self:flex-start}.msg.out{align-self:flex-end;background:var(--out);border-color:transparent}.msg.failed{border:1px solid var(--bad)}.msg-body{white-space:pre-wrap;overflow-wrap:anywhere}.msg-meta{font-size:.72rem;color:var(--muted);text-align:right;margin-top:.15rem}.msg-fail{color:var(--bad);font-size:.8rem;display:flex;gap:.5em;align-items:center}.att-img{max-width:260px;max-height:260px;border-radius:8px;display:block}.att-doc{display:inline-flex;gap:.4em}.composer{display:flex;gap:.5em;padding:.6rem;border-top:1px solid var(--line);background:var(--surface);align-items:flex-end}.composer textarea{flex:1;min-height:42px;max-height:160px}.composer.locked{justify-content:center;align-items:center}.icon.attach{font-size:1.25rem}.side-panel{border-left:1px solid var(--line);overflow-y:auto;padding:.9rem;background:var(--surface);display:flex;flex-direction:column;gap:.9rem}.side-panel section{display:flex;flex-direction:column;gap:.4rem}.side-panel form.row>input{flex:1;min-width:0}.side-panel-head{display:none}.icon.details{display:none;font-size:.9rem;border:1px solid var(--line);border-radius:8px;padding:.25em .6em}.more summary{cursor:pointer;color:var(--brand);font-size:.9rem}.more[open]{display:flex;flex-direction:column;gap:.9rem}.note{background:var(--warn-soft);border-radius:8px;padding:.4rem .6rem;font-size:.88rem}.assist{background:var(--surface-2);border-radius:8px;padding:.6rem;display:flex;flex-direction:column;gap:.4rem;font-size:.9rem}.suggest{background:var(--surface);border:1px dashed var(--line);border-radius:8px;padding:.5rem;white-space:pre-wrap}@media(max-width:1280px){.inbox{grid-template-columns:280px minmax(0,1fr) 290px}}@media(max-width:1000px){.two-col{grid-template-columns:1fr}.inbox{grid-template-columns:280px minmax(0,1fr)}.inbox .side-panel{display:none}.inbox .side-panel.open{display:flex;position:fixed;top:56px;right:0;bottom:0;width:min(360px,100vw);z-index:30;box-shadow:var(--shadow);border-left:1px solid var(--line)}.side-panel-head{display:flex;justify-content:space-between;align-items:center}.icon.details{display:inline-flex}}@media(max-width:800px){.shell{grid-template-columns:1fr}.menu-btn{display:inline-flex}.me span{display:none}.sidenav{position:fixed;top:56px;left:0;bottom:0;width:260px;z-index:40;transform:translate(-100%);transition:transform .15s;box-shadow:var(--shadow)}.sidenav.open{transform:none}.page{padding:1rem 16px 2rem}.grid2,.grid3{grid-template-columns:1fr}.inbox{grid-template-columns:minmax(0,1fr)}.inbox.has-selection .inbox-list{display:none}.inbox:not(.has-selection) .thread,.inbox:not(.has-selection) .inbox-empty{display:none}.icon.back{display:inline-flex}.msg{max-width:92%}.kcol{flex-basis:82vw}.topbar{gap:.5em;padding:0 .6rem}.brand{font-size:.95rem}}
