
#fh-desk{color-scheme:light;--fh-sidebar-bg:#edf1f6;--fh-rail-bg:#e5ebf3;--fh-bg:#f5f7fa;--fh-paper:#ffffff;--fh-ink:#172b4d;--fh-muted:#64748b;--fh-line:#e2e8f0;--fh-brand:#2563eb;--fh-soft:#eff6ff;--fh-warn:#b45309;--fh-warm:#fff7ed;--fh-ok:#15803d;--fh-okbg:#ecfdf3;--fh-danger:#b91c1c;--fh-pad:14px;font:14px/1.55 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--fh-ink);background:var(--fh-bg);border:1px solid var(--fh-line);border-radius:14px;overflow:hidden;min-height:750px;text-align:left}
#fh-desk *{box-sizing:border-box}#fh-desk button,#fh-desk input,#fh-desk select,#fh-desk textarea{font:inherit}#fh-desk button{color:inherit}#fh-desk .fh-shell{display:grid;grid-template-columns:174px minmax(0,1fr);min-height:750px}#fh-desk aside{background:var(--fh-paper);border-right:1px solid var(--fh-line);padding:24px 12px;display:flex;flex-direction:column;gap:24px}#fh-desk .fh-logo{display:flex;align-items:center;gap:10px;padding:0 8px;font-size:18px;font-weight:650;letter-spacing:.5px}#fh-desk .fh-mark{background:var(--fh-brand);color:var(--fh-paper);border-radius:10px;width:34px;height:34px;display:grid;place-items:center;font-size:20px}#fh-desk .fh-sub{font-size:11px;color:var(--fh-muted);font-weight:400;letter-spacing:1px}#fh-desk nav{display:grid;gap:6px}#fh-desk nav button{border:0;background:transparent;border-radius:8px;padding:11px 12px;display:flex;gap:11px;align-items:center;text-align:left;font-weight:500}#fh-desk nav button[aria-current=page]{background:var(--fh-soft);color:var(--fh-brand)}#fh-desk nav button:hover{background:var(--fh-bg)}#fh-desk svg{width:17px;height:17px;flex-shrink:0}#fh-desk .fh-sidefoot{margin-top:auto;border-top:1px solid var(--fh-line);padding:16px 8px 0;color:var(--fh-muted);font-size:12px}#fh-desk .fh-avatar{background:var(--fh-soft);color:var(--fh-brand);border-radius:50%;padding:7px 10px;display:inline-block;margin-right:7px}#fh-desk main{min-width:0}#fh-desk .fh-top{min-height:67px;background:var(--fh-paper);border-bottom:1px solid var(--fh-line);padding:12px 24px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}#fh-desk .fh-top small{color:var(--fh-muted)}#fh-desk .fh-tools,#fh-desk .fh-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}#fh-desk .fh-main{padding:26px 24px}#fh-desk h1{font-size:25px;font-weight:650;letter-spacing:-.7px;line-height:1.3;margin:0 0 7px}#fh-desk h2{font-size:16px;font-weight:600;margin:0}#fh-desk h3{font-size:14px;font-weight:600;margin:0 0 12px}#fh-desk p{margin:0}#fh-desk .fh-muted{color:var(--fh-muted);font-size:12px}#fh-desk .fh-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;flex-wrap:wrap}#fh-desk .fh-button{border:1px solid var(--fh-line);background:var(--fh-paper);border-radius:7px;padding:8px 12px;display:inline-flex;gap:7px;align-items:center;justify-content:center;text-decoration:none}#fh-desk .fh-button.primary{background:var(--fh-brand);border-color:var(--fh-brand);color:var(--fh-paper);font-weight:500}#fh-desk .fh-button:disabled{opacity:.45;cursor:not-allowed}#fh-desk .fh-link{border:0;background:transparent;color:var(--fh-brand);padding:4px 0;text-align:left;font-weight:500}#fh-desk .fh-pill{display:inline-block;padding:3px 8px;border-radius:5px;font-size:11px;background:var(--fh-bg);color:var(--fh-muted);white-space:nowrap}#fh-desk .fh-pill.warn{color:var(--fh-warn);background:var(--fh-warm)}#fh-desk .fh-pill.ok{color:var(--fh-ok);background:var(--fh-okbg)}#fh-desk .fh-pill.blue{color:var(--fh-brand);background:var(--fh-soft)}#fh-desk .fh-box{background:var(--fh-paper);border:1px solid var(--fh-line);border-radius:10px;margin-bottom:18px}#fh-desk .fh-boxhead{padding:16px 18px;border-bottom:1px solid var(--fh-line);display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}#fh-desk .fh-boxbody{padding:18px}#fh-desk .fh-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:20px}#fh-desk .fh-stat{background:var(--fh-paper);border:1px solid var(--fh-line);border-radius:10px;padding:17px}#fh-desk .fh-number{font-size:27px;font-weight:600;letter-spacing:-.8px;line-height:1.4;margin:7px 0;font-variant-numeric:tabular-nums}#fh-desk .fh-note{padding:12px 15px;background:var(--fh-soft);color:var(--fh-brand);border-radius:7px;margin-bottom:17px;font-size:12px}#fh-desk .fh-note.warn{background:var(--fh-warm);color:var(--fh-warn)}#fh-desk .fh-tablewrap{overflow-x:auto}#fh-desk table{border-collapse:collapse;width:100%;font-size:12px}#fh-desk th{color:var(--fh-muted);font-weight:500;background:var(--fh-bg);text-align:left;white-space:nowrap}#fh-desk th,#fh-desk td{padding:var(--fh-pad) 16px;border-bottom:1px solid var(--fh-line);vertical-align:middle}#fh-desk tr:last-child td{border-bottom:0}#fh-desk td{font-variant-numeric:tabular-nums}#fh-desk td strong{font-weight:550;display:block}#fh-desk td small{display:block;color:var(--fh-muted);font-size:11px}#fh-desk .fh-right{text-align:right}#fh-desk .fh-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:15px 18px;border-top:1px solid var(--fh-line)}#fh-desk .fh-tabs{display:flex;gap:18px;flex-wrap:wrap}#fh-desk .fh-tabs button{border:0;background:transparent;color:var(--fh-muted);padding:3px 0 10px;border-bottom:2px solid transparent}#fh-desk .fh-tabs button.on{color:var(--fh-brand);border-color:var(--fh-brand)}#fh-desk .fh-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px}#fh-desk .fh-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#fh-desk label{display:grid;gap:6px;font-size:12px;color:var(--fh-muted)}#fh-desk input,#fh-desk select,#fh-desk textarea{border:1px solid var(--fh-line);border-radius:6px;background:var(--fh-paper);color:var(--fh-ink);padding:9px 10px;min-width:0;max-width:100%}#fh-desk textarea{resize:vertical;width:100%}#fh-desk input[type=checkbox]{width:auto}#fh-desk .fh-full{grid-column:1/-1}#fh-desk .fh-lineitem{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--fh-line);font-size:13px}#fh-desk .fh-lineitem:last-child{border-bottom:0}#fh-desk .fh-lineitem span{color:var(--fh-muted)}#fh-desk .fh-breadcrumb{margin-bottom:18px}#fh-desk .fh-timeline{border-left:2px solid var(--fh-line);margin:5px 0 5px 7px;padding-left:20px}#fh-desk .fh-event{position:relative;padding:0 0 24px}#fh-desk .fh-event:last-child{padding-bottom:0}#fh-desk .fh-event:before{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:var(--fh-brand);left:-25.5px;top:6px}#fh-desk .fh-event p{margin:4px 0;color:var(--fh-muted);font-size:12px}#fh-desk .fh-bar{display:flex;height:10px;border-radius:6px;overflow:hidden;background:var(--fh-bg);margin:14px 0 10px}#fh-desk .fh-bar span:first-child{background:var(--fh-brand)}#fh-desk .fh-bar span:nth-child(2){background:#93b4f5}#fh-desk .fh-bar span:nth-child(3){background:#dbeafe}#fh-desk .fh-empty{text-align:center;padding:36px;color:var(--fh-muted)}#fh-desk #fh-toast{margin-top:16px;color:var(--fh-ok);font-size:13px}#fh-desk .fh-flow{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:var(--fh-muted);font-size:12px;margin:12px 0 20px}#fh-desk .fh-flow b{color:var(--fh-brand);font-weight:500}#fh-desk[data-layout=top] .fh-shell{display:block}#fh-desk[data-layout=top] aside{padding:14px 22px;gap:15px;border-right:0;border-bottom:1px solid var(--fh-line)}#fh-desk[data-layout=top] nav{display:flex;flex-wrap:wrap}#fh-desk[data-layout=top] .fh-sidefoot{display:none}
@media(max-width:700px){#fh-desk .fh-shell{display:block}#fh-desk aside{padding:14px;gap:12px;border-right:0;border-bottom:1px solid var(--fh-line)}#fh-desk nav{display:flex;flex-wrap:wrap;gap:4px}#fh-desk nav button{padding:8px;font-size:12px}#fh-desk .fh-sidefoot{display:none}#fh-desk .fh-top{padding:12px 16px}#fh-desk .fh-main{padding:20px 15px}#fh-desk .fh-split{grid-template-columns:1fr}#fh-desk .fh-stats{gap:8px}#fh-desk .fh-stat{padding:12px}#fh-desk .fh-number{font-size:23px}#fh-desk input,#fh-desk select,#fh-desk textarea{font-size:16px}#fh-desk h1{font-size:22px}}@media(max-width:410px){#fh-desk .fh-form{grid-template-columns:1fr}#fh-desk .fh-stats{grid-template-columns:1fr}#fh-desk .fh-stat{display:flex;justify-content:space-between;align-items:center;gap:10px}#fh-desk .fh-stat .fh-muted{max-width:110px}}@media(pointer:coarse){#fh-desk button{min-height:44px}}

html{color-scheme:light}body{margin:0;background:#f5f7fa;padding:18px}#fh-desk{max-width:1500px;margin:auto;min-height:90vh}#fh-desk .fh-shell{min-height:90vh}#fh-desk button{cursor:pointer}#fh-desk button:disabled{cursor:not-allowed}#fh-desk .fh-msg{padding:12px 16px;border-radius:7px;background:var(--fh-okbg);color:var(--fh-ok);margin-bottom:18px}#fh-desk .fh-msg.error{background:var(--fh-warm);color:var(--fh-warn)}#fh-desk .fh-dialog{width:min(740px,95vw);max-height:90vh;overflow:auto;background:var(--fh-paper);color:var(--fh-ink);border:1px solid var(--fh-line);border-radius:12px;padding:24px}#fh-desk .fh-dialog::backdrop{background:#13223d88}#fh-desk .fh-check{display:flex;align-items:center;gap:8px}#fh-desk .fh-check input{width:18px;height:18px}#fh-desk .fh-rail{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 20px}#fh-desk pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}#fh-desk .fh-wrap{overflow-wrap:anywhere}#fh-desk .fh-span2{grid-column:1/-1}#fh-desk .fh-tiny{font-size:11px;color:var(--fh-muted)}#fh-desk .fh-formbar{margin-top:20px;display:flex;gap:10px;justify-content:flex-end}#fh-desk .fh-strong{font-weight:600}#fh-desk .fh-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:16px}#fh-desk .fh-link{white-space:nowrap}#fh-desk .fh-top select,#fh-desk .fh-top input{font-size:12px;padding:6px}#fh-desk .fh-icon{width:17px;color:var(--fh-muted)}#fh-desk .fh-error{color:var(--fh-danger)}@media(max-width:700px){body{padding:0}#fh-desk{border-radius:0}#fh-desk .fh-top input,#fh-desk .fh-top select{font-size:16px}#fh-desk .fh-dialog{padding:16px}}

#fh-desk .fh-status-action{border:1px solid transparent;padding:6px 10px;font-size:12px;font-weight:500;display:inline-flex;gap:10px;align-items:center}#fh-desk .fh-status-action:hover{border-color:currentColor}#fh-desk .fh-status-action:focus-visible{outline:2px solid var(--fh-brand);outline-offset:3px}
/* Two-level navigation and daily-driven personal dashboard. */
#fh-desk .fh-shell{grid-template-columns:54px 190px minmax(0,1fr)}
#fh-desk .fh-iconrail{display:flex;flex-direction:column;align-items:center;gap:13px;background:var(--fh-rail-bg);border-right:1px solid var(--fh-line);padding:17px 5px}
#fh-desk .fh-iconrail button{width:40px;height:40px;border:0;border-radius:11px;background:transparent;color:var(--fh-muted);font-size:22px;display:grid;place-items:center}
#fh-desk .fh-iconrail button[aria-current=page],#fh-desk .fh-iconrail button:hover{background:var(--fh-paper);color:var(--fh-ink)}
#fh-desk .fh-iconrail .fh-rail-bottom{margin-top:auto}#fh-desk aside{padding:20px 11px;background:var(--fh-sidebar-bg)}
#fh-desk .fh-nav-group{display:grid;gap:3px;margin-bottom:17px}#fh-desk .fh-nav-label{font-size:11px;color:var(--fh-muted);padding:0 12px 7px}
#fh-desk .fh-logo{font-size:18px}#fh-desk .fh-logo .fh-mark{display:none}#fh-desk .fh-sub{margin-top:4px}
#fh-desk.fh-sidebar-collapsed .fh-shell{grid-template-columns:54px minmax(0,1fr)}#fh-desk.fh-sidebar-collapsed aside{display:none}
#fh-desk .fh-dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border:1px solid var(--fh-line);background:var(--fh-paper);border-radius:12px;padding:24px 27px;margin-bottom:16px}
#fh-desk .fh-dashboard-eyebrow{font-size:12px;color:var(--fh-muted)}#fh-desk .fh-dashboard-amount{font-size:38px;line-height:1.3;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:8px 0}#fh-desk .fh-dashboard-amount small{font-size:12px;font-weight:400;letter-spacing:0;color:var(--fh-muted);margin-left:12px}#fh-desk .fh-dashboard-hero p{font-size:12px;color:var(--fh-muted)}
#fh-desk .fh-dashboard-position{display:flex;flex-direction:column;align-items:flex-end;border-left:1px solid var(--fh-line);padding-left:24px;color:var(--fh-muted);font-size:12px}#fh-desk .fh-dashboard-position strong{font-size:38px;color:var(--fh-brand);line-height:1.3;font-weight:600}#fh-desk .fh-dashboard-position small{font-size:11px}
#fh-desk .fh-dashboard-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}#fh-desk .fh-dashboard-cards .fh-number{font-size:23px;overflow-wrap:anywhere}
#fh-desk .fh-dashboard-middle{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}#fh-desk .fh-daychart{display:flex;gap:10px;align-items:stretch;margin:10px 0 0}#fh-desk .fh-daycol{flex:1;min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center;font-variant-numeric:tabular-nums}#fh-desk .fh-daycol>.fh-tiny{font-size:10px;min-height:30px;overflow-wrap:anywhere}#fh-desk .fh-daycol .fh-link{font-size:11px}
#fh-desk .fh-track{height:125px;position:relative;width:100%;display:grid;place-items:center}#fh-desk .fh-track:after{content:'';position:absolute;width:100%;top:50%;border-top:1px solid var(--fh-line)}#fh-desk .fh-daybar{position:absolute;bottom:50%;height:calc(var(--bar-height)*.5);width:min(26px,70%);border-radius:5px 5px 0 0;background:var(--fh-brand);z-index:1}#fh-desk .fh-daybar.negative{bottom:auto;top:50%;border-radius:0 0 5px 5px;background:var(--fh-danger)}#fh-desk .fh-no-data{color:var(--fh-muted);background:var(--fh-paper);z-index:1}
#fh-desk .fh-rank{width:26px;height:26px;border-radius:7px;background:var(--fh-bg);display:inline-grid;place-items:center;font-weight:600}#fh-desk .fh-rank.leading{background:var(--fh-soft);color:var(--fh-brand)}
@media(max-width:1100px){#fh-desk .fh-shell{grid-template-columns:50px 160px minmax(0,1fr)}#fh-desk .fh-dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#fh-desk .fh-dashboard-middle{grid-template-columns:1fr}#fh-desk .fh-dashboard-amount{font-size:32px}}
@media(max-width:760px){#fh-desk .fh-shell,#fh-desk.fh-sidebar-collapsed .fh-shell{grid-template-columns:46px minmax(0,1fr)}#fh-desk .fh-iconrail{grid-row:1 / span 2;padding:12px 3px;gap:8px}#fh-desk .fh-iconrail button{width:38px;font-size:21px}#fh-desk aside{grid-column:2;grid-row:1;padding:14px;display:block;border-right:0;border-bottom:1px solid var(--fh-line)}#fh-desk main{grid-column:2}#fh-desk nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:14px}#fh-desk .fh-nav-group{margin:0}#fh-desk .fh-nav-label{padding:0 5px 5px}#fh-desk .fh-dashboard-hero{padding:17px;gap:15px}#fh-desk .fh-dashboard-position{align-items:flex-start;border-left:0;border-top:1px solid var(--fh-line);padding:10px 0 0;width:100%;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}#fh-desk .fh-dashboard-position strong{font-size:26px}#fh-desk .fh-dashboard-amount small{display:block;margin:3px 0}#fh-desk .fh-dashboard-cards .fh-stat{display:block}#fh-desk .fh-dashboard-cards .fh-number{font-size:19px}#fh-desk .fh-dashboard-cards{gap:8px}#fh-desk .fh-main{padding:18px 12px}#fh-desk .fh-daychart{gap:4px}#fh-desk .fh-daycol>.fh-tiny{font-size:10px}#fh-desk .fh-daycol .fh-link{font-size:10px}#fh-desk .fh-dashboard-amount{font-size:28px}}

/* Fixed light palette, matching the approved first color concept. */
#fh-desk .fh-logo{color:var(--fh-brand)}
#fh-desk nav button[aria-current=page]:hover{background:var(--fh-soft)}
#fh-desk nav button[aria-current=page] .fh-icon{color:var(--fh-brand)}
#fh-desk .fh-iconrail button[aria-current=page]{background:var(--fh-soft);color:var(--fh-brand)}
#fh-desk :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--fh-brand);outline-offset:3px}
#fh-desk .fh-button.primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}
#fh-desk .fh-button:not(.primary):hover:not(:disabled){background:var(--fh-soft)}
#fh-desk .fh-msg.error{background:#fef2f2;color:var(--fh-danger)}

#fh-desk .fh-responsibility{border:1px solid var(--fh-line);border-radius:8px;padding:14px;min-width:0}
#fh-desk .fh-responsibility-row{display:grid;grid-template-columns:minmax(0,1fr) 96px 40px;gap:12px;align-items:end;margin-bottom:12px}
#fh-desk .fh-responsibility-row .fh-link{min-height:40px}#fh-desk .fh-responsibility .fh-tiny{margin-top:10px}
@media(max-width:410px){#fh-desk .fh-responsibility{padding:10px}#fh-desk .fh-responsibility-row{grid-template-columns:minmax(0,1fr) 68px 32px;gap:6px}}

#fh-desk .fh-evidence-images{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}#fh-desk .fh-evidence-images>div{display:flex;flex-direction:column;gap:4px}#fh-desk .fh-image-thumb{padding:4px;border:1px solid var(--fh-line);border-radius:8px;background:white;cursor:zoom-in}#fh-desk .fh-image-thumb img{display:block;width:120px;height:90px;object-fit:contain}.fh-image-viewer{max-width:95vw;max-height:94vh;padding:16px;border:0;border-radius:10px}.fh-image-viewer::backdrop{background:#111a2dcc}.fh-image-viewer button{display:block;margin-bottom:12px;padding:8px 16px;cursor:pointer}.fh-image-viewer img{display:block;max-width:100%;height:auto}

.fh-login{box-sizing:border-box;width:min(420px,90vw);margin:12vh auto;background:white;border:1px solid #dce4ef;border-radius:16px;padding:32px;color:#183153;font-family:system-ui,sans-serif}.fh-login label{display:block;margin:20px 0}.fh-login input{display:block;box-sizing:border-box;width:100%;padding:12px;margin-top:8px;border:1px solid #cad5e4;border-radius:8px;font:inherit}.fh-login button{width:100%;padding:12px;background:#3769cf;color:white;border:0;border-radius:8px;font:inherit;cursor:pointer}#login-error{color:#b42318}
