:root{--bg: #F5F6F8;--surface: #FFFFFF;--sunk: #EEF0F3;--line: #E4E7EC;--line-2: #D5D9E0;--ink: #111418;--ink-2: #3D4450;--muted: #5B6270;--navy: #13284D;--navy-2: #1E3A6B;--navy-soft: #E8EDF6;--gold: #C9A227;--gold-ink: #7A5C0E;--gold-soft: #FBF4DC;--win: #FFFFFF;--ok: #146C2E;--ok-soft: #E7F6EC;--warn: #9A4A06;--warn-soft: #FFF2E5;--bad: #B42318;--bad-soft: #FDECEA;--focus: #2350E6;--r: 14px;--r-sm: 10px;--f: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--f-d: "Inter Tight", "Inter", system-ui, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%}body{min-height:100dvh}h1,h2,h3{font-family:var(--f-d);margin:0;letter-spacing:-.015em;text-wrap:balance}h1{font-size:clamp(1.5rem,4vw,1.9rem);font-weight:700}h2{font-size:1.15rem;font-weight:700}h3{font-size:1rem;font-weight:600}p{margin:0}a{color:var(--focus)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.85rem}.nowrap{white-space:nowrap}.shell{min-height:100dvh;display:flex}.side{width:248px;flex:none;background:var(--surface);border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100dvh}.side .logo{color:var(--navy);padding:0 8px}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:var(--r-sm);color:var(--ink-2);text-decoration:none;font-weight:500}.nav a:hover{background:var(--sunk)}.nav a.active{background:var(--navy-soft);color:var(--navy);font-weight:600}.side-foot{margin-top:auto;display:grid;gap:10px}.who{display:flex;align-items:center;gap:10px;padding:10px 8px 0;border-top:1px solid var(--line);min-width:0}.who .em{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:600;font-size:.8rem;flex:none;text-transform:uppercase}.main{flex:1;min-width:0;padding:28px clamp(16px,4vw,40px) 56px;display:flex;flex-direction:column;gap:20px;max-width:1180px}.topbar,.tabbar{display:none}@media (max-width: 899px){.side{display:none}.shell{flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.topbar .logo{color:var(--navy)}.main{padding:18px 16px calc(96px + env(safe-area-inset-bottom));gap:16px}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--surface);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.tabbar a{flex:1;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--muted);font-size:.72rem;font-weight:500;border-radius:var(--r-sm)}.tabbar a.active{color:var(--navy);font-weight:700}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(16px,3vw,22px);display:flex;flex-direction:column;gap:14px;min-width:0}.row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px}.stack{display:flex;flex-direction:column;gap:6px;min-width:0}.tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{border-color:var(--navy)}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover{background:var(--navy-2)}.btn.ai{background:var(--gold-soft);border-color:#e6d28e;color:var(--gold-ink)}.btn.ok{background:var(--ok-soft);border-color:transparent;color:var(--ok)}.btn.danger{color:var(--bad)}.btn.sm{min-height:36px;padding:0 12px;font-size:.85rem}.btn[disabled]{opacity:.55;cursor:not-allowed}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.idle{background:var(--sunk);color:var(--muted)}.pill.gold{background:var(--gold-soft);color:var(--gold-ink)}.dot{width:9px;height:9px;border-radius:50%;flex:none}.seg{display:inline-flex;padding:3px;border-radius:var(--r-sm);background:var(--sunk)}.seg button{border:0;background:transparent;min-height:38px;padding:0 12px;border-radius:8px;font-weight:600;font-size:.85rem;color:var(--muted);cursor:pointer}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.seg.full{display:flex}.seg.full button{flex:1}label.f{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:600;color:var(--ink-2);min-width:0}.input,label.f input,label.f select,label.f textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface);font-weight:400;font-size:1rem;color:var(--ink)}label.f textarea,textarea.input{min-height:88px;resize:vertical;line-height:1.5}textarea.desc{min-height:220px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.grid2 .wide{grid-column:1 / -1}.alert{padding:10px 14px;border-radius:var(--r-sm);font-weight:500;line-height:1.45;font-size:.9rem}.alert.warn{background:var(--warn-soft);color:var(--warn)}.alert.bad{background:var(--bad-soft);color:var(--bad)}.alert.ok{background:var(--ok-soft);color:var(--ok)}.alert.info{background:var(--navy-soft);color:var(--navy)}.empty{border:1.5px dashed var(--line-2);border-radius:var(--r);padding:28px;text-align:center;color:var(--muted)}.crumbs{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:.9rem}.crumbs a{font-weight:600;text-decoration:none}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--sunk);border-radius:8px;padding:4px 10px;font-size:.85rem}.quote{white-space:pre-wrap;background:var(--sunk);border-radius:var(--r-sm);padding:12px 14px;font-size:.92rem;max-height:260px;overflow:auto}.spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spin{animation:none}}.prop-head{display:flex;align-items:center;gap:14px;min-width:0}.mono{width:48px;height:48px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--f-d);font-weight:700;flex:none}.conns{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:10px}.conn{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;background:#fafbfc;min-width:0}.conn .nm{display:flex;align-items:center;gap:8px;font-weight:600}.conn .btn{min-height:40px}@media (max-width: 520px){.conns{grid-template-columns:repeat(2,minmax(0,1fr))}}.step-h{display:flex;align-items:baseline;gap:10px}.step-n{font-weight:700;color:var(--gold-ink)}.field-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.checks{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.checks li{display:flex;gap:8px;align-items:flex-start;font-size:.88rem}.checks .ic{flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:700;margin-top:2px}.checks .ok .ic{background:var(--ok-soft);color:var(--ok)}.checks .warn .ic{background:var(--warn-soft);color:var(--warn)}.checks .error .ic{background:var(--bad-soft);color:var(--bad)}.sugg{border:1px solid #E6D28E;background:var(--gold-soft);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.sugg .quote{background:var(--surface)}.notes{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--ink-2);font-size:.9rem}details.en{border-top:1px dashed var(--line-2);padding-top:12px}details.en summary{cursor:pointer;font-weight:600;color:var(--ink-2)}details.en[open]{display:flex;flex-direction:column;gap:14px}.meter{height:8px;border-radius:999px;background:#e3e8f2;overflow:hidden}.meter>div{height:100%;background:var(--gold);border-radius:999px;transition:width .3s}.cal-wrap{--namecol: 150px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.cal{display:grid;min-width:760px}.cal .hd{padding:8px 0;text-align:center;font-size:.72rem;color:var(--muted);border-left:1px solid #F0F2F5;font-weight:600}.cal .hd b{display:block;font-size:.95rem;color:var(--ink)}.cal .hd.today b{color:#fff;background:var(--navy);border-radius:50%;width:26px;height:26px;line-height:26px;margin:0 auto}.cal .we{background:#fafbfc}.cal .pn{padding:12px 14px;font-weight:600;border-top:1px solid var(--line);position:sticky;left:0;background:var(--surface);z-index:2;font-size:.9rem;display:flex;align-items:center}.cal .cell{border-top:1px solid var(--line);border-left:1px solid #F0F2F5}.cal .bar{margin:8px 2px;border-radius:7px;color:#fff;font-size:.72rem;font-weight:600;padding:0 8px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;min-height:30px}.cal .bar.clash{outline:2px solid var(--bad);outline-offset:1px}.legend{display:flex;flex-wrap:wrap;gap:8px}.legend span{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px 10px}.stay{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.stay:first-child{border-top:0}.datebox{width:52px;flex:none;text-align:center;background:var(--sunk);border-radius:10px;padding:6px 0}.datebox small{display:block;font-size:.68rem;font-weight:600;color:var(--muted);text-transform:uppercase}.datebox b{font-size:1.1rem}.auth{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.auth .card{width:min(420px,100%);padding:28px;gap:18px}.auth .logo{color:var(--navy)}@media (max-width: 520px){.cal-wrap{--namecol: 100px}}
