html,body,#root{min-height:100%}body{background:var(--bg-canvas);margin:0}.fh-boot,.fh-center{place-items:center;gap:var(--space-3);text-align:center;min-height:50vh;display:grid}.fh-boot{min-height:100vh}.fh-link{color:var(--fg-link);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:0}.fh-fig{flex-direction:column;gap:2px;min-width:0;display:flex}.fh-fig__label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);white-space:nowrap}.fh-fig__value{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--weight-figure);font-variant-numeric:tabular-nums;color:var(--fg-1);white-space:nowrap}.fh-fig__unit{font-size:var(--text-2xs);font-weight:var(--weight-regular);color:var(--fg-3);margin-left:4px}.fh-fig--accent .fh-fig__value{color:var(--fg-accent)}.fh-fig--danger .fh-fig__value{color:var(--danger-fg)}.fh-tag{border:1px solid var(--border-2);border-radius:var(--radius-xs);background:var(--bg-surface-2);color:var(--fg-2);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-medium);white-space:nowrap;padding:1px 6px;line-height:1.5;display:inline-block}.fh-tag--danger{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-fg)}.fh-tag--warning{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-fg)}.fh-tag--info{border-color:var(--info-border);background:var(--info-bg);color:var(--info-fg)}.fh-entry{background:var(--bg-canvas);min-height:100vh;color:var(--fg-1);isolation:isolate;position:relative}.fh-entry__hero{background:linear-gradient(180deg, transparent 55%, var(--bg-canvas) 100%), url(/brand/hero.jpg) center 42% / cover no-repeat;height:min(44vh,440px)}.fh-entry__body{max-width:1080px;margin:calc(var(--space-12) * -1) auto 0;padding:0 var(--space-6) var(--space-12)}.fh-entry__head{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.fh-entry__title{margin:var(--space-8) 0 var(--space-3);max-width:17ch;font-family:var(--font-display);letter-spacing:-.005em;text-transform:uppercase;font-size:clamp(34px,6vw,60px);font-weight:600;line-height:1.04}.fh-entry__lead{max-width:62ch;font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--fg-2);margin:0}.fh-entry__points{gap:var(--space-2) var(--space-6);margin:var(--space-5) 0 0;font-size:var(--text-sm);color:var(--fg-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.fh-entry__points li{align-items:center;gap:var(--space-2);display:flex}.fh-entry__points svg{width:16px;height:16px;color:var(--fg-accent)}.fh-entry__note{margin:var(--space-6) 0 0;padding:var(--space-3) var(--space-4);border:1px solid var(--warning-border);border-radius:var(--radius-md);background:var(--warning-bg);color:var(--warning-fg);font-size:var(--text-sm)}.fh-entry__pick{margin:var(--space-10) 0 var(--space-4);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--fg-1)}.fh-doors{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.fh-door{align-content:start;gap:var(--space-2) var(--space-3);padding:var(--space-5);border:1px solid var(--border-2);border-radius:var(--radius-lg);background:var(--bg-surface-solid);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);grid-template-columns:auto 1fr;grid-template-areas:"icon label""who who""blurb blurb""go go";display:grid}.fh-door:hover:not(:disabled),.fh-door:focus-visible{border-color:var(--accent);box-shadow:var(--glow-accent);outline:none;transform:translateY(-2px)}.fh-door:disabled{cursor:progress;opacity:.7}.fh-door__icon{border-radius:var(--radius-md);background:var(--accent);width:40px;height:40px;color:var(--fg-on-accent);grid-area:icon;place-items:center;display:grid}.fh-door__icon svg{width:20px;height:20px}.fh-door__label{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.02em;text-transform:uppercase;grid-area:label;align-self:center;font-weight:600;display:flex}.fh-door__who{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--fg-1);grid-area:who}.fh-door__blurb{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--fg-2);grid-area:blurb}.fh-door__go{align-items:center;gap:var(--space-1-5);margin-top:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--fg-accent);grid-area:go;display:flex}.fh-door__go svg{width:15px;height:15px}.fh-entry__foot{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--border-1);font-size:var(--text-xs);color:var(--fg-3);flex-wrap:wrap;display:flex}.fh-desk{flex-direction:column;min-height:100vh;display:flex}.fh-bar{z-index:var(--z-nav);border-bottom:2px solid var(--accent);background:var(--bg-canvas);color:var(--fg-1);position:sticky;top:0}.fh-bar__inner{align-items:center;gap:var(--space-5);max-width:1440px;padding:var(--space-2-5) var(--space-6);margin:0 auto;display:flex}.fh-bar__logo{align-items:center;display:flex}.fh-bar__nav{gap:var(--space-1);display:flex}.fh-bar__nav a{padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-sm);color:var(--fg-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none}.fh-bar__nav a.is-active,.fh-bar__nav a:hover{background:var(--bg-active);color:var(--fg-1)}.fh-bar__context{text-align:right;flex-direction:column;margin-left:auto;line-height:1.3;display:flex}.fh-bar__org{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.fh-bar__clock{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-3)}.fh-bar__tools{align-items:center;gap:var(--space-2);display:flex}.fh-bar__me{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--fg-2);display:flex}.fh-desk__main{width:100%;max-width:1440px;padding:var(--space-6);box-sizing:border-box;flex:1;margin:0 auto}.fh-desk__foot{padding:var(--space-4) var(--space-6) var(--space-6);text-align:center;font-size:var(--text-xs);color:var(--fg-3)}.fh-demo-pill{align-items:center;gap:var(--space-2);padding:var(--space-1-5) var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-full);background:var(--bg-surface-2);color:var(--fg-2);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;display:inline-flex}.fh-demo-pill:hover{border-color:var(--border-3);color:var(--fg-1)}.fh-demo-pop{width:min(360px,100vw - 32px)}.fh-demo-pop__head p{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--fg-2)}.fh-demo-pop__facts{gap:var(--space-2);margin:var(--space-4) 0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-sunken);font-size:var(--text-sm);display:grid}.fh-demo-pop__facts div{justify-content:space-between;gap:var(--space-3);display:flex}.fh-demo-pop__facts dt{align-items:center;gap:var(--space-1-5);color:var(--fg-3);display:flex}.fh-demo-pop__facts dt svg{width:14px;height:14px}.fh-demo-pop__facts dd{text-align:right;margin:0}.fh-demo-pop__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.fh-sources{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.fh-source{padding-bottom:var(--space-4);border-bottom:1px solid var(--border-1)}.fh-source__head{align-items:center;gap:var(--space-2);display:flex}.fh-source__id{font-size:var(--text-xs);color:var(--fg-3)}.fh-source__title{margin:var(--space-1-5) 0 var(--space-1);font-weight:var(--weight-semibold)}.fh-source__title svg{vertical-align:-1px;width:13px;height:13px}.fh-source__supports{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--fg-2);margin:0}.fh-page{gap:var(--space-5);display:grid}.fh-page__head{justify-content:space-between;align-items:flex-end;gap:var(--space-5);flex-wrap:wrap;display:flex}.fh-page__head h1{font-family:var(--font-display);font-size:var(--text-4xl);letter-spacing:.01em;text-transform:uppercase;margin:0;font-weight:600;line-height:1.1}.fh-page__head p{margin:var(--space-1) 0 0;color:var(--fg-2)}.fh-crumb{align-items:center;gap:var(--space-1-5);width:fit-content;color:var(--fg-2);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;display:inline-flex}.fh-crumb:hover{color:var(--fg-accent)}.fh-crumb svg{width:15px;height:15px}.fh-stats{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.fh-stat{gap:var(--space-1);padding:var(--space-4) var(--space-5);border:1px solid var(--border-1);border-left:3px solid var(--border-3);border-radius:var(--radius-md);background:var(--bg-surface-solid);flex-direction:column;display:flex}.fh-stat:last-child{border-left-color:var(--accent)}.fh-stat__label{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3)}.fh-stat__value{font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:var(--weight-figure);line-height:1.1}.fh-stat__value small{font-size:var(--text-md);color:var(--fg-3)}.fh-stat__note{font-size:var(--text-sm);color:var(--fg-2)}.fh-board{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(320px,400px);align-items:start;display:grid}.fh-board__wells{gap:var(--space-4);display:grid}.fh-board__wells--wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}.fh-board__side{gap:var(--space-4);display:grid}.fh-alerts{gap:var(--space-2);margin-top:var(--space-3);display:grid}.fh-alert{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-1);border-radius:var(--radius-md);background:var(--bg-surface-2);color:inherit;border-left-width:3px;grid-template-columns:auto 1fr auto;align-items:start;text-decoration:none;display:grid}.fh-alert:hover{background:var(--bg-hover)}.fh-alert--danger{border-color:var(--danger-border);border-left-color:var(--danger-solid);background:var(--danger-bg)}.fh-alert--warning{border-left-color:var(--warning-fg)}.fh-alert--info{border-left-color:var(--accent)}.fh-alert__icon svg{width:18px;height:18px;color:var(--fg-2)}.fh-alert--danger .fh-alert__icon svg{color:var(--danger-fg)}.fh-alert__text{font-size:var(--text-sm);line-height:var(--leading-snug);gap:2px;display:grid}.fh-alert__text span{color:var(--fg-2)}.fh-alert__when{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-3);white-space:nowrap}.fh-well{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border-1);border-left:4px solid var(--border-3);border-radius:var(--radius-lg);background:var(--bg-surface-solid);color:inherit;box-shadow:var(--shadow-1);transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);text-decoration:none;display:grid}.fh-well:hover,.fh-well:focus-visible{border-color:var(--border-3);box-shadow:var(--shadow-3);outline:none}.fh-well--ok{border-left-color:var(--success-fg)}.fh-well--attention{border-left-color:var(--warning-fg)}.fh-well--alarm,.fh-well--alarm:hover{border-left-color:var(--danger-solid)}.fh-well__head{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;display:flex}.fh-well__head h3{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:.01em;text-transform:uppercase;margin:0;font-weight:600}.fh-well__head p{font-size:var(--text-sm);color:var(--fg-2);margin:2px 0 0}.fh-well__badges{align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.fh-well__figs{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.fh-well__load{gap:var(--space-1-5);display:grid}.fh-well__load .pl-progress__head{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fh-well__load-text{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);display:flex}.fh-well__load-text strong{font-family:var(--font-mono);font-weight:var(--weight-figure)}.fh-well__foot{align-items:center;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-1);font-size:var(--text-sm);color:var(--fg-2);flex-wrap:wrap;display:flex}.fh-well__spark{align-items:center;gap:var(--space-2);font-size:var(--text-xs);display:flex}.fh-well__report{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.fh-well__go{width:18px;height:18px;color:var(--fg-3)}.fh-well__report+.fh-well__go{margin-left:0}.fh-well__meta+.fh-well__go{margin-left:auto}.fh-page__head--job{align-items:center}.fh-job__now{gap:var(--space-6);padding:var(--space-3) var(--space-5);border:1px solid var(--border-1);border-radius:var(--radius-md);background:var(--bg-surface-solid);display:flex}.fh-job{gap:var(--space-5);grid-template-columns:280px minmax(0,1fr);align-items:start;display:grid}.fh-job__side{gap:var(--space-4);display:grid}.fh-job__main{min-width:0}.fh-daylist{max-height:332px;margin:var(--space-3) calc(var(--space-2) * -1) 0;gap:2px;padding:0;list-style:none;display:grid;overflow-y:auto}.fh-daylist button{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);color:inherit;font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr auto;display:grid}.fh-daylist button:hover{background:var(--bg-hover)}.fh-daylist button.is-active{background:var(--bg-selected);box-shadow:inset 3px 0 0 var(--accent)}.fh-daylist__day{font-weight:var(--weight-semibold)}.fh-daylist__date{font-size:var(--text-xs);color:var(--fg-3)}.fh-downloads{gap:var(--space-2);margin-top:var(--space-3);display:grid}.fh-download{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--bg-surface-2);color:inherit;font:inherit;text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto;display:grid}.fh-download:hover:not(:disabled){border-color:var(--accent);background:var(--accent-subtle)}.fh-download:disabled{cursor:not-allowed;opacity:.55}.fh-download svg{width:18px;height:18px;color:var(--success-fg)}.fh-download svg:last-child{color:var(--fg-3)}.fh-download strong{align-items:center;gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.fh-download small{font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--fg-2);margin-top:2px;display:block}.fh-facts{gap:var(--space-2);margin:var(--space-3) 0 0;font-size:var(--text-sm);display:grid}.fh-facts div{justify-content:space-between;gap:var(--space-3);display:flex}.fh-facts dt{color:var(--fg-3)}.fh-facts dd{text-align:right;margin:0}.fh-day{gap:var(--space-4);padding-top:var(--space-4);display:grid}.fh-day__head{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.fh-day__head h2{align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--text-2xl);text-transform:uppercase;margin:0;font-weight:600;display:flex}.fh-day__head p{font-size:var(--text-sm);color:var(--fg-2);margin:2px 0 0}.fh-day__stamp{font-size:var(--text-sm);color:var(--success-fg);margin:0}.fh-day__figs{gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--border-1);border-radius:var(--radius-md);background:var(--bg-surface-solid);grid-template-columns:repeat(8,minmax(0,1fr));display:grid}.fh-day .pl-table-wrap{border:1px solid var(--border-1);border-radius:var(--radius-md);background:var(--bg-surface-solid);overflow-x:auto}.fh-sheet{font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap}.fh-sheet th{font-family:var(--font-sans);position:sticky;top:0}.fh-sheet th:first-child,.fh-sheet td:first-child{z-index:1;background:var(--bg-surface-solid);box-shadow:1px 0 0 var(--border-1);position:sticky;left:0}.fh-sheet tbody tr:hover td{background:var(--bg-surface-2)}.fh-sheet__time{font-weight:var(--weight-semibold)}.fh-sheet__comment{min-width:240px;max-width:360px;font-family:var(--font-sans);white-space:normal;color:var(--fg-2)}.fh-sheet__edit{color:var(--info-fg);display:block}.fh-sheet__by{font-family:var(--font-sans);color:var(--fg-2)}.fh-sheet__act{text-align:right}.fh-sheet__act .pl-button+.pl-button{margin-left:var(--space-1)}.fh-sheet__gap{font-family:var(--font-sans);color:var(--fg-2);font-style:italic}.fh-sheet__row--missing td{background:var(--warning-bg)}.fh-sheet__row--missing .fh-sheet__gap{font-style:normal;font-weight:var(--weight-semibold);color:var(--warning-fg)}.fh-sheet__row--alarm td,.fh-sheet tbody tr.fh-sheet__row--alarm:hover td{background:var(--danger-bg)}.fh-sheet__row--alarm td:first-child{box-shadow:inset 4px 0 0 var(--danger-solid), 1px 0 0 var(--border-1)}.fh-sheet tbody tr.fh-sheet__row--missing:hover td{background:var(--warning-bg)}.fh-sheet__h2s{font-weight:var(--weight-bold);color:var(--danger-fg)}.fh-day__lower{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.fh-morning{margin:var(--space-3) 0 0;padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-sunken);font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;line-height:1.7}.fh-tickets{max-height:320px;margin-top:var(--space-3);font-size:var(--text-xs);display:grid;overflow-y:auto}.fh-tickets__row{gap:var(--space-2);padding:var(--space-1-5) 0;border-bottom:1px solid var(--border-1);grid-template-columns:74px 92px 48px 70px 1fr;display:grid}.fh-trends{gap:var(--space-4);padding-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fh-trends .pl-chart__xlabel{display:none}.fh-trends .pl-chart__xlabel.is-active{display:block}.fh-grid-form{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.fh-cell{gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--fg-2);display:grid}.fh-cell small{font-weight:var(--weight-regular);color:var(--fg-3)}.fh-cell input,.fh-cell select{box-sizing:border-box;width:100%;padding:var(--space-2);border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--bg-control);color:var(--fg-1);font-family:var(--font-mono);font-size:var(--text-sm)}.fh-cell input:focus-visible,.fh-cell select:focus-visible{outline:3px solid color-mix(in srgb, var(--fg-1) 20%, transparent);border-color:var(--fg-1)}.fh-cell--wide{margin-top:var(--space-3)}.fh-cell--wide input{font-family:var(--font-sans)}.fh-form__need{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--warning-fg)}.fh-phone-stage{justify-content:center;align-items:flex-start;gap:var(--space-12);min-height:100vh;padding:var(--space-8) var(--space-6);box-sizing:border-box;background:var(--bg-sunken);display:flex}.fh-phone-aside{top:var(--space-8);max-width:300px;padding-top:var(--space-10);color:var(--fg-2);line-height:var(--leading-normal);position:sticky}.fh-phone-aside p{margin:0 0 var(--space-3)}.fh-phone-aside h2{margin:var(--space-6) 0 var(--space-2);font-family:var(--font-display);font-size:var(--text-3xl);text-transform:uppercase;color:var(--fg-1);font-weight:600}.fh-phone{width:412px;max-width:100%;min-height:min(880px, calc(100vh - var(--space-16)));border:1px solid var(--border-3);border-radius:var(--radius-3xl);background:var(--bg-canvas);box-shadow:var(--shadow-4);flex-direction:column;display:flex;position:relative;overflow:clip}.fh-phone__bar{z-index:var(--z-sticky);align-items:center;gap:var(--space-3);padding:var(--space-2-5) var(--space-4);border-bottom:2px solid var(--accent);background:var(--bg-canvas);color:var(--fg-1);display:flex;position:sticky;top:0}.fh-phone__logo{display:flex}.fh-signal{align-items:center;gap:var(--space-1-5);padding:var(--space-1-5) var(--space-3);border:1px solid var(--success-border);border-radius:var(--radius-full);background:var(--success-bg);color:var(--success-fg);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;margin-left:auto;display:inline-flex}.fh-signal.is-off{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-fg)}.fh-signal svg{width:14px;height:14px}.fh-signal__count{padding-left:var(--space-1-5);border-left:1px solid}.fh-phone__body{flex:1}.fh-screen{gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-8);display:grid}.fh-tabs{z-index:var(--z-sticky);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border-2);background:var(--bg-surface-solid);grid-template-columns:repeat(3,1fr);display:grid;position:sticky;bottom:0}.fh-tabs a{padding:var(--space-2-5) 0;color:var(--fg-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);justify-items:center;gap:2px;text-decoration:none;display:grid}.fh-tabs a svg{width:21px;height:21px}.fh-tabs a.is-active{color:var(--fg-accent);box-shadow:inset 0 2px 0 var(--accent)}.fh-due{gap:var(--space-2);padding:var(--space-5);border:1px solid var(--accent);border-radius:var(--radius-xl);background:var(--accent-subtle);display:grid}.fh-due--late{border-color:var(--warning-fg);background:var(--warning-bg)}.fh-due--done{border-color:var(--success-border);background:var(--success-bg)}.fh-due--held{border-color:var(--warning-border);background:var(--warning-bg)}.fh-due__eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-2)}.fh-due__title{font-family:var(--font-display);font-size:var(--text-4xl);text-transform:uppercase;color:var(--fg-1);margin:0;font-weight:600;line-height:1.05}.fh-due__sub{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--fg-2)}.fh-note{padding:var(--space-3) var(--space-4);border:1px solid var(--border-2);border-left:3px solid var(--border-3);border-radius:var(--radius-md);background:var(--bg-surface-solid)}.fh-note header{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--fg-3);display:flex}.fh-note header svg{width:14px;height:14px}.fh-note p{margin:var(--space-1-5) 0 0;font-size:var(--text-sm);line-height:var(--leading-normal)}.fh-figs{gap:var(--space-4) var(--space-3);padding:var(--space-4);border:1px solid var(--border-1);border-radius:var(--radius-lg);background:var(--bg-surface-solid);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.fh-figs>.fh-fig:nth-child(8){grid-column:span 2}.fh-figs--two{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-figs .fh-fig__value{font-size:var(--text-md)}.fh-figs--two .fh-fig__value{font-size:var(--text-2xl)}.fh-section-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);font-size:var(--text-sm);display:flex}.fh-section-head h1,.fh-section-head h2{font-family:var(--font-display);font-size:var(--text-xl);text-transform:uppercase;margin:0;font-weight:600}.fh-section-head--top h1{font-size:var(--text-3xl)}.fh-section-head--sub{margin-top:var(--space-5)}.fh-rows{border:1px solid var(--border-1);border-radius:var(--radius-lg);background:var(--bg-surface-solid);overflow:hidden}.fh-rows__head,.fh-row{align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-3);grid-template-columns:68px 52px 1fr 1.15fr 14px;display:grid}.fh-rows__head{padding-block:var(--space-2);border-bottom:1px solid var(--border-1);background:var(--bg-surface-2);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3)}.fh-rows__empty{padding:var(--space-4);font-size:var(--text-sm);color:var(--fg-2);margin:0}.fh-row{border-bottom:1px solid var(--border-1);color:inherit;font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-decoration:none;position:relative}.fh-row:last-child{border-bottom:0}a.fh-row:hover,a.fh-row:focus-visible{background:var(--bg-hover);outline:none}.fh-row small{font-family:var(--font-sans);font-size:var(--text-2xs);color:var(--fg-3)}.fh-row__time{font-weight:var(--weight-semibold)}.fh-row__psi,.fh-row__bbl{gap:1px;line-height:1.3;display:grid}.fh-row__psi span+span{color:var(--fg-2)}.fh-row__gap{font-family:var(--font-sans);color:var(--fg-2);grid-column:2/5}.fh-row__tags{gap:var(--space-1);flex-wrap:wrap;grid-column:2/5;display:flex}.fh-row__tags:empty{display:none}.fh-row__go{width:14px;height:14px;color:var(--fg-3);grid-area:1/5}.fh-row--missing{background:var(--warning-bg)}.fh-row--missing .fh-row__gap{font-weight:var(--weight-semibold);color:var(--warning-fg)}.fh-row--ticket{grid-template-columns:68px 96px 70px 1fr}.fh-row--ticket .fh-row__tags,.fh-row--ticket .fh-row__bbl{grid-column:auto}.fh-row--ticket .fh-row__psi,.fh-row--ticket .fh-row__bbl{display:block}.fh-foot{font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--fg-3);margin:0}.fh-form{padding-bottom:0}.fh-form__head{align-items:center;gap:var(--space-3);display:flex}.fh-form__head h1{font-family:var(--font-display);font-size:var(--text-3xl);text-transform:uppercase;margin:0;font-weight:600;line-height:1.1}.fh-form__head p{font-size:var(--text-sm);color:var(--fg-2);margin:2px 0 0}.fh-back{border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--bg-surface-solid);width:44px;height:44px;color:var(--fg-1);place-items:center;display:grid}.fh-back svg{width:20px;height:20px}.fh-shutin{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border-1);border-radius:var(--radius-lg);background:var(--bg-surface-solid);font-size:var(--text-sm);display:flex}.fh-shutin small{color:var(--fg-3);display:block}.fh-group{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--border-1);border-radius:var(--radius-lg);background:var(--bg-surface-solid);margin:0;display:grid}.fh-group legend,.fh-group__title{padding:0 var(--space-2);font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-2);margin:0;font-weight:600}.fh-group__title{padding:0}.fh-fields{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fh-num label,.fh-choke label,.fh-dest>span{align-items:baseline;gap:var(--space-1);margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--fg-1);display:flex}.fh-num__unit{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--fg-3);margin-left:auto}.fh-num__need{color:var(--fg-accent)}.fh-num__row{border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--bg-control);display:flex;overflow:hidden}.fh-num__row:focus-within{border-color:var(--fg-1);box-shadow:0 0 0 3px color-mix(in srgb, var(--fg-1) 20%, transparent)}.fh-num input,.fh-choke input{width:100%;min-width:0;height:48px;padding:0 var(--space-3);color:var(--fg-1);font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:1;font-size:20px}.fh-num input::placeholder{color:var(--fg-disabled)}.fh-num__same{padding:0 var(--space-3);border:0;border-left:1px solid var(--border-1);background:var(--bg-surface-2);color:var(--fg-2);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer}.fh-num__same:hover{background:var(--accent-subtle);color:var(--accent-subtle-fg)}.fh-num--warning .fh-num__row{border-color:var(--warning-fg);background:var(--warning-bg)}.fh-num--danger .fh-num__row{border-color:var(--danger-solid);background:var(--danger-bg)}.fh-choke__row{gap:var(--space-2);grid-template-columns:56px 1fr 56px;display:grid}.fh-choke__row button{border:1px solid var(--border-2);border-radius:var(--radius-md);background:var(--bg-surface-2);height:56px;color:var(--fg-1);cursor:pointer;place-items:center;display:grid}.fh-choke__row button:hover{border-color:var(--accent)}.fh-choke__row button svg{width:22px;height:22px}.fh-choke__value{border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--bg-control);font-family:var(--font-mono);color:var(--fg-3);justify-content:center;align-items:baseline;display:flex}.fh-choke__value:focus-within{border-color:var(--fg-1);box-shadow:0 0 0 3px color-mix(in srgb, var(--fg-1) 20%, transparent)}.fh-choke__value input{height:54px;font-size:30px;font-weight:var(--weight-semibold);text-align:right;flex:0 0 2.4ch;padding:0}.fh-choke.is-changed .fh-choke__value{border-color:var(--info-fg);background:var(--info-bg)}.fh-dest{display:grid}.fh-calc{gap:2px var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-sunken);font-size:var(--text-sm);color:var(--fg-2);grid-template-columns:1fr auto;margin:0;display:grid}.fh-calc strong{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--weight-figure);color:var(--fg-1)}.fh-calc small{font-size:var(--text-xs);color:var(--fg-3);grid-column:1/-1}.fh-comment{box-sizing:border-box;width:100%;padding:var(--space-3);border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--bg-control);color:var(--fg-1);font:inherit;font-size:var(--text-md);line-height:var(--leading-normal);resize:vertical}.fh-comment:focus-visible{border-color:var(--fg-1);outline:3px solid color-mix(in srgb, var(--fg-1) 20%, transparent)}.fh-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.fh-chips button{padding:var(--space-2) var(--space-3);border:1px solid var(--border-2);border-radius:var(--radius-full);background:var(--bg-surface-2);color:var(--fg-2);font:inherit;font-size:var(--text-sm);cursor:pointer}.fh-chips button:hover{border-color:var(--accent);color:var(--fg-1)}.fh-chips--pick button.is-on{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent-subtle-fg);font-weight:var(--weight-semibold)}.fh-form__save{z-index:var(--z-sticky);margin:0 calc(var(--space-4) * -1);padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--border-2);background:var(--bg-surface-solid);position:sticky;bottom:0}.fh-summary{gap:var(--space-2);padding-left:var(--space-5);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0;display:grid}.fh-summary strong{font-family:var(--font-mono);font-weight:var(--weight-figure)}@media (width<=1180px){.fh-board,.fh-job{grid-template-columns:minmax(0,1fr)}.fh-job__side{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.fh-day__figs{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=900px){.fh-doors{grid-template-columns:minmax(0,1fr)}.fh-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-well__figs{grid-template-columns:repeat(3,minmax(0,1fr))}.fh-day__lower,.fh-trends{grid-template-columns:minmax(0,1fr)}.fh-grid-form{grid-template-columns:repeat(3,minmax(0,1fr))}.fh-job__now{box-sizing:border-box;gap:var(--space-4);width:100%;overflow-x:auto}.fh-bar__context,.fh-bar__me-name{display:none}.fh-bar__tools{margin-left:auto}.fh-phone-aside{display:none}}@media (width<=560px){.fh-desk__main{padding:var(--space-4)}.fh-bar__inner{gap:var(--space-3);padding-inline:var(--space-4)}.fh-bar__nav{display:none}.fh-page__head h1{font-size:var(--text-3xl)}.fh-stats{grid-template-columns:minmax(0,1fr)}.fh-well{padding:var(--space-4)}.fh-day__figs,.fh-grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-entry__body{padding-inline:var(--space-4)}.fh-phone-stage{background:var(--bg-canvas);padding:0}.fh-phone{width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0}}@media (prefers-reduced-motion:reduce){.fh-door,.fh-well{transition:none}.fh-door:hover:not(:disabled){transform:none}}
