:root{--ink: #18181B;--text: #1E1E1C;--ink2: #3F3F46;--muted: #6B6B76;--faint: #A1A1AA;--tab: #4A4A46;--tab2: #55554F;--line: #E6E6E9;--rule: #F0F0F2;--soft: #F1F1F4;--bg: #FAFAFB;--card: #FFFFFF;--page: #F3F1EC;--head: #1E1E1C;--warn-bg: #FEF6E0;--warn: #854D0E;--bad: #B91C1C;--ok: #17643A;--ok-bg: #E8F5EC;--hi: #FEF0C7;--toast: #18181B;--toast-bad: #9A3412;--subnav: rgba(255,255,255,.55);--subnav-on: #FFFFFF;--shadow: 0 1px 2px rgba(30,30,28,.05);--shadow-pill: 0 1px 2px rgba(30,30,28,.08);--shadow-pop: 0 12px 40px rgba(0,0,0,.25);--accent: #D4AE45;--on-accent: #1E1E1C;--accent-text: #7F6623;--tint: #F5EBD0;color-scheme:light}:root[data-theme=dark]{--ink: #eaeaec;--text: #e8e8e7;--ink2: #c8c8cc;--muted: #a1a1a9;--faint: #7a7a82;--tab: #c7c7c4;--tab2: #bfbfbb;--line: #404048;--rule: #2e2e34;--soft: #16161a;--bg: #1c1c21;--card: #222222;--page: #171614;--head: #e8e8e7;--warn-bg: #604f20;--warn: #eac69e;--bad: #dc7878;--ok: #8fd3a8;--ok-bg: #1d3a28;--hi: #5a4a14;--toast: #3a3a37;--toast-bad: #9A3412;--subnav: #222222;--subnav-on: #3a3a37;--shadow: none;--shadow-pill: none;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:14px;line-height:1.45;color:var(--text);background:var(--page)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--ink2)}a:hover{color:var(--ink)}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--faint)}.apphead{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:16px 20px 0;padding:10px 14px 10px 16px;background:var(--card);border-radius:20px;box-shadow:var(--shadow)}.logo{width:34px;height:34px;border-radius:999px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-weight:700;font-size:11px;flex:none;overflow:hidden}.logo img{width:100%;height:100%;object-fit:cover}.mainnav{display:flex;flex-wrap:wrap;gap:2px;flex:1 1 auto}.tabbtn{border:0;background:transparent;color:var(--tab);font-weight:500;padding:0 16px;height:38px;border-radius:999px;font-size:14px;cursor:pointer;white-space:nowrap}.tabbtn:hover{background:var(--soft)}.tabbtn[aria-current=page]{background:var(--tint);color:var(--text);font-weight:650}.headright{display:flex;align-items:center;gap:10px}.iconbtn{width:34px;height:34px;border-radius:999px;border:0;background:transparent;color:var(--ink2);display:grid;place-items:center;cursor:pointer}.iconbtn:hover{background:var(--soft)}.avatar{width:38px;height:38px;border-radius:999px;border:0;background:var(--tint);color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.menu{position:absolute;right:0;top:46px;z-index:40;min-width:240px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-pop);padding:8px}.menu .who{padding:8px 10px 10px;border-bottom:1px solid var(--rule);margin-bottom:6px}.menu .who b{display:block}.menu .who span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:10px;cursor:pointer}.menu button:hover{background:var(--soft)}.pagerow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:14px 20px 0}.pagetabs{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.pagetab{border:0;background:transparent;padding:0 16px;height:36px;border-radius:999px;color:var(--tab2);font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer}.pagetab:hover{background:var(--subnav)}.pagetab[aria-current=page]{background:var(--tint);color:var(--text);font-weight:650}.festpill{display:flex;align-items:center;gap:6px;border:0;background:var(--card);box-shadow:var(--shadow-pill);border-radius:999px;padding:0 10px 0 14px;height:36px;margin-right:8px;font-weight:600;font-size:13px;color:var(--ink);cursor:pointer}.festmenu{position:absolute;left:0;top:42px;z-index:40;width:320px;max-width:calc(100vw - 32px);max-height:70vh;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-pop);padding:8px}.festmenu h4{margin:8px 10px 4px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.festmenu button{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:10px;cursor:pointer}.festmenu button:hover{background:var(--soft)}.festmenu button[aria-current=true]{background:var(--tint)}.festmenu button span{font-size:12px;color:var(--muted)}.festmenu input{width:100%;height:36px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:var(--card);margin-bottom:4px}.samplepill{font-size:12px;color:var(--tab2);border:1px dashed #BDBAB2;border-radius:999px;padding:2px 10px}.subnav{display:flex;flex-wrap:wrap;gap:4px;margin:8px 20px 0;padding:4px;background:var(--subnav);border-radius:999px;align-self:flex-start;width:fit-content}.subnav button{border:0;background:transparent;height:32px;padding:0 14px;border-radius:999px;font-size:13px;color:var(--tab2);font-weight:500;cursor:pointer}.subnav button[aria-current=page]{background:var(--subnav-on);color:var(--text);font-weight:650}main.page{padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0}.pagehead{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.pagehead>div{flex:1 1 320px}.pagehead h1{margin:0;font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--head)}.pagehead p{margin:4px 0 0;color:var(--muted);font-size:13px;max-width:760px}.sidelayout{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.sidenav{flex:1 1 220px;max-width:280px;display:flex;flex-direction:column;gap:2px;background:var(--card);border-radius:18px;padding:12px 8px;box-shadow:var(--shadow)}.sidenav h4{margin:4px 12px 8px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.sidenav button{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;min-height:44px;border:0;background:transparent;border-radius:16px;padding:6px 12px;cursor:pointer;font-weight:500}.sidenav button:hover{background:var(--soft)}.sidenav button[aria-current=true]{background:var(--tint);font-weight:600}.sidenav button span{font-size:12px;color:var(--muted);font-weight:400}.sidecontent{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:16px}.sec-card{background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:18px 20px;display:flex;flex-direction:column;gap:14px}.sec-card h2{margin:0;font-size:16px;font-weight:600;color:var(--head)}.sec-card h3{margin:0;font-size:15px;font-weight:600}.sec-card .note{border:0;padding:0;font-size:12px;color:var(--muted)}.lede{color:var(--ink2);max-width:640px;margin:0}.banner{background:var(--warn-bg);color:var(--warn);border-radius:14px;padding:10px 14px}.cl-wrap{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.cl-nav{flex:1 1 200px;max-width:260px;display:flex;flex-direction:column;gap:2px}.cl-nav button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:44px;border:0;background:transparent;border-radius:14px;padding:8px 12px;font-size:14px;cursor:pointer;font-weight:500}.cl-nav button:hover{background:var(--soft)}.cl-nav button[aria-current=true]{background:var(--tint);font-weight:600}.cl-nav button span{font-size:12px;color:var(--muted);font-weight:400}.cl-main{flex:999 1 360px;max-width:820px;min-width:0;display:flex;flex-direction:column;gap:10px}.cl-sub{font-size:13px;color:var(--muted);margin-top:-6px}.cl-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-top:1px solid var(--rule);padding-top:10px}.cl-row .nm{flex:1 1 220px;min-width:0}.cl-row .nm b{font-weight:600}.cl-row .nm div{font-size:12px;color:var(--muted)}.cl-row.off .nm{opacity:.62}.cl-row input.rename{height:34px;border-radius:10px;border:1px solid var(--line);padding:0 10px;font-weight:600;width:100%;max-width:320px;background:var(--card)}.newtag{font-size:11px;font-weight:600;background:var(--soft);color:var(--ink2);border-radius:999px;padding:2px 8px;margin-left:6px}.seg{display:flex;gap:2px;padding:3px;background:var(--soft);border-radius:999px}.seg button{border:0;background:transparent;height:32px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer}.seg button[aria-pressed=true]{background:var(--card);font-weight:700;box-shadow:var(--shadow-pill)}.cl-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;border-top:1px solid var(--rule);padding-top:12px}.cl-add .field{flex:1 1 240px;max-width:420px}.textbtn{border:0;background:transparent;font-size:13px;font-weight:600;color:var(--ink2);padding:4px 0;cursor:pointer;text-align:left}.grow{flex:1}.search{position:relative;width:240px}.search label{display:flex;align-items:center;gap:8px;background:var(--page);border-radius:14px;padding:0 12px;height:40px}.search input{flex:1;min-width:0;border:0;background:transparent;outline:none}.gres{position:absolute;top:46px;right:0;width:520px;max-width:calc(100vw - 24px);max-height:70vh;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-pop);padding:8px;z-index:40}.gres h4{margin:8px 8px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.gres .hit{padding:8px;border-radius:10px;cursor:pointer}.gres .hit:hover{background:var(--soft)}.gres .meta{font-size:12px;color:var(--muted)}mark{background:var(--hi);color:inherit;padding:0 1px;border-radius:2px}.split{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}@media (max-width: 1100px){.split{grid-template-columns:1fr}}.card{background:var(--card);border-radius:18px;box-shadow:var(--shadow)}.card>.hd{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 20px;border-bottom:1px solid var(--rule)}.card>.hd h2,.card>.hd h3{margin:0;font-size:16px;font-weight:600}.card>.bd{padding:14px 20px 18px}table.list{width:100%;border-collapse:collapse}table.list th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}table.list td{padding:9px 10px;border-bottom:1px solid var(--rule);vertical-align:middle}table.list tr.row{cursor:pointer}table.list tr.row:hover td{background:var(--bg)}table.list tr.sel td{background:var(--tint)}.num{text-align:right;font-variant-numeric:tabular-nums}.btn{border:1px solid var(--line);background:var(--card);padding:0 14px;height:34px;border-radius:999px;cursor:pointer;white-space:nowrap;font-size:13px;font-weight:500;color:var(--ink);display:inline-flex;align-items:center;gap:6px}.btn:hover{background:var(--soft)}.btn.primary{background:var(--accent);border-color:transparent;color:var(--on-accent);font-weight:600}.btn.primary:hover{filter:brightness(.95)}.btn.small{height:28px;padding:0 10px;font-size:12px}.btn.link{border:0;background:none;height:auto;padding:2px 4px;color:var(--muted);text-decoration:underline}.btn:disabled{opacity:.5;cursor:default}.sec{margin-bottom:18px}.sec>h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:flex;align-items:center;gap:8px}.kv{display:grid;grid-template-columns:130px 1fr;gap:4px 12px}.kv .k{color:var(--muted)}.unset{color:var(--faint)}.pill{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--soft);font-size:12px;color:var(--ink2)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.ok{background:var(--ok-bg);color:var(--ok)}.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.field input,.field select,.field textarea{width:100%;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}.field textarea{height:auto;min-height:64px;padding:8px 10px;resize:vertical}.field.wide{grid-column:1 / -1}.check{display:flex;align-items:center;gap:8px}.sched td input{width:70px;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.note{border-top:1px solid var(--rule);padding:10px 0}.note .meta{font-size:12px;color:var(--muted);margin-bottom:2px}.keep{background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:10px 12px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#18181b73;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow:auto}.modal{background:var(--card);border-radius:14px;width:560px;max-width:100%;box-shadow:var(--shadow-pop)}.modal.wide{width:920px}.modal .hd{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--rule)}.modal .hd h3{margin:0;font-size:16px}.modal .bd{padding:16px 18px}.pick{max-height:380px;overflow:auto;border:1px solid var(--line);border-radius:10px}.pick .grp{padding:6px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.pick .opt{display:flex;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--rule)}.pick .opt .who{flex:1;min-width:0}.pick .opt .sub{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.pdfframe{width:100%;height:75vh;border:1px solid var(--line);border-radius:10px;background:#f2f2f2}.toast{position:fixed;top:76px;right:24px;z-index:60;max-width:min(440px,calc(100vw - 32px));background:var(--toast);color:#fff;padding:10px 16px;border-radius:10px;box-shadow:0 8px 24px #0003;font-size:13px}.toast.err{background:var(--toast-bad)}.signin{max-width:420px;margin:12vh auto}.gate{max-width:460px;margin:12vh auto;padding:28px 28px 24px;display:flex;flex-direction:column;gap:14px}.gate .logo{width:44px;height:44px;font-size:12px}.gate h1{margin:0;font-size:22px;font-weight:600;color:var(--head)}.gate p{margin:0;color:var(--ink2)}.empty{padding:28px;text-align:center;color:var(--muted)}.row-gap{display:flex;gap:8px;align-items:center;flex-wrap:wrap}table.sched{table-layout:fixed}table.sched td:nth-child(2){width:110px}table.sched td:nth-child(3){width:110px;text-align:right}table.sched td:nth-child(4){width:190px;text-align:right}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width: 900px){.split{grid-template-columns:1fr}}@media (max-width: 640px){.apphead{margin:12px 12px 0;gap:10px}.headright{flex:1 1 100%;min-width:0}.search{flex:1 1 auto;width:auto;min-width:0}.pagerow{padding:12px 12px 0}.subnav{margin:8px 12px 0;border-radius:20px}main.page{padding:16px 12px}.card>.hd,.card>.bd,.sec-card{padding:14px}.sidenav,.cl-nav{max-width:none}.gres{right:auto;left:0}.menu{right:-4px}table.list{display:block;overflow-x:auto}}
