.ad-top{padding-top:20px}.ad-head{flex-wrap:wrap;align-items:center;gap:12px}.ad-tabs a{height:30px;color:var(--ink-2);border-radius:2px;align-items:center;gap:6px;padding:0 14px;font-size:13px;text-decoration:none;display:inline-flex}.ad-tabs a[aria-current=page]{background:var(--accent);color:#fff;font-weight:600}.ad-tab-badge{background:var(--warn-bg);min-width:18px;color:var(--warn-fg);text-align:center;border-radius:9px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px}.ad-stack{flex-direction:column;gap:16px;padding:20px 24px 24px;display:flex}.ad-stack>.ad-card{margin:0}.ad-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;padding:20px 24px 16px;display:grid}.ad-card{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-direction:column;display:flex;overflow:hidden}.ad-fx{margin:0 24px 24px}.ad-form{flex-direction:column;gap:12px;padding-bottom:18px;display:flex}.ad-card-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 12px;display:flex}.ad-card-head h2{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;margin:0;font-size:12px;font-weight:600;display:flex}.ad-card-head h2:before{content:"";background:var(--accent);width:8px;height:8px}.ad-card-head p{color:var(--muted);margin:6px 0 0;font-size:13px}.ad-table{border-top:1px solid var(--line)}.ad-row{border-bottom:1px solid var(--line-soft);align-items:center;min-height:42px;font-size:13px;display:grid}.ad-row.head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);background:var(--surface-2);border-bottom:1px solid var(--line);min-height:34px;font-size:11px;font-weight:600}.ad-row>*{min-width:0;padding:0 8px}.ad-row>:first-child{padding-left:18px}.ad-row>:last-child{padding-right:18px}.ad-row.users{grid-template-columns:minmax(0,1.8fr) 1.3fr .9fr 44px;min-height:50px}.ad-row.cats{grid-template-columns:1.6fr 1.2fr .6fr 44px;min-height:46px}.ad-row.statuses{grid-template-columns:1.6fr 1.2fr 44px;min-height:46px}.ad-row.cats.unmapped{background:var(--warn-bg)}.ad-row .num{text-align:right}.ad-empty{color:var(--muted);border-bottom:1px solid var(--line-soft);padding:14px 18px;font-size:13px}.ad-email{flex-direction:column;gap:2px;display:flex}.ad-email>:first-child{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ad-sub{color:var(--muted);font-size:11px}.ad-role{border-radius:2px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-block}.ad-role.admin{background:var(--accent);color:var(--on-accent)}.ad-role.finance{background:var(--ok-bg);color:var(--ok-fg)}.ad-role.viewer{background:var(--line-soft);color:var(--ink-2)}.ad-row-tools{justify-content:flex-end;gap:4px;display:flex}.ad-select,.ad-input{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--bg);width:100%;height:32px;color:var(--ink);border-radius:2px;padding:0 8px;font-size:13px}.ad-icon{border:1px solid var(--line-strong);background:var(--surface);width:32px;height:32px;color:var(--ink-2);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.ad-icon.small{width:22px;height:22px;font-size:13px}.ad-icon:disabled{opacity:.4;cursor:default}.ad-btn{border:1px solid var(--line-strong);background:var(--surface);height:40px;color:var(--ink);cursor:pointer;border-radius:2px;padding:0 14px;font-size:14px}.ad-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:600}.ad-btn.dashed{color:var(--ink-2);border-style:dashed;align-self:flex-start;margin:0 18px;font-size:13px}.ad-btn:disabled{opacity:.5;cursor:default}.ad-actions{justify-content:flex-end;gap:8px;padding:0 18px;display:flex}.ad-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:0 18px;display:grid}.ad-field{flex-direction:column;gap:4px;min-width:0;display:flex}.ad-field.wide{grid-column:1/-1}.ad-field.grow{flex:1}.ad-field>span:first-child{color:var(--ink-2);font-size:12px}.ad-field>input,.ad-field>select,.ad-unit input{box-sizing:border-box;border:1px solid var(--edit-line);background:var(--edit-bg-2);height:40px;color:var(--ink);border-radius:2px;min-width:0;padding:0 10px;font-size:13px}.ad-unit{align-items:center;gap:8px;display:flex}.ad-unit input{flex:1}.ad-unit span{color:var(--muted);white-space:nowrap;font-size:12px}.ad-help{color:var(--muted);font-size:11px}.ad-check{color:var(--ink-2);align-items:center;gap:6px;height:40px;font-size:12px;display:flex}.ad-add{background:var(--surface-2);align-items:flex-end;gap:10px;margin-top:auto;padding:14px 18px;display:flex}.ad-foot:empty{display:none}.ad-foot{background:var(--surface-2);padding:0 18px 14px}.ad-message{border-radius:2px;margin:0 18px;padding:8px 12px;font-size:12px}.ad-foot .ad-message{margin:0}.ad-message.bad{background:var(--bad-bg);color:var(--bad-fg)}.ad-message.ok{background:var(--ok-bg);color:var(--ok-fg)}.ad-row.fx{min-height:40px}.ad-fx-cell{align-items:center;gap:8px;display:flex}.ad-fx-value{text-align:left;min-width:56px;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.ad-fx-value.missing{color:var(--danger)}.ad-tag{border-radius:9px;padding:1px 7px;font-size:11px;font-weight:600}.ad-tag.fetched{background:var(--line-soft);color:var(--ink-2)}.ad-tag.override{background:var(--edit-bg);color:var(--warn-fg)}.ad-tag.missing{background:var(--bad-bg);color:var(--bad-fg)}.ad-wide{margin:0 24px 24px}.ad-small{font-size:12px}.ad-strong{font-weight:500}.ad-ink2{color:var(--ink-2)}.ad-clip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ad-sync{flex-shrink:0;align-items:center;gap:8px;padding:0 16px;display:flex}.ad-sync:disabled{background:var(--line-strong);border-color:var(--line-strong);opacity:1}.ad-row.runs{grid-template-columns:1.2fr .8fr .7fr .8fr .8fr}.ad-pill{border-radius:2px;padding:2px 8px;font-size:11px;font-weight:600}.ad-pill.ok{background:var(--ok-bg);color:var(--ok-fg)}.ad-pill.bad{background:var(--bad-bg);color:var(--bad-fg)}.ad-pill.run{background:var(--line-soft);color:var(--ink-2)}.ad-run-error{background:var(--bad-bg);color:var(--bad-fg);border-radius:2px;margin:0 18px 12px;padding:10px 12px;font-size:12px;line-height:1.5}.ad-unmatched-list{flex-direction:column;gap:12px;padding:0 18px 18px;display:flex}.ad-unmatched{border:1px solid var(--line);border-radius:2px;flex-direction:column;gap:8px;padding:12px;display:flex}.ad-unmatched-top{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;font-size:13px;display:flex}.ad-unmatched-top strong{text-overflow:ellipsis;font-weight:600;overflow:hidden}.ad-link-row{gap:8px;display:flex}.ad-link-row .ad-select{background:var(--surface);flex-grow:1;min-width:0;height:38px}.ad-link-btn{height:38px}.ad-linked{color:var(--ok-fg);align-items:center;gap:6px;font-size:13px;display:flex}.ad-empty.bare{border:none;padding:0}.ad-subhead{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin:0;padding:0 18px 10px;font-size:11px;font-weight:600}.ad-row.links{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;min-height:50px}.ad-people{margin:0 24px 24px}.ad-people .ad-add{margin-top:0}.ad-people .ad-people-bulk{padding-top:0}.ad-row.people{grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr) minmax(0,1fr) 190px;min-height:50px}.ad-row.people.overridden{background:var(--warn-bg)}.ad-dup{background:var(--warn-bg);color:var(--warn-fg);border-radius:2px;margin:0 18px 10px;padding:8px 12px;font-size:12px}.ad-snaps .ad-row.snaps{border-top:1px solid var(--line-soft);border-bottom:none;grid-template-columns:1.2fr .8fr}.ad-frozen{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.ad-row.audit{grid-template-columns:150px 200px 200px 170px minmax(0,1fr);min-height:40px}.ad-change{align-items:center;gap:10px;display:flex}.ad-notes{flex-direction:column;gap:8px;padding-bottom:12px;display:flex}.ad-notes:empty{display:none}.ad-sheet{flex-direction:column;gap:12px;padding:0 18px 18px;display:flex}.ad-tiles{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:10px;display:grid}.ad-tile{background:var(--bg);color:var(--muted);border-radius:2px;flex-direction:column;padding:12px;font-size:12px;display:flex}.ad-tile.warn{background:var(--warn-bg)}.ad-tile-value{color:var(--ink);font-family:Outfit,sans-serif;font-size:20px}.ad-file{align-self:flex-start;position:relative}.ad-file .ad-btn{align-items:center;display:inline-flex}.ad-file input{opacity:0;cursor:pointer;position:absolute;inset:0}.ad-file input:disabled{cursor:default}.ad-check-result{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:12px;display:flex}.ad-check-result .ad-actions{padding:0}.ad-sheet-errors{background:var(--bad-bg);color:var(--bad-fg);border-radius:2px;margin:0;padding:10px 12px 10px 28px;font-size:12px;line-height:1.5}.ad-row.sheet{grid-template-columns:50px 1.3fr 1.2fr}.ad-pill.warn{background:var(--warn-bg);color:var(--warn-fg)}.ad-row.grace{grid-template-columns:1fr repeat(4,minmax(0,1fr))}.ad-row.grace.largest{font-weight:600}.ad-row.grace .ad-sub{font-weight:400;display:block}.ad-grace-foot{background:var(--surface-2);border-top:1px solid var(--line);color:var(--ink-2);justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding:14px 18px;font-size:13px;display:flex}.ad-grace-foot .ad-actions{padding:0}.ad-grace-body{padding-top:12px}.ad-grace-body>.ad-btn{align-self:flex-start}.ad-paste{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--bg);width:100%;min-height:96px;color:var(--ink);resize:vertical;border-radius:2px;padding:8px;font:13px/1.4 Outfit,sans-serif}.ad-legend{color:var(--muted);gap:4px;margin:0;padding:12px 18px;font-size:11px;display:grid}.ad-legend>div{gap:6px;display:flex}.ad-legend dt{color:var(--ink-2);white-space:nowrap;font-weight:600}.ad-legend dt:after{content:":"}.ad-legend dd{margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.link-button{font-size:inherit;color:var(--link);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.grid-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;display:flex}.range-controls{display:contents}.range-extra{contain:inline-size;flex-wrap:wrap;flex-basis:100%;order:1;align-items:center;gap:8px 12px;min-height:28px;display:flex}.range-dates{gap:8px;display:flex}.range-dates label{color:var(--ink-2);align-items:center;gap:4px;font-size:12px;display:flex}.range-note{color:var(--muted);font-size:12px}.money-toggle{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:2px;height:36px;padding:0 14px;font-size:13px}.kpi-strip{grid-template-columns:repeat(6,1fr);gap:12px;padding:0 24px 16px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.kpi-label{color:var(--muted);font-size:12px}.kpi-value{font-size:24px;font-weight:500}.kpi-value.danger{color:var(--danger)}.kpi-note{color:var(--muted);font-size:13px;font-weight:400}.sort-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:0 24px 10px;display:flex}.sort-buttons{align-items:center;gap:8px;display:flex}.sort-label{color:var(--muted);font-size:13px}.sort-button{cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);height:32px;color:var(--ink);border-radius:2px;padding:0 12px;font-size:13px}.sort-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#fff}.grid-legend{color:var(--ink-2);flex-wrap:wrap;gap:18px;font-size:12px;display:flex}.grid-legend>span{align-items:center;gap:6px;display:inline-flex}.grid-wrap{background:var(--surface);border:1px solid var(--line);border-radius:2px;margin:0 24px;overflow:auto hidden}.grid-inner{width:max-content;min-width:100%}.grid-head{border-bottom:1px solid var(--line);background:var(--surface-2);letter-spacing:.06em;text-transform:uppercase;height:46px;color:var(--ink-2);font-size:11px;font-weight:600;display:flex}.grid-row{border-bottom:1px solid var(--line-soft);align-items:stretch;height:40px;font-size:13px;display:flex}.gc{box-sizing:border-box;flex-shrink:0;align-items:center;gap:6px;padding:0 6px;display:flex;overflow:hidden}.grid-head .gc{gap:3px}.grid-row .gc{font-size:12px}.gc.num{justify-content:flex-end}.gc.danger{color:var(--danger)}.calc{text-transform:none;font-family:Georgia,serif;font-style:italic;font-weight:400}.sticky-fte,.sticky-name,.sticky{z-index:1;background:var(--surface);position:sticky}.grid-head .sticky-fte,.grid-head .sticky-name,.grid-head .sticky{z-index:2;background:var(--surface-2)}.grid-head .sticky.editable-head{background:var(--edit-bg)}.sticky-fte{left:0}.sticky-name{border-right:1px solid var(--line);padding:0 8px;left:36px}.grid-row:hover,.grid-row:focus-within,.grid-row:hover .sticky-fte,.grid-row:hover .sticky-name,.grid-row:focus-within .sticky-fte,.grid-row:focus-within .sticky-name,.grid-row:hover .sticky,.grid-row:focus-within .sticky{background:var(--row-hover)}.grid-row:hover .gc.editable,.grid-row:focus-within .gc.editable{background:var(--edit-bg)}.grid-row .sticky-name{flex-direction:column;justify-content:center;align-items:stretch;gap:0;line-height:1.25}.muted-2{color:var(--ink-2)}.name-line{align-items:center;gap:6px;min-width:0;display:flex}.person-link{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;text-decoration:none;overflow:hidden}.person-link.red{color:var(--danger)}.person-link:hover{color:inherit;text-decoration:underline}.flag-chip.left{color:var(--muted);border-color:var(--line)}.flag-chip{color:var(--danger);border:1px solid var(--danger-line);border-radius:3px;flex-shrink:0;padding:0 4px;font-size:10px;font-weight:600}.role-line{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.light{background:var(--line-strong);border-radius:5px;flex-shrink:0;width:9px;height:9px;display:inline-block}.light-GREEN{background:var(--good)}.light-AMBER{background:var(--amber)}.light-RED{background:var(--danger)}.project-code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.type-chip{border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600}.chip-inv{background:var(--inv-bg);color:var(--inv-fg)}.chip-fp{background:var(--fp-bg);color:var(--fp-fg)}.chip-tm{background:var(--ok-bg);color:var(--ok-fg)}.chip-none{color:var(--muted);background:0 0}.editable-head{background:var(--edit-bg)}.gc.editable{background:var(--edit-bg-2);padding:0 4px}.last-fixed{border-right:1px solid var(--line)}.edit-button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;min-width:0;height:32px;padding:0 4px;display:flex}.edit-button:hover:not(:disabled){border-color:var(--edit-line)}.edit-button:disabled{cursor:default}.ext-date{color:var(--ink);font-size:12px}.ext-prob{font-size:10px;font-weight:500}.tone-none{color:var(--faint)}.tone-ok{color:var(--ok-fg)}.tone-warn{color:var(--warn-fg)}.comment-text{width:100%;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.weeks-head{flex-direction:column;padding:0 8px;display:flex}.months,.week-days{gap:2px;height:22px;display:flex}.months{align-items:flex-end}.week-days{align-items:center}.month{color:var(--ink-2);border-left:1px solid var(--line-strong);box-sizing:border-box;white-space:nowrap;text-transform:none;letter-spacing:0;padding-left:4px;font-size:11px;font-weight:600;overflow:hidden}.week-day{width:var(--wk-w,18px);text-align:center;color:var(--muted);border-radius:3px;font-size:10px;font-weight:400;line-height:16px}.week-day.past,.wk.past{opacity:.45}.wk.now{outline:1px solid var(--accent);outline-offset:1px}.week-day.current{color:#fff;background:var(--accent)}.weeks{align-items:center;gap:2px;padding:0 8px;display:flex}.wk{width:var(--wk-w,18px);height:22px;color:var(--ink-2);box-sizing:border-box;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;font-weight:600;display:flex}.wk.swatch{width:14px;height:14px}.wk-staffed{background:var(--staffed)}.wk-inv{background:var(--invest)}.wk-likely{background:repeating-linear-gradient(135deg, var(--staffed) 0 3px, var(--hatch) 3px 6px)}.wk-avail{background:var(--avail);box-shadow:inset 0 0 0 1px var(--avail-line)}.wk-unlikely{background:var(--avail);box-shadow:inset 0 0 0 2px var(--staffed)}.wk-leave{background:var(--leave)}.wk.at-risk{border:2px dotted var(--amber)}.wk-none{box-shadow:inset 0 0 0 1px var(--line-soft);background:0 0}.wk-holiday{box-shadow:inset 0 0 0 1px var(--leave);background:0 0}.grid-head .has-help{cursor:help}.grid-head .has-help:focus-visible{outline-offset:-2px}.wk-tip.col-tip{width:300px}.wk-tip{z-index:9;width:240px;position:fixed}.wk-tip-muted{opacity:.75}.wk-tip-project{flex-direction:column;gap:2px;display:flex}.wk-tip-code{font-weight:600}.grid-empty{color:var(--muted);padding:16px;font-size:13px}.grid-footer{color:var(--muted);flex-wrap:wrap;align-items:center;gap:22px;padding:12px 24px;font-size:12px;display:flex}.grid-footer>span{align-items:center;gap:6px;display:inline-flex}.grid-footer .calc{color:var(--ink-2);font-size:14px}.edit-swatch{background:var(--edit-bg);border:1px solid var(--edit-line);box-sizing:border-box;width:14px;height:14px;display:inline-block}.grid-footer>.grid-footer-lights{gap:14px;margin-left:auto}.grid-footer-lights>span{align-items:center;gap:6px;display:inline-flex}.scrim{z-index:10;background:#15191a47;position:fixed;inset:0}.drawer{background:var(--surface);width:420px;max-width:100vw;color:var(--ink);border-left:1px solid var(--line);z-index:11;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #15191a1f}.drawer-form{flex-direction:column;height:100%;display:flex}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:20px 24px 16px;display:flex}.drawer-kicker{color:var(--muted);font-size:12px}.drawer-name{margin:2px 0 4px;font-size:20px;font-weight:600}.drawer-sub{color:var(--muted);font-size:13px}.drawer-close{cursor:pointer;width:32px;height:32px;color:var(--muted);background:0 0;border:none;font-size:22px;line-height:1}.drawer-body{flex-direction:column;flex:1;gap:18px;padding:20px 24px;display:flex;overflow-y:auto}.field{color:var(--ink-2);flex-direction:column;gap:6px;font-size:13px;display:flex}.field input,.field textarea{border:1px solid var(--line-strong);box-sizing:border-box;border-radius:2px;padding:0 10px;font-size:14px}.field input{height:40px}.field textarea{resize:vertical;padding:8px 10px}.prob-row{align-items:center;gap:8px;display:flex}.prob-row input{width:96px}.quick{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:2px;height:32px;padding:0 10px;font-size:13px}.effect{border-radius:2px;flex-direction:column;gap:6px;padding:12px 14px;font-size:13px;display:flex}.effect strong{text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.effect-neutral{background:var(--bg);color:var(--ink-2)}.effect-warn{background:var(--warn-bg);color:var(--warn-fg)}.effect-bad{background:var(--bad-bg);color:var(--bad-fg)}.effect-ok{background:var(--ok-bg);color:var(--ok-fg)}.drawer-help{color:var(--muted);margin:0;font-size:12px}.drawer-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.toast{background:var(--tooltip);color:#f5f5f5;z-index:12;border-radius:2px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.dq-chips{gap:8px;padding:0 24px 16px;display:flex}.dq-chips button{cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);height:36px;color:var(--ink);border-radius:2px;align-items:center;gap:6px;padding:0 14px;font-size:13px;display:flex}.dq-chips button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.dq-chip-count{opacity:.8;font-size:12px}.dq-main{align-items:flex-start;gap:16px;padding:0 24px 24px;display:flex}.dq-table{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-grow:1;min-width:0;overflow:hidden}.dq-row{grid-template-columns:200px 210px minmax(0,1fr) 150px;align-items:center;display:grid}.dq-row.head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);background:var(--surface-2);border-bottom:1px solid var(--line);height:40px;font-size:11px;font-weight:600}.dq-row.body{border-bottom:1px solid var(--line-soft);min-height:58px;font-size:13px}.dq-row>:first-child{padding:0 18px}.dq-row>:nth-child(2),.dq-row>:nth-child(3){padding:8px}.dq-row.head>:nth-child(2),.dq-row.head>:nth-child(3){padding:0 8px}.dq-row>:last-child{padding:0 18px 0 8px}.dq-issue{align-items:center;gap:10px;font-weight:500;display:flex}.dq-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.dq-dot.assign{background:var(--avail-line)}.dq-dot.project{background:var(--invest)}.dq-dot.leave{background:var(--leave-mark)}.dq-dot.people{background:var(--fp-fg)}.dq-dot.note{box-sizing:border-box;border:2px dotted var(--amber);background:0 0}.dq-row.note .effect{color:var(--muted)}.dq-record,.dq-detail{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.dq-record{line-height:1.3}.dq-record .who{font-weight:500}.dq-record .ref{color:var(--muted);font-size:11px}.dq-detail{line-height:1.4}.dq-detail .effect{color:var(--warn-fg);font-size:12px}.dq-fix a{font-size:13px}.dq-fix .external{color:var(--ink-2)}.dq-empty{color:var(--muted);padding:18px;font-size:13px}.dq-side{flex-direction:column;flex-shrink:0;gap:16px;width:420px;display:flex}.dq-card{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-direction:column;gap:12px;padding:18px;display:flex}.dq-card h2{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0;font-size:12px;font-weight:600}.dq-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-size:13px;display:grid}.dq-stats>div{flex-direction:column;display:flex}.dq-stats .label{color:var(--muted);font-size:12px}.dq-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.dq-card a{font-size:13px}.fin-controls{align-items:center;gap:12px;display:flex}.fin-layers{gap:6px;display:flex}.fin-layers button{cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);height:32px;color:var(--ink-2);border-radius:2px;padding:0 12px;font-size:13px}.fin-layers button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.fin-layers button:disabled{cursor:default;opacity:.85}.fin-layers button.risk[aria-pressed=true]{border:2px dotted var(--amber);background:var(--warn-bg);color:var(--warn-fg)}.fin-kpis{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:12px;padding:0 24px 16px;display:grid}.fin-kpi{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-direction:column;gap:4px;padding:16px;display:flex}.fin-kpi-label,.fin-kpi-sub{color:var(--muted);font-size:12px}.fin-kpi-value{font-size:26px;font-weight:500}.fin-kpi-value.danger{color:var(--danger)}.fin-panel{background:var(--surface);border:1px solid var(--line);border-radius:2px;margin:0 24px 16px}.fin-panel h2{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0;font-size:12px;font-weight:600}.fin-chart{padding:18px 20px 12px;position:relative}.fin-chart-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.fin-legend{color:var(--ink-2);gap:18px;font-size:12px;display:flex}.fin-legend>span{align-items:center;gap:6px;display:flex}.fin-swatch{border-radius:2px;width:12px;height:12px;display:inline-block}.fin-swatch.conf{background:var(--staffed)}.fin-swatch.ext{background:repeating-linear-gradient(135deg, var(--staffed) 0 2px, var(--hatch) 2px 5px)}.fin-swatch.risk{background:var(--warn-bg);border:2px dotted var(--amber)}.fin-chart svg{width:100%;height:auto;display:block}.fin-chart .grid-line{stroke:var(--line-soft)}.fin-chart .base-line{stroke:var(--faint)}.fin-chart .tick{fill:var(--muted);font-size:11px}.fin-chart .x-label{fill:var(--ink-2);font-size:12px}.fin-chart .bar-conf{fill:var(--staffed)}.fin-chart .hatch-bg{fill:var(--hatch)}.fin-chart .bar-risk{fill:var(--warn-bg);stroke:var(--amber);stroke-width:2px;stroke-dasharray:2 3}.fin-chart .fx-mark{fill:var(--warn-fg);font-size:11px;font-weight:600}.fin-chart .cost-line{stroke:var(--ink);stroke-width:2px;fill:none}.fin-chart .cost-dot{fill:var(--ink);stroke:var(--surface);stroke-width:2px}.fin-chart .hit{fill:#0000}.fin-tip{width:220px;position:absolute;top:44px}.fin-tip-row{justify-content:space-between;gap:16px;display:flex}.fin-table{overflow:hidden}.fin-row{grid-template-columns:150px repeat(var(--fin-cols), minmax(0, 1fr));align-items:center;display:grid}.fin-row>div{text-align:right;padding:0 12px;font-size:13px}.fin-row>div:first-child{text-align:left;padding:0 16px}.fin-row.head{background:var(--surface-2);border-bottom:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);height:44px;font-size:11px;font-weight:600}.fin-row.head>div{font-size:11px}.fin-row.body{border-bottom:1px solid var(--line-soft);background:var(--surface);height:50px}.fin-row.body:nth-child(odd){background:var(--surface-2)}.fin-row.body.fx{background:var(--warn-bg)}.fin-row.total{background:var(--surface-2);border-top:1px solid var(--line-strong);height:48px;font-weight:600}.fin-cell-label{flex-direction:column;font-weight:600;line-height:1.25;display:flex}.fin-flag{color:var(--warn-fg);font-size:11px;font-weight:500}.fin-cell-stack{flex-direction:column;line-height:1.25;display:flex}.fin-sub{color:var(--muted);font-size:11px}.fin-dim{color:var(--ink-2)}.fin-neg{color:var(--danger)}.fin-note{color:var(--muted);margin:0 24px 24px;font-size:12px}.fin-weeks-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.fin-weeks-actions{align-items:center;gap:12px;display:flex}.fin-weeks-scroll{overflow-x:auto}.fin-weeks table{border-collapse:separate;border-spacing:0;font-size:13px}.fin-weeks th,.fin-weeks td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--line-soft);background:var(--surface);padding:6px 12px}.fin-weeks thead th{background:var(--surface-2);color:var(--ink-2);vertical-align:bottom;font-size:11px;font-weight:600}.fin-weeks thead th>span{display:block}.fin-weeks tr.band th{text-align:left;letter-spacing:.06em;text-transform:uppercase;border-left:1px solid var(--line)}.fin-weeks th.fin-wk-label{z-index:1;text-align:left;border-right:1px solid var(--line);border-left:0;min-width:170px;font-weight:600;position:sticky;left:0}.fin-weeks tbody th.fin-wk-label{background:var(--surface)}.fin-weeks tbody tr:nth-child(4)>*{border-top:1px solid var(--line-strong)}.fin-weeks tr.sum>*{font-weight:600}.fin-weeks th.now{color:#fff;background:var(--accent)}.fin-weeks th.now .fin-sub{color:#fff}.fin-weeks td.now{background:var(--surface-2)}.fin-weeks td.fx{background:var(--warn-bg)}.p-title{flex-direction:column;gap:6px;padding:20px 24px 0;display:flex}.person-crumb{gap:8px;margin-bottom:8px;display:flex}.p-name-line{align-items:center;gap:12px;display:flex}.p-name-line h1{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:600}.p-name-line h1.danger{color:var(--danger)}.p-badge{color:var(--danger);border:1px solid var(--danger-line);border-radius:3px;padding:1px 6px;font-size:11px;font-weight:600}.p-attrs{color:var(--ink-2);flex-wrap:wrap;gap:18px;font-size:14px;display:flex}.p-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px 24px 16px;display:grid}.p-card{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-direction:column;gap:12px;padding:18px;display:flex}.p-card h2{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0;font-size:12px;font-weight:600}.p-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.p-form{flex-direction:column;gap:12px;display:flex}.p-muted{color:var(--muted);font-size:13px}.small{font-size:12px}.p-muted.small{font-size:11px}.p-ink2{color:var(--ink-2)}.p-status{align-items:center;gap:14px;display:flex}.p-dot{background:var(--line-strong);border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.p-dot.good{background:var(--good)}.p-dot.amber{background:var(--amber)}.p-dot.bad{background:var(--danger)}.p-dot path{stroke:var(--on-accent);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.p-status-text{flex-direction:column;gap:2px;display:flex}.p-status-title{font-size:16px;font-weight:600}.p-status-title.good{color:var(--good)}.p-status-title.amber{color:var(--amber)}.p-status-title.bad{color:var(--danger)}.p-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.p-stat{flex-direction:column;gap:2px;display:flex}.p-label{color:var(--muted);font-size:12px}.p-value{font-size:22px}.p-value.small{font-size:20px}.p-value.danger{color:var(--danger)}.p-ext{color:var(--ok-fg);font-size:12px;font-weight:500}.p-ext.warn{color:var(--warn-fg)}.p-note{color:var(--ink-2);background:var(--bg);border-radius:2px;padding:10px 12px;font-size:12px;line-height:1.6}.p-secure{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.p-lock{stroke:var(--muted);stroke-width:1.3px}.p-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.p-field{flex-direction:column;gap:4px;min-width:0;display:flex}.p-field>span,.p-field>label{color:var(--ink-2);font-size:12px}.p-field input,.p-field select{border:1px solid var(--edit-line);background:var(--edit-bg-2);border-radius:2px;min-width:0;height:38px;padding:0 10px;font-size:13px}.p-field select:disabled{color:var(--faint)}.p-reveal{gap:6px;display:flex}.p-reveal input{flex:1}.p-reveal button,.p-btn{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:2px;height:38px;padding:0 10px;font-size:12px}.p-actions{justify-content:flex-end;gap:8px;display:flex}.p-btn{padding:0 14px}.p-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.p-btn:disabled{opacity:.5;cursor:default}.p-message{border-radius:2px;padding:8px 12px;font-size:12px}.p-message.bad{background:var(--bad-bg);color:var(--bad-fg)}.p-message.ok{background:var(--ok-bg);color:var(--ok-fg)}.p-hidden{border-style:dashed;border-color:var(--line-strong);text-align:center;justify-content:center;align-items:center;gap:8px}.p-hidden .p-lock{stroke-width:1px}.p-hidden-title{font-size:14px;font-weight:600}.p-hidden-sub{max-width:300px}.p-comment{background:var(--edit-bg-2);border:1px solid var(--edit-line);border-radius:2px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;display:flex}.p-comment-label{color:var(--ink-2);font-size:12px;font-weight:600}.p-timeline{margin:0 24px 16px;padding:18px 20px}.p-legend{color:var(--ink-2);gap:16px;font-size:12px;display:flex}.p-legend>span{align-items:center;gap:6px;display:flex}.p-swatch{border-radius:2px;width:12px;height:12px}.p-swatch.work{background:var(--staffed)}.p-swatch.ext{background:repeating-linear-gradient(135deg, var(--staffed) 0 2px, var(--hatch) 2px 5px)}.p-swatch.leave{background:var(--leave-mark)}.p-swatch.holiday{background:var(--danger);border-radius:0;width:2px}.p-chart{height:calc(var(--p-leave-top) + 30px);position:relative}.p-months{height:20px;display:flex;position:absolute;top:0;left:0;right:0}.p-months>div{color:var(--ink-2);border-left:1px solid var(--line-strong);box-sizing:border-box;white-space:nowrap;padding-left:6px;font-size:11px;font-weight:600;overflow:hidden}.p-track{height:var(--p-track-h);background:var(--bg);border-radius:4px;position:absolute;top:28px;left:0;right:0}.p-bar{background:var(--staffed);border-radius:4px;align-items:center;height:26px;display:flex;position:absolute;overflow:hidden}.p-bar span{color:var(--on-accent);white-space:nowrap;padding-left:8px;font-size:11px;font-weight:600}.p-bar.ext{background:repeating-linear-gradient(135deg, var(--staffed) 0 3px, var(--hatch) 3px 7px)}.p-bar.inv{background:var(--invest)}.p-bar.int{background:var(--line-strong)}.p-bar.int span{color:var(--ink)}.p-leave{top:var(--p-leave-top);background:var(--leave-mark);border-radius:2px;height:8px;position:absolute}.p-leave.half{width:4px}.p-holiday{height:calc(var(--p-track-h) + 8px);background:var(--danger);width:2px;position:absolute;top:24px}.p-today{height:calc(var(--p-leave-top) - 12px);background:var(--ink);width:2px;position:absolute;top:20px}.p-today span{color:var(--ink);font-size:11px;font-weight:600;position:absolute;top:calc(100% + 2px);left:-16px}.p-bottom{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;padding:0 24px 24px;display:grid}.p-col{flex-direction:column;gap:16px;display:flex}.p-table{gap:0;padding:0;overflow:hidden}.p-table>h2{padding:16px 18px 10px}.p-table-head{align-items:baseline;padding:16px 18px 10px}.p-h2-sub{letter-spacing:0;text-transform:none;color:var(--muted);font-size:12px;font-weight:400}.p-row{align-items:center;display:grid}.p-row>div{padding:0 8px}.p-row>div:first-child{padding:0 18px}.p-row>div:last-child{padding:0 18px 0 8px}.p-row .num{text-align:right}.p-row.head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:36px;font-size:11px;font-weight:600}.p-row.body{border-bottom:1px solid var(--line-soft);height:48px;font-size:13px}.p-row.body:last-child{border-bottom:none}.p-row.body.tall{height:44px}.p-row.body.short{height:38px}.p-row.app{background:var(--edit-bg-2)}.p-assign{grid-template-columns:1.4fr 1.6fr .7fr .6fr .6fr .7fr}.p-leave-cols{grid-template-columns:2fr 1fr 1.2fr 1.4fr}.p-pnl{grid-template-columns:1.1fr repeat(6,minmax(0,1fr))}.p-project{flex-direction:column;min-width:0;line-height:1.25;display:flex}.p-project span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p-pill{background:var(--ok-bg);color:var(--ok-fg);border-radius:2px;padding:2px 8px;font-size:11px;font-weight:600}.p-month{font-weight:500}.p-neg{color:var(--danger)}.p-row.total{background:var(--surface-2);height:42px;font-size:13px;font-weight:600}.p-empty{color:var(--muted);padding:14px 18px;font-size:13px}@font-face{font-family:Outfit;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/outfit-latin-ext-DdQaqQDo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/outfit-latin-Bc-8i84L.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--surface:#141414;--surface-2:#1a1a1a;--surface-3:#232323;--row-hover:#202020;--line:#2a2a2a;--line-soft:#1f1f1f;--line-strong:#3d3d3d;--ink:#f2f2f2;--ink-2:#c8c8c8;--muted:#9b9b9b;--faint:#707070;--accent:#e31e24;--accent-hover:#ff3a40;--link:#ff5c61;--danger:#ff6b61;--danger-line:#6b2a26;--good:#3fb871;--amber:#e0a33a;--ok-bg:#0f2a24;--ok-fg:#72d5ba;--bad-bg:#3a1512;--bad-fg:#ff9e94;--warn-bg:#33240f;--warn-fg:#f2b766;--warn-line:#6b4a1a;--inv-bg:#261b38;--inv-fg:#c7abf2;--fp-bg:#142536;--fp-fg:#92bfe8;--edit-bg:#211d12;--edit-bg-2:#1b180f;--edit-line:#4a4128;--hatch:#0e3d35;--avail:#6b4a17;--leave:#3c3c3c;--tooltip:#2b2b2b;--staffed:#008c73;--invest:#8a5cc7;--avail-line:#d98a1c;--toast-tick:#3fc1a4;--tooltip-ink:#f5f5f5;--tooltip-line:#3e4442;--leave-mark:#6b6f6c;--on-accent:#fff}.theme-light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f4f2;--surface:#fff;--surface-2:#fafaf8;--surface-3:#eaeae7;--row-hover:#f1f1ee;--line:#e1e1dd;--line-soft:#eeeeea;--line-strong:#c6c6c0;--ink:#111;--ink-2:#3c3c3c;--muted:#5e5e5e;--faint:#888;--accent:#e31e24;--accent-hover:#c4161c;--link:#c4161c;--danger:#b42318;--danger-line:#e8a9a2;--good:#1f7a3f;--amber:#b7791f;--ok-bg:#e1f2ee;--ok-fg:#0b4a40;--bad-bg:#fbe3e0;--bad-fg:#7a1a12;--warn-bg:#fbebd3;--warn-fg:#5a3405;--warn-line:#e7b77a;--inv-bg:#eee6f8;--inv-fg:#5b3a8c;--fp-bg:#e4eef7;--fp-fg:#1f4e79;--edit-bg:#f6efd9;--edit-bg-2:#fdfaf1;--edit-line:#e6d9b0;--hatch:#bfe6dc;--avail:#f3d3a2;--leave:#d6d3ca;--tooltip:#15191a;--staffed:#008c73;--invest:#8a5cc7;--avail-line:#d98a1c;--toast-tick:#3fc1a4;--tooltip-ink:#f5f5f5;--tooltip-line:#3e4442;--leave-mark:#6b6f6c;--on-accent:#fff}html,body,#root{min-height:100%}body{background:#0a0a0a;margin:0;font-family:Outfit,system-ui,sans-serif}*{font-variant-numeric:tabular-nums}a{color:var(--link)}a:hover{color:var(--accent-hover)}button,select,input,textarea{font-family:inherit}button{color:var(--ink)}input,select,textarea{background:var(--bg);color:var(--ink)}h2:before{content:"";background:var(--accent);vertical-align:1px;width:8px;height:8px;margin-right:10px;display:inline-block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{background:var(--bg);min-height:100vh;color:var(--ink);flex-direction:column;display:flex}.header{background:var(--bg);flex-shrink:0;padding:0 40px}.brand-bar{border-bottom:1px solid var(--line);align-items:center;gap:24px;height:96px;display:flex}.brand{flex-direction:column;gap:3px;display:flex}.brand img{width:auto;height:32px;display:block}.brand-tagline{color:var(--ink);font-size:12px;font-weight:500}.brand-divider{background:var(--line);width:1px;height:56px;margin:0 4px}.app-title{flex-direction:column;gap:2px;display:flex}.app-title-name{letter-spacing:-.01em;font-size:26px;font-weight:600}.app-title-sub{color:var(--muted);font-size:12px}.header-right{align-items:center;gap:16px;margin-left:auto;display:flex}.synced{color:var(--muted);font-size:12px}.who{color:var(--ink-2);font-size:13px}.header-button{border:1px solid var(--line-strong);height:36px;color:var(--ink);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;align-items:center;gap:8px;padding:0 12px;font-size:11px;font-weight:600;display:flex}.header-button:hover{border-color:var(--ink-2)}.header-button.sign-out{padding:0 14px}.header-button svg{stroke:currentColor}.view-as{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.view-as select{border:1px dashed var(--line-strong);letter-spacing:0;text-transform:none;border-radius:2px;height:36px;padding:0 8px;font-size:13px}.main-nav{border-bottom:1px solid var(--line);height:48px;display:flex}.main-nav a{letter-spacing:.14em;text-transform:uppercase;box-sizing:border-box;color:var(--muted);border-bottom:2px solid #0000;align-items:center;gap:8px;padding:0 22px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.main-nav a:hover{color:var(--ink-2)}.main-nav a[aria-current=page]{color:var(--ink);border-bottom:2px solid var(--accent)}.count-pill{background:var(--accent);color:#fff;letter-spacing:0;border-radius:9px;padding:1px 7px;font-size:11px;font-weight:600}.sync-banner{background:var(--warn-bg);border-bottom:1px solid var(--warn-line);color:var(--warn-fg);align-items:center;gap:12px;padding:10px 24px;font-size:13px;display:flex}.sync-banner svg{stroke:var(--warn-fg);flex-shrink:0}.sync-banner strong{font-weight:600}.page{flex:1}.page-head{justify-content:space-between;align-items:flex-end;padding:24px 24px 16px;display:flex}.page-head h1{letter-spacing:-.01em;margin:0;font-size:26px;font-weight:600}.page-sub{color:var(--muted);margin:6px 0 0;font-size:14px}.page-body{padding:0 24px 24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:2px;padding:14px 16px}.segmented{background:var(--surface-3);border-radius:2px;padding:3px;display:flex}.segmented button{height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:0 14px;font-size:13px}.segmented button[aria-pressed=true]{background:var(--accent);color:#fff;font-weight:600}.placeholder{color:var(--muted);font-size:14px}.breadcrumb{color:var(--muted);margin-bottom:8px;font-size:13px}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--ink)}.gate{background:var(--bg);min-height:100vh;color:var(--ink);justify-content:center;align-items:center;display:flex}.gate-card{background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:2px;flex-direction:column;gap:18px;width:480px;max-width:calc(100vw - 32px);padding:40px;display:flex}.gate-brand{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding-bottom:20px;display:flex}.gate-brand .brand{gap:3px}.gate-brand img{width:auto;height:28px;display:block}.gate-brand .brand-tagline{font-size:11px}.gate-brand .brand-divider{height:44px;margin:0}.gate-brand-name{font-size:18px;font-weight:600}.gate-card h1{margin:0;font-size:24px;font-weight:600}.gate-card p{color:var(--ink-2);margin:0;font-size:15px;line-height:1.55}.gate-card .email{color:var(--ink);font-weight:500}.gate-actions{flex-wrap:wrap;gap:10px;padding-top:6px;display:flex}.button-primary,.button-secondary{letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-sizing:border-box;border-radius:2px;justify-content:center;align-items:center;height:44px;padding:0 18px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.button-primary{background:var(--accent);color:#fff;border:none}.button-primary:hover{background:var(--accent-hover);color:#fff}.button-secondary{border:1px solid var(--line-strong);color:var(--ink);background:0 0}.button-secondary:hover{border-color:var(--ink-2);color:var(--ink)}.dev-login{border-top:1px dashed var(--line-strong);flex-direction:column;gap:10px;padding-top:12px;display:flex}.dev-login-label{color:var(--muted);font-size:12px}.dev-login-users{flex-wrap:wrap;gap:8px;display:flex}.dev-login-users .button-secondary{letter-spacing:0;text-transform:none;height:32px;padding:0 10px;font-size:12px}.dev-login form{gap:8px;display:flex}.dev-login input{border:1px solid var(--line-strong);border-radius:2px;flex:1;height:32px;padding:0 10px;font-size:13px}.form-error{color:var(--danger);font-size:13px}.tip{background:var(--tooltip);color:var(--tooltip-ink);pointer-events:none;border-radius:2px;flex-direction:column;gap:4px;padding:10px 12px;font-size:12px;display:flex;box-shadow:0 6px 18px #0000002e}.tip-title{font-weight:600}.tip-rule{border-top:1px solid var(--tooltip-line);padding-top:4px}
