:root{--bg: #f6f7f9;--surface: #ffffff;--line: #e3e6eb;--text: #10151c;--muted: #66707d;--accent: #1f5fd6;--accent-weak: #eaf1fd;--danger: #c0342c;--danger-weak: #fdecea;--ok: #1c7a4a;--ok-weak: #e7f5ee;--radius: 10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-text-size-adjust:100%}.shell{max-width:900px;margin:0 auto;padding:16px 16px 64px}header.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}header.top .brand{font-weight:650;letter-spacing:-.01em}header.top .who{color:var(--muted);font-size:13px;text-align:right}nav.tabs{display:flex;gap:4px;overflow-x:auto;padding:10px 16px 0;background:var(--surface);border-bottom:1px solid var(--line)}nav.tabs button{border:none;background:none;padding:9px 13px;border-radius:8px 8px 0 0;font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent}nav.tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:16px}.card h2{margin:0 0 4px;font-size:17px;letter-spacing:-.01em}.card .hint{color:var(--muted);font-size:13px;margin:0 0 16px}label{display:block;margin-bottom:12px;font-size:13px;color:var(--muted)}label span{display:block;margin-bottom:5px}input,select{width:100%;padding:10px 11px;font:inherit;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:8px}input:focus,select:focus{outline:2px solid var(--accent-weak);border-color:var(--accent)}.row{display:grid;gap:0 12px;grid-template-columns:1fr}@media(min-width:620px){.row.two{grid-template-columns:1fr 1fr}.row.three{grid-template-columns:1fr 1fr 1fr}}button.btn{padding:10px 16px;font:inherit;font-weight:550;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}button.btn:disabled{opacity:.55;cursor:default}button.btn.ghost{background:#fff;color:var(--accent)}button.btn.link{background:none;border:none;color:var(--accent);padding:4px 0}.msg{padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:14px;white-space:pre-wrap}.msg.err{background:var(--danger-weak);color:var(--danger)}.msg.ok{background:var(--ok-weak);color:var(--ok)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:550;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.scroll{overflow-x:auto}.empty{color:var(--muted);padding:22px 0;text-align:center;font-size:14px}.suggest{border:1px solid var(--line);border-radius:8px;margin:-4px 0 12px;overflow:hidden}.suggest button{display:block;width:100%;text-align:left;padding:10px 12px;border:none;background:#fff;cursor:pointer;font:inherit;border-bottom:1px solid var(--line)}.suggest button:last-child{border-bottom:none}.suggest button:hover{background:var(--accent-weak)}.suggest .nm{font-weight:550;font-size:14px}.suggest .ad{color:var(--muted);font-size:12px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}.toolbar input[type=search]{flex:1 1 180px}.filelabel{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;cursor:pointer;border:1px dashed var(--line);border-radius:8px;color:var(--accent);font-size:14px;background:#fff}.filelabel input{display:none}.report{font-size:13px}.report ul{margin:8px 0 0;padding-left:18px;color:var(--danger)}.tripcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;cursor:pointer}.tripcard:hover{border-color:var(--accent)}.tripcard .head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.tripcard .num{font-weight:650}.tripcard .route{margin:6px 0 2px;font-size:14px}.tripcard .meta{color:var(--muted);font-size:13px}.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:550;white-space:nowrap}.badge.gray{background:#eef0f3;color:#58616d}.badge.blue{background:var(--accent-weak);color:var(--accent)}.badge.green{background:var(--ok-weak);color:var(--ok)}.badge.red{background:var(--danger-weak);color:var(--danger)}.badge.amber{background:#fdf3e2;color:#96601a}.plan{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.plan .doc{border-bottom:1px solid var(--line)}.plan .doc:last-child{border-bottom:none}.plan .doc>.h{padding:11px 14px;background:#fafbfc}.plan .doc>.h b{font-size:14px}.plan .doc>.h .why{display:block;color:var(--muted);font-size:12px;margin-top:2px}.plan .t{display:flex;gap:10px;align-items:baseline;padding:7px 14px;font-size:13px;border-top:1px solid #f0f2f4}.plan .t .no{color:var(--muted);min-width:26px}.plan .t .who{color:var(--muted);margin-left:auto;text-align:right}.plan .t.ours{background:var(--accent-weak)}.plan .t.opt{opacity:.55}.roles{display:grid;gap:10px;grid-template-columns:1fr}@media(min-width:620px){.roles{grid-template-columns:1fr 1fr}}.rolebox{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.rolebox .nm{font-size:13px;font-weight:550;margin-bottom:6px}.rolebox select{font-size:14px}.subhead{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:22px 0 10px}.backlink{margin-bottom:12px}.tiles{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}@media(min-width:620px){.tiles{grid-template-columns:repeat(4,1fr)}}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.tile .v{font-size:26px;font-weight:650;letter-spacing:-.02em;line-height:1.1}.tile .k{color:var(--muted);font-size:12px;margin-top:4px}.tile.alarm{border-color:var(--danger)}.tile.alarm .v{color:var(--danger)}.tile.act{border-color:var(--accent)}.tile.act .v{color:var(--accent)}.task{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:11px 14px;border-top:1px solid var(--line);font-size:14px}.task:first-of-type{border-top:none}.task .main{flex:1 1 240px;min-width:0}.task .sub{color:var(--muted);font-size:12px;margin-top:2px}.task button{flex:0 0 auto}.rejcard{border:1px solid var(--danger);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;background:var(--surface)}.rejcard .rejhead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.rejcard .rejhead .sub{color:var(--muted);font-size:12px;margin-top:2px}.rejcard .why{color:var(--danger);font-size:14px;margin:10px 0 6px;font-weight:550}.rejcard .fixlist{margin:6px 0 8px;padding-left:18px;font-size:13px}.rejcard .fixlist li{margin-bottom:4px}.rejcard .dlnote{font-size:13px;color:var(--muted)}.rejcard .dlnote.overdue{color:var(--danger)}.plan .doc>.h .badge{align-self:flex-start}.plan .t .who .badge{white-space:normal}.rejcard .acts,.confirm .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}.rejcard .acts .btn{padding:7px 13px;font-size:14px}.confirm{margin-top:12px;padding:12px;border-radius:8px;background:var(--accent-weak);font-size:13px}.confirm.warn{background:#fdf3e2;color:#6b4513}.dl{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.dl.ok{background:#eef0f3;color:#58616d}.dl.soon{background:#fdf3e2;color:#96601a}.dl.today{background:var(--danger-weak);color:var(--danger)}.dl.overdue{background:var(--danger);color:#fff}.dl .until{font-weight:450}.rejline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px;font-size:13px;color:var(--danger);font-weight:550}.docrej{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:8px 14px;padding:8px 10px;border-radius:8px;background:var(--danger-weak);color:var(--danger);font-size:13px}.hist{border-top:1px solid var(--line);padding:9px 0;font-size:13px}.hist .sub{color:var(--muted);font-size:12px}details summary{cursor:pointer;font-size:15px}input.bad,select.bad{border-color:var(--danger);background:snow}.nudge{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;margin-bottom:16px;border-radius:var(--radius);background:var(--accent-weak);font-size:13px}.nudge .btn{padding:6px 12px;font-size:13px}.bell{position:relative;border:1px solid var(--line);background:#fff;border-radius:20px;padding:5px 10px;font-size:16px;line-height:1;cursor:pointer;display:flex;gap:6px;align-items:center}.bell .cnt{font-size:12px;font-weight:650;color:var(--muted)}.bell.has{border-color:var(--accent)}.bell.has .cnt{color:var(--accent)}.bell.crit{border-color:var(--danger);background:var(--danger-weak)}.bell.crit .cnt{color:var(--danger)}.notes{margin-top:10px}.note{border-left:3px solid var(--line);padding:10px 12px;margin-bottom:8px;background:#fafbfc;border-radius:0 8px 8px 0;cursor:default}.note.critical{border-left-color:var(--danger)}.note.warning{border-left-color:#d08a2b}.note.info{border-left-color:var(--ok)}.note.unread{background:#fff;box-shadow:0 0 0 1px var(--line) inset;cursor:pointer}.note .t{font-weight:600;font-size:14px}.note.unread .t:before{content:"● ";color:var(--accent)}.note .b{font-size:13px;white-space:pre-wrap;margin-top:4px}.note .m{color:var(--muted);font-size:12px;margin-top:6px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.note .m .btn.link{font-size:12px;padding:0}.pub{max-width:640px;margin:0 auto;padding:20px 16px 60px}.pub .brandbar{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.pub .brandbar .who{color:var(--muted);font-size:13px}.pub .lede{font-size:15px;margin:0 0 18px}.pub .facts{font-size:14px}.pub .facts div{margin-bottom:5px}.pub .facts .k{color:var(--muted);display:inline-block;min-width:110px}.signrow{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:10px}.signrow.done{background:var(--ok-weak);border-color:transparent}.signrow .nm{font-weight:550;font-size:14px}.signrow .sub{color:var(--muted);font-size:12px;margin-top:2px}.consent{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--text);margin:6px 0 14px}.consent input{width:auto;margin-top:2px;flex:0 0 auto}.linkrow{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:10px}.linkrow .u{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all;background:#f6f7f9;padding:7px 9px;border-radius:6px;margin:8px 0;-webkit-user-select:all;user-select:all}select:disabled,input:disabled{background:#f3f4f6;color:var(--muted)}.balance{border:1px solid var(--line);background:#fff;border-radius:20px;padding:5px 11px;font:inherit;font-size:13px;font-weight:550;color:var(--text);cursor:pointer;white-space:nowrap}.balance:hover{border-color:var(--accent)}.balance.low{border-color:#d08a2b;background:#fdf3e2;color:#96601a}.balancebig{font-size:34px;font-weight:650;letter-spacing:-.02em;margin:6px 0 10px}.balancebig span{font-size:16px;font-weight:450;color:var(--muted)}.balancebig.low{color:#96601a}.packs{display:grid;gap:10px;grid-template-columns:1fr}@media(min-width:620px){.packs{grid-template-columns:repeat(3,1fr)}}.pack{border:1px solid var(--line);border-radius:var(--radius);padding:14px}.pack .n{font-weight:650}.pack .p{font-size:24px;font-weight:650;letter-spacing:-.02em;margin-top:4px}.pack .k{color:var(--muted);font-size:12px}.pack .acts{display:flex;flex-direction:column;gap:6px;margin-top:12px}.pack .acts .btn{padding:7px 12px;font-size:14px}td.plus{color:var(--ok);font-weight:600}td.minus{color:var(--muted);font-weight:600}td.invacts{white-space:nowrap}td.invacts .btn.link{font-size:13px;margin-right:10px;text-decoration:none}.subtabs{display:flex;gap:4px;margin:16px 0 -18px;border-top:1px solid var(--line)}.subtabs button{border:none;background:none;padding:10px 13px;font:inherit;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.subtabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.subtabs .cnt{margin-left:6px;padding:0 7px;border-radius:20px;font-size:12px;font-weight:650;background:var(--accent);color:#fff}.fpeople{font-size:13px;color:var(--muted);margin-bottom:12px}.feed{max-height:60vh;overflow-y:auto;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fafbfc;display:flex;flex-direction:column;gap:8px}.fevent{display:flex;gap:8px;align-items:baseline;font-size:13px;color:var(--muted);white-space:pre-wrap}.fevent .ico{flex:0 0 auto}.fevent .txt{flex:1 1 auto;color:var(--text)}.fevent .vis{color:var(--muted);font-size:12px}.fevent .at{flex:0 0 auto;font-size:11px}.fevent.bad .txt{color:var(--danger)}.fmsg{max-width:80%;align-self:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px 12px 12px 4px;padding:8px 11px}.fmsg.own{align-self:flex-end;background:var(--accent-weak);border-color:transparent;border-radius:12px 12px 4px}.fmsg.note{background:#fdf3e2;border:1px dashed #d08a2b}.fmsg .meta{font-size:12px;color:var(--muted);margin-bottom:3px}.fmsg .body{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.fmsg .notetag{margin-left:6px;color:#96601a;font-weight:600}.composer{margin-top:12px}.composer textarea{width:100%;padding:10px 11px;font:inherit;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:8px;resize:vertical;min-height:48px}.composer textarea:focus{outline:2px solid var(--accent-weak);border-color:var(--accent)}.composer.note textarea{background:#fffaf0;border-color:#d08a2b}.composer .row-acts{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
