:root{--bg:#f6f5f3;--card:#ffffff;--line:#e6e4e0;--line-2:#efedea;--ink:#191817;--ink-2:#4a4844;--mut:#6e6b63;--mut-2:#918e87;--accent:#c4442e;--accent-bg:#fbeeea;--accent-ink:#b43d27;--amber:#8e610f;--amber-bg:#fdf4e3;--green:#2f7346;--green-bg:#e9f3ec;--blue:#2a5c8a;--blue-bg:#e9f0f6;--violet:#6a4a8f;--violet-bg:#f0ebf7;--dot-red:#a8281a;--dot-amber:#d99a2b;--dot-grey:#c9c6c1;--black:#141312;--f:"Inter",system-ui,-apple-system,sans-serif;--m:"JetBrains Mono",ui-monospace,monospace;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-48:48px;--radius-sm:5px;--radius:7px;--radius-lg:11px;--ease:cubic-bezier(.22,1,.36,1);--dur-fast:.12s;--dur:.18s;--touch:44px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5{margin:0;font-weight:600;color:var(--ink)}p{margin:0}button{font-family:inherit;font-size:inherit;cursor:pointer}.mono{font-family:var(--m);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--black);outline-offset:2px;border-radius:3px}.btn-p:focus-visible,.chip[aria-pressed=true]:focus-visible,.tgl[aria-pressed=true]:focus-visible,.mode button[aria-pressed=true]:focus-visible,.pgr .pnav button[aria-current=page]:focus-visible{outline-color:#fff;outline-offset:-4px}@media(prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.spin{animation:none!important;border-top-color:var(--ink-2)}.skel{animation:none!important;background:var(--line-2)}}.page{max-width:1400px;margin:0 auto;padding:34px 24px 80px}.intro{margin-bottom:22px}.intro .eyebrow{font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);font-weight:500}.intro h1{font-size:27px;letter-spacing:-.02em;margin-top:7px;font-weight:700}.intro p{margin-top:9px;color:var(--ink-2);max-width:74ch;font-size:14.5px}.intro .ctl{display:flex;gap:8px;align-items:center;margin-top:16px;flex-wrap:wrap}.app{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #1413120a,0 12px 34px -22px #14131259;display:grid;grid-template-columns:214px minmax(0,1fr)}.rail{border-right:1px solid var(--line);background:#fbfaf9;padding:15px 0 20px;display:flex;flex-direction:column}.brand{padding:0 16px 13px;border-bottom:1px solid var(--line-2);margin-bottom:6px}.brand b{display:block;font-size:14.5px;font-weight:700;letter-spacing:-.01em;line-height:1.25}.brand span{font-size:11.5px;color:var(--mut)}.nav{display:flex;flex-direction:column;padding:0 9px}.nav .grp{font-family:var(--m);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);padding:14px 9px 5px}.nav button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:none;padding:6px 9px;border-radius:7px;margin-bottom:1px;font-size:13px;font-weight:500;color:var(--ink-2)}.nav button:hover{background:var(--line-2);color:var(--ink)}.nav button[aria-current=page]{background:var(--accent-bg);color:var(--accent-ink);font-weight:600}.nav .cnt{margin-left:auto;background:var(--accent);color:#fff;font-family:var(--m);font-size:10px;font-weight:600;padding:1px 6px;border-radius:9px}.nav button[aria-current=page] .cnt{background:var(--accent)}.nav .foot{margin-top:auto;padding-top:18px}.nav .foot button{font-size:12.5px;color:var(--mut)}.mainc{min-width:0;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.top .pt{font-size:15px;font-weight:600;color:var(--ink)}.top .right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}.supp{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid var(--line);background:var(--card);border-radius:7px;padding:4px 9px;font-size:12.5px;font-weight:500;color:var(--ink-2)}.supp:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}.supp .car{color:var(--mut-2);font-size:10px}.ava{width:27px;height:27px;border-radius:50%;background:var(--line-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--ink-2)}.bar{display:flex;align-items:center;gap:8px;padding:12px 18px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--card);border-radius:7px;padding:5px 11px;font-size:13px;font-weight:500;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px}.chip:hover{border-color:var(--mut-2)}.chip[aria-pressed=true]{background:var(--black);border-color:var(--black);color:#fff}.chip .car{color:var(--mut-2);font-size:10px}.chip[aria-pressed=true] .car{color:#fff9}.chipsel{border:1px solid var(--line);background:var(--card);border-radius:7px;padding:5px 26px 5px 11px;font-family:var(--f);font-size:13px;font-weight:500;color:var(--ink-2);-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--mut-2) 50%),linear-gradient(135deg,var(--mut-2) 50%,transparent 50%);background-position:calc(100% - 14px) 12px,calc(100% - 10px) 12px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.chipsel:hover{border-color:var(--mut-2);color:var(--ink)}.bar .grow{margin-left:auto}.btn-p{background:var(--black);color:#fff;border:1px solid var(--black);border-radius:7px;padding:6px 14px;font-size:13px;font-weight:600}.btn-p:hover{background:#000}.btn-s{background:var(--card);color:var(--ink-2);border:1px solid var(--line);border-radius:7px;padding:6px 13px;font-size:13px;font-weight:500}.btn-s:hover{border-color:var(--mut-2);color:var(--ink)}.btn-d{background:var(--card);color:var(--accent);border:1px solid #eccfc8;border-radius:7px;padding:6px 13px;font-size:13px;font-weight:500}.sublink{padding:0 18px 10px;margin-top:-6px}.sublink a{font-size:12.5px;color:var(--ink-2);text-decoration:underline;text-decoration-color:#c9c6c1;text-underline-offset:2px;cursor:pointer}.tw{overflow-x:auto;border-top:1px solid var(--line)}.pgr{display:flex;align-items:center;gap:12px;padding:10px 18px;border-top:1px solid var(--line);flex-wrap:wrap}.pgr .pinfo{font-size:12.5px;color:var(--mut);font-variant-numeric:tabular-nums}.pgr .pinfo b{color:var(--ink-2);font-weight:600}.pgr .psize{margin-left:4px}.pgr .pnav{margin-left:auto;display:flex;gap:3px;align-items:center}.pgr .pnav button{min-width:28px;height:28px;border:1px solid var(--line);background:var(--card);border-radius:6px;font-family:var(--m);font-size:12px;color:var(--ink-2);padding:0 7px}.pgr .pnav button:hover:not(:disabled){border-color:var(--mut-2);color:var(--ink)}.pgr .pnav button[aria-current=page]{background:var(--black);border-color:var(--black);color:#fff;font-weight:600}.pgr .pnav button:disabled{opacity:.4;cursor:not-allowed}.pgr .pnav .gap-e{color:var(--mut);padding:0 2px;font-family:var(--m);font-size:12px}table{border-collapse:collapse;width:100%;min-width:1080px}thead th{text-align:left;font-size:11.5px;font-weight:600;color:var(--mut);padding:9px 12px;background:#faf9f8;border-bottom:1px solid var(--line);white-space:nowrap}tbody td{padding:11px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}tbody tr.row{cursor:pointer}tbody tr.row:hover{background:#fbfaf9}tr.group td{background:#faf9f8;font-family:var(--m);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);padding:6px 12px;font-weight:600}td.dotc{width:24px;padding-left:16px;padding-right:0}.dot{width:7px;height:7px;border-radius:50%;display:block}.dot.r{background:var(--dot-red)}.dot.a{background:var(--dot-amber)}.dot.g{background:transparent}.t1{font-family:var(--m);font-size:13px;font-weight:500}.t2{font-family:var(--m);font-size:11.5px;color:var(--mut);margin-top:1px}.t2.warn{color:var(--accent);font-weight:500}.ref{font-family:var(--m);font-size:12.5px;color:var(--mut);white-space:nowrap}.nm{font-size:13.5px}.sub{font-size:12px;color:var(--mut);margin-top:1px}.sub.mono,.sub .m{white-space:nowrap}td.r{text-align:right}.amt{font-family:var(--m);font-size:13px;font-variant-numeric:tabular-nums}.tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 7px;border-radius:5px;background:#f3f1ee;color:var(--mut);letter-spacing:.01em;white-space:nowrap}.tag.ch{background:#f1f4f8;color:var(--blue)}.tag.man{background:#f3f1ee;color:var(--ink-2)}.tag.kind{background:#f6f4f1;color:var(--ink-2);border:1px solid var(--line)}.st{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid transparent;white-space:nowrap}.st.pending{background:#f4f2ef;color:var(--mut);border-color:var(--line)}.st.confirmed{background:var(--blue-bg);color:var(--blue);border-color:#d5e2ee}.st.assigned{background:var(--green-bg);color:var(--green);border-color:#d3e7da}.st.progress{background:var(--violet-bg);color:var(--violet);border-color:#e0d5ee}.st.completed{background:#eef1ee;color:#4d5c4f;border-color:#dde3dd}.st.cancelled{background:var(--accent-bg);color:var(--accent-ink);border-color:#f0d8d2}.st.rejected{background:var(--amber-bg);color:var(--amber);border-color:#eedfbe}.pay{font-size:11.5px;font-weight:600}.pay.not{color:var(--accent)}.pay.part{color:var(--amber)}.pay.paid{color:var(--green)}.none{color:var(--accent);font-size:13px;font-weight:600;white-space:nowrap}.dash{color:var(--mut)}.warnbar{display:flex;gap:9px;align-items:flex-start;padding:10px 18px;background:var(--accent-bg);border-top:1px solid #f0d8d2;font-size:13px;color:#8b3325}.warnbar b{color:#6f281d}.warnbar .ic{font-family:var(--m);font-weight:700;flex-shrink:0}.warnbar.amber{background:var(--amber-bg);border-top-color:#eedfbe;color:#7d570f}.warnbar.amber b{color:#5e4109}.dh{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dh .back{border:none;background:none;color:var(--mut);font-size:13px;padding:0;margin-right:2px}.dh .back:hover{color:var(--ink)}.dh h2{font-family:var(--m);font-size:16px;font-weight:600;letter-spacing:-.01em}.dh .acts{margin-left:auto;display:flex;gap:7px}.body2{display:grid;grid-template-columns:minmax(0,1fr) 268px}@media(max-width:880px){.body2{grid-template-columns:1fr}}.tabs{display:flex;gap:2px;padding:10px 18px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.tabs button{border:none;background:none;padding:7px 11px;font-size:13.5px;font-weight:500;color:var(--mut);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--black);font-weight:600}.pane{padding:16px 18px}.side{border-left:1px solid var(--line);padding:16px 18px;background:#fbfaf9}@media(max-width:880px){.side{border-left:none;border-top:1px solid var(--line)}}.sgrp{margin-bottom:16px}.sgrp:last-child{margin-bottom:0}.sgrp .k{font-size:11px;font-weight:600;color:var(--mut);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px}.sgrp .v{font-size:13.5px;color:var(--ink)}.sgrp .v.big{font-size:15px;font-weight:600}.sgrp .v .m{font-family:var(--m);font-variant-numeric:tabular-nums}.money{display:flex;justify-content:space-between;font-size:13.5px;padding:3px 0}.money .m{font-family:var(--m);font-variant-numeric:tabular-nums}.money.tot{border-top:1px solid var(--line);margin-top:6px;padding-top:7px;font-weight:600}.money.due .m{color:var(--accent);font-weight:600}hr.s{border:none;border-top:1px solid var(--line);margin:14px 0}.authbg{background:#f1efec;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 18px;display:flex;justify-content:center}.ascr{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px 24px;width:100%;max-width:400px;box-shadow:0 1px 2px #1413120a,0 14px 34px -20px #14131259}.ascr .logo{font-size:13.5px;font-weight:700;letter-spacing:-.01em}.ascr .logo span{font-weight:400;color:var(--mut);font-size:11.5px}.ascr h1{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:16px 0 4px}.ascr .lede{font-size:13.5px;color:var(--mut);margin-bottom:18px;line-height:1.5}.ascr .btn-p,.ascr .gbtn{width:100%;padding:9px 14px;font-size:13.5px}.ascr .or{display:flex;align-items:center;gap:10px;margin:13px 0;color:var(--mut);font-size:11.5px}.ascr .or:before,.ascr .or:after{content:"";flex:1;height:1px;background:var(--line)}.ascr .afoot{font-size:12.5px;color:var(--mut);text-align:center;margin-top:16px;line-height:1.6}.ascr .afoot a{color:var(--accent);cursor:pointer;font-weight:500}.okbar{display:flex;gap:9px;align-items:flex-start;padding:11px 14px;background:var(--green-bg);border-left:2px solid var(--green);border-radius:0 4px 4px 0;font-size:13.5px;color:#2b5c3d;margin-bottom:10px}.okbar .ic{font-weight:700;flex-shrink:0;color:var(--green)}.okbar b{color:#1f4a2f}.okbar code,.warnbar code{font-family:var(--m);font-size:12px}.auth-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.acard{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card);display:flex;flex-direction:column}.acard .ah{padding:9px 13px;background:#faf9f8;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}.acard .ah .num{font-family:var(--m);font-size:10.5px;font-weight:600;color:var(--accent-ink);background:var(--accent-bg);padding:1px 6px;border-radius:4px}.acard .ah .t{font-size:12.5px;font-weight:600}.acard .ab{padding:18px 16px;flex:1}.acard .logo{font-size:13px;font-weight:700;letter-spacing:-.01em;margin-bottom:2px}.acard .logo span{font-weight:400;color:var(--mut);font-size:11.5px}.acard h4{font-size:16px;font-weight:600;margin:14px 0 3px}.acard .lede{font-size:12.5px;color:var(--mut);margin-bottom:14px}.acard .field{margin-bottom:10px}.acard .field label{font-size:11.5px}.acard .inp{padding:6px 9px;font-size:12.5px}.acard .btn-p,.acard .btn-s{width:100%;justify-content:center;padding:7px 12px;font-size:12.5px;margin-top:2px}.acard .or{display:flex;align-items:center;gap:9px;margin:11px 0;color:var(--mut);font-size:11px}.acard .or:before,.acard .or:after{content:"";flex:1;height:1px;background:var(--line)}.acard .foot{font-size:11.5px;color:var(--mut);text-align:center;margin-top:11px}.acard .foot a{color:var(--accent);cursor:pointer}.gbtn{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:7px;padding:7px 12px;font-size:12.5px;font-weight:500;color:var(--ink-2);width:100%}.pick{border:1px solid var(--line);border-radius:7px;padding:9px 11px;margin-bottom:7px;display:flex;align-items:center;gap:9px;cursor:pointer}.pick:hover{border-color:var(--ink-2)}.pick .g{flex:1;min-width:0}.pick .nm{font-size:12.5px;font-weight:600}.pick .sub{font-size:11px}.flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px}.flow .n{border:1px solid var(--line);background:var(--card);border-radius:7px;padding:6px 11px;white-space:nowrap}.flow .n.k{border-color:var(--black);background:var(--black);color:#fff;font-weight:600}.flow .n.q{border-style:dashed;border-color:var(--accent);color:var(--accent-ink);background:var(--accent-bg)}.flow .ar{color:var(--mut);font-family:var(--m)}.tl{border:1px solid var(--line);border-radius:8px;overflow:hidden}.tlrow{display:grid;grid-template-columns:190px minmax(0,1fr);border-bottom:1px solid var(--line-2)}.tlrow:last-child{border-bottom:none}.tlhead{background:#faf9f8;border-bottom:1px solid var(--line)}.tlname{padding:9px 12px;border-right:1px solid var(--line-2);min-width:0}.tlname .nm{font-size:13px}.tltrack{position:relative;display:flex;min-height:44px}.tlh{flex:1;font-family:var(--m);font-size:10.5px;color:var(--mut);text-align:center;padding:6px 0;border-right:1px solid var(--line-2)}.tlh:last-child{border-right:none}.tlc{flex:1;border-right:1px solid var(--line-2)}.tlc:last-child{border-right:none}.tlb{position:absolute;top:7px;bottom:7px;background:var(--blue-bg);border:1px solid #cfdeeb;border-radius:5px;font-size:11.5px;color:var(--blue);padding:0 8px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500}.tlfree{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--mut)}.h5{font-size:11.5px;font-weight:600;color:var(--mut);letter-spacing:.06em;text-transform:uppercase;margin-bottom:9px}.box{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:14px}.box .bh{padding:9px 13px;background:#faf9f8;border-bottom:1px solid var(--line);font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:8px}.box .bb{padding:13px}.kv{display:grid;grid-template-columns:170px minmax(0,1fr);gap:7px 14px;font-size:13.5px;align-items:baseline}.kv .k{color:var(--mut);font-size:12.5px}.line-i{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-2)}.line-i:last-child{border-bottom:none}.line-i .g{flex:1;min-width:0}.empty{padding:26px 14px;text-align:center;color:var(--mut);font-size:13.5px;border:1px dashed var(--line);border-radius:8px}.empty b{display:block;color:var(--ink-2);font-weight:600;margin-bottom:4px}.field{margin-bottom:13px}.field label{display:block;font-size:12.5px;font-weight:500;color:var(--ink-2);margin-bottom:4px}.field .req{color:var(--accent)}.inp{width:100%;border:1px solid var(--line);border-radius:7px;padding:7px 10px;font-family:inherit;font-size:13.5px;color:var(--ink);background:var(--card)}.inp:focus{outline:none;border-color:var(--ink-2)}.inp.mono{font-family:var(--m)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:640px){.row2,.row3{grid-template-columns:1fr}}.hint{font-size:12px;color:var(--mut);margin-top:4px}.hint.warn{color:var(--amber)}.steps{display:flex;gap:0;padding:12px 18px;border-bottom:1px solid var(--line);overflow-x:auto}.steps button{border:none;background:none;display:flex;align-items:center;gap:8px;padding:5px 14px 5px 0;font-size:13px;color:var(--mut);white-space:nowrap}.steps button .n{width:21px;height:21px;border-radius:50%;border:1px solid var(--line);background:var(--card);font-family:var(--m);font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.steps button[aria-current=step]{color:var(--ink);font-weight:600}.steps button[aria-current=step] .n{background:var(--black);border-color:var(--black);color:#fff}.steps button.done .n{background:var(--green-bg);border-color:#cfe3d6;color:var(--green)}.steps .sep{color:var(--mut-2);align-self:center;margin-right:14px;font-size:11px}.slots{display:flex;flex-wrap:wrap;gap:8px}.slotc{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 11px;text-align:left;min-width:112px}.slotc:hover:not(:disabled){border-color:var(--ink-2)}.slotc[aria-pressed=true]{border-color:var(--black);background:#f6f4f1;box-shadow:inset 0 0 0 1px var(--black)}.slotc:disabled{opacity:.5;cursor:not-allowed;background:#faf9f8}.slotc .tm{font-family:var(--m);font-size:14px;font-weight:600;display:block}.slotc .cap{font-size:11.5px;color:var(--mut);margin-top:2px;display:block}.slotc .cap.low{color:var(--amber);font-weight:600}.slotc .cap.out{color:var(--accent);font-weight:600}.pax{display:flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:7px;overflow:hidden;width:fit-content}.pax button{border:none;background:var(--card);width:29px;height:30px;font-size:15px;color:var(--ink-2);line-height:1}.pax button:hover{background:var(--line-2)}.pax .v{width:38px;text-align:center;font-family:var(--m);font-size:13.5px;font-weight:600;border-left:1px solid var(--line);border-right:1px solid var(--line);line-height:30px}.cal{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.cal .hd{background:#faf9f8;padding:6px;font-size:11px;font-weight:600;color:var(--mut);text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cal .cell{min-height:78px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px 6px;background:var(--card);text-align:left}.cal .cell:hover{background:#fbfaf9}.cal .cell.off{background:#faf9f8;color:var(--mut)}.cal .cell .d{font-family:var(--m);font-size:11.5px;color:var(--mut);display:flex;align-items:center;gap:4px}.cal .cell .d .s{width:6px;height:6px;border-radius:50%}.cal .cell .sl{font-family:var(--m);font-size:10.5px;margin-top:3px;color:var(--ink-2);line-height:1.45}.cal .cell .sl.out{color:var(--accent)}.cal .cell .sl.low{color:var(--amber)}.s-ok{background:#4d9c6a}.s-low{background:var(--dot-amber)}.s-out{background:var(--dot-red)}.s-non{background:var(--dot-grey)}.leg{display:flex;gap:14px;flex-wrap:wrap;margin-top:11px;font-size:12px;color:var(--mut)}.leg span{display:inline-flex;align-items:center;gap:5px}.leg i{width:7px;height:7px;border-radius:50%;display:block}.board{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px}@media(max-width:880px){.board{grid-template-columns:1fr}}.col{border:1px solid var(--line);border-radius:8px;overflow:hidden}.col .ch{padding:8px 12px;background:#faf9f8;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;color:var(--ink-2);display:flex;justify-content:space-between}.col .cb{padding:9px}.ord{border:1px solid var(--line);border-radius:7px;padding:8px 10px;margin-bottom:7px;background:var(--card);cursor:grab}.ord:hover{border-color:var(--mut-2)}.ord.ghost{border-style:dashed;border-color:#9fc6ae;background:#f3f9f5}.ord .l1{display:flex;align-items:center;gap:7px}.ord .l1 .rf{font-family:var(--m);font-size:12px;font-weight:600}.ord .l1 .tm{font-family:var(--m);font-size:12px;color:var(--mut);margin-left:auto}.ord .l2{font-size:12px;color:var(--mut);margin-top:3px}.res{border:1px solid var(--line);border-radius:7px;margin-bottom:8px;overflow:hidden}.res .rh{display:flex;align-items:center;gap:9px;padding:8px 10px;background:#fbfaf9}.res .rh .nm{font-size:13px;font-weight:600}.res .rh .ph{font-size:11.5px;color:var(--mut);font-family:var(--m)}.res .rh .cap{margin-left:auto;font-family:var(--m);font-size:11.5px;color:var(--mut)}.res .rb{padding:7px 10px;border-top:1px solid var(--line-2)}.res.busy{opacity:.6;background:#faf9f8}.bar-c{height:4px;background:var(--line-2);border-radius:3px;overflow:hidden;margin-top:5px}.bar-c i{display:block;height:100%;background:#4d9c6a}.bar-c i.full{background:var(--dot-amber)}.mode{display:flex;gap:0;border:1px solid var(--line);border-radius:7px;overflow:hidden;width:fit-content}.mode button{border:none;background:var(--card);padding:6px 14px;font-size:13px;font-weight:500;color:var(--ink-2);border-right:1px solid var(--line)}.mode button:last-child{border-right:none}.mode button[aria-pressed=true]{background:var(--black);color:#fff}.rad{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px}.rad label{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-2);cursor:pointer}table.grid{min-width:660px}table.grid td{padding:7px 10px}table.grid .inp{padding:5px 8px;font-size:13px}.calc{font-family:var(--m);font-size:12.5px;line-height:1.7;background:#faf9f8;border:1px solid var(--line);border-radius:8px;padding:13px 15px;white-space:pre;overflow-x:auto;color:var(--ink-2)}.calc .ok{color:var(--green);font-weight:600}.calc .no{color:var(--mut)}.gap{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:8px}.ovl{position:fixed;top:0;right:0;bottom:0;left:0;background:#1413126b;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.ovl[hidden]{display:none}.mdl{background:var(--card);border-radius:11px;max-width:470px;width:100%;box-shadow:0 24px 60px -18px #0006;overflow:hidden;max-height:88vh;display:flex;flex-direction:column}.mdl .mh{padding:15px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center}.mdl .mh h3{font-size:15.5px}.mdl .mh .x{margin-left:auto;border:none;background:none;color:var(--mut);font-size:19px;line-height:1;padding:0 2px}.mdl .mb{padding:16px 18px;overflow-y:auto}.mdl .mf{padding:13px 18px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;background:#fbfaf9}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:26px;z-index:60;background:var(--black);color:#fff;border-radius:9px;padding:11px 16px;font-size:13.5px;box-shadow:0 12px 32px -10px #00000080;max-width:520px;display:flex;gap:11px;align-items:flex-start}.toast[hidden]{display:none}.toast .ic{color:#ff9d8f;font-family:var(--m);font-weight:700}.toast b{display:block;margin-bottom:2px}.toast .act{margin-left:6px;background:none;border:1px solid #ffffff44;color:#fff;border-radius:6px;padding:3px 9px;font-size:12.5px;flex-shrink:0}@media(max-width:900px){.app{grid-template-columns:1fr}.rail{border-right:none;border-bottom:1px solid var(--line);padding:12px 0 10px}.brand{border-bottom:none;padding-bottom:9px;margin-bottom:0}.nav{flex-direction:row;overflow-x:auto;padding:0 12px;gap:3px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav .grp{display:none}.nav button{width:auto;white-space:nowrap;margin-bottom:0}.nav .foot{margin-top:0;padding-top:0}}footer{margin-top:26px;font-size:12.5px;color:var(--mut);line-height:1.65}footer code{font-family:var(--m);font-size:11.5px;background:#eeece9;padding:1px 4px;border-radius:3px}html,body,#root{height:100%}.page{display:flex;flex-direction:column;min-height:100%;max-width:1560px;margin:0 auto;padding:var(--space-16) var(--space-16) var(--space-24)}.app{flex:1;min-height:0}.mainc{overflow:hidden}.mainc>.scroll{flex:1;min-height:0;overflow-y:auto;scroll-behavior:smooth}.skip{position:absolute;left:var(--space-8);top:-100px;z-index:100;background:var(--black);color:#fff;border-radius:var(--radius);padding:var(--space-8) var(--space-12);font-size:13px;font-weight:600;transition:top var(--dur) var(--ease)}.skip:focus{top:var(--space-8)}a{color:inherit;text-decoration:none}.nav a{display:flex;align-items:center;gap:var(--space-8);width:100%;padding:var(--space-6) 9px;border-radius:var(--radius);margin-bottom:1px;font-size:13px;font-weight:500;color:var(--ink-2);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav a:hover{background:var(--line-2);color:var(--ink)}.nav a[aria-current=page]{background:var(--accent-bg);color:var(--accent-ink);font-weight:600}.nav a .cnt{margin-left:auto;background:var(--accent);color:#fff;font-family:var(--m);font-size:10px;font-weight:600;padding:1px var(--space-6);border-radius:9px}.nav .foot a{font-size:12.5px;color:var(--mut)}.nav .foot a[aria-current=page]{color:var(--accent-ink)}.skel{display:block;border-radius:var(--radius-sm);height:12px;background:linear-gradient(90deg,#efedea 25%,#f7f6f4,#efedea 75%);background-size:400% 100%;animation:skel 1.3s ease-in-out infinite}@keyframes skel{0%{background-position:100% 0}to{background-position:0 0}}.skel+.skel{margin-top:7px}.spin{display:inline-block;width:13px;height:13px;flex-shrink:0;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;opacity:.7}@keyframes spin{to{transform:rotate(360deg)}}.loading-pane{padding:var(--space-16) 18px}.btn-p,.btn-s,.btn-d,.gbtn,.chip,.tgl{display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.btn-p:active:not(:disabled),.btn-s:active:not(:disabled),.btn-d:active:not(:disabled),.chip:active{transform:translateY(.5px)}.btn-p:disabled,.btn-s:disabled,.btn-d:disabled,.gbtn:disabled,.chip:disabled{opacity:.5;cursor:not-allowed}.btn-d:hover:not(:disabled){background:var(--accent-bg);border-color:#e3b8ae}a.btn-p,a.btn-s,a.btn-d{text-decoration:none}.errbar{display:flex;gap:var(--space-8);align-items:flex-start;padding:var(--space-8) var(--space-12);background:var(--accent-bg);border:1px solid #f0d8d2;border-radius:var(--radius);font-size:13px;color:#8b3325;margin-bottom:var(--space-12)}.errbar .ic{font-family:var(--m);font-weight:700;flex-shrink:0;line-height:1.45}.errbar b{display:block;color:#6f281d;margin-bottom:var(--space-2)}.errbar .det{font-family:var(--m);font-size:11.5px;color:#8b3325;margin-top:3px;word-break:break-word;opacity:.85}.errbar .act{margin-left:auto;flex-shrink:0}.field-err{font-size:12px;color:var(--accent-ink);margin-top:var(--space-4)}.inp[aria-invalid=true]{border-color:var(--accent)}.inp[aria-invalid=true]:focus{outline-color:var(--accent)}.tw table.auto{min-width:0}.bar .srch{position:relative;flex:0 1 260px;min-width:180px}.bar .srch .inp{padding:5px 10px;font-size:13px}.stack{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nowrap{white-space:nowrap}.muted{color:var(--mut)}.rowacts{display:flex;gap:var(--space-6);justify-content:flex-end;flex-wrap:wrap}.tag.ok{background:var(--green-bg);color:var(--green)}.tag.gap{background:var(--accent-bg);color:var(--accent-ink)}.tag.amber{background:var(--amber-bg);color:var(--amber)}.pax-cell{font-size:12.5px}.count-badge{font-family:var(--m);font-size:11px;color:var(--mut)}.mdl.wide{max-width:640px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bar.flush{padding:0 0 var(--space-12)}.pane.flush-b{padding-bottom:0}.tw.flush{border-top:none}th.r{text-align:right}.tw .empty{margin:var(--space-16)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mt-16{margin-top:var(--space-16)}.mb-12{margin-bottom:var(--space-12)}.chip-row{display:flex;gap:var(--space-6);flex-wrap:wrap;align-items:center}.btn-row{display:flex;gap:var(--space-8);align-items:center;flex-wrap:wrap}.full{width:100%}.danger-text{color:var(--accent-ink)}.warn-text{color:var(--amber)}.underline{text-decoration:underline;text-underline-offset:2px}.section-head{display:flex;align-items:baseline;gap:var(--space-8);margin-bottom:var(--space-8);flex-wrap:wrap}.section-head .h5{margin-bottom:0}.form-narrow{max-width:640px}.form-actions{display:flex;gap:var(--space-8);align-items:center;margin-top:var(--space-16)}.date-input{width:160px}.grow{margin-left:auto}.ml-8{margin-left:var(--space-8)}.inline-sub{display:inline;margin-left:var(--space-8)}.contents{display:contents}.r{text-align:right}.check-row{display:flex;gap:var(--space-8);align-items:center;font-size:13.5px;cursor:pointer}.check-row input{width:16px;height:16px;accent-color:var(--black)}.lede-block{color:var(--ink-2);max-width:72ch;margin-bottom:var(--space-16)}.stack-gap{display:grid;gap:7px}.month-label{min-width:150px;text-align:center;font-weight:600}.steps .sep{color:var(--mut)}.fs-xs{font-size:10.5px}.fs-sm{font-size:11.5px}.fs-md{font-size:12.5px}.mb-16{margin-bottom:var(--space-16)}.text-left{text-align:left}.top-line{border-top:1px solid var(--line)}.page--auth{justify-content:center;align-items:center;padding:var(--space-24) var(--space-16);background:radial-gradient(120% 90% at 50% 0%,#fbfaf9 0%,transparent 60%),var(--bg)}.authbg{display:flex;justify-content:center;width:100%;background:none;border:none;padding:0}.ascr{box-shadow:0 1px 2px #1413120d,0 24px 48px -28px #14131266}.auth-foot{margin-top:var(--space-16);text-align:center;font-size:12px;color:var(--mut)}.skel-title{width:30%;height:18px}.skel-long{width:62%}.skel-mid{width:48%}.tabs [role=tab]{border:none;background:none;padding:7px 11px;font-size:13.5px;font-weight:500;color:var(--mut);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.tabs [role=tab]:hover{color:var(--ink)}.tabs [role=tab][aria-selected=true]{color:var(--ink);border-bottom-color:var(--black);font-weight:600}.tabs [role=tab]:focus-visible{outline-offset:-2px}.menu-wrap{position:relative}.menu-pop{position:absolute;right:0;top:calc(100% + var(--space-6));z-index:30;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px #1413120a,0 14px 34px -18px #14131273;min-width:220px;padding:var(--space-4);animation:pop var(--dur) var(--ease)}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.menu-pop .menu-item{display:flex;align-items:center;gap:var(--space-8);width:100%;text-align:left;border:none;background:none;border-radius:var(--radius-sm);padding:var(--space-6) var(--space-8);font-size:13px;color:var(--ink-2)}.menu-pop .menu-item:hover{background:var(--line-2);color:var(--ink)}.menu-pop .menu-sep{height:1px;background:var(--line);margin:var(--space-4) 0}.menu-pop .menu-head{padding:var(--space-6) var(--space-8) var(--space-4)}.menu-pop .menu-head .nm{font-size:13px;font-weight:600;color:var(--ink)}.menu-pop .menu-head .sub{font-family:var(--m);font-size:11.5px;color:var(--mut);margin-top:1px}.ava{cursor:pointer;flex-shrink:0}.ava:hover{border-color:var(--mut-2)}.ovl{animation:fade var(--dur) var(--ease)}@keyframes fade{0%{opacity:0}to{opacity:1}}.mdl{animation:rise var(--dur) var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.mdl .mh .x{width:28px;height:28px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.mdl .mh .x:hover{background:var(--line-2);color:var(--ink)}body.modal-open{overflow:hidden}.toast{animation:toast var(--dur) var(--ease)}@keyframes toast{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.toast .act:hover{background:#ffffff1f}thead th{scroll-margin-top:0}tbody tr.row{transition:background var(--dur-fast) var(--ease)}tbody tr.row:focus-visible{outline:2px solid var(--black);outline-offset:-2px}td .rowlink{display:block;color:inherit}td .rowlink:focus-visible{outline-offset:2px}.cal .cell{transition:background var(--dur-fast) var(--ease)}.cal .cell .d b{font-family:var(--m);font-size:9.5px;color:var(--accent-ink);letter-spacing:.04em}.tlb{transition:filter var(--dur-fast) var(--ease);text-decoration:none;min-width:0}.tlb:hover{filter:brightness(.97)}.tlfree{font-size:12px}@media(pointer:coarse){.btn-p,.btn-s,.btn-d,.gbtn,.chip,.tgl,.chipsel,.supp{min-height:var(--touch);padding-block:0}.pgr .pnav button{min-width:var(--touch);height:var(--touch)}.tabs [role=tab]{min-height:var(--touch)}.mdl .mh .x{width:var(--touch);height:var(--touch)}.ava{width:38px;height:38px;font-size:13px}.inp{min-height:var(--touch)}.pax button{width:var(--touch);height:var(--touch)}.pax .v{line-height:var(--touch)}.menu-pop .menu-item,.slotc,.nav a{min-height:var(--touch)}.inp{font-size:16px}}@media(max-width:720px){.page{padding:var(--space-8) var(--space-8) var(--space-16)}.app{border-radius:var(--radius-lg)}.top{padding:var(--space-8) var(--space-12);gap:var(--space-8)}.top .pt{font-size:14px}.bar{padding:var(--space-12);gap:var(--space-6)}.pane{padding:var(--space-12)}.bar .srch{flex:1 1 100%;order:99}.bar .grow{display:none}.tw{overflow-x:visible;border-top:none}.tw table,.tw table.auto{min-width:0;width:100%;display:block}.tw thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.tw tbody{display:block}.tw tbody tr{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-8) var(--space-12);margin-bottom:var(--space-8);background:var(--card)}.tw tbody tr.group{border:none;background:none;padding:var(--space-12) 0 var(--space-4);margin:0;font-family:var(--m);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:600}.tw tbody td{display:flex;align-items:baseline;gap:var(--space-12);flex-wrap:wrap;border:none;padding:3px 0;text-align:left;min-width:0;word-break:break-word}.tw tbody td>*{min-width:0;max-width:100%}.tw tbody td.r{text-align:left}.tw tbody td:empty{display:none}.tw tbody td[data-label]:before{content:attr(data-label);flex:0 0 40%;max-width:40%;font-size:11.5px;color:var(--mut);font-weight:500}.tw tbody td.dotc{padding-left:0;width:auto}.tw tbody td.dotc:before{content:none}.tw tbody td .rowacts{justify-content:flex-start;width:100%}.body2,.board,.row2,.row3{grid-template-columns:1fr}.kv{grid-template-columns:1fr;gap:var(--space-2) 0}.kv .k{margin-top:var(--space-8)}.dh{padding:var(--space-12);gap:var(--space-8)}.dh .acts{margin-left:0;width:100%;flex-wrap:wrap}.dh .acts>*{flex:1 1 auto}.steps{padding:var(--space-12);gap:0}.steps button{padding-right:var(--space-8);font-size:12px}.steps .sep{margin-right:var(--space-8)}.pgr{padding:var(--space-12);gap:var(--space-8)}.pgr .pnav{margin-left:0;width:100%;justify-content:space-between}.cal .cell{min-height:58px;padding:3px}.cal .cell .sl{font-size:9.5px}.eprow{padding:var(--space-8) var(--space-12)}.mdl{max-height:92vh}.mdl .mf{flex-wrap:wrap}.mdl .mf>*{flex:1 1 auto}.tlrow{grid-template-columns:120px minmax(0,1fr)}footer{margin-top:var(--space-16)}}@media(max-width:900px)and (min-width:721px){.tw{overflow-x:auto}}
