*{box-sizing:border-box}:root{color:#18212f;background:#f3f6f8;font-family:Microsoft YaHei,PingFang SC,Segoe UI,Arial,sans-serif;--production-page-bg: #eaf1f8;--production-panel-bg: #ffffff;--production-panel-muted: #f5f9fc;--production-panel-head: #f0f6fb;--production-border: #cfdae6;--production-border-strong: #b6c8da;--production-ink: #071b34;--production-muted: #5e7188;--production-blue: #1268dd;--production-blue-deep: #064b9f;--production-green: #1f9f70;--production-shadow: 0 8px 18px rgba(31, 61, 91, .08)}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.68}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr);background:#f2f7fc}.sidebar{display:flex;flex-direction:column;gap:28px;padding:24px 18px;color:#f8fbfd;background:linear-gradient(180deg,#0758c7,#00429f 58%,#003574);box-shadow:8px 0 28px #00419129}.brand-block{display:flex;align-items:center;gap:12px}.brand-mark{width:54px;height:54px;display:grid;place-items:center;border:3px solid rgba(255,255,255,.78);border-radius:50%;color:#0758c7;font-weight:800;background:#fff}.brand{font-size:18px;font-weight:800}.subtle,.eyebrow{color:#7b8795;font-size:12px}.sidebar .subtle{margin-top:4px;color:#b6c4d2}.menu{display:grid;gap:6px}.menu button{min-height:56px;display:flex;align-items:center;justify-content:flex-start;gap:10px;border:0;padding:10px 14px;border-radius:6px;color:#edf5ff;font:inherit;text-align:left;text-decoration:none;background:transparent}.menu button.active{color:#fff;background:#1677ff;box-shadow:inset 0 0 0 1px #ffffff1f}.menu-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;color:#eaf4ff;background:#ffffff24;font-size:14px;font-weight:800}.menu button.disabled{color:#b7c2ce}.menu small{color:inherit;font-size:11px}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:8px;color:#c9d5df;font-size:13px}.status-dot{width:9px;height:9px;border-radius:50%;background:#d89a3a}.status-dot.ready{background:#73c28d}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 32px;background:#fff;border-bottom:1px solid #dfe6ec;box-shadow:0 4px 18px #31527014}.topbar h1,.login-panel h2,.login-aside h2,.profile-main h2,.work-panel h3{margin:0;letter-spacing:0}.topbar h1{font-size:24px}.topbar-user{display:flex;align-items:center;gap:12px;color:#344459;font-weight:700}.avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:#1f65d6;background:#dcebff;font-weight:800}.eyebrow{margin:0 0 6px;text-transform:uppercase;font-weight:700}.ghost-button,.primary-button,.secondary-button{min-height:40px;border:0;border-radius:6px;padding:0 16px}.ghost-button{color:#25364a;background:#eef3f6}.ghost-button.danger-button{color:#9f1d1d;background:#fdecec}.primary-button{width:100%;color:#fff;background:#2f6f68}.primary-button.inline{width:auto}.secondary-button{width:100%;color:#243447;background:#e6edf2}.secondary-button.inline{width:auto}.login-layout{width:min(960px,calc(100% - 48px));display:grid;grid-template-columns:minmax(320px,440px) minmax(260px,1fr);gap:24px;margin:48px auto}.login-panel,.login-aside,.profile-strip,.scope-panel,.module-panel,.project-panel,.work-panel{border:1px solid #dfe6ec;border-radius:8px;background:#fff}.login-panel{display:grid;gap:16px;padding:28px}.login-panel label{display:grid;gap:8px;color:#435266;font-size:14px}.login-panel input{width:100%;min-height:42px;border:1px solid #c8d3dc;border-radius:6px;padding:8px 11px;color:#18212f;background:#fff}.status-banner{display:grid;gap:4px;border:1px solid #dfc17e;border-radius:6px;padding:12px;color:#5d4420;background:#fff8e8}.status-banner.ready{border-color:#9ac9ae;color:#1d5135;background:#f1fbf5}.status-banner span{font-size:13px}.login-aside{align-self:start;padding:28px}.login-aside ul{display:grid;gap:10px;margin:18px 0;padding-left:20px}.login-aside p,.empty-state p,.scope-panel p,.profile-main p{color:#657384}.login-scope-note{display:grid;gap:6px;border:1px solid #d8e5ef;border-radius:8px;padding:12px;color:#42536a;background:#f7fbff}.login-scope-note strong{color:#123b66}.login-scope-note span{font-size:13px;line-height:1.6}.geo-login-layout{width:min(1120px,calc(100% - 64px));grid-template-columns:minmax(360px,1fr) minmax(340px,430px);align-items:stretch;gap:24px;margin:56px auto}.login-visual-panel,.geo-login-card,.login-access-card{box-shadow:0 18px 48px #2a49701f}.login-visual-panel{position:relative;overflow:hidden;min-height:480px;display:grid;align-content:space-between;gap:20px;border:1px solid rgba(85,135,180,.25);border-radius:8px;padding:28px;color:#f7fbff;background:linear-gradient(135deg,#1677ff2e,#22c55e14),linear-gradient(180deg,#0b3771,#0d5d89 58%,#0f766e)}.login-visual-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.24;background:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.86),transparent 92%);mask-image:linear-gradient(180deg,rgba(0,0,0,.86),transparent 92%)}.geo-visual-heading,.geo-map-stage,.geo-telemetry{position:relative;z-index:1}.geo-visual-heading{display:grid;gap:10px}.geo-visual-heading span{width:fit-content;border:1px solid rgba(209,236,255,.4);border-radius:999px;padding:6px 10px;color:#cfe7ff;background:#ffffff14;font-size:12px;font-weight:800}.geo-visual-heading strong{font-size:30px;line-height:1.2}.geo-visual-heading p{max-width:440px;margin:0;color:#cfe2f2}.geo-map-stage{min-height:270px;overflow:hidden;border:1px solid rgba(202,230,255,.28);border-radius:8px;background:linear-gradient(115deg,#ffffff21,#ffffff05),linear-gradient(rgba(178,217,244,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(178,217,244,.14) 1px,transparent 1px),#0b4c78;background-size:auto,42px 42px,42px 42px,auto}.geo-grid-layer{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.45;background:linear-gradient(35deg,transparent 43%,rgba(121,203,255,.22) 44%,transparent 46%),linear-gradient(145deg,transparent 48%,rgba(140,232,181,.24) 49%,transparent 51%);animation:gridDrift 12s linear infinite}.geo-contour{position:absolute;border:2px solid rgba(134,207,255,.76);border-radius:46% 54% 62% 38%/48% 40% 60% 52%;transform:rotate(-11deg);animation:contourPulse 5.6s ease-in-out infinite}.contour-a{left:9%;top:19%;width:56%;height:46%}.contour-b{right:12%;bottom:14%;width:39%;height:31%;border-color:#79e3a5ad;animation-delay:-1.8s}.geo-track{position:absolute;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);transform-origin:left center;animation:routeDash 3.8s ease-in-out infinite}.track-a{left:9%;top:58%;width:74%;transform:rotate(-18deg)}.track-b{left:18%;top:32%;width:63%;transform:rotate(29deg);animation-delay:-1.4s}.geo-scan-line{position:absolute;left:0;right:0;top:-18%;height:84px;background:linear-gradient(180deg,transparent,rgba(140,232,181,.28),transparent);animation:scanSweep 4.4s ease-in-out infinite}.geo-point{position:absolute;width:13px;height:13px;border:2px solid #fff;border-radius:3px;background:#f59e0b;box-shadow:0 0 0 5px #f59e0b2e;transform:rotate(45deg);animation:pointBlink 2.6s ease-in-out infinite}.geo-point.p1{left:26%;top:42%}.geo-point.p2{left:58%;top:54%;background:#ef4444;box-shadow:0 0 0 5px #ef44442e;animation-delay:-.7s}.geo-point.p3{right:21%;top:35%;background:#22c55e;box-shadow:0 0 0 5px #22c55e2e;animation-delay:-1.2s}.geo-point.p4{right:13%;bottom:25%;background:#38bdf8;box-shadow:0 0 0 5px #38bdf82e;animation-delay:-1.9s}.geo-label{position:absolute;border:1px solid rgba(210,232,250,.35);border-radius:6px;padding:5px 8px;color:#e8f5ff;background:#051b367a;font-size:12px;font-weight:800;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.geo-label.l1{left:11%;bottom:15%}.geo-label.l2{right:11%;top:13%}.geo-label.l3{right:18%;bottom:11%}.geo-telemetry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.geo-telemetry div{border:1px solid rgba(215,236,255,.24);border-radius:8px;padding:12px;background:#ffffff17;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.geo-telemetry span{display:block;margin-bottom:8px;color:#c3d8e8;font-size:12px}.geo-telemetry strong{color:#fff;font-size:14px}.geo-login-card{align-self:center;padding:30px}.geo-login-card h2{font-size:24px}.login-access-card{align-self:center}.login-access-card ul{padding:0;list-style:none}.login-access-card li{position:relative;min-height:42px;display:flex;align-items:center;border:1px solid #dfe9f2;border-radius:8px;padding:9px 12px 9px 36px;color:#243447;background:#f8fbfd;font-weight:700}.login-access-card li:before{content:"";position:absolute;left:14px;width:9px;height:9px;border-radius:2px;background:#1f7ae0;transform:rotate(45deg)}@keyframes gridDrift{0%{background-position:0 0,0 0}to{background-position:120px 0,-120px 0}}@keyframes contourPulse{0%,to{opacity:.52;transform:rotate(-11deg) scale(.98)}50%{opacity:.92;transform:rotate(-11deg) scale(1.03)}}@keyframes routeDash{0%,to{opacity:.28}50%{opacity:.86}}@keyframes scanSweep{0%{transform:translateY(-30%)}to{transform:translateY(360%)}}@keyframes pointBlink{0%,to{opacity:.72}50%{opacity:1}}.error,.notice,.content-message{margin:0;border-radius:6px;padding:10px 12px}.error,.content-message{color:#9f1f18;background:#fff0ef}.notice{color:#665016;background:#fff8dc}.workbench{display:grid;gap:18px;padding:24px 32px 32px}.dashboard-page{display:grid;gap:18px}.dashboard-hero{display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(420px,1fr) auto;align-items:center;gap:20px;border:1px solid #dfe8f3;border-radius:8px;padding:22px;background:linear-gradient(135deg,#1c67d814,#23ab6314),#fff;box-shadow:0 12px 28px #34527414}.dashboard-hero-main{min-width:0;display:grid;gap:8px}.dashboard-hero-main h3{margin:0;color:#101b2b;font-size:28px}.dashboard-hero-main p{max-width:720px;margin:0;color:#52657a;line-height:1.65}.dashboard-scope-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.dashboard-scope-list div{min-width:0;display:grid;gap:4px;border:1px solid rgba(191,207,225,.85);border-radius:6px;padding:10px 12px;background:#ffffffb8}.dashboard-scope-list dt{color:#687789;font-size:12px}.dashboard-scope-list dd{margin:0;overflow:hidden;color:#1f2f43;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.dashboard-hero-actions{display:grid;gap:10px;min-width:118px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.metric-card{min-height:124px;display:flex;align-items:center;gap:18px;border:1px solid #dfe8f3;border-radius:8px;padding:22px;background:#fff;box-shadow:0 12px 28px #34527414}.metric-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:16px;color:#fff;font-size:22px;font-weight:900}.metric-card.blue .metric-icon{background:#1f73f1}.metric-card.green .metric-icon{background:#27ae60}.metric-card.orange .metric-icon{background:#f08a24}.metric-card.purple .metric-icon{background:#7357d9}.metric-card span{color:#52657a;font-size:15px}.metric-card strong{display:block;margin-top:10px;color:#121a28;font-size:34px;line-height:1}.metric-card small{color:#69788b;font-size:16px;font-weight:500}.dashboard-main-grid{display:grid;grid-template-columns:minmax(520px,1.45fr) minmax(340px,1fr);gap:18px}.chart-panel,.recent-panel,.rank-panel,.dashboard-todo-panel,.dashboard-entry-panel{border:1px solid #dfe8f3;border-radius:8px;background:#fff;box-shadow:0 12px 28px #34527414}.chart-panel,.recent-panel,.rank-panel,.dashboard-todo-panel{min-height:420px;display:grid;align-content:start;gap:16px;padding:20px}.dashboard-task-board{min-height:460px}.dashboard-task-list,.dashboard-todo-list{display:grid;gap:12px}.dashboard-task-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(130px,170px) minmax(160px,210px) auto;align-items:center;gap:14px;border:1px solid #edf2f7;border-radius:8px;padding:14px;background:#fbfdff}.dashboard-task-main{min-width:0;display:grid;gap:5px}.dashboard-task-main span,.dashboard-task-main small,.dashboard-task-meta small,.dashboard-todo-card span,.dashboard-todo-card small{color:#64748b;font-size:12px}.dashboard-task-main strong,.dashboard-todo-card strong{overflow:hidden;color:#172033;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.dashboard-task-progress{display:grid;grid-template-columns:minmax(82px,1fr) 42px;align-items:center;gap:10px}.dashboard-task-progress em{color:#1261d8;font-style:normal;font-weight:800}.dashboard-task-meta{display:grid;gap:8px}.dashboard-task-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dashboard-todo-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;border:1px solid #edf2f7;border-radius:8px;padding:14px;background:#fbfdff}.dashboard-todo-card div{min-width:0;display:grid;gap:5px}.chart-panel select{min-height:36px;border:1px solid #d2dce8;border-radius:6px;padding:0 12px;color:#435266;background:#fff}.chart-panel-actions{display:flex;align-items:end;gap:10px}.chart-panel-actions label{display:grid;gap:4px;color:#657384;font-size:12px;font-weight:700}.chart-panel-actions input{min-height:36px;border:1px solid #d2dce8;border-radius:6px;padding:0 10px;color:#243447;background:#fff}.chart-legend{display:flex;justify-content:center;gap:24px;color:#5f6f80;font-size:13px}.chart-legend span{display:inline-flex;align-items:center;gap:8px}.solid-line,.dashed-line{width:26px;height:3px;display:inline-block;border-radius:999px}.solid-line{background:#1677ff}.dashed-line{border-top:3px dashed #22b35d}.chart-panel-scroll{display:grid;gap:8px;max-height:292px;overflow-y:auto;padding-right:4px}.project-line-legend{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 4px}.project-line-legend-item{min-width:150px;max-width:220px;min-height:34px;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:7px;border:1px solid #dfe8f3;border-radius:8px;padding:6px 8px;color:#34445a;background:#f8fbff;text-align:left;cursor:pointer}.project-line-legend-item i{width:10px;height:10px;border-radius:50%}.project-line-legend-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.project-line-legend-item strong{color:#1261d8;font-size:12px}.project-line-legend-item:hover,.project-line-legend-item:focus-visible,.project-line-legend-item.active{border-color:#9cc4ff;box-shadow:0 0 0 3px #1677ff1f;outline:none}.line-chart-scroll{overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #cfdbe8;background:linear-gradient(to bottom,rgba(216,226,238,.7) 1px,transparent 1px) 0 0 / 100% 44px}.line-chart{min-width:760px;height:190px;display:block}.line-chart-grid{stroke:#dfe8f3;stroke-width:1}.line-chart-path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transition:opacity .16s ease}.line-chart-path.muted,.line-chart-point.muted{opacity:.18}.line-chart-point{stroke:#fff;stroke-width:2;cursor:pointer;transition:r .16s ease,opacity .16s ease,stroke-width .16s ease}.line-chart-point:hover,.line-chart-point:focus-visible,.line-chart-point.active{r:6.5;stroke-width:3;outline:none}.bar-chart{height:230px;display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid #cfdbe8;padding:16px 8px 0;background:linear-gradient(to bottom,rgba(216,226,238,.7) 1px,transparent 1px) 0 0 / 100% 46px}.chart-bar-button{flex:1;min-width:8px;border-radius:999px 999px 0 0;border:0;background:linear-gradient(180deg,#22b35d,#1677ff);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.chart-bar-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.chart-bar-button.empty{opacity:.35}.chart-bar-button:hover,.chart-bar-button:focus-visible,.chart-bar-button.active{transform:translateY(-4px);box-shadow:0 0 0 3px #1677ff29;outline:none}.chart-bar-button.active{background:linear-gradient(180deg,#f5a623,#1677ff)}.chart-selected-detail{display:grid;grid-template-columns:minmax(110px,1fr) minmax(120px,1.2fr) repeat(3,minmax(92px,1fr));gap:8px;align-items:center;border:1px solid #dfe8f3;border-radius:8px;padding:10px 12px;color:#435266;background:#f8fbff;font-size:13px}.chart-selected-detail strong{color:#10233d;font-size:15px}.chart-record-panel{display:grid;gap:8px;border:1px solid #dfe8f3;border-radius:8px;padding:10px 12px;background:#fff}.chart-record-heading{display:flex;justify-content:space-between;gap:8px;color:#657384;font-size:13px}.chart-record-heading strong{color:#10233d}.chart-record-list{display:grid;gap:6px;max-height:178px;overflow-y:auto}.chart-record-row{width:100%;min-height:38px;display:grid;grid-template-columns:minmax(80px,.85fr) minmax(140px,1.4fr) minmax(70px,auto);align-items:center;gap:8px;border:1px solid #e5edf3;border-radius:8px;padding:7px 9px;color:#243447;background:#f8fbff;text-align:left;cursor:pointer}.chart-record-row:hover,.chart-record-row:focus-visible{border-color:#9cc4ff;box-shadow:0 0 0 3px #1677ff1f;outline:none}.chart-record-row span,.chart-record-row strong{min-width:0;overflow-wrap:anywhere}.chart-record-row em{color:#1261d8;font-style:normal;font-weight:800;text-align:right}.chart-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #e0e8f2;border-radius:8px;overflow:hidden}.chart-summary div{display:grid;gap:6px;padding:12px;text-align:center;background:#f8fbff}.chart-summary div+div{border-left:1px solid #e0e8f2}.chart-summary span,.readonly-mini-grid span{color:#657384;font-size:13px}.chart-summary strong,.readonly-mini-grid strong{color:#101b2b;font-size:20px}.chart-axis{display:flex;justify-content:space-between;gap:8px;color:#6d7b8c;font-size:12px}.dashboard-chart-empty{min-height:168px;align-content:center}.compact-table-wrap{overflow-x:auto}.compact-table-wrap table{width:100%;min-width:560px;border-collapse:collapse;font-size:13px}.compact-table-wrap th,.compact-table-wrap td{border-bottom:1px solid #edf2f7;padding:14px 10px;text-align:left;white-space:nowrap}.compact-table-wrap th{color:#5e6f84;background:#f8fbff}.rank-list{display:grid;gap:18px}.rank-row{display:grid;grid-template-columns:28px minmax(140px,1fr) minmax(90px,140px) 42px;align-items:center;gap:12px;color:#334155}.rank-main{min-width:0;display:grid;gap:4px}.rank-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-main small{color:#69788b;font-size:12px}.rank-index{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;color:#fff;background:#1677ff;font-size:12px;font-weight:800}.progress-track{height:8px;border-radius:999px;background:#e7edf4;overflow:hidden}.progress-track span{height:100%;display:block;border-radius:inherit;background:#1677ff}.rank-row em{color:#1261d8;font-style:normal;font-weight:800}.readonly-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.readonly-mini-grid article{display:grid;gap:8px;border:1px solid #e0e8f2;border-radius:8px;padding:14px;background:#f8fbff}.readonly-mini-grid small{color:#6f7d90;font-size:12px}.profile-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px}.profile-main p{margin:8px 0 0}.access-pill{border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.access-pill.green{color:#155134;background:#dff4e8}.access-pill.blue{color:#1d4f77;background:#e0f0fb}.access-pill.amber{color:#684810;background:#fff0c7}.access-pill.slate{color:#26384f;background:#e7edf3}.access-pill.red{color:#8c211c;background:#ffe8e6}.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.scope-panel{min-height:140px;padding:18px}.scope-panel span,.metric-shell span{color:#687789;font-size:13px}.scope-panel strong,.metric-shell strong{display:block;margin-top:8px;font-size:20px}.main-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-panel{display:grid;gap:16px;padding:18px}.panel-subtitle{margin:6px 0 0;color:#5f6f82;font-size:14px}.panel-subtitle.standalone{margin:0;color:#516478;font-size:15px}.role-entry-panel{display:grid;gap:16px;padding:18px}.role-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.role-entry-card{min-height:152px;display:grid;grid-template-columns:1fr auto;gap:10px;border:1px solid #dfe6ec;border-radius:6px;padding:14px;background:#fff;text-align:left}button.role-entry-card,.dashboard-entry-card{width:100%;color:inherit;cursor:pointer}button.role-entry-card:hover,.dashboard-entry-card:hover{border-color:#b7cdec;box-shadow:0 10px 24px #315b8c1f}.role-entry-card div{min-width:0;display:grid;gap:6px}.role-entry-card span,.performance-anchor span{color:#667587;font-size:12px}.role-entry-card strong{color:#243447;font-size:18px}.role-entry-card p{grid-column:1 / -1;margin:0;color:#5f6f80;font-size:13px;line-height:1.55}.dashboard-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dashboard-entry-card{min-height:112px;display:grid;gap:7px;border:1px solid #e0e8f2;border-radius:6px;padding:14px;background:#f8fbff;text-align:left}.dashboard-entry-card span{color:#657384;font-size:13px}.dashboard-entry-card strong{color:#101b2b;font-size:22px}.dashboard-entry-card small{color:#69788b;font-size:13px;font-weight:500}.dashboard-entry-card p{margin:0;color:#6f7d90;font-size:12px}.table-action-button{min-height:32px;padding:0 10px;white-space:nowrap}.performance-anchor{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid #d4e1df;border-radius:6px;padding:14px;background:#f7fbfa}.performance-anchor div{display:grid;gap:6px}.performance-anchor strong{color:#243447;font-size:20px}.performance-anchor p{margin:0;color:#5f6f80;font-size:13px}.module-empty-page{min-height:260px;display:grid;align-content:center;gap:10px;border:1px dashed #c7d4df;border-radius:8px;padding:28px;background:#f8fbfc}.module-empty-page strong{color:#243447;font-size:20px}.module-empty-page p{max-width:640px;margin:0;color:#657384;line-height:1.6}.checkin-page{gap:12px;width:100%;max-width:none;margin:0}.checkin-workspace{display:grid;grid-template-columns:clamp(280px,22vw,340px) minmax(0,1fr);gap:12px;align-items:start;min-width:0}.checkin-summary-strip{grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px}.checkin-summary-strip .module-summary-card{min-height:86px;padding:12px}.checkin-summary-strip .module-summary-card strong{font-size:22px}.checkin-summary-strip .module-summary-card p{font-size:12px}.checkin-filter-bar{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(220px,1fr) auto;align-items:end;gap:10px;border:1px solid #dfe6ec;border-radius:8px;padding:10px 12px;background:#fff;box-shadow:0 10px 24px #34527412}.checkin-filter-bar label{display:grid;gap:6px;color:#435266;font-size:13px;font-weight:700}.checkin-filter-bar input,.checkin-filter-bar select{width:100%;min-height:40px;border:1px solid #d2dce8;border-radius:6px;padding:9px 10px;color:#172033;background:#fff;font:inherit}.checkin-filter-actions{display:flex;flex-wrap:wrap;gap:8px}.checkin-dashboard-panel{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.2fr) repeat(2,minmax(220px,.9fr));gap:10px}.checkin-rule-card,.checkin-trend-card,.checkin-rank-card{display:grid;align-content:start;gap:12px;border:1px solid #dfe6ec;border-radius:8px;padding:10px 12px;background:#fff;box-shadow:0 10px 24px #34527412}.checkin-rule-card dl{display:grid;gap:8px;margin:0}.checkin-rule-card dl div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eef2f6;padding-bottom:8px}.checkin-rule-card dt{color:#667587;font-size:12px}.checkin-rule-card dd{margin:0;color:#172033;font-size:13px;font-weight:800}.checkin-rule-card p{margin:0;color:#5f6f80;font-size:12px;line-height:1.55}.checkin-bar-list,.checkin-rank-list{display:grid;gap:9px}.checkin-bar-row{display:grid;grid-template-columns:74px minmax(80px,1fr) 34px;align-items:center;gap:8px;color:#5f6f80;font-size:12px}.checkin-bar-row div{height:8px;overflow:hidden;border-radius:999px;background:#edf2f7}.checkin-bar-row i{display:block;height:100%;border-radius:inherit;background:#1677ff}.checkin-bar-row strong{color:#172033;text-align:right}.checkin-rank-list div{display:grid;gap:4px;border:1px solid #edf2f7;border-radius:6px;padding:9px;background:#fbfdff}.checkin-rank-list strong{color:#172033;font-size:13px;overflow-wrap:anywhere}.checkin-rank-list span{color:#64748b;font-size:12px}.checkin-form,.checkin-map-panel,.checkin-record-panel{display:grid;align-content:start;gap:10px;border:1px solid #dfe6ec;border-radius:8px;padding:12px;background:#fff;box-shadow:0 12px 28px #34527414;min-width:0}.compact-heading{margin-bottom:0}.checkin-form label{display:grid;gap:6px;color:#435266;font-size:13px;font-weight:700}.checkin-form input,.checkin-form select,.checkin-form textarea{width:100%;min-height:40px;border:1px solid #d2dce8;border-radius:6px;padding:9px 10px;color:#172033;background:#fff;font:inherit;font-weight:500}.checkin-form textarea{resize:vertical}.checkin-coordinate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checkin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.checkin-map{position:relative;width:100%;max-width:100%;min-height:clamp(480px,58vh,680px);overflow:hidden;border:1px solid #cdd9e8;border-radius:8px;background:#dbe8ef;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.osm-tile-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:#dbe8ef;pointer-events:none}.osm-tile{position:absolute;display:block;object-fit:fill;-webkit-user-select:none;user-select:none;pointer-events:none}.osm-label-tile{z-index:1}.map-basemap-switch{position:absolute;top:12px;right:88px;z-index:5;display:inline-flex;gap:4px;border:1px solid rgba(194,208,225,.92);border-radius:999px;padding:4px;background:#ffffffeb;box-shadow:0 8px 18px #122b4e1f}.map-basemap-switch button{min-height:28px;border:0;border-radius:999px;padding:4px 10px;color:#44556a;background:transparent;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.map-basemap-switch button.active{color:#fff;background:#1677ff}.checkin-map-marker{position:absolute;z-index:3;width:14px;height:14px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 6px 14px #122b4e38}.checkin-map-marker.saved{background:#1677ff}.checkin-map-marker.with-label{width:auto;height:auto;border:0;border-radius:0;background:transparent;box-shadow:none;display:inline-flex;align-items:center;gap:6px;padding:0;color:#08233f;font:inherit;white-space:nowrap}.checkin-map-marker.with-label:hover{z-index:6}.checkin-marker-dot{width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:#1677ff;box-shadow:0 6px 14px #122b4e38;flex:0 0 auto}.checkin-marker-label{max-width:92px;overflow:hidden;text-overflow:ellipsis;border:1px solid rgba(180,199,221,.92);border-radius:6px;background:#ffffffeb;padding:3px 7px;font-size:12px;font-weight:800;line-height:1.2;box-shadow:0 8px 18px #0f2d522e}.checkin-map-marker.draft{width:18px;height:18px;background:#ef4444}.map-hint{position:absolute;left:18px;bottom:18px;z-index:4;display:grid;gap:4px;max-width:300px;border:1px solid rgba(194,208,225,.9);border-radius:8px;padding:12px;background:#ffffffe6}.map-zoom-controls{position:absolute;top:12px;left:12px;z-index:4;display:flex;align-items:center;gap:8px;border:1px solid rgba(194,208,225,.9);border-radius:999px;padding:7px 10px;color:#44556a;background:#ffffffe0;font-size:12px;box-shadow:0 8px 18px #122b4e1a}.map-zoom-controls strong{color:#172033}.map-fullscreen-toggle{position:absolute;top:12px;right:12px;z-index:5;border:1px solid rgba(194,208,225,.92);border-radius:999px;padding:7px 12px;color:#172033;background:#ffffffeb;box-shadow:0 8px 18px #122b4e1f;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.map-fullscreen-toggle:hover{background:#fff}.map-fullscreen-toggle:focus-visible{outline:3px solid rgba(22,119,255,.24);outline-offset:2px}.map-attribution{position:absolute;right:8px;bottom:6px;z-index:4;border-radius:4px;padding:2px 5px;color:#44556a;background:#ffffffdb;font-size:11px;line-height:1.2}.map-hint strong{color:#172033}.map-hint span{color:#5f6f80;font-size:12px;line-height:1.5}.checkin-coordinate-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.checkin-coordinate-readout div{border:1px solid #e0e8f2;border-radius:6px;padding:10px;background:#f8fbff}.checkin-coordinate-readout dt{color:#718096;font-size:12px}.checkin-coordinate-readout dd{margin:4px 0 0;color:#172033;font-size:13px;font-weight:800;overflow-wrap:anywhere}.checkin-record-list{display:grid;gap:10px;max-height:720px;overflow:auto;padding-right:4px}.checkin-record-card{display:grid;gap:8px;border:1px solid #edf2f7;border-radius:8px;padding:12px;background:#fbfdff}.checkin-record-card div{display:grid;gap:4px}.checkin-record-card span,.checkin-record-card small{color:#64748b;font-size:12px}.checkin-record-card strong{color:#172033;font-size:15px}.checkin-record-card p{margin:0;color:#334155;font-size:13px;line-height:1.5}.checkin-review-form{display:grid;gap:10px;border:1px dashed #c8d8e5;border-radius:8px;padding:12px;background:#f8fbfc}.checkin-review-form label{display:grid;gap:6px;color:#435266;font-size:13px;font-weight:700}.checkin-review-form select,.checkin-review-form textarea{width:100%;min-height:40px;border:1px solid #d2dce8;border-radius:6px;padding:9px 10px;color:#172033;background:#fff;font:inherit}.checkin-review-form textarea{resize:vertical}.performance-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-actions{display:flex;flex-wrap:wrap;gap:10px}.readonly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.readonly-card{display:grid;gap:10px;min-height:184px;border:1px solid #dfe6ec;border-radius:6px;padding:14px;background:#f8fbfc}.readonly-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.endpoint,.muted{color:#667587;font-size:12px;overflow-wrap:anywhere}.readonly-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.readonly-card dt{color:#7a8796;font-size:11px}.readonly-card dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:12px;font-weight:700}.state-pill{flex:0 0 auto;border-radius:999px;padding:4px 8px;color:#6b4d10;background:#fff0c7;font-size:12px;font-weight:700}.state-pill.ready{color:#155134;background:#dff4e8}.state-pill.empty{color:#42536a;background:#e7edf3}.state-pill.loading{color:#1d4f77;background:#e0f0fb}.state-pill.pending{color:#7a4b12;background:#fff0d8}.state-pill.danger{color:#8a1f1f;background:#fde2e2}.inline-error{margin:0;color:#9f1f18;font-size:12px}.contract-status-block{display:grid;gap:14px}.contract-status-heading,.contract-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.contract-status-heading h4{margin:0;font-size:18px}.contract-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.contract-status-card{display:grid;gap:10px;min-height:178px;border:1px solid #dfe6ec;border-radius:6px;padding:14px;background:#f8fbfc}.contract-status-card>span,.contract-status-card p{margin:0;color:#667587;font-size:12px;overflow-wrap:anywhere}.contract-status-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.contract-status-card dt{color:#7a8796;font-size:11px}.contract-status-card dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:12px;font-weight:700}.contract-state{flex:0 0 auto;border-radius:999px;padding:4px 8px;color:#8c211c;background:#ffe8e6;font-size:12px;font-weight:700}.contract-state.ready{color:#155134;background:#dff4e8}.module-result{display:grid;gap:14px}.task-contract-grid,.module-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.module-summary-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.task-contract-card,.module-summary-card{display:grid;gap:8px;min-height:138px;border:1px solid #dfe6ec;border-radius:6px;padding:14px;background:#f8fbfc}.task-contract-card span,.task-contract-card p,.module-summary-card span,.module-summary-card p{margin:0;color:#667587;font-size:12px;overflow-wrap:anywhere}.task-contract-card strong,.module-summary-card strong{font-size:18px;overflow-wrap:anywhere}.filter-strip{display:flex;flex-wrap:wrap;gap:8px}.filter-strip span{min-height:32px;display:inline-flex;align-items:center;border:1px solid #d8e2eb;border-radius:6px;padding:0 12px;color:#506277;background:#f8fbfc;font-size:13px}.daily-work-filter-panel{display:grid;gap:12px;border:1px solid #dfe8f0;border-radius:6px;padding:12px;background:#f8fbfc}.daily-work-status-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.daily-work-status-tabs button{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #d8e2eb;border-radius:6px;padding:8px 12px;color:#506277;background:#fff}.daily-work-status-tabs button.active{border-color:#1677ff;color:#135cc8;background:#eef6ff}.daily-work-status-tabs strong{color:#243447;font-size:18px}.daily-work-filter-fields{display:grid;grid-template-columns:minmax(160px,1fr) minmax(200px,1.2fr) minmax(140px,.8fr) minmax(140px,.8fr) auto;gap:10px;align-items:end}.daily-work-filter-fields label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.daily-work-filter-fields input,.daily-work-filter-fields select{width:100%;min-height:40px;border:1px solid #c8d3dc;border-radius:6px;padding:8px 10px;color:#243447;background:#fff}.project-daily-shell{display:grid;gap:18px}.project-daily-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:14px}.project-daily-layout.entry-only{grid-template-columns:minmax(0,1180px);justify-content:center}.project-daily-layout.review-only{grid-template-columns:minmax(0,1fr)}.project-daily-form,.project-review-preview,.project-review-board{display:grid;gap:14px;border:1px solid #dfe8f0;border-radius:6px;padding:14px;background:#fff}.project-review-board table{min-width:960px}.project-review-board td{vertical-align:middle}.project-review-board td strong,.project-review-board td small{display:block}.project-review-board td small{margin-top:4px;color:#687789}.project-review-actions{min-width:220px}.project-daily-content{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.project-daily-content textarea,.project-daily-content input{width:100%;min-height:40px;border:1px solid #c8d3dc;border-radius:6px;padding:10px 12px;color:#243447;background:#fff;resize:vertical}.project-daily-content input{resize:none}.daily-submit-row{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #e5edf3;padding-top:14px}.daily-submit-row div{display:grid;gap:5px;color:#5d6c7d}.daily-submit-row small{color:#6c7a89;font-size:12px}.daily-submit-row span{color:#243447;font-size:13px}.project-review-list{display:grid;gap:10px}.project-review-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e2eaf1;border-radius:6px;padding:12px;background:#f8fbfc}.project-review-row div{min-width:0;display:grid;gap:4px}.project-review-row span,.project-review-row p{margin:0;color:#667587;font-size:12px;overflow-wrap:anywhere}.project-review-inline-form{display:grid;gap:12px;border-top:1px solid #e5edf3;padding-top:12px}.project-review-row strong{color:#0f2137;overflow-wrap:anywhere}.project-simplified-note{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #cfe6df;border-radius:6px;padding:14px 16px;background:#f2fbf7}.project-simplified-note div{display:grid;gap:4px}.project-simplified-note span{color:#557064;font-size:12px}.project-simplified-note strong{color:#0f3f35}.row-action-cell{min-width:92px;white-space:nowrap}.row-action-cell{display:flex;gap:8px}.row-action-cell .ghost-button{min-height:32px;padding:0 12px}.empty-table-cell{height:86px;color:#7a8795;text-align:center}.task-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.task-flow div{min-height:88px;display:grid;gap:6px;border:1px solid #e1e8ee;border-radius:6px;padding:12px;background:#fff}.task-flow span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#2f6f68;font-size:12px;font-weight:800}.task-flow small{color:#667587}.task-draft-form{display:grid;gap:12px;border:1px solid #dfe6ec;border-radius:6px;padding:14px;background:#fff}.task-list-panel{display:grid;gap:14px;border:1px solid #dfe6ec;border-radius:6px;padding:14px;background:#fff}.task-filter-panel{display:grid;gap:12px;border:1px solid #e2eaf1;border-radius:6px;padding:12px;background:#f8fbfc}.task-status-tabs{display:flex;flex-wrap:wrap;gap:8px}.task-status-tabs button{min-height:40px;display:inline-flex;align-items:center;gap:8px;border:1px solid #d7e3ee;border-radius:6px;padding:0 12px;color:#4d5f73;background:#fff;cursor:pointer}.task-status-tabs button.active{border-color:#2a72e5;color:#1257c3;background:#edf5ff}.task-status-tabs strong{font-size:13px}.task-filter-fields{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1.3fr) auto;gap:10px;align-items:end}.task-filter-fields label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.task-filter-fields input,.task-filter-fields select{width:100%;min-height:40px;border:1px solid #c8d3dc;border-radius:6px;padding:8px 10px;color:#243447;background:#fff}.task-detail-page{align-content:start}.task-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.task-detail-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:1px solid #dfe8f0;border-radius:6px;padding:14px;background:#f8fbfc}.task-detail-hero div,.task-detail-metrics article,.task-detail-card{min-width:0}.task-detail-hero div{display:grid;gap:6px;border-right:1px solid #e1e8ee;padding-right:10px}.task-detail-hero div:nth-child(3n){border-right:0}.task-detail-hero span,.task-detail-metrics span{color:#667587;font-size:12px}.task-detail-hero strong,.task-detail-metrics strong{color:#243447;overflow-wrap:anywhere}.task-detail-metrics{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.task-detail-metrics article{display:grid;gap:6px;border:1px solid #dfe6ec;border-radius:6px;padding:12px;background:#fff}.task-detail-metrics strong{font-size:24px}.task-detail-metrics p{margin:0;color:#6d7b8d;font-size:12px}.task-detail-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.3fr);gap:14px}.task-detail-card{display:grid;gap:12px;border:1px solid #dfe6ec;border-radius:6px;padding:14px;background:#fff}.task-detail-upload-card,.task-detail-checkin-card{grid-column:1 / -1}.task-checkin-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:14px}.task-checkin-map{position:relative;min-height:280px;overflow:hidden;border:1px solid #cdd9e8;border-radius:8px;background:#dbe8ef}.task-checkin-list{max-height:300px}.task-detail-assignment-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) auto;gap:10px;align-items:end;border:1px dashed #c8d8e5;border-radius:6px;padding:10px;background:#f8fbfc}.task-detail-assignment-form label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.task-detail-assignment-form select{width:100%;min-height:38px;border:1px solid #c8d3dc;border-radius:6px;padding:8px 10px;color:#243447;background:#fff}.task-draft-form .form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.task-draft-form label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.task-draft-form input,.task-draft-form select{width:100%;min-height:40px;border:1px solid #c8d3dc;border-radius:6px;padding:8px 10px;color:#243447;background:#fff}.employee-task-panel{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;border:1px solid #d4e1df;border-radius:6px;padding:14px;background:#f7fbfa}.employee-task-panel>div{display:grid;gap:6px}.employee-task-panel span{color:#667587;font-size:12px}.employee-task-panel strong{color:#243447;font-size:18px}.employee-task-panel p{margin:0;color:#5f6f80;font-size:13px;line-height:1.55}.employee-task-panel dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.employee-task-panel dl div{border:1px solid rgba(36,52,71,.1);border-radius:6px;padding:8px;background:#ffffffb3}.employee-task-panel dt{color:#667587;font-size:12px}.employee-task-panel dd{margin:3px 0 0;color:#243447;font-weight:700;overflow-wrap:anywhere}.assignment-dry-run-panel{display:grid;gap:12px;border:1px solid #d4e1df;border-radius:6px;padding:14px;background:#f7fbfa}.daily-work-dry-run-panel{display:grid;gap:12px;border:1px solid #d7e3ee;border-radius:6px;padding:14px;background:#f8fbfc}.daily-work-dry-run-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.daily-work-dry-run-heading div{display:grid;gap:4px}.daily-work-dry-run-heading span,.daily-work-dry-run-heading small{color:#667587;font-size:12px}.daily-work-dry-run-heading strong{color:#243447;font-size:16px}.daily-work-dry-run-panel .form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.daily-work-dry-run-panel label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.daily-work-dry-run-panel input,.daily-work-dry-run-panel select{width:100%;min-height:40px;border:1px solid #c8d3dc;border-radius:6px;padding:8px 10px;color:#243447;background:#fff}.field-hint{color:#6c7a89;font-size:12px;line-height:1.45}.daily-work-current-record{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d8e2eb;border-radius:6px;padding:10px 12px;background:#f8fbfc}.daily-work-current-record.submitted{border-color:#d7e7ff;background:#f2f7ff}.daily-work-current-record.returned{border-color:#ffd9bf;background:#fff7f1}.daily-work-current-record.confirmed{border-color:#cce8d8;background:#f2fbf5}.daily-work-current-record div{display:grid;gap:4px}.daily-work-current-record span{color:#667587;font-size:12px}.daily-work-current-record strong{color:#243447;overflow-wrap:anywhere}.daily-work-list-panel{display:grid;gap:12px;border:1px solid #dfe6ec;border-radius:6px;padding:14px;background:#fff}.daily-work-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.daily-work-list-heading div{display:grid;gap:4px}.daily-work-list-heading span{color:#667587;font-size:12px}.daily-work-list-heading strong{color:#243447;font-size:16px}.daily-work-scope-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.daily-work-scope-grid div{border:1px solid #e1e8ee;border-radius:6px;padding:10px;background:#f8fbfc}.daily-work-scope-grid span{color:#667587;font-size:12px}.daily-work-scope-grid strong{display:block;margin-top:5px;color:#243447;overflow-wrap:anywhere}.daily-work-action-list{display:grid;gap:8px}.daily-work-review-panel{display:grid;gap:12px;border:1px solid #d4e1df;border-radius:6px;padding:14px;background:#f7fbfa}.daily-work-review-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.daily-work-review-heading div{display:grid;gap:4px}.daily-work-review-heading span,.daily-work-review-heading small{color:#667587;font-size:12px}.daily-work-review-heading strong{color:#243447;font-size:16px}.daily-work-review-panel .form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.daily-work-review-panel label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.daily-work-review-panel input,.daily-work-review-panel select{width:100%;min-height:40px;border:1px solid #c8d3dc;border-radius:6px;padding:8px 10px;color:#243447;background:#fff}.daily-work-review-panel .wide-field{grid-column:span 2}.upload-records-page{display:grid;gap:14px}.upload-heading-actions{display:flex;align-items:center;gap:10px}.upload-anchor-button{text-decoration:none}.upload-anchor-button[aria-disabled=true]{pointer-events:none;opacity:.55}.upload-overview-grid{display:grid;grid-template-columns:minmax(380px,1.1fr) minmax(360px,.9fr);gap:14px;align-items:stretch}.upload-summary-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.upload-summary-card{display:grid;gap:6px;min-height:106px;border:1px solid #d7e3ee;border-radius:6px;padding:14px;background:#fff;box-shadow:0 8px 18px #1e36500f}.upload-summary-card span{color:#667587;font-size:12px}.upload-summary-card strong{color:#16283d;font-size:28px;line-height:1;overflow-wrap:anywhere}.upload-summary-card p{margin:0;color:#5d6c7d;font-size:13px;line-height:1.45}.upload-contract-panel{display:grid;grid-template-columns:1fr;gap:14px;border:1px solid #d7e3ee;border-radius:6px;padding:14px;background:#f8fbfc}.upload-contract-panel>div{display:grid;gap:6px}.upload-contract-panel span{color:#667587;font-size:12px}.upload-contract-panel strong{color:#243447;font-size:16px;overflow-wrap:anywhere}.upload-contract-panel p{margin:0;color:#627286;font-size:13px;line-height:1.55}.upload-contract-panel dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.upload-contract-panel dl div{border:1px solid #e1e8ee;border-radius:6px;padding:10px;background:#fff}.upload-contract-panel dt{color:#667587;font-size:12px}.upload-contract-panel dd{margin:4px 0 0;color:#243447;font-weight:700;overflow-wrap:anywhere}.upload-filter-panel{display:grid;gap:12px;border:1px solid #dfe6ec;border-radius:6px;padding:14px;background:#fff}.upload-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.upload-section-title span{color:#667587;font-size:12px}.upload-section-title strong{color:#243447;font-size:15px}.upload-filter-fields{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) minmax(220px,1.3fr) auto;align-items:end;gap:12px}.upload-filter-buttons{display:flex;gap:8px;align-items:center;justify-content:flex-end}.upload-record-form{display:grid;gap:12px;border:1px solid #d7e3ee;border-radius:6px;padding:14px;background:#fff;box-shadow:0 8px 18px #1e36500d}.upload-record-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.upload-record-form-heading div{display:grid;gap:4px}.upload-record-form-heading span,.upload-record-form-heading small{color:#667587;font-size:12px}.upload-record-form-heading strong{color:#243447;font-size:16px}.upload-record-form .form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.upload-record-form label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.upload-file-picker{display:grid;gap:6px;border:1px dashed #adc3d6;border-radius:6px;padding:12px;background:#f8fbfc}.upload-file-picker span{color:#243447;font-size:13px;font-weight:800}.upload-file-picker input[type=file]{min-height:40px;border:1px solid #c8d3dc;border-radius:6px;padding:8px;background:#fff}.upload-file-picker small{color:#667587;font-size:12px;line-height:1.45}.upload-record-form input,.upload-record-form select{width:100%;min-height:40px;border:1px solid #c8d3dc;border-radius:6px;padding:8px 10px;color:#243447;background:#fff}.upload-record-form .wide-field{grid-column:span 2}.upload-metadata-hint{display:grid;gap:4px;border:1px solid #d7e3ee;border-radius:6px;padding:10px;background:#f8fbfc;color:#5d6c7d;font-size:13px}.upload-metadata-hint span{color:#243447;font-weight:700}.upload-metadata-hint p{margin:0;line-height:1.5}.upload-record-workspace{display:grid;grid-template-columns:minmax(560px,1.55fr) minmax(360px,.95fr);gap:14px;align-items:start}.upload-record-workspace .table-wrap{min-width:0}.upload-record-workspace tr.selected td{background:#eef6ff}.upload-detail-panel{display:grid;gap:14px;border:1px solid #d7e3ee;border-radius:6px;padding:14px;background:#fff;box-shadow:0 8px 18px #1e36500d}.upload-detail-heading,.upload-detail-note,.upload-version-list,.upload-trace-panel{display:grid;gap:6px}.upload-review-panel{display:grid;gap:10px;border:1px solid #dfe6ec;border-radius:6px;padding:12px;background:#f8fbfc}.upload-review-heading{display:flex;justify-content:space-between;gap:10px}.upload-review-heading span{color:#667587;font-size:12px}.upload-review-heading strong{color:#243447;font-size:14px}.upload-review-actions{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(180px,1.3fr) minmax(180px,1.1fr);gap:10px}.upload-review-actions label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.upload-review-actions input,.upload-review-actions select,.upload-resubmit-note textarea{width:100%;min-height:38px;border:1px solid #c8d3dc;border-radius:6px;padding:8px 10px;color:#243447;background:#fff}.upload-resubmit-panel{background:#f6fbf9;border-color:#cfe3dc}.upload-resubmit-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-resubmit-actions .upload-file-picker{grid-column:1 / -1}.upload-resubmit-note{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.upload-resubmit-note textarea{resize:vertical;min-height:72px}.upload-trace-panel{border:1px solid #dfe6ec;border-radius:6px;padding:12px;background:#fbfcfd}.upload-map-panel{display:grid;gap:10px;border:1px solid #dfe6ec;border-radius:6px;padding:12px;background:#f8fbfc}.upload-map-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.upload-map-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.upload-map-heading div{display:grid;gap:3px;min-width:0}.upload-map-heading span{color:#667587;font-size:12px}.upload-map-heading strong{color:#243447;font-size:14px;overflow-wrap:anywhere}.upload-map-canvas{position:relative;min-height:340px;overflow:hidden;border:1px solid #cfdce7;border-radius:6px;background:#dceef3;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.upload-map-canvas.dragging{cursor:grabbing}.upload-map-viewport{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:center center;transition:transform .16s ease-out;will-change:transform}.upload-map-canvas.dragging .upload-map-viewport{transition:none}.upload-map-base{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.82}.upload-map-base img{position:absolute;object-fit:cover}.upload-map-label-tile{z-index:1}.upload-map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.upload-map-shape{fill:none;stroke:#1769e8;stroke-width:1.2;vector-effect:non-scaling-stroke}.upload-map-point{fill:#ef4444;stroke:#fff;stroke-width:.8;vector-effect:non-scaling-stroke}.upload-map-empty{position:absolute;left:16px;right:16px;bottom:16px;max-width:360px;border:1px solid rgba(207,220,231,.9);border-radius:6px;padding:12px;background:#ffffffe0;box-shadow:0 8px 18px #1e365014}.upload-map-empty strong{display:block;color:#172b3f;font-size:15px}.upload-map-empty p,.upload-map-message{margin:4px 0 0;color:#5c6d80;font-size:13px;line-height:1.5}.upload-map-attribution{position:absolute;right:8px;bottom:6px;border-radius:4px;padding:2px 6px;background:#ffffffd1;color:#5c6d80;font-size:11px}.upload-map-zoom{position:absolute;left:10px;top:10px;z-index:3;display:flex;align-items:center;gap:6px;border:1px solid rgba(194,210,224,.92);border-radius:6px;padding:6px;background:#ffffffe6;box-shadow:0 8px 18px #1e36501f}.upload-map-zoom button{min-width:32px;height:30px;border:1px solid #d3dee8;border-radius:5px;background:#eef3f7;color:#172b3f;font-weight:700;cursor:pointer;white-space:nowrap}.upload-map-zoom button.active{border-color:#1677ff;color:#fff;background:#1677ff}.upload-map-zoom span{min-width:48px;color:#486074;font-size:12px;text-align:right}.upload-map-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px;background:#0e1c2c75}.upload-map-modal-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 48px);border:1px solid #dfe6ec;border-radius:8px;padding:16px;background:#fff;box-shadow:0 24px 70px #0e1c2c38}.upload-map-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.upload-map-modal-heading>div:first-child{display:grid;gap:4px;min-width:0}.upload-map-modal-heading span{color:#667587;font-size:12px}.upload-map-modal-heading strong{color:#172b3f;overflow-wrap:anywhere}.upload-map-canvas-large{height:min(72vh,760px);min-height:520px}.upload-trace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.upload-trace-grid div,.trace-link-cell{display:grid;gap:4px}.upload-trace-grid dt{color:#667587;font-size:12px}.upload-trace-grid dd{margin:0;color:#243447;font-weight:700}.trace-link-cell small{color:#667587}.review-integrity-panel{display:grid;gap:10px;border:1px solid #dfe6ec;border-radius:6px;padding:12px;background:#fbfcfd}.review-integrity-panel.ready{border-color:#b9dfcf;background:#f2fbf6}.review-integrity-panel.pending{border-color:#f0d4a1;background:#fff9ed}.review-integrity-panel.empty{border-color:#dfe6ec;background:#f8fafc}.review-integrity-panel span{color:#667587;font-size:12px}.review-integrity-panel strong{display:block;margin-top:2px;color:#243447;font-size:14px}.review-integrity-panel p{margin:4px 0 0;color:#5d6c7d;line-height:1.5}.review-integrity-panel ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.review-integrity-panel li{border-radius:999px;padding:4px 8px;background:#ffffffc7;color:#405267;font-size:12px;font-weight:700}.upload-review-buttons{display:flex;flex-wrap:wrap;gap:8px}.upload-row-actions{display:grid;gap:6px;min-width:132px}.upload-row-secondary-actions{display:flex;flex-wrap:wrap;gap:6px}.upload-row-actions .ghost-button{min-height:32px;padding:6px 9px;font-size:12px}.upload-detail-heading span,.upload-detail-note span,.upload-version-heading span{color:#667587;font-size:12px}.upload-detail-heading strong{color:#1d344c;font-size:18px;overflow-wrap:anywhere}.upload-detail-heading p,.upload-detail-note p{margin:0;color:#5c6d80;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.upload-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.upload-detail-grid div{border:1px solid #e1e8ee;border-radius:6px;padding:9px;background:#f8fbfc}.upload-detail-grid dt{color:#667587;font-size:12px}.upload-detail-grid dd{margin:4px 0 0;color:#243447;font-weight:700;overflow-wrap:anywhere}.upload-version-heading{display:flex;justify-content:space-between;gap:10px}.upload-version-heading strong{color:#0d6fe8}.upload-version-list ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.upload-version-list li{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;border:1px solid #e1e8ee;border-radius:6px;padding:9px;background:#f8fbfc}.upload-version-list li p{grid-column:1 / -1;margin:0;color:#5c6d80;font-size:12px;overflow-wrap:anywhere}.upload-version-list li span{color:#0d6fe8;font-weight:800}.upload-version-list li strong{color:#243447;font-size:13px}.upload-version-list li small{color:#667587;text-align:right}.upload-history-empty{margin:0;color:#667587;font-size:13px}.upload-filter-panel label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.upload-filter-panel input,.upload-filter-panel select{width:100%;min-height:40px;border:1px solid #c8d3dc;border-radius:6px;padding:8px 10px;color:#243447;background:#fff}.upload-empty-page{gap:12px}.upload-empty-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:min(760px,100%)}.upload-empty-flow span{border:1px solid #dfe8f0;border-radius:6px;padding:10px;color:#42536a;background:#fff;font-size:13px;font-weight:700;text-align:center}.assignment-dry-run-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.assignment-dry-run-heading div{display:grid;gap:4px}.assignment-dry-run-heading span,.assignment-dry-run-heading small{color:#667587;font-size:12px}.assignment-dry-run-heading strong{color:#243447;font-size:16px}.assignment-dry-run-panel .form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.assignment-dry-run-panel label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.assignment-dry-run-panel input,.assignment-dry-run-panel select{width:100%;min-height:40px;border:1px solid #c8d3dc;border-radius:6px;padding:8px 10px;color:#243447;background:#fff}.draft-summary{display:flex;flex-wrap:wrap;gap:10px;color:#667587;font-size:12px}.task-draft-result{display:grid;gap:10px;border:1px solid #d7e3ee;border-radius:6px;padding:12px;background:#f8fbfc}.task-draft-result.pending{border-color:#e8d7a8;background:#fff9e8}.task-draft-result.error{border-color:#f0c9c9;background:#fff1f1}.task-draft-result p{margin:0;color:#667587}.task-draft-result dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.task-draft-result dl div{border:1px solid rgba(36,52,71,.1);border-radius:6px;padding:8px;background:#ffffffa6}.task-draft-result dt{color:#667587;font-size:12px}.task-draft-result dd{margin:3px 0 0;color:#243447;font-weight:700;overflow-wrap:anywhere}.missing-field-list{display:flex;flex-wrap:wrap;gap:8px}.missing-field-list span{border:1px solid rgba(151,44,44,.22);border-radius:999px;padding:5px 8px;color:#842323;background:#ffffffb3;font-size:12px}.task-action-list{display:grid;gap:8px}.task-action-row{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e1e8ee;border-radius:6px;padding:10px 12px;background:#fff}.task-action-row div{min-width:0;display:grid;gap:4px}.task-action-row span:not(.state-pill){color:#667587;font-size:12px;overflow-wrap:anywhere}.task-field-list{display:flex;flex-wrap:wrap;gap:8px}.task-field-list span{border:1px solid #dfe6ec;border-radius:999px;padding:6px 9px;color:#42536a;background:#eef3f6;font-size:12px}.project-panel{display:grid;gap:14px;padding:18px}.project-panel select,.project-search-box{width:min(360px,100%);min-height:40px;border:1px solid #c8d3dc;border-radius:6px;color:#243447;background:#fff}.project-panel select{padding:8px 10px}.project-search-box{display:flex;align-items:center;gap:8px;padding:0 10px}.project-search-icon{position:relative;flex:0 0 auto;width:14px;height:14px;border:2px solid #667587;border-radius:50%}.project-search-icon:after{content:"";position:absolute;right:-5px;bottom:-3px;width:6px;height:2px;border-radius:2px;background:#667587;transform:rotate(45deg);transform-origin:left center}.project-search-box input{min-width:0;flex:1;border:0;outline:0;padding:8px 0;color:#243447;background:transparent}.project-search-box span{flex:0 0 auto;color:#718096;font-size:12px;white-space:nowrap}.project-search-box:focus-within{border-color:#5f89a8;box-shadow:0 0 0 3px #5f89a81f}.project-search-box.disabled{opacity:.58;background:#f4f7f9}.table-wrap{overflow-x:auto;border:1px solid #dfe6ec;border-radius:6px;background:#fff}.table-wrap table{width:100%;min-width:720px;border-collapse:collapse;font-size:13px}.table-wrap th,.table-wrap td{border-bottom:1px solid #e8eef3;padding:11px 12px;text-align:left;white-space:nowrap}.table-wrap th{color:#546477;font-weight:700;background:#f8fbfc}.table-wrap tr.selected td{background:#eef7f2}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.person-list{display:grid;gap:8px;margin-top:16px}.person-list div{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e5edf3;border-radius:6px;padding:9px 10px;background:#f8fbfc}.person-list strong,.person-list span{min-width:0;overflow-wrap:anywhere}.person-list span{color:#657384;font-size:12px;text-align:right}.module-result dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.module-result dl div{min-height:74px;border:1px solid #dfe6ec;border-radius:6px;padding:12px;background:#f8fbfc}.module-result dt{color:#687789;font-size:12px}.module-result dd{margin:8px 0 0;overflow-wrap:anywhere;font-weight:700}.production-list-contract{display:grid;gap:12px}.production-list-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.production-list-filters label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.production-list-filters input,.production-list-filters select{width:100%;min-height:38px;border:1px solid #cbd7e1;border-radius:6px;padding:7px 10px;color:#6b7888;background:#f8fbfc}.production-list-table-wrap{overflow-x:auto;border:1px solid #dfe6ec;border-radius:6px;background:#fff}.production-list-table{width:100%;min-width:1080px;border-collapse:collapse;font-size:13px}.production-list-table th,.production-list-table td{border-bottom:1px solid #e8eef3;padding:11px 12px;text-align:left;white-space:nowrap}.production-list-table th{color:#546477;font-weight:700;background:#f8fbfc}.production-list-table td{color:#6d7b8d;text-align:center}.performance-ledger{display:grid;gap:16px}.performance-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border:1px solid #dfe8f3;border-radius:8px;padding:18px;background:#fff;box-shadow:0 12px 28px #34527414}.performance-toolbar h3{margin:0;color:#121a28;font-size:22px}.performance-toolbar span{color:#667587;font-size:13px}.performance-toolbar-actions{display:grid;grid-template-columns:auto minmax(180px,220px) repeat(3,auto);align-items:end;gap:10px}.performance-toolbar-actions label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.performance-toolbar-actions input{width:100%;min-height:38px;border:1px solid #cbd7e1;border-radius:6px;padding:7px 10px;color:#243447;background:#f8fbfc}.performance-summary-band{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.performance-summary-band article{min-height:116px;display:grid;gap:8px;border:1px solid #dfe8f3;border-radius:8px;padding:16px;background:#fff;box-shadow:0 12px 28px #34527414}.performance-summary-band span,.performance-summary-band p{margin:0;color:#667587;font-size:13px}.performance-summary-band strong{color:#121a28;font-size:24px;overflow-wrap:anywhere}.performance-price-panel{display:grid;gap:12px;border:1px solid #dfe8f3;border-radius:8px;padding:16px;background:#fff;box-shadow:0 12px 28px #3452740f}.performance-price-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.performance-price-heading h3{margin:0;color:#121a28;font-size:18px}.performance-price-heading span,.performance-price-heading strong{color:#667587;font-size:13px}.performance-price-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.performance-price-list article{display:grid;grid-template-columns:minmax(140px,1fr) minmax(110px,140px) auto;align-items:end;gap:10px;border:1px solid #e5edf3;border-radius:8px;padding:12px;background:#f8fbfc}.performance-price-list article div,.performance-price-list label{display:grid;gap:5px}.performance-price-list strong{color:#121a28;font-size:14px;overflow-wrap:anywhere}.performance-price-list span,.performance-price-list label{color:#667587;font-size:12px}.performance-price-list input{min-height:38px;border:1px solid #cbd7e1;border-radius:6px;padding:7px 10px;color:#243447;background:#fff;font:inherit}.inline-success{margin:0;color:#12713b;font-size:13px}.performance-filter-panel{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,240px) minmax(180px,240px) auto;align-items:end;gap:12px;border:1px solid #dfe8f3;border-radius:8px;padding:14px;background:#fff;box-shadow:0 12px 28px #3452740f}.performance-filter-panel label{display:grid;gap:6px;color:#5d6c7d;font-size:13px}.performance-filter-panel input,.performance-filter-panel select{width:100%;min-height:38px;border:1px solid #cbd7e1;border-radius:6px;padding:7px 10px;color:#243447;background:#f8fbfc}.performance-filter-panel div{display:grid;gap:5px;border:1px solid #e5edf3;border-radius:6px;padding:8px 10px;background:#f8fbfc}.performance-filter-panel span{color:#667587;font-size:12px}.performance-filter-panel strong{color:#121a28;font-size:16px}.performance-main-grid{display:grid;grid-template-columns:minmax(360px,1.2fr) minmax(320px,.8fr);gap:16px}.performance-chart-panel,.performance-rank-panel{min-height:300px;display:grid;gap:14px;align-content:start;border:1px solid #dfe8f3;border-radius:8px;padding:18px;background:#fff;box-shadow:0 12px 28px #34527414}.compact-heading{padding:0}.compact-heading span{color:#667587;font-size:13px}.performance-bars{height:200px;display:flex;align-items:flex-end;gap:12px;border-bottom:1px solid #cfdbe8;padding:18px 8px 0;background:linear-gradient(to bottom,rgba(216,226,238,.7) 1px,transparent 1px) 0 0 / 100% 40px}.performance-bar-button{flex:1;min-width:12px;border-radius:999px 999px 0 0;border:0;background:linear-gradient(180deg,#27ae60,#1677ff);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.performance-bar-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.performance-bar-button:hover,.performance-bar-button:focus-visible,.performance-bar-button.active{transform:translateY(-4px);box-shadow:0 0 0 3px #1677ff29;outline:none}.performance-bar-button.active{background:linear-gradient(180deg,#f5a623,#1677ff)}.performance-chart-detail{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,1.2fr) auto;gap:10px;align-items:center;border:1px solid #dfe8f3;border-radius:8px;padding:10px 12px;background:#f8fbff}.performance-chart-detail div{display:grid;gap:3px;min-width:0}.performance-chart-detail span,.performance-chart-detail p{margin:0;color:#667587;font-size:12px}.performance-chart-detail strong{min-width:0;color:#10233d;overflow-wrap:anywhere}.performance-rank-list{display:grid;gap:10px}.performance-rank-list div{min-height:48px;display:grid;grid-template-columns:28px minmax(0,1fr) minmax(80px,auto);align-items:center;gap:10px;border:1px solid #e5edf3;border-radius:8px;padding:8px 10px;background:#f8fbfc}.performance-rank-list b{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;color:#fff;background:#1677ff;font-size:12px}.performance-rank-list strong,.performance-rank-list span{min-width:0;overflow-wrap:anywhere}.performance-rank-list span{color:#667587;font-size:12px}.performance-rank-list em{color:#1261d8;font-style:normal;font-weight:800;text-align:right}.work-panel{min-height:150px;padding:18px}.work-panel.span-2{grid-column:span 2}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-badge{flex:0 0 auto;border-radius:999px;padding:5px 9px;color:#42536a;background:#eef3f6;font-size:12px}.empty-state{margin-top:28px;border:1px dashed #c7d4df;border-radius:8px;padding:18px;background:#f8fbfc}.empty-state.compact{margin-top:18px}.empty-state strong{display:block}.metric-shell{display:flex;flex-direction:column;justify-content:space-between}.status-line{margin-top:auto;display:flex;flex-wrap:wrap;gap:16px;padding:13px 32px;color:#627184;background:#fff;border-top:1px solid #dfe6ec;font-size:13px}.app-shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{gap:16px;padding:18px 14px;background:linear-gradient(180deg,#0758c7,#03499f 52%,#03336d)}.brand-block{gap:10px}.brand-mark{width:44px;height:44px;border-width:2px;font-size:15px}.brand{font-size:16px}.sidebar .subtle{margin-top:2px;font-size:11px}.menu{gap:4px}.menu button{min-height:44px;gap:8px;padding:8px 10px}.menu-icon{width:20px;height:20px;font-size:12px}.sidebar-footer{font-size:12px}.topbar{min-height:58px;gap:14px;padding:10px 22px}.topbar h1{font-size:22px}.topbar-user{gap:9px}.avatar{width:34px;height:34px}.ghost-button,.primary-button,.secondary-button{min-height:36px;padding:0 13px}.workbench{gap:12px;padding:14px 18px 18px}.profile-strip{gap:12px;padding:12px 16px}.profile-main p{margin-top:4px}.access-pill{padding:6px 10px;font-size:12px}.dashboard-page,.project-daily-shell,.checkin-page,.performance-page-grid,.upload-page,.daily-work-page{gap:12px}.dashboard-hero{gap:14px;padding:14px 16px;box-shadow:0 8px 18px #34527412}.dashboard-hero-main{gap:5px}.dashboard-hero-main h3{font-size:22px}.dashboard-hero-main p{line-height:1.45}.dashboard-scope-list{gap:8px}.dashboard-scope-list div{gap:3px;padding:8px 10px}.metric-grid,.dashboard-main-grid,.scope-grid,.main-grid,.readonly-mini-grid,.task-contract-grid,.module-summary-grid,.dashboard-entry-grid,.performance-main-grid{gap:10px}.metric-card{min-height:92px;gap:12px;padding:14px 16px;box-shadow:0 8px 18px #34527412}.metric-icon{width:46px;height:46px;border-radius:8px;font-size:18px}.metric-card span{font-size:13px}.metric-card strong{margin-top:5px;font-size:26px}.metric-card small{font-size:13px}.chart-panel,.recent-panel,.rank-panel,.dashboard-todo-panel,.performance-chart-panel,.performance-rank-panel{gap:12px;min-height:320px;padding:14px;box-shadow:0 8px 18px #34527412}.dashboard-task-board{min-height:360px}.dashboard-task-list,.dashboard-todo-list,.rank-list,.performance-rank-list{gap:8px}.dashboard-task-row,.dashboard-todo-card,.project-review-row,.performance-rank-list div{gap:9px;padding:10px}.compact-table-wrap th,.compact-table-wrap td,.table-wrap th,.table-wrap td,.production-list-table th,.production-list-table td,.upload-table th,.upload-table td{padding:9px 10px}.scope-panel,.module-panel,.role-entry-panel,.project-daily-form,.project-review-preview,.project-review-board,.daily-work-dry-run-panel,.daily-work-review-panel,.daily-work-history-panel,.upload-contract-panel,.upload-record-form,.upload-record-panel,.upload-preview-panel,.checkin-form,.checkin-map-panel,.checkin-record-panel,.work-panel{gap:11px;padding:12px 14px}.scope-panel,.work-panel{min-height:104px}.scope-panel strong,.metric-shell strong{margin-top:4px;font-size:18px}.module-summary-card,.task-contract-card{min-height:96px;gap:6px;padding:12px}.module-summary-card strong,.dashboard-entry-card strong{font-size:20px}.module-summary-grid.compact .module-summary-card{min-height:78px}.dashboard-entry-card{min-height:88px;gap:5px;padding:12px}.role-entry-card{min-height:124px;gap:8px;padding:12px}.role-entry-card p{line-height:1.45}.readonly-mini-grid article,.performance-filter-panel div,.performance-chart-detail,.empty-state{padding:10px 12px}.performance-bars{height:170px;gap:8px;padding-top:12px}.checkin-summary-strip{gap:8px}.checkin-summary-strip .module-summary-card{min-height:76px;padding:10px}.checkin-filter-bar,.production-list-filters,.daily-work-filter-fields,.upload-filter-panel,.upload-filter-fields{gap:8px;padding:9px 10px}.checkin-dashboard-panel,.project-daily-layout{gap:10px}.checkin-rule-card,.checkin-trend-card,.checkin-rank-card{gap:9px;padding:10px}.checkin-form input,.checkin-form select,.checkin-form textarea,.daily-work-filter-fields input,.daily-work-filter-fields select,.upload-record-form input,.upload-record-form select,.upload-record-form textarea,.production-list-filters input,.production-list-filters select{min-height:36px;padding:7px 9px}.status-line{gap:12px;padding:8px 18px;font-size:12px}.project-daily-shell{gap:18px}.project-daily-shell>.module-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.project-daily-shell>.module-summary-grid .module-summary-card{min-height:72px;gap:5px;padding:12px 14px;box-shadow:none}.project-daily-shell>.module-summary-grid .module-summary-card span,.project-daily-shell>.module-summary-grid .module-summary-card p{font-size:12px}.project-daily-shell>.module-summary-grid .module-summary-card strong{font-size:22px}.project-daily-shell .page-tabs{display:flex;gap:24px;margin:0;padding:0;border:0;border-bottom:1px solid #dce7f1;border-radius:0;background:transparent}.project-daily-shell .page-tabs button{position:relative;min-height:42px;border:0;border-radius:0;padding:0 2px;color:#667587;background:transparent;font-weight:600;box-shadow:none}.project-daily-shell .page-tabs button:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:999px;background:transparent;content:""}.project-daily-shell .page-tabs button.active{color:#1677ff;background:transparent;box-shadow:none}.project-daily-shell .page-tabs button.active:after{background:#1677ff}.project-review-board{gap:8px;padding:10px 12px}.project-review-board .daily-work-review-heading,.project-daily-form .daily-work-dry-run-heading,.project-review-preview .daily-work-review-heading{align-items:center;gap:10px}.project-review-board .daily-work-review-heading strong,.project-daily-form .daily-work-dry-run-heading strong,.project-review-preview .daily-work-review-heading strong{font-size:15px}.project-review-board .daily-work-review-heading small,.project-daily-form .daily-work-dry-run-heading small,.project-review-preview .daily-work-review-heading small{max-width:420px;text-align:right}.project-review-board table{min-width:880px}.project-review-board .compact-table-wrap th,.project-review-board .compact-table-wrap td{padding:7px 9px}.project-review-actions{min-width:178px}.project-review-actions .ghost-button{min-height:30px;padding:0 9px}.project-daily-layout{grid-template-columns:minmax(560px,1.12fr) minmax(430px,.88fr);align-items:start;gap:14px}.project-daily-form,.project-review-preview{gap:14px;padding:18px 20px;box-shadow:none;border-left-width:1px}.project-daily-form .form-grid,.project-review-inline-form .form-grid{grid-template-columns:minmax(0,1fr) minmax(180px,.55fr) minmax(150px,.45fr) minmax(130px,.4fr);gap:14px}.project-daily-form .project-daily-entry-grid{grid-template-columns:1.2fr 1fr 1fr}.project-daily-form .project-daily-entry-grid .wide-field{grid-column:1 / -1}.project-review-preview{width:100%}.project-review-daily-table table{min-width:920px}.project-review-daily-table th:nth-child(1),.project-review-daily-table td:nth-child(1){width:112px}.project-review-daily-table th:nth-child(2),.project-review-daily-table td:nth-child(2){width:112px}.project-review-daily-table th:nth-child(3),.project-review-daily-table td:nth-child(3){width:260px}.project-review-daily-table th:nth-child(5),.project-review-daily-table td:nth-child(5),.project-review-daily-table th:nth-child(6),.project-review-daily-table td:nth-child(6),.project-review-daily-table th:nth-child(7),.project-review-daily-table td:nth-child(7){width:96px;white-space:nowrap}.project-review-daily-table .project-name-cell{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-daily-form label,.project-review-inline-form label{gap:7px;font-size:13px}.project-daily-form input,.project-daily-form select,.project-daily-form textarea,.project-review-inline-form input,.project-review-inline-form select{min-height:40px;padding:9px 11px}.project-daily-content{gap:4px}.project-daily-content textarea{min-height:112px}.project-daily-content input{min-height:40px}.daily-work-current-record{gap:9px;padding:8px 10px}.daily-work-current-record .ghost-button{min-height:32px;padding:0 10px}.draft-summary{gap:8px;padding:8px 10px;border:1px solid #e5edf3;border-radius:6px;background:#f8fbfc}.project-daily-form>.secondary-button.inline{justify-self:end;min-width:180px}.daily-submit-row .secondary-button.inline{min-width:168px;min-height:40px}.project-review-list{gap:8px}.project-review-row{align-items:center;gap:8px;padding:8px 10px}.project-review-row div{gap:3px}.project-review-row p{max-height:38px;overflow:hidden;line-height:1.45}.project-review-row .table-action-button{min-height:30px;padding:0 10px}.project-review-inline-form{gap:9px;padding-top:9px}.project-review-inline-form .wide-field{grid-column:span 1}.review-integrity-panel{gap:7px;padding:9px 10px}.review-integrity-panel p{margin-top:2px;line-height:1.4}.review-integrity-panel li{padding:3px 7px}.dashboard-page .dashboard-hero{grid-template-columns:minmax(360px,1.05fr) minmax(360px,1fr) auto;padding:12px 14px}.dashboard-page .dashboard-hero-main h3{font-size:21px}.dashboard-page .dashboard-scope-list{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-page .dashboard-scope-list div{padding:7px 8px}.dashboard-page .dashboard-hero-actions{min-width:102px;gap:7px}.dashboard-page .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-page .metric-card{min-height:78px;padding:11px 12px}.dashboard-page .metric-icon{width:38px;height:38px;font-size:15px}.dashboard-page .dashboard-main-grid{grid-template-columns:minmax(560px,1.15fr) minmax(360px,.85fr);gap:10px}.dashboard-page .chart-panel,.dashboard-page .recent-panel,.dashboard-page .rank-panel,.dashboard-page .dashboard-todo-panel{min-height:280px;padding:12px}.dashboard-page .dashboard-task-board{min-height:310px}.dashboard-page .dashboard-task-row{grid-template-columns:minmax(240px,1fr) minmax(160px,210px) minmax(150px,auto);padding:8px 10px}.dashboard-page .dashboard-task-main{gap:3px}.dashboard-page .dashboard-task-actions .ghost-button,.dashboard-page .dashboard-todo-card .ghost-button{min-height:30px;padding:0 9px}.dashboard-page .chart-panel{min-height:340px}.dashboard-page .bar-chart{min-height:150px}.dashboard-page .chart-summary{margin-top:0}.dashboard-page .rank-list{gap:7px}.dashboard-page .rank-row{grid-template-columns:24px minmax(130px,1fr) minmax(80px,120px) 38px;gap:8px}.dashboard-page .role-entry-panel{padding:10px 12px}.dashboard-page .role-entry-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dashboard-page .role-entry-card{min-height:92px;padding:10px}.dashboard-page .dashboard-entry-grid{gap:8px}.dashboard-page .dashboard-entry-card{min-height:72px;padding:9px 10px}.checkin-page{gap:10px}.checkin-page>.panel-heading{align-items:center}.checkin-summary-strip{grid-template-columns:repeat(7,minmax(100px,1fr))}.checkin-summary-strip .module-summary-card{min-height:66px;gap:3px;padding:8px 9px}.checkin-summary-strip .module-summary-card strong{font-size:18px}.checkin-filter-bar{grid-template-columns:minmax(180px,1.1fr) minmax(130px,.7fr) minmax(140px,.7fr) minmax(180px,1fr) auto;padding:8px 10px}.checkin-filter-bar label{gap:4px;font-size:12px}.checkin-filter-bar input,.checkin-filter-bar select{min-height:34px;padding:7px 9px}.checkin-dashboard-panel{grid-template-columns:minmax(210px,.9fr) minmax(270px,1.2fr) repeat(2,minmax(190px,.95fr));gap:8px}.checkin-rule-card,.checkin-trend-card,.checkin-rank-card{min-height:132px;padding:9px 10px}.checkin-rule-card dl,.checkin-bar-list,.checkin-rank-list{gap:6px}.checkin-workspace{grid-template-columns:clamp(280px,22vw,340px) minmax(0,1fr);gap:10px}.checkin-form,.checkin-map-panel,.checkin-record-panel{padding:10px 12px}.checkin-form label,.checkin-review-form label{gap:4px;font-size:12px}.checkin-form input,.checkin-form select,.checkin-form textarea,.checkin-review-form select,.checkin-review-form textarea{min-height:34px;padding:7px 9px}.checkin-form textarea,.checkin-review-form textarea{min-height:74px}.checkin-actions{gap:7px}.checkin-actions .primary-button,.checkin-actions .secondary-button{min-height:34px}.checkin-map{min-height:clamp(500px,60vh,700px)}.checkin-coordinate-readout{gap:8px}.checkin-coordinate-readout div{padding:8px 9px}.checkin-record-list{gap:8px}.checkin-record-card{gap:6px;padding:9px 10px}.checkin-record-card .ghost-button{min-height:30px;padding:0 10px}.checkin-review-form{gap:8px;padding:9px 10px}.upload-records-page{gap:10px}.upload-overview-grid{grid-template-columns:minmax(420px,.95fr) minmax(500px,1.05fr);gap:10px}.upload-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.upload-summary-card{min-height:74px;gap:4px;padding:9px 10px}.upload-summary-card strong{font-size:20px}.upload-summary-card p{font-size:12px;line-height:1.35}.upload-contract-panel{gap:8px;padding:10px 12px}.upload-contract-panel p{line-height:1.4}.upload-contract-panel dl{gap:8px}.upload-contract-panel dl div{padding:8px 9px}.upload-filter-panel,.upload-record-form,.upload-detail-panel{gap:9px;padding:10px 12px}.upload-section-title,.upload-record-form-heading,.upload-map-heading,.upload-map-modal-heading{align-items:center}.upload-record-form .form-grid{grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px}.upload-record-form label{gap:4px;font-size:12px}.upload-file-picker{gap:4px;padding:9px 10px}.upload-file-picker input[type=file],.upload-record-form input,.upload-record-form select,.upload-review-actions input,.upload-review-actions select,.upload-resubmit-note textarea{min-height:34px;padding:7px 9px}.upload-record-workspace{grid-template-columns:minmax(620px,1.45fr) minmax(400px,.9fr);gap:10px}.upload-record-workspace .table-wrap th,.upload-record-workspace .table-wrap td{padding:7px 8px}.upload-detail-panel{position:sticky;top:72px}.upload-review-panel,.upload-trace-panel,.upload-map-panel{gap:8px;padding:9px 10px}.upload-review-actions{grid-template-columns:minmax(110px,.7fr) minmax(160px,1.2fr) minmax(160px,1fr);gap:8px}.upload-map-canvas{min-height:430px}.upload-map-canvas-large{min-height:580px}.upload-map-empty{padding:9px 10px}.upload-trace-grid{gap:7px}.performance-ledger{gap:10px}.performance-toolbar{align-items:center;gap:12px;padding:11px 12px}.performance-toolbar h3{font-size:19px}.performance-toolbar-actions{grid-template-columns:auto minmax(160px,190px) repeat(3,auto);gap:8px}.performance-toolbar-actions label{gap:4px;font-size:12px}.performance-toolbar-actions input{min-height:34px}.performance-summary-band{gap:8px}.performance-summary-band article{min-height:78px;gap:4px;padding:9px 10px}.performance-summary-band strong{font-size:20px}.performance-price-panel,.performance-filter-panel,.performance-chart-panel,.performance-rank-panel{gap:9px;padding:10px 12px}.performance-price-heading{align-items:center}.performance-price-list{gap:8px}.performance-price-list article{grid-template-columns:minmax(130px,1fr) minmax(100px,130px) auto;gap:8px;padding:9px 10px}.performance-price-list input,.performance-filter-panel input,.performance-filter-panel select{min-height:34px}.performance-filter-panel{grid-template-columns:minmax(200px,1fr) minmax(160px,210px) minmax(160px,210px) auto}.performance-main-grid{grid-template-columns:minmax(520px,1.25fr) minmax(340px,.75fr);gap:10px}.performance-chart-panel,.performance-rank-panel{min-height:260px}.performance-bars{height:150px;gap:6px;padding-top:10px}.performance-chart-detail{grid-template-columns:minmax(140px,1fr) minmax(180px,1fr) auto;padding:8px 10px}.performance-rank-list div{min-height:40px;padding:7px 9px}.performance-workbench .profile-strip{min-height:58px;padding:9px 14px}.performance-workbench .profile-main{gap:2px}.performance-workbench .profile-main h2{font-size:20px}.performance-workbench .profile-main p:not(.eyebrow){font-size:13px}.performance-ledger{grid-template-columns:minmax(640px,1fr) minmax(320px,.44fr);align-items:start}.performance-toolbar,.performance-filter-panel,.performance-summary-band{grid-column:1 / -1}.performance-toolbar{display:grid;grid-template-columns:minmax(360px,1fr) auto;padding:9px 12px}.performance-toolbar h3{font-size:20px;line-height:1.25}.performance-toolbar span{line-height:1.35}.performance-toolbar-actions{grid-template-columns:auto minmax(145px,170px) repeat(3,auto);align-items:center}.performance-toolbar-actions .secondary-button{min-height:34px;padding:0 12px}.performance-filter-panel{grid-template-columns:minmax(260px,1fr) minmax(180px,240px) minmax(180px,220px) auto;padding:9px 12px}.performance-filter-panel div{min-height:34px;padding:6px 10px}.performance-summary-band{grid-template-columns:repeat(5,minmax(0,1fr))}.performance-summary-band article{min-height:62px;align-content:center;box-shadow:none}.performance-summary-band p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.performance-main-grid{grid-column:1;grid-template-columns:1fr;gap:8px}.performance-price-panel{grid-column:2;grid-row:4 / span 2;max-height:590px;overflow:hidden}.performance-price-heading{align-items:flex-start}.performance-price-heading h3{font-size:17px}.performance-price-heading span{display:block;max-width:640px;line-height:1.35}.performance-price-list{max-height:480px;overflow-y:auto;grid-template-columns:1fr}.performance-price-list article{grid-template-columns:minmax(0,1fr) 88px 52px;align-items:center;min-height:50px;padding:7px 8px}.performance-price-list input{min-height:30px;padding:5px 8px}.performance-price-list .secondary-button{min-height:30px;padding:0 9px}.performance-chart-panel,.performance-rank-panel{min-height:0;padding:10px 12px}.performance-chart-panel{gap:8px}.performance-rank-panel{display:none}.performance-bars{height:auto;display:grid;align-items:stretch;gap:7px;border-bottom:0;padding:0;background:transparent}.performance-bar-button{min-height:34px;display:grid;grid-template-columns:minmax(82px,.22fr) minmax(170px,1fr) minmax(86px,auto);align-items:center;gap:10px;border:1px solid #dfe8f3;border-radius:6px;padding:6px 8px;color:#10233d;background:#fbfdff;text-align:left}.performance-bar-button i{height:9px;display:block;overflow:hidden;border-radius:999px;background:#e6edf5}.performance-bar-button i em{width:var(--bar-percent);height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#1677ff,#22a66b)}.performance-bar-button strong{color:#1261d8;font-size:14px;text-align:right}.performance-bar-name{position:static;width:auto;height:auto;overflow:hidden;clip:auto;color:#10233d;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.performance-bar-button:hover,.performance-bar-button:focus-visible,.performance-bar-button.active{transform:none}.performance-bar-button.active{border-color:#7bb5ff;background:#eef6ff}.performance-bar-button.active i em{background:linear-gradient(90deg,#f5a623,#1677ff)}.performance-chart-detail{grid-template-columns:minmax(130px,.8fr) minmax(200px,1fr) auto}.performance-rank-list>div{min-height:42px;display:grid;grid-template-columns:26px minmax(0,1fr) minmax(84px,auto);align-items:center;gap:8px;border:1px solid #e5edf3;border-radius:6px;padding:7px 9px;background:#f8fbfc}.performance-rank-list>div>div{min-height:0;display:grid;gap:2px;border:0;padding:0;background:transparent}.performance-rank-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.performance-people-table,.performance-detail-table{grid-column:1 / -1}.performance-people-table th,.performance-people-table td,.performance-detail-table th,.performance-detail-table td{padding:7px 9px}.table-note{margin:8px 10px 10px;color:#667587;font-size:12px}.project-panel{display:grid;gap:10px;padding:12px 14px}.project-panel .panel-heading{align-items:center}.project-panel .readonly-mini-grid article,.project-panel .module-summary-card{min-height:70px;padding:9px 10px}.project-panel .table-wrap th,.project-panel .table-wrap td{padding:7px 8px}.scope-grid{gap:10px}.scope-panel{min-height:92px;padding:10px 12px}.scope-panel p{margin:5px 0 0;line-height:1.42}.dashboard-page{overflow:hidden}.dashboard-page .dashboard-hero,.dashboard-page .metric-grid,.dashboard-page .dashboard-main-grid,.dashboard-page .dashboard-entry-panel{min-width:0}.dashboard-page .dashboard-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr) auto}.dashboard-page .dashboard-scope-list{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page .dashboard-main-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.62fr);align-items:start}.dashboard-page .dashboard-main-grid>section{min-width:0;overflow:hidden}.dashboard-page .dashboard-task-board{min-height:0}.dashboard-page .dashboard-task-list{max-height:530px;overflow-y:auto;padding-right:2px}.dashboard-page .dashboard-task-row{grid-template-columns:minmax(0,1fr) minmax(130px,170px) auto;gap:8px}.dashboard-page .dashboard-task-main,.dashboard-page .dashboard-task-meta,.dashboard-page .dashboard-todo-card div,.dashboard-page .rank-main{min-width:0}.dashboard-page .dashboard-task-main small,.dashboard-page .dashboard-task-meta small,.dashboard-page .rank-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page .dashboard-task-actions{width:88px;justify-content:flex-end;gap:5px}.dashboard-page .dashboard-task-actions .ghost-button{min-width:38px}.dashboard-page .dashboard-todo-card{grid-template-columns:minmax(0,1fr) auto;gap:8px}.dashboard-page .dashboard-todo-card .state-pill{justify-self:end}.dashboard-page .dashboard-todo-card .ghost-button{grid-column:1 / -1;justify-self:end}.dashboard-page .chart-panel{min-height:0}.dashboard-page .bar-chart{height:190px;min-height:0;gap:6px;overflow:hidden}.dashboard-page .chart-bar-button{min-width:4px}.dashboard-page .chart-selected-detail{grid-template-columns:minmax(120px,1fr) repeat(3,minmax(92px,.8fr));overflow:hidden}.dashboard-page .chart-record-panel{max-height:170px;overflow:hidden}.dashboard-page .chart-record-list{max-height:108px}.dashboard-page .rank-panel{min-height:0}.dashboard-page .rank-list{max-height:350px;overflow-y:auto}.dashboard-page .rank-row{grid-template-columns:26px minmax(0,1fr) minmax(84px,120px) 42px}.dashboard-page .progress-track{min-width:0}.dashboard-page .role-entry-panel.dashboard-entry-panel{display:grid;gap:10px;background:#fff}.dashboard-page .role-entry-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-page .role-entry-card{min-height:76px;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-color:#dfe8f3;background:#fbfdff}.dashboard-page .role-entry-card div{gap:3px}.dashboard-page .role-entry-card strong{font-size:17px}.dashboard-page .role-entry-card p{grid-column:1 / -1;color:#5f6f80;font-size:12px;line-height:1.42}.dashboard-page .dashboard-entry-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dashboard-page .dashboard-entry-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:58px}.dashboard-page .dashboard-entry-card span{grid-column:1}.dashboard-page .dashboard-entry-card strong{grid-column:1;font-size:19px}.dashboard-page .dashboard-entry-card p{grid-column:1 / -1;line-height:1.35}.dashboard-page{gap:10px}.dashboard-page .dashboard-hero{padding:8px 10px}.dashboard-page .dashboard-hero-main h3{font-size:22px}.dashboard-page .dashboard-hero-main p:not(.eyebrow){max-width:none;line-height:1.35}.dashboard-page .dashboard-hero-actions{gap:6px}.dashboard-page .metric-grid{gap:8px}.dashboard-page .metric-card{min-height:64px;padding:9px 10px}.dashboard-page .metric-icon{width:36px;height:36px;border-radius:8px}.dashboard-page .metric-card strong{font-size:22px}.dashboard-page .dashboard-main-grid{grid-template-columns:minmax(360px,1.05fr) minmax(260px,.72fr) minmax(260px,.72fr);grid-auto-rows:minmax(0,auto);gap:8px}.dashboard-page .dashboard-task-board{grid-column:1;grid-row:1 / span 2;max-height:520px}.dashboard-page .rank-panel{grid-column:3;grid-row:1}.dashboard-page .chart-panel{grid-column:2 / span 2;grid-row:2}.dashboard-page .dashboard-task-board,.dashboard-page .dashboard-todo-panel,.dashboard-page .rank-panel,.dashboard-page .chart-panel{gap:8px;padding:10px}.dashboard-page .dashboard-task-board>.panel-heading,.dashboard-page .dashboard-todo-panel>.panel-heading,.dashboard-page .rank-panel>.panel-heading,.dashboard-page .chart-panel>.panel-heading{min-height:42px;align-items:start;gap:8px}.dashboard-page .dashboard-task-board>.panel-heading h3,.dashboard-page .dashboard-todo-panel>.panel-heading h3,.dashboard-page .rank-panel>.panel-heading h3,.dashboard-page .chart-panel>.panel-heading h3{margin:0;font-size:18px;line-height:1.25}.dashboard-page .dashboard-task-board>.panel-heading .eyebrow,.dashboard-page .dashboard-todo-panel>.panel-heading .eyebrow,.dashboard-page .rank-panel>.panel-heading .eyebrow,.dashboard-page .chart-panel>.panel-heading .eyebrow{margin:0 0 4px;line-height:1.2}.dashboard-page .dashboard-task-board>.panel-heading .ghost-button,.dashboard-page .dashboard-todo-panel>.panel-heading .state-pill,.dashboard-page .rank-panel>.panel-heading .ghost-button,.dashboard-page .chart-panel>.panel-heading .ghost-button{min-height:32px;align-self:start}.dashboard-page .dashboard-task-list{max-height:445px}.dashboard-page .dashboard-task-row{min-height:54px;padding:7px 8px}.dashboard-page .dashboard-task-main strong,.dashboard-page .dashboard-todo-card strong,.dashboard-page .rank-main strong{font-size:15px}.dashboard-page .dashboard-task-actions{width:82px}.dashboard-page .dashboard-task-actions .ghost-button,.dashboard-page .dashboard-todo-card .ghost-button{min-height:28px;padding:0 8px}.dashboard-page .dashboard-todo-panel,.dashboard-page .rank-panel{min-height:218px;max-height:244px}.dashboard-page .dashboard-todo-list,.dashboard-page .rank-list{max-height:165px;overflow-y:auto}.dashboard-page .dashboard-todo-card{padding:7px 8px}.dashboard-page .rank-row{min-height:34px;padding:5px 0}.dashboard-page .chart-panel{min-height:330px;max-height:370px}.dashboard-page .chart-panel-actions{gap:6px}.dashboard-page .chart-panel-actions label{min-width:136px}.dashboard-page .chart-panel-scroll{max-height:212px}.dashboard-page .line-chart{height:142px}.dashboard-page .line-chart-scroll{min-height:0}.dashboard-page .chart-selected-detail{min-height:38px;padding:7px 8px}.dashboard-page .chart-record-panel{max-height:88px;padding:7px 8px}.dashboard-page .chart-record-list{max-height:46px}.dashboard-page .chart-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-page .chart-summary div{padding:7px 8px}.dashboard-page .dashboard-entry-panel{padding:8px 10px}.dashboard-page .dashboard-entry-panel .panel-heading{align-items:center}.dashboard-page .role-entry-grid{grid-template-columns:repeat(auto-fit,minmax(156px,1fr))}.dashboard-page .role-entry-card{min-height:56px;padding:8px 9px}.dashboard-page .role-entry-card strong{font-size:16px}.dashboard-page .role-entry-card p{display:none}.dashboard-page .dashboard-entry-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.dashboard-page .dashboard-entry-card{min-height:48px;padding:7px 9px}.dashboard-page .dashboard-entry-card strong{font-size:18px}.dashboard-page .dashboard-entry-card p{display:none}.app-shell{background:linear-gradient(180deg,#ffffff52,#fff0 240px),var(--production-page-bg)}.workspace{background:linear-gradient(90deg,#0c46870a 0,#0c468700 180px),var(--production-page-bg)}.sidebar{border-right:1px solid rgba(201,231,255,.26);background:linear-gradient(180deg,#ffffff0f,#fff0 22%),linear-gradient(180deg,#075ecf,#04499e 52%,#022e65);box-shadow:7px 0 18px #022c6033}.menu button{border:1px solid transparent}.menu button:hover{background:#ffffff1a}.menu button.active{border-color:#fff3;background:#1d7bff;box-shadow:inset 3px 0 #ffffff8c,0 8px 14px #002d7038}.topbar{border-bottom:1px solid var(--production-border-strong);background:#fff;box-shadow:0 4px 14px #233e5817}.workbench{background:transparent}.status-line{border-top-color:var(--production-border-strong);background:#f8fbfe}.profile-strip,.scope-panel,.module-panel,.project-panel,.work-panel,.dashboard-hero,.metric-card,.chart-panel,.recent-panel,.rank-panel,.dashboard-todo-panel,.dashboard-entry-panel,.role-entry-panel,.project-daily-form,.project-review-board,.project-review-preview,.daily-work-dry-run-panel,.daily-work-review-panel,.daily-work-history-panel,.upload-contract-panel,.upload-record-form,.upload-record-panel,.upload-preview-panel,.upload-filter-panel,.upload-detail-panel,.upload-review-panel,.upload-trace-panel,.upload-map-panel,.checkin-form,.checkin-map-panel,.checkin-record-panel,.checkin-rule-card,.checkin-trend-card,.checkin-rank-card,.performance-toolbar,.performance-summary-band article,.performance-price-panel,.performance-filter-panel,.performance-chart-panel,.performance-rank-panel,.module-summary-card,.readonly-mini-grid article,.task-contract-card,.contract-status-card,.employee-task-panel{border:1px solid var(--production-border);background:var(--production-panel-bg);box-shadow:var(--production-shadow)}.profile-strip,.dashboard-hero,.module-panel,.project-panel,.work-panel,.project-daily-form,.project-review-board,.upload-record-form,.upload-detail-panel,.checkin-form,.checkin-map-panel,.performance-toolbar,.performance-price-panel,.performance-filter-panel,.performance-chart-panel{border-top-color:var(--production-border-strong)}.panel-heading,.upload-section-title,.upload-record-form-heading,.upload-map-heading,.upload-map-modal-heading,.daily-work-dry-run-heading,.daily-work-review-heading,.performance-price-heading{min-height:34px;align-items:center;border-bottom:1px solid #e2ebf3;padding-bottom:8px}.panel-heading h3,.upload-section-title strong,.upload-record-form-heading strong,.upload-map-heading strong,.daily-work-dry-run-heading strong,.daily-work-review-heading strong,.performance-price-heading h3{color:var(--production-ink)}.eyebrow,.subtle,.profile-main p,.module-summary-card p,.scope-panel p,.dashboard-entry-card p,.role-entry-card p,.performance-summary-band p,.upload-summary-card p,.upload-contract-panel p{color:var(--production-muted)}.module-summary-card,.readonly-mini-grid article,.task-contract-card,.dashboard-entry-card,.dashboard-task-row,.dashboard-todo-card,.rank-row,.performance-bar-button,.performance-rank-list>div,.project-review-row,.checkin-record-card,.upload-summary-card,.upload-contract-panel dl div,.upload-detail-grid div,.upload-trace-grid div{border-color:#d9e4ee;background:#f9fcff}.module-summary-card strong,.dashboard-entry-card strong,.scope-panel strong,.metric-card strong,.performance-summary-band strong,.upload-summary-card strong{color:var(--production-ink)}.ghost-button{border:1px solid #d8e2ec;color:#123250;background:#edf3f8}.ghost-button:hover{border-color:#bed0e2;background:#e5eef6}.primary-button{background:#176fdf;box-shadow:0 6px 12px #1268dd2e}.secondary-button{border:1px solid #c9d8e6;background:#f1f6fb}input,select,textarea{border-color:#bfd0df;color:var(--production-ink);background:#fff}input:focus,select:focus,textarea:focus{border-color:#4b91e8;outline:2px solid rgba(22,119,255,.14);outline-offset:0}.table-wrap,.compact-table-wrap,.upload-record-workspace .table-wrap,.project-review-board .compact-table-wrap{border:1px solid var(--production-border);border-radius:7px;background:#fff;box-shadow:inset 0 1px #ffffffb8}.table-wrap th,.compact-table-wrap th,.production-list-table th,.upload-table th{border-bottom:1px solid var(--production-border-strong);color:#314b68;background:var(--production-panel-head)}.table-wrap td,.compact-table-wrap td,.production-list-table td,.upload-table td{border-bottom:1px solid #e3ebf3}.table-wrap tr:hover td,.compact-table-wrap tr:hover td,.upload-table tr:hover td{background:#f5faff}.empty-state{border-color:#c5d5e5;background:#f8fbfe}.dashboard-page .dashboard-main-grid{grid-template-columns:minmax(420px,.95fr) minmax(300px,.65fr) minmax(360px,.85fr);gap:10px}.dashboard-page .dashboard-task-board{grid-column:1;grid-row:1 / span 2;max-height:500px}.dashboard-page .chart-panel{grid-column:3;grid-row:1 / span 2;max-height:500px}.dashboard-page .dashboard-todo-panel{grid-column:2;grid-row:1}.dashboard-page .rank-panel{grid-column:2;grid-row:2}.dashboard-page .chart-panel,.dashboard-page .dashboard-task-board,.dashboard-page .dashboard-todo-panel,.dashboard-page .rank-panel{overflow:hidden}.dashboard-page .dashboard-task-list{max-height:418px}.dashboard-page .chart-panel-scroll{max-height:265px}.dashboard-page .line-chart{height:170px}.dashboard-page .chart-record-panel{max-height:96px}.dashboard-page .role-entry-panel.dashboard-entry-panel{border-left:3px solid #2a7de8}.dashboard-page .role-entry-card{box-shadow:none}.project-daily-form,.project-review-preview{border-left:1px solid var(--production-border)}.project-daily-form .form-grid,.project-review-inline-form .form-grid{align-items:end}.project-daily-content textarea{min-height:98px}.checkin-map-panel,.upload-map-panel{border-left:3px solid #1f9f70}.checkin-map,.upload-map-canvas,.upload-map-canvas-large{border-color:var(--production-border-strong);background-color:#eef5fb}.performance-ledger{max-width:none}.performance-toolbar,.performance-filter-panel,.performance-summary-band{border-color:var(--production-border)}.performance-price-panel{border-left:3px solid #2a7de8}.performance-chart-panel{border-left:3px solid #1f9f70}.performance-price-list article{border-color:#d8e4ef;background:#f9fcff;box-shadow:none}.performance-detail-table,.performance-people-table{border-color:var(--production-border)}.upload-record-workspace{align-items:start}.upload-detail-panel{border-left:3px solid #2a7de8}.upload-record-workspace tr.selected td{background:#eaf7f0}.state-pill{border:1px solid rgba(0,0,0,.04)}.checkin-page{display:grid}.checkin-filter-bar{order:1}.checkin-insight-panel{order:2;display:grid;grid-template-columns:minmax(520px,.92fr) minmax(720px,1.35fr);gap:8px;border:1px solid var(--production-border);border-radius:8px;padding:8px;background:#fff;box-shadow:var(--production-shadow)}.checkin-workspace{order:3;grid-template-columns:clamp(280px,22vw,340px) minmax(0,1fr);gap:10px}.checkin-summary-strip{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:6px}.checkin-dashboard-panel{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(260px,1.05fr) repeat(2,minmax(180px,.8fr));gap:6px}.checkin-summary-strip .module-summary-card{min-height:54px;gap:1px;padding:7px 8px;box-shadow:none}.checkin-summary-strip .module-summary-card span{font-size:11px}.checkin-summary-strip .module-summary-card strong{font-size:18px;line-height:1.15}.checkin-summary-strip .module-summary-card p{display:none}.checkin-insight-panel .checkin-rule-card,.checkin-insight-panel .checkin-trend-card,.checkin-insight-panel .checkin-rank-card{min-height:72px;gap:5px;padding:7px 8px;box-shadow:none}.checkin-insight-panel .panel-heading{min-height:0;border-bottom:0;padding-bottom:0}.checkin-insight-panel .panel-heading h3,.checkin-insight-panel .checkin-rule-card h3{font-size:14px;line-height:1.2}.checkin-insight-panel .eyebrow{margin-bottom:2px}.checkin-insight-panel .checkin-rule-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.checkin-insight-panel .checkin-rule-card dl div{display:grid;gap:1px;border-bottom:0;border-radius:6px;padding:5px 6px;background:#f6f9fc}.checkin-insight-panel .checkin-rule-card dt,.checkin-insight-panel .checkin-rule-card dd{font-size:11px}.checkin-insight-panel .checkin-rule-card p{display:none}.checkin-insight-panel .checkin-bar-list,.checkin-insight-panel .checkin-rank-list{max-height:48px;overflow-y:auto;gap:4px}.checkin-insight-panel .checkin-bar-row{grid-template-columns:64px minmax(70px,1fr) 24px;gap:5px;font-size:11px}.checkin-insight-panel .checkin-rank-list div{min-height:32px;gap:1px;padding:5px 6px}.checkin-insight-panel .checkin-rank-list strong,.checkin-insight-panel .checkin-rank-list span{font-size:11px}.checkin-form{gap:8px}.checkin-form input[readonly]{color:#42536a;background:#f3f7fb}.checkin-trust-note{margin:0;border:1px solid #cfe2f3;border-radius:6px;padding:8px 9px;color:#38536f;background:#f3f9ff;font-size:12px;line-height:1.45}.checkin-map-panel{border-left-width:4px}.checkin-map{min-height:clamp(500px,60vh,700px);cursor:grab}.checkin-map:active{cursor:grabbing}.checkin-map-marker.draft{background:#1f9f70}.checkin-record-panel{max-height:none;overflow:visible}.checkin-record-list{max-height:none;overflow-y:visible;padding-right:2px}.checkin-review-form{border-top:1px solid #e2ebf3;padding-top:10px}.checkin-review-form .secondary-button{width:100%;min-height:38px}@media (max-width: 1280px) and (min-width: 921px){.dashboard-page .dashboard-main-grid{grid-template-columns:minmax(340px,1fr) minmax(260px,.8fr)}.dashboard-page .dashboard-task-board{grid-column:1;grid-row:1 / span 2}.dashboard-page .dashboard-todo-panel{grid-column:2;grid-row:1}.dashboard-page .rank-panel{grid-column:2;grid-row:2}.dashboard-page .chart-panel{grid-column:1 / -1;grid-row:3;max-height:none}.dashboard-page .bar-chart{height:150px}}@media (max-width: 920px){.app-shell{grid-template-columns:1fr}.sidebar{gap:18px}.menu{grid-template-columns:repeat(2,minmax(0,1fr))}.login-layout,.dashboard-hero,.metric-grid,.dashboard-main-grid,.dashboard-task-row,.scope-grid,.readonly-grid,.readonly-mini-grid,.dashboard-entry-grid,.people-grid,.task-contract-grid,.module-summary-grid,.module-summary-grid.compact,.task-flow,.task-draft-form .form-grid,.task-filter-fields,.daily-work-dry-run-panel .form-grid,.daily-work-review-panel .form-grid,.daily-work-scope-grid,.project-daily-layout,.checkin-insight-panel,.checkin-workspace,.checkin-filter-bar,.checkin-dashboard-panel,.checkin-coordinate-grid,.checkin-coordinate-readout,.task-detail-hero,.task-detail-metrics,.task-detail-grid,.task-checkin-layout,.task-detail-assignment-form,.upload-overview-grid,.upload-summary-strip,.upload-contract-panel,.upload-contract-panel dl,.upload-filter-panel,.upload-filter-fields,.upload-record-workspace,.upload-detail-grid,.upload-review-actions,.upload-resubmit-actions,.upload-trace-grid,.upload-record-form .form-grid,.upload-version-list li,.upload-empty-flow,.employee-task-panel,.task-draft-result dl,.contract-status-grid,.production-list-filters,.performance-summary-band,.performance-main-grid,.performance-filter-panel,.module-result dl,.main-grid,.performance-page-grid,.performance-toolbar,.performance-toolbar-actions,.daily-work-status-tabs,.daily-work-filter-fields,.project-daily-form .project-daily-entry-grid{grid-template-columns:1fr}.daily-submit-row{align-items:stretch;flex-direction:column}.daily-submit-row .secondary-button.inline{width:100%}.performance-toolbar{display:grid}.work-panel.span-2{grid-column:span 1}.upload-filter-buttons,.upload-heading-actions,.upload-review-buttons,.dashboard-task-actions,.upload-row-secondary-actions{justify-content:flex-start}.geo-login-layout{width:min(760px,calc(100% - 40px));grid-template-columns:1fr;margin:32px auto}.login-visual-panel{min-height:420px}.login-access-card{align-self:stretch}}@media (max-width: 560px){.topbar,.workbench,.status-line{padding-left:18px;padding-right:18px}.topbar,.profile-strip{align-items:flex-start;flex-direction:column}.login-layout{width:calc(100% - 24px);margin:24px auto}.login-panel,.login-aside{padding:20px}.geo-login-layout{width:calc(100% - 24px)}.login-visual-panel{min-height:390px;padding:20px}.geo-visual-heading strong{font-size:24px}.geo-map-stage{min-height:230px}.geo-telemetry{grid-template-columns:1fr}.upload-record-form-heading,.upload-section-title,.upload-version-heading{align-items:flex-start;flex-direction:column}.upload-row-actions{min-width:0}.checkin-map{min-height:320px}.dashboard-scope-list,.dashboard-todo-card{grid-template-columns:1fr}.dashboard-hero-actions{grid-template-columns:1fr 1fr}}@media (max-width: 1280px) and (min-width: 921px){.geo-login-layout{grid-template-columns:minmax(360px,1fr) minmax(340px,430px)}.login-access-card{grid-column:1 / -1;align-self:stretch}.login-access-card ul{grid-template-columns:repeat(3,minmax(0,1fr));padding-left:0}}@media (prefers-reduced-motion: reduce){.geo-grid-layer,.geo-contour,.geo-track,.geo-scan-line,.geo-point{animation:none}}@media print{.sidebar,.topbar,.status-line,.performance-toolbar-actions,.performance-filter-panel{display:none!important}.app-shell,.workspace,.workbench{display:block;padding:0;background:#fff}.performance-ledger,.performance-toolbar,.performance-summary-band article,.performance-chart-panel,.performance-rank-panel,.table-wrap{box-shadow:none;break-inside:avoid}}.svg-icon{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.menu-icon{display:inline-flex;align-items:center;justify-content:center}.topbar{min-height:64px}.topbar-user{gap:12px}.topbar-user-copy{display:grid;gap:2px;min-width:0}.topbar-user-copy strong{color:#e8f7ff;font-size:14px;line-height:1.2}.topbar-user-copy small{color:#b7dbedb8;font-size:12px;white-space:nowrap}.permission-page{display:grid;gap:18px}.permission-description{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.permission-description>div{min-height:86px;padding:16px;border:1px solid rgba(34,211,238,.18);border-radius:16px;background:#0418289e}.permission-description dt{color:#b7dbedb8;font-size:12px;margin-bottom:8px}.permission-description dd{margin:0;color:#e8f7ff;line-height:1.7}.permission-badge-list{display:flex;flex-wrap:wrap;gap:8px}.permission-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;border:1px solid rgba(148,163,184,.24)}.permission-badge.enabled{color:#7dd3fc;border-color:#0ea5e980;background:#0ea5e91f}.permission-badge.disabled{color:#b7dbed94;background:#0f172a6b}.dashboard-hero{align-items:center;grid-template-columns:minmax(0,1fr) auto;min-height:auto;padding:20px 22px}.dashboard-hero-main p{max-width:620px}.tab-switcher{display:inline-flex;flex-wrap:wrap;gap:8px;padding:6px;border:1px solid rgba(34,211,238,.18);border-radius:14px;background:#02101c8f}.page-tabs{margin:4px 0 14px}.tab-switcher button{border:0;border-radius:10px;padding:8px 14px;color:#cbf1ffc7;background:transparent;cursor:pointer}.tab-switcher button.active{color:#e8f7ff;background:linear-gradient(135deg,#0ea5e952,#06b6d433);box-shadow:inset 0 0 0 1px #7dd3fc47}.compact-filter-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,260px) auto;gap:12px;align-items:end;margin-bottom:14px}.simplified-record-panel{display:grid;gap:12px}.checkin-location-status{margin:-4px 0 10px;color:#b7dbedc2;font-size:13px}.compact-location-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.checkin-dashboard-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.upload-records-page .upload-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.performance-risk-note{display:flex;gap:12px;align-items:center;margin:12px 0;padding:10px 14px;border:1px solid rgba(245,158,11,.24);border-radius:14px;color:#ffedd5d6;background:#78350f2e}.performance-risk-note p{margin:0}.performance-price-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:28px;background:#000812a3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.performance-price-modal .performance-price-panel{width:min(980px,100%);max-height:min(760px,calc(100vh - 56px));overflow:auto;box-shadow:0 24px 80px #00000073}.performance-price-heading-actions{display:flex;align-items:center;gap:10px}@media (max-width: 920px){.permission-description,.compact-filter-toolbar,.compact-location-fields,.checkin-dashboard-panel,.upload-records-page .upload-summary-strip,.dashboard-hero{grid-template-columns:1fr}}.dashboard-page{gap:12px;min-width:0;padding-bottom:24px}.dashboard-page .dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:auto;padding:10px 12px;border-radius:12px}.dashboard-page .dashboard-hero-main{min-width:0}.dashboard-page .dashboard-hero-main h3,.dashboard-page .dashboard-hero-main .eyebrow{display:none}.dashboard-page .dashboard-hero-main p{margin:0;max-width:none;color:#cbf1ffc7;font-size:14px;line-height:1.45}.dashboard-page .dashboard-hero-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.dashboard-page .dashboard-hero-actions .primary-button,.dashboard-page .dashboard-hero-actions .ghost-button{min-height:30px;padding:0 12px;font-size:14px}.dashboard-page .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dashboard-page .metric-card{min-height:64px;padding:10px 12px;gap:10px;border-radius:12px}.dashboard-page .metric-icon{width:38px;height:38px;border-radius:10px;font-size:15px}.dashboard-page .metric-card span{font-size:14px}.dashboard-page .metric-card strong{margin-top:4px;font-size:23px}.dashboard-page .metric-card small{font-size:14px}.dashboard-page .dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-areas:"projects todo" "trend rank";gap:12px;align-items:stretch}.dashboard-page .dashboard-task-board{grid-area:projects}.dashboard-page .dashboard-todo-panel{grid-area:todo}.dashboard-page .chart-panel{grid-area:trend}.dashboard-page .rank-panel{grid-area:rank}.dashboard-page .dashboard-task-board,.dashboard-page .dashboard-todo-panel,.dashboard-page .chart-panel,.dashboard-page .rank-panel{grid-column:auto;grid-row:auto;min-height:0;max-height:none;overflow:visible;padding:14px;gap:10px;border-radius:12px}.dashboard-page .dashboard-task-board>.panel-heading,.dashboard-page .dashboard-todo-panel>.panel-heading,.dashboard-page .chart-panel>.panel-heading,.dashboard-page .rank-panel>.panel-heading{min-height:0;align-items:center;gap:10px}.dashboard-page .dashboard-task-board>.panel-heading h3,.dashboard-page .dashboard-todo-panel>.panel-heading h3,.dashboard-page .chart-panel>.panel-heading h3,.dashboard-page .rank-panel>.panel-heading h3{font-size:18px}.dashboard-page .dashboard-task-list,.dashboard-page .dashboard-todo-list,.dashboard-page .rank-list,.dashboard-page .chart-panel-scroll,.dashboard-page .chart-record-list{max-height:none;overflow:visible;padding-right:0}.dashboard-page .dashboard-task-row{grid-template-columns:minmax(0,1fr) minmax(128px,180px) auto;min-height:0;padding:10px;gap:10px}.dashboard-page .dashboard-task-main strong,.dashboard-page .dashboard-todo-card strong,.dashboard-page .rank-main strong{font-size:15px;white-space:normal;line-height:1.35}.dashboard-page .dashboard-task-actions{width:auto;min-width:106px;justify-content:flex-end}.dashboard-page .dashboard-task-actions .ghost-button,.dashboard-page .dashboard-todo-card .ghost-button{min-height:28px;padding:0 9px;font-size:14px}.dashboard-page .dashboard-todo-card{grid-template-columns:minmax(0,1fr) auto auto;padding:10px}.dashboard-page .rank-row{min-height:0;padding:8px 0;gap:10px}.dashboard-page .chart-panel{align-content:start}.dashboard-page .chart-panel .panel-heading{align-items:center}.dashboard-page .chart-panel-actions{flex-wrap:wrap;align-items:end}.dashboard-page .chart-panel-scroll{gap:8px}.dashboard-page .line-chart-scroll{min-height:0;overflow-x:hidden}.dashboard-page .line-chart{width:100%;height:clamp(138px,18vh,210px)}.dashboard-page .dashboard-chart-empty{min-height:96px;padding:18px}.dashboard-page .chart-selected-detail{min-height:0;padding:8px 10px;gap:8px}.dashboard-page .chart-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard-page .chart-summary div{padding:8px 10px}.topbar-user-copy strong,.topbar-user>span{color:#fff}.topbar-user-copy small{color:#e8f7ffe6}@media (min-width: 1500px){.dashboard-page,.dashboard-page .dashboard-main-grid{gap:14px}}@media (max-width: 1100px){.dashboard-page .metric-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.dashboard-page .dashboard-main-grid{grid-template-columns:1fr;grid-template-areas:"projects" "todo" "trend" "rank"}}@media (max-width: 760px){.dashboard-page .dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-page .dashboard-hero-actions{width:100%;justify-content:flex-start}.dashboard-page .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page .dashboard-task-row,.dashboard-page .dashboard-todo-card{grid-template-columns:1fr}.dashboard-page .dashboard-task-actions{justify-content:flex-start}}.checkin-page .page-tabs{display:flex;flex-wrap:wrap;gap:24px;margin:0 0 14px;padding:0;border:0;border-bottom:1px solid rgba(125,211,252,.22);border-radius:0;background:transparent}.checkin-page .page-tabs button{position:relative;min-height:42px;border:0;border-radius:0;padding:0 2px;color:#cbf1ffc2;background:transparent;box-shadow:none;font-weight:600}.checkin-page .page-tabs button:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:999px;background:transparent;content:""}.checkin-page .page-tabs button.active{color:#e8f7ff;background:transparent;box-shadow:none}.checkin-page .page-tabs button.active:after{background:#22d3ee}.checkin-workspace.today-layout{grid-template-columns:clamp(280px,22vw,340px) minmax(0,1fr);gap:18px;width:100%;max-width:none;margin:0}.checkin-workspace.records-layout{grid-template-columns:minmax(0,1fr)}.checkin-workspace>*,.checkin-map-panel,.checkin-form,.checkin-record-panel{min-width:0;max-width:100%}.checkin-location-status{display:inline-flex;align-items:center;width:fit-content;margin:-2px 0 2px;border:1px solid rgba(125,211,252,.22);border-radius:999px;padding:5px 10px;color:#cbf1ffd6;background:#02101c3d;font-size:13px}.checkin-location-status.ready{border-color:#34d39961;color:#b7f7dc;background:#10b9811f}.checkin-location-status.pending{border-color:#fbbf2461;color:#fde68a;background:#d977061f}.checkin-location-status.error{border-color:#f8717170;color:#fecaca;background:#ef444424}.readonly-location-field span{min-height:38px;border:1px solid rgba(125,211,252,.22);border-radius:8px;padding:9px 10px;color:#e8f7ffe0;background:#02101c52;font-weight:700}.checkin-map{width:100%;max-width:100%;min-height:clamp(500px,60vh,700px)}.checkin-map:fullscreen,.checkin-map:-webkit-full-screen{width:100vw;height:100vh;min-height:100vh;border:0;border-radius:0;background:#dbe8ef}.map-zoom-controls{gap:8px}.map-hint{max-width:min(320px,calc(100% - 36px))}.checkin-record-list{max-height:none;overflow:visible}@media (max-width: 1200px){.checkin-workspace.today-layout{grid-template-columns:minmax(0,1fr)}.checkin-map{min-height:clamp(460px,54vh,620px)}}@media (max-width: 700px){.checkin-page .page-tabs{gap:16px}.compact-location-fields,.checkin-coordinate-grid,.checkin-actions{grid-template-columns:minmax(0,1fr)}.checkin-actions{align-items:stretch;flex-direction:column}.checkin-actions .primary-button,.checkin-actions .secondary-button{width:100%}.checkin-map{min-height:420px}.map-hint{right:12px;bottom:12px;left:12px;max-width:none}}.topbar-user-copy strong,.topbar-user>span{color:#0f172a}.topbar-user-copy small{color:#64748b}.dashboard-page .dashboard-hero-main p,.dashboard-hero-main p,.tab-switcher button,.checkin-page .page-tabs button{color:#475569}.tab-switcher button.active,.checkin-page .page-tabs button.active{color:#0f172a}.checkin-location-status{border-color:#0f766e38;color:#334155;background:#f8fafc}.checkin-location-status.ready{border-color:#0596694d;color:#047857;background:#ecfdf5}.checkin-location-status.pending{border-color:#d9770652;color:#92400e;background:#fffbeb}.checkin-location-status.error{border-color:#dc262652;color:#b91c1c;background:#fef2f2}.readonly-location-field span{border-color:#cbd5e1;color:#334155;background:#f1f5f9}.performance-risk-note{border-color:#d9770647;color:#92400e;background:#fff7ed}.performance-risk-note p{color:#92400e}
