:root{--ink: #14233f;--ink-2: #1d3357;--gold: #c2a14a;--gold-soft: #e8dcb5;--paper: #f6f7f9;--card: #ffffff;--line: #e3e7ee;--line-soft: #eef1f6;--muted: #6b7689;--ok: #1f7a4d;--okbg: #e4f3ea;--warn: #9a6b00;--warnbg: #fbf1d8;--bad: #b1392f;--badbg: #fbe7e5;--info: #2a4a7a;--p: #d8f0dc;--o: #fbe6c9;--al: #f7c98a;--s: #f6c9d3;--c: #dcd0f2;--up: #f9e3a8;--m: #e4def6;--ph: #f3e2a0;--wk: #cdeacb;--blocked: #dfe2e8;--weekend: #eef1f6;--r-sm: 10px;--r-md: 12px;--r-lg: 16px;--r-pill: 999px;--radius: var(--r-lg);--shadow: 0 1px 3px rgba(20, 35, 63, .08), 0 8px 24px rgba(20, 35, 63, .06);--shadow-sm: 0 1px 2px rgba(11, 20, 38, .06), 0 2px 8px rgba(11, 20, 38, .05);--sans: "Aptos", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.01em}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:13.5px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--ink);width:100%}input[type=checkbox],input[type=radio]{width:auto;flex:0 0 auto;margin:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:-1px;border-color:var(--gold)}label{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin:0 0 3px;letter-spacing:.01em}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle}tbody tr:last-child>td{border-bottom:0}th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;background:transparent;border-bottom:1.5px solid var(--line);padding-bottom:8px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.btn{background:var(--ink);color:#fff;border:0;border-radius:var(--r-md);padding:10px 18px;font-weight:600;font-size:14px;transition:background .12s ease,box-shadow .12s ease,transform .12s ease}.btn:hover:not(:disabled){box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:hover{background:var(--ink-2)}.btn.gold{background:var(--gold);color:var(--ink)}.btn.gold:hover{filter:brightness(1.05)}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover{border-color:var(--ink)}.btn.sm{padding:6px 11px;font-size:12.5px}.btn.ok{background:var(--ok)}.btn.bad{background:var(--bad)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button,.btn{text-transform:capitalize}button.pick,button.iconbtn{text-transform:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card+.card{margin-top:14px}.row>.card+.card{margin-top:0}.pad{padding:18px}.row{display:flex;gap:12px;flex-wrap:wrap}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.grid{display:grid;gap:14px}.field{margin-bottom:13px}.grid.fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 14px}@media(min-width:1200px){.grid.fields{grid-template-columns:repeat(4,minmax(0,1fr))}}.grid.fields .field{margin-bottom:9px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}.grid.two .field{margin-bottom:8px}.grid.two .span2{grid-column:1 / -1}@media(max-width:640px){.grid.two{grid-template-columns:minmax(0,1fr)}}.muted{color:var(--muted)}.right{text-align:right}.center{text-align:center}.pill{display:inline-block;padding:3px 10px;border-radius:var(--r-pill);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.pill.pending{background:var(--warnbg);color:var(--warn)}.pill.approved{background:var(--okbg);color:var(--ok)}.pill.rejected{background:var(--badbg);color:var(--bad)}.pill.cancelled{background:#e9ecf2;color:var(--muted)}.pill.invited{background:var(--warnbg);color:var(--warn)}.pill.active{background:var(--okbg);color:var(--ok)}.pill.expired{background:var(--badbg);color:var(--bad)}.pill.nologin{background:#e9ecf2;color:var(--muted)}.tag{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:var(--r-sm);background:var(--gold-soft);color:#6a5410;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.tag.draft{background:var(--gold-soft);color:#6a5410}.tag.locked{background:var(--okbg);color:var(--ok)}.tag.cancelled{background:#e9ecf2;color:var(--muted);text-decoration:line-through}.tag.ok{background:var(--okbg);color:var(--ok)}.tag.bad{background:var(--badbg);color:var(--bad)}.tag.quiet{background:#e9ecf2;color:var(--muted)}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;padding:12px 20px;border-radius:var(--r-md);box-shadow:var(--shadow);z-index:99;font-weight:600;max-width:90vw}.toast.err{background:var(--bad)}.modal-bg{position:fixed;inset:0;background:#0f192d73;display:flex;align-items:center;justify-content:center;z-index:50;padding:18px}.modal{background:#fff;border-radius:14px;max-width:560px;width:100%;max-height:90vh;overflow:auto;box-shadow:var(--shadow)}.modal.wide{max-width:820px}.balcard{border:1px solid var(--line);border-radius:12px;padding:15px 16px;background:#fff}.balcard .n{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1}.balcard .l{font-size:12px;color:var(--muted);font-weight:600;margin-top:6px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#fff;flex-wrap:wrap}.seg button{background:#fff;border:0;padding:8px 13px;font-weight:600;font-size:13px;color:var(--muted);border-right:1px solid var(--line)}.seg button:last-child{border-right:0}.seg button.on{background:var(--ink);color:#fff}.legend{display:flex;gap:10px;flex-wrap:wrap;font-size:11.5px;align-items:center}.head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--ink);color:#fff;gap:12px;flex-wrap:wrap}.tabbar{display:flex;gap:4px;padding:0 12px;background:var(--ink-2);overflow-x:auto}.tabbar button{background:transparent;border:none;color:#c7d2e6;padding:11px 14px;font-weight:600;font-size:13px;border-bottom:3px solid transparent;white-space:nowrap}.tabbar button.on{color:#fff;border-bottom-color:var(--gold)}.tabbar button,.subbar button{text-transform:uppercase;letter-spacing:.06em}.page-title{text-transform:uppercase;letter-spacing:.05em;font-size:15.5px}.brand{display:flex;align-items:center;gap:13px;min-width:0}.brand-card{background:#fff;border-radius:9px;padding:9px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.brand-logo{height:38px;width:auto;display:block}.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.brand-org{color:var(--gold);font-weight:700;font-size:17.5px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}.brand-sub{color:#9fb2ce;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.bell{position:relative;background:#ffffff14;border:1px solid rgb(255 255 255 / .16);color:#dbe4f2;width:34px;height:34px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.bell:hover{background:#ffffff29;color:#fff}.bell-count{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:var(--r-md);background:var(--gold);color:#14233f;font-size:10.5px;font-weight:800;line-height:17px;text-align:center;border:1.5px solid var(--ink)}.who{display:flex;flex-direction:column;line-height:1.2;text-align:right}.who-name{color:#fff;font-size:12.5px;font-weight:600}.who-role{color:#9fb2ce;font-size:11px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--gold);color:#14233f;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;letter-spacing:-.02em;flex:0 0 auto}.banner{background:var(--warnbg);border-bottom:1px solid var(--gold-soft);color:#5b4a16;padding:7px 18px;font-size:12.5px;text-align:center}@media(max-width:640px){.pad{padding:14px}.hide-sm{display:none}}.pick{display:block;width:100%;text-align:left;padding:8px 12px;background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer;font:inherit;color:inherit}.pick:last-child{border-bottom:0}.pick:hover,.pick:focus-visible{background:var(--hover);outline:none}.warn{color:var(--warn)}.ok{color:var(--ok)}.bad{color:var(--bad)}.pill.warn{background:var(--warnbg);color:var(--warn)}.tcfilters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line)}.tcfilters .f{display:flex;flex-direction:column;gap:4px}.tcfilters .f>span:first-child{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.tcfilters .f select,.tcfilters .f input{width:auto;padding:6px 8px;font-size:13px}.tclegend{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:11px 18px;border-bottom:1px solid var(--line);font-size:12.5px}.tclegend .tclg{display:inline-flex;align-items:center;gap:7px}.tclegend .tcsw{width:22px;height:11px;border-radius:3px;display:inline-block;flex:0 0 auto}.tclegend .tcsw.hatch{background-image:repeating-linear-gradient(45deg,rgb(255 255 255/.75) 0 2px,transparent 2px 5px)}.tcscroller{overflow:auto;position:relative;max-height:56vh}.tcgrid{display:grid;grid-template-columns:258px 1fr;min-width:max-content}.tcgrid .colhead{position:sticky;top:0;z-index:6;background:#fff}.tcgrid .namecell{position:sticky;left:0;z-index:5;background:#fff;border-right:1px solid var(--line)}.tcgrid .colhead.namecell{z-index:7}.tcgrid .months,.tcgrid .days{display:grid}.tcgrid .mon{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:6px 0 4px 6px;border-left:1px solid var(--line);white-space:nowrap;overflow:hidden}.tcgrid .dh{font-size:9.5px;text-align:center;color:var(--muted);padding-bottom:5px;border-left:1px solid #f0f2f7;line-height:1.15}.tcgrid .dh b{display:block;font-size:10.5px;color:#33405a;font-weight:700}.tcgrid .dh.we{background:#f7f8fb}.tcgrid .dh.hol{background:#fdf7e8}.tcgrid .dh.holu{background:#f4f2ea}.tcgrid .dh.today{background:var(--ink);color:#fff}.tcgrid .dh.today b{color:#fff}.tcgrid .days.sparse .dh{font-size:0;padding-bottom:4px;border-left-color:transparent}.tcgrid .days.sparse .dh b{display:none}.tcgrid .days.sparse .dh.mon{border-left:1px solid var(--line)}.tcgrid .days.sparse .dh.mon{overflow:visible;position:relative;z-index:1}.tcgrid .days.sparse .dh.mon b{display:block;font-size:9.5px;font-weight:600;white-space:nowrap;text-align:left;padding-left:2px}.tcgrid .days.tiny .dh{font-size:0;padding-bottom:9px;border-left-color:transparent}.tcgrid .days.tiny .dh b{display:none}.tcgrid .days.tiny .dh.mon{border-left:1px solid var(--line)}.tcgrid .days.tiny .dh.today{background:var(--ink)}.tcgrid .todayline{position:absolute;top:0;bottom:0;width:2px;background:var(--ink);z-index:8;pointer-events:none}.tcgrid .grouphead{grid-column:1/-1;position:sticky;left:0;z-index:4;background:#eef1f7;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%;text-align:left;padding:6px 12px;font:inherit;font-size:12px;font-weight:800;letter-spacing:.03em;color:var(--ink);display:flex;align-items:center;gap:8px;cursor:pointer}.tcgrid .grouphead .caret{font-size:10px;color:var(--muted)}.tcgrid .grouphead .cnt{font-weight:600;color:var(--muted);font-size:11.5px}.tcgrid .person{display:flex;align-items:center;gap:8px;padding:0 10px;height:30px;border-bottom:1px solid #f0f2f7;font-size:12.5px;overflow:hidden}.tcgrid .person .nm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tcgrid .person .jt{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tcgrid .person .bal{margin-left:auto;font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap}.tcgrid .person .bal.low{color:var(--bad)}.tcgrid .person.me .nm:after{content:" · you";color:var(--gold);font-weight:700;font-size:11px}.tcgrid .lane{position:relative;height:30px;border-bottom:1px solid #f0f2f7;display:grid;cursor:crosshair}.tcgrid .tccell{border-left:1px solid #f4f6fa}.tcgrid .tccell.we{background:#f7f8fb}.tcgrid .tccell.hol{background:#fdf7e8}.tcgrid .tccell.holu{background:#f7f6f1}.tcgrid .tccell.sel{background:var(--gold-soft)}.tcgrid .bar{position:absolute;top:5px;height:20px;border-radius:4px;border:0;display:flex;align-items:center;justify-content:center;padding:0 6px;gap:5px;font:inherit;font-size:10.5px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;cursor:pointer}.tcgrid .bar.pending{background-image:repeating-linear-gradient(45deg,rgb(255 255 255/.75) 0 2px,transparent 2px 5px)}.tcgrid .bar .ico{font-size:9px;opacity:.95}.tcgrid .bar .ico:empty{display:none}.tcgrid .bar.ghost{background:transparent;border:1.5px dashed #5b93d6;color:#2e6fbf;font-size:9.5px;z-index:0}.tcgrid .bar.ghost:hover{background:#5b93d61f}.tcgrid .bar.travel{color:var(--ink);font-size:9px;z-index:0;cursor:default;box-shadow:inset 0 0 0 1px #ffffff8c}.tcgrid .bar.half-l{border-top-left-radius:10px;border-bottom-left-radius:10px}.tcgrid .bar.half-r{border-top-right-radius:10px;border-bottom-right-radius:10px}.tcgrid .bar:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.tcstrip{border-top:1px solid var(--line);background:#fff;overflow:hidden}.tcstriprow{display:grid;grid-template-columns:258px 1fr;min-width:max-content}.tcstriplabel{position:sticky;left:0;background:#fff;border-right:1px solid var(--line);padding:8px 10px;font-size:11.5px;font-weight:700;z-index:3}.tcstriplabel span{display:block;font-weight:500;color:var(--muted);font-size:10.5px}.tcbars{display:grid;align-items:end;height:56px}.tcbars .col{display:flex;align-items:flex-end;justify-content:center;height:100%;border-left:1px solid #f4f6fa;position:relative}.tcbars .col i{display:block;width:calc(100% - 4px);max-width:20px;background:var(--ink-2);border-radius:3px 3px 0 0}.tcbars .col.clash i{background:var(--bad)}.tcbars .col.zero i{background:var(--line);height:2px!important}.tcbars .col b{position:absolute;top:-1px;left:0;right:0;text-align:center;font-size:9px;color:var(--muted)}.tchint{font-size:11.5px;color:var(--muted);padding:10px 18px;border-top:1px solid var(--line);margin:0}.callout{border-radius:var(--r-md);padding:11px 13px;font-size:12.5px;margin:4px 0 12px;background:var(--paper);border:1px solid var(--line)}.callout.ok{background:var(--okbg);border-color:#b6e0c9;color:var(--ok)}.callout.warn{background:var(--warnbg);border-color:var(--gold-soft);color:#6a5410}.callout.bad{background:var(--badbg);border-color:#f3c4c1;color:var(--bad)}.chk{display:flex;align-items:center;gap:7px;font-size:12.5px;margin-bottom:8px}@media(max-width:640px){.tcgrid,.tcstriprow{grid-template-columns:150px 1fr}.tcgrid .todayline{display:none}}.grp-branch td{background:var(--ink);color:#fff;font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;padding:9px 10px;border-bottom:none}.grp-dept td{background:#eef1f6;color:var(--ink-2);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px 6px 22px}.grp-count{float:right;font-weight:600;opacity:.72;letter-spacing:.02em;text-transform:none}.person{display:flex;align-items:center;gap:10px}.avatar.sm{width:34px;height:34px;font-size:12px;font-weight:700;flex:0 0 auto;overflow:hidden}img.avatar{object-fit:cover;background:var(--gold-soft)}.avatar-wrap{position:relative;flex:0 0 auto;line-height:0}.avatar-wrap.zoomable{cursor:zoom-in}.avatar-wrap.zoomable:hover .avatar{outline:2px solid var(--gold);outline-offset:1px}.photo-row{display:flex;align-items:center;gap:14px;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.photo-well{padding:0;border:0;background:none;line-height:0;cursor:default}.photo-well:has(img){cursor:zoom-in}.avatar.lg{width:64px;height:64px;font-size:21px;font-weight:800;flex:0 0 auto;overflow:hidden}.photo-zoom{display:block;max-width:100%;max-height:68vh;margin:0 auto;border-radius:var(--r-md)}.grouphead-act{margin-left:10px;padding:1px 8px;border-radius:999px;border:1px solid var(--gold);color:var(--gold);font-size:10.5px;font-weight:700;white-space:nowrap;cursor:pointer}.grouphead-act:hover{background:var(--gold);color:var(--ink)}.sb-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.sb-facts>div{display:flex;flex-direction:column;gap:2px}.sb-facts span{font-size:11px;font-weight:600}.sb-facts strong{font-size:13px}.sb-follow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--gold-soft);background:#fdf9ef;border-radius:var(--r-md);font-size:12.5px}.sb-clash{margin-top:12px;padding:10px 12px;border:1px solid var(--bad);background:var(--badbg);border-radius:var(--r-md);font-size:12.5px}.sb-clash p{margin:4px 0 8px}.sb-clash label{color:var(--ink)}.seg.nav{white-space:nowrap;flex:0 0 auto}.seg.nav button{padding-left:10px;padding-right:10px}.bal{border:1px solid transparent;border-radius:var(--r-sm);padding:3px 9px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;min-width:46px}.bal.ok{background:var(--okbg);color:var(--ok)}.bal.warn{background:var(--warnbg);color:var(--warn)}.bal.bad{background:var(--badbg);color:var(--bad)}.bal:hover{border-color:currentColor}.bal-line,.bal-run,.bal-total{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.bal-line{padding:7px 0;border-bottom:1px solid var(--line);font-size:12.5px}.bal-run{padding:3px 0 7px 16px;font-size:11.5px;border-bottom:1px solid var(--line)}.bal-total{margin-top:10px;padding:9px 11px;background:var(--okbg);border-radius:var(--r-md);font-size:13px}.toggle{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}.toggle:first-child{border-top:0;padding-top:4px}.toggle>input{margin-top:3px}.toggle-body{flex:1 1 auto;min-width:0}.toggle-body strong{display:block;font-size:13px;margin-bottom:2px}.toggle-body p{margin:0;font-size:11.5px;line-height:1.5;color:var(--muted);max-width:78ch}.setfield{flex:1 1 210px;min-width:190px}.setfield .note{font-size:11.5px;margin:4px 0 0;line-height:1.45}.cite,.setfield .cite{font-size:10.5px;margin:3px 0 0;line-height:1.4;color:var(--muted);opacity:.85}.setgroup{margin-top:20px}.setgroup>.caption{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-bottom:6px;margin-bottom:10px;border-bottom:1px solid var(--line)}.reftable td.fig,.reftable th.fig{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.reftable tbody tr:nth-child(2n){background:#fcfcfd}.reftable .sec{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted);font-size:12px}.chip{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:999px;white-space:nowrap}.chip.ok{background:#e8f5ee;color:#1c6b40}.chip.over{background:#eef2fb;color:#2c4a8a}.chip.bad{background:#fdecec;color:#a3232c}.chip.info{background:#f3f4f6;color:#5b6270}.iconbtn{background:none;border:0;cursor:pointer;font:inherit;padding:0}.iconbtn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.ftc-sheet{font-family:Times New Roman,Times,Georgia,serif;color:#1c1f26;line-height:1.45;background:#fff}.ftc-lh{text-align:center}.ftc-logo{max-height:54px;max-width:240px;object-fit:contain}.ftc-co{font-size:22px;letter-spacing:.06em;font-weight:700}.ftc-lhrow{display:flex;justify-content:space-between;font-size:12.5px;margin-top:4px;white-space:pre-line}.ftc-rule{border:0;border-top:2.5px solid #1c1f26;margin:8px 0 4px}.ftc-rule.thin{border-top:1px solid #1c1f26;margin:2px 0 14px}.ftc-doc{text-align:center;font-size:19px;letter-spacing:.02em;margin:12px 0 14px}.ftc-clauses{margin:0;padding:0;list-style:none;font-size:14.5px}.ftc-clauses>li{margin-bottom:7px}.ftc-sub{padding-left:22px;margin-top:5px}.ftc-sub>div{margin-bottom:6px}.ftc-f{display:inline-block;min-width:130px;border-bottom:1px solid #1c1f26;padding:0 6px;font-family:Courier New,monospace;font-size:13.5px}.ftc-cap{font-size:11.5px;color:#6b7280}.ftc-amen{margin:12px 0 4px;padding-left:22px;font-size:14.5px}.ftc-amen div{margin-bottom:5px}.ftc-sig{margin-top:20px;font-size:14.5px}.ftc-sigrow{display:flex;gap:40px;margin-top:24px}.ftc-sigrow>div{flex:1}.ftc-sigline{border-bottom:1px solid #1c1f26;height:26px}.ftc-sigcap{font-size:11.5px;margin-top:3px}.ftc-foot{font-size:11px;color:#6b7280;margin-top:16px;font-style:italic}@media print{body>*:not(.modal-bg){display:none!important}.modal-bg{position:static!important;background:none!important}.modal{max-width:none!important;width:auto!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;max-height:none!important;overflow:visible!important}.modal-head,.ftc-screen-only{display:none!important}.ftc-cap{color:#444}.ftc-sheet{font-size:12pt}@page{size:A4;margin:14mm}}.pr-runs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.pr-run{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--ink);font-size:12.5px;cursor:pointer}.pr-run-lines{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.35;text-align:left}.pr-run-lines .muted{font-size:11px;font-weight:400}.pr-run:hover{border-color:var(--ink)}.pr-run.on{border-color:var(--gold);background:var(--gold-soft);font-weight:700}.pr-run:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.pr-sub>td{font-size:11.5px;color:var(--muted);background:#fbfcfd;border-bottom:1px solid var(--line)}.pr-sub>td:first-child{font-style:italic}.pr-grand>td{font-size:13px;font-weight:700;background:var(--okbg);border-top:2px solid var(--line);border-bottom:0}.rowlink{cursor:pointer}.rowlink:hover>td{background:var(--hover)}.rowlink:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.pr-note{border-left:4px solid var(--line)}.pr-note ul{margin:8px 0 0;padding-left:18px}.pr-note li{margin-bottom:6px}.pr-note.stop{border-left-color:var(--bad);background:var(--badbg)}.pr-note.stop>strong{color:var(--bad)}.pr-note.look{border-left-color:var(--warn);background:var(--warnbg)}.pr-note.look>strong{color:var(--warn)}.subbar{display:flex;gap:7px;padding:9px 12px;background:var(--ink);overflow-x:auto;border-bottom:1px solid rgb(255 255 255 / .08)}.subbar button{background:#ffffff12;border:none;color:#c7d2e6;padding:7px 14px;border-radius:var(--r-sm);font-weight:600;font-size:12.5px;white-space:nowrap;cursor:pointer}.subbar button:hover{background:#ffffff24;color:#fff}.subbar button.on{background:var(--gold);color:var(--ink)}.subbar button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.check{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:12.5px;text-transform:none;letter-spacing:0;font-weight:500;cursor:pointer}.check input[type=checkbox]{width:auto;margin-top:2px;flex:none}.check .muted{font-weight:400}.lt-meta{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;margin-bottom:18px}.lt-reflabel{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6b7280;margin-right:8px}.lt-ref{font-size:15px;font-weight:700;letter-spacing:.04em}.lt-to{font-size:14.5px;margin-bottom:18px;white-space:pre-line}.lt-body{font-size:14.5px;line-height:1.65}.lt-body p{margin:0 0 12px;white-space:pre-line}.lt-sig{display:block;max-height:52px;max-width:170px;margin:2px 0 -12px}.pc-row{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:13.5px}.pc-row.strong{font-weight:700}.pc-row.muted{color:var(--muted);font-size:12.5px}.pr-grand-box{display:flex;justify-content:space-between;gap:16px;padding:11px 13px;margin-top:10px;background:var(--gold-soft);border-radius:var(--r-md);font-weight:800;font-size:15.5px}.gsearch{position:relative;flex:1 1 220px;max-width:420px;min-width:0;margin:0 12px}.gsearch input{width:100%;padding:7px 12px 7px 32px;border-radius:9px;border:1px solid rgba(255,255,255,.18);background:#ffffff1f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239fb2ce' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.8-3.8'/%3E%3C/svg%3E") no-repeat 10px center;color:#fff;font-size:13px;appearance:none;-webkit-appearance:none}.gsearch input::placeholder{color:#9fb2ce}.gsearch input:focus{outline:2px solid var(--gold);outline-offset:-1px;border-color:var(--gold);background-color:#ffffff29}.gsearch input::-webkit-search-cancel-button{filter:invert(1) brightness(1.4)}.gsearch-pop{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 32px #0000002e;z-index:60;max-height:60vh;overflow-y:auto}.gsearch-row{display:flex;align-items:center;gap:10px;padding:8px 12px}.gsearch-row.on{background:var(--hover)}.gsearch-glyph{width:34px;text-align:center;color:var(--muted);font-size:15px;flex:0 0 auto}.gsearch-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.gsearch-label{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gsearch-ctx{font-size:11px}.gsearch-none{padding:12px 14px;font-size:13px}.sigpad{display:block;width:100%;height:200px;background:#fff linear-gradient(to top,transparent 44px,var(--line) 44px,var(--line) 45px,transparent 45px);border:1px solid var(--line);border-radius:var(--r-md);touch-action:none;cursor:crosshair}.sigfaces{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.sigface{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px 8px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);text-align:left;color:var(--ink);cursor:pointer;text-transform:none;font-weight:400;line-height:1.1;min-height:78px;overflow:hidden}.sigface:hover{background:var(--hover)}.sigface.on{border-color:var(--gold);outline:2px solid var(--gold);outline-offset:-1px}.sigface-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em}.sigpreview{margin-top:10px;min-height:96px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px dashed var(--line);border-radius:var(--r-md);padding:10px}.sigpreview img{max-height:160px;max-width:100%}.section-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin:18px 0 8px;display:flex;align-items:center;gap:10px}.section-label:after{content:"";flex:1;height:1px;background:var(--line)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px 10px;display:flex;flex-direction:column;gap:4px;min-height:118px;position:relative;border-top:3px solid var(--line);min-width:0;overflow-wrap:anywhere}.tile.ok{border-top-color:var(--ok)}.tile.warn{border-top-color:var(--warn)}.tile.bad{border-top-color:var(--bad)}.tile.wide{grid-column:span 2}@media(max-width:560px){.tile.wide{grid-column:span 1}}.tile .label{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;display:flex;justify-content:space-between;gap:8px}.tile .n{font-size:26px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:5px}.tile .n small{font-size:13px;font-weight:600;color:var(--muted)}.tile .sub{font-size:12.5px}.tile .sub.empty{color:var(--muted);font-style:italic}.tile .go{margin-top:auto;padding-top:6px;font-size:12px;color:#6a5410;font-weight:600;text-decoration:none}.tile .go:after{content:" →"}.tile ul{list-style:none;margin:2px 0 0;padding:0;font-size:12.5px;display:flex;flex-direction:column;gap:3px}.tile li{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.tile li>span:first-child{min-width:0}.tile li b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.tile .chip.locked{background:var(--okbg);color:var(--ok)}.tile .chip.draft{background:var(--gold-soft);color:#6a5410}.tile .chip.none{background:var(--badbg);color:var(--bad)}.tile.chart{min-height:0}.tile .viz{width:100%;display:block;margin-top:6px}.tile .viz text{font-family:var(--sans)}.tile .viz .rowlab{font-size:11.5px;fill:var(--ink)}.tile .viz .tip{font-size:11.5px;fill:var(--ink);font-weight:600}.tile .viz .tip.small{fill:var(--muted);font-weight:400}.tile .viz .inlab{font-size:10.5px;font-weight:700}.tile .viz rect.seg:hover,.tile .viz rect.bar:hover{filter:brightness(1.12)}.tile .legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;color:var(--muted);margin-top:6px}.tile .legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;background:var(--sw)}.tile .pie{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:flex-start;margin-top:4px}.tile .pie .ring{flex:0 0 auto}.tile .pie .ring path.seg:hover{filter:brightness(1.12)}.tile .pie .hero{font-size:22px;font-weight:700;fill:var(--ink);font-variant-numeric:tabular-nums}.tile .pie .herounit{font-size:10.5px;font-weight:600;fill:var(--muted);text-transform:uppercase;letter-spacing:.06em}.tile .pie-side{flex:1 1 150px;min-width:0}.tile .pie-legend{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}.tile .pie-legend td{padding:3px 0;border-bottom:1px solid var(--line)}.tile .pie-legend td+td{text-align:right;white-space:nowrap;padding-left:8px}.tile .pie-legend tr.muted td{color:var(--muted)}.tile .pie-legend .sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.tile details{margin-top:6px;font-size:12px;overflow-x:auto}.tile details summary{cursor:pointer;color:#6a5410;font-weight:600;list-style:none}.tile details summary:after{content:" ▾"}.tile details table{width:100%;border-collapse:collapse;margin-top:6px;font-variant-numeric:tabular-nums}.tile details th,.tile details td{text-align:right;padding:3px 6px;border-bottom:1px solid var(--line);font-size:12px}.tile details th:first-child,.tile details td:first-child{text-align:left}.tile details th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}.nothing{border:1px dashed var(--line);border-radius:var(--r-md);padding:24px;text-align:center;color:var(--muted);font-size:13px}table.reftable{width:100%;border-collapse:collapse;font-size:13px}.reftable th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}.reftable td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}.reftable tr.group td{background:var(--paper);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;padding:6px 10px}.reftable tr.na td{color:var(--muted)}.reftable .name{font-weight:600;color:var(--ink)}.reftable tr.na .name{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line)}.reftable input[type=checkbox]{width:16px;height:16px;accent-color:var(--ink)}.reftable .cell-show{text-align:center;width:70px}.otsheet{border-collapse:separate;border-spacing:0;font-size:12px;min-width:100%}.otsheet th,.otsheet td{border-bottom:1px solid var(--line-soft);padding:0}.otsheet th{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;padding:6px 4px;text-align:center;background:var(--card);position:sticky;top:0;z-index:1}.otsheet th.who,.otsheet td.who{text-align:left;position:sticky;left:0;background:var(--card);z-index:2;min-width:180px;padding:6px 10px 6px 0;border-right:1px solid var(--line)}.otsheet th.day div{font-size:12px;color:var(--ink)}.otsheet th.day small{font-weight:600;letter-spacing:0}.otsheet th.day.wknd,.otsheet td.cell.wknd{background:var(--weekend)}.otsheet th.day.today div{color:var(--gold)}.otsheet td.cell{width:34px;min-width:34px;height:34px;text-align:center;cursor:pointer;border-left:1px solid var(--line-soft);position:relative;font-variant-numeric:tabular-nums}.otsheet td.cell:hover{outline:2px solid var(--gold-soft);outline-offset:-2px}.otsheet td.cell.future{cursor:not-allowed;color:var(--muted);background:repeating-linear-gradient(135deg,transparent 0 6px,var(--line-soft) 6px 7px)}.otsheet td.cell.logged{background:#eef2fb;color:#2c4a8a;font-weight:700}.otsheet td.cell.billed{background:#e9ecf2;color:var(--muted);font-weight:700}.otsheet td.cell.locked{background:#e9ecf2;color:var(--muted);cursor:default}.otsheet td.cell.edited{background:var(--warnbg);color:var(--warn);font-weight:700}.otsheet td.cell.focus{outline:2px solid var(--gold);outline-offset:-2px}.otsheet td.cell .lock{position:absolute;right:1px;top:0;font-size:8px;opacity:.7}.otsheet td.right,.otsheet th.right{text-align:right;padding:6px 8px;white-space:nowrap}.otsheet tr.group td{background:var(--paper);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;padding:5px 8px;border-top:1px solid var(--line)}.otsheet tr.group td.who{background:var(--paper)}.otsheet tr.group td.right{font-weight:600;text-transform:none;letter-spacing:0}.otsheet tr.sub td{background:var(--paper);border-bottom:2px solid var(--line);padding:5px 8px}.otsheet tr.sub td.who{background:var(--paper);font-size:11px;color:var(--muted);font-weight:600}.pm-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pm-nav{display:inline-flex;align-items:center;gap:4px}.pm-nav b{font-size:16px;min-width:150px;text-align:center;color:var(--ink)}.pm-branches{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin-top:14px}.pm-branch{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);border-top:4px solid var(--line);padding:14px 16px 12px;display:flex;flex-direction:column;gap:8px;cursor:pointer;text-align:left}.pm-branch:hover{background:var(--hover)}.pm-branch:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.pm-branch.locked{border-top-color:var(--ok)}.pm-branch.draft{border-top-color:var(--gold)}.pm-branch.attention{border-top-color:var(--bad)}.pm-branch.none{border-top-color:var(--line);cursor:default}.pm-branch.open{box-shadow:0 0 0 2px var(--gold-soft)}.pm-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.pm-head h4{margin:0;font-size:15px;color:var(--ink)}.pm-sub{font-size:11.5px;color:var(--muted)}.pm-figs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pm-fig small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}.pm-fig b{font-size:17px;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}.pm-line{font-size:12.5px}.pm-line.bad{color:var(--bad);font-weight:600}.pm-line.warn{color:var(--warn);font-weight:600}.pm-line.ok{color:var(--ok)}.pm-line.muted{color:var(--muted)}.pm-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:4px;flex-wrap:wrap}.pm-foot .row{gap:6px}.pm-changes{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin-top:14px}@media(max-width:800px){.pm-changes{grid-template-columns:1fr}}.pm-changes h5{margin:0 0 6px;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.pm-changes ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:12.5px}.pm-changes li b{color:var(--ink);font-weight:600}.pm-detail{margin-top:14px}.rp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:14px}.rp-card{display:flex;flex-direction:column;justify-content:space-between}.bksheet th.lines,.bksheet td.lines{text-align:left;padding:4px 8px;min-width:420px}.bksheet .line{display:flex;gap:6px;align-items:center;padding:2px 0;font-variant-numeric:tabular-nums}.bksheet .line input{font-size:12px;padding:3px 6px;height:28px}.bksheet .line input[type=date]{width:138px;flex:0 0 auto}.bksheet .line .what{flex:1 1 160px;min-width:120px}.bksheet .line .amt{width:110px;flex:0 0 auto;text-align:right}.bksheet .line span.amt{font-weight:600}.bksheet .line.edited input{background:var(--warnbg)}.bksheet .line.gone{text-decoration:line-through;opacity:.55}.bksheet .line.new input::placeholder{color:var(--muted)}.bksheet tr.elsewhere td.who{color:var(--muted)}.bksheet td.bad{color:var(--bad);font-weight:700}.bksheet td.warn{color:var(--warn);font-weight:600}
