:root{color:#172026;background:#f5f7f8;font-family:Inter,Segoe UI,Microsoft YaHei,PingFang SC,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:1px solid #cfd8dc;background:#fff;color:#172026;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.authShell{display:grid;place-items:center;min-height:100vh;padding:28px;background:radial-gradient(circle at top left,rgba(19,111,99,.14),transparent 28%),#f5f7f8}.loginCard{display:grid;gap:22px;width:min(920px,100%);padding:28px;border:1px solid #d8e0e4;border-radius:12px;background:#fff;box-shadow:0 18px 50px #10262f1f}.loginBrand{color:#10262f}.loginBrand span{color:#64747b}.loginForm{display:grid;gap:14px}.loginForm p{color:#64747b}.loginForm label{display:grid;gap:6px}.loginForm label span{color:#405158;font-size:13px;font-weight:700}.loginForm input{min-height:42px;border:1px solid #d8e0e4;border-radius:6px;padding:0 12px}.loginForm .primary{min-height:42px}.linkButton{width:fit-content;min-height:30px;padding:0;border:0;background:transparent;color:#136f63;font-weight:700}.resetPanel{display:grid;gap:12px;padding:14px;border:1px solid #d8e0e4;border-radius:8px;background:#fbfcfc}.resetForm{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.resetForm label{display:grid;gap:6px}.resetForm label span{color:#405158;font-size:13px;font-weight:700}.resetForm input{min-height:38px;border:1px solid #d8e0e4;border-radius:6px;padding:0 10px}.resetForm button{min-height:38px;padding:0 12px;border-radius:6px;white-space:nowrap}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:28px;padding:24px;background:#10262f;color:#fff}.brand{display:flex;align-items:center;gap:12px}.brand strong,.brand span{display:block}.brand span{margin-top:3px;color:#b8c8ce;font-size:13px}.nav{display:grid;gap:8px}.nav button{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border-color:transparent;border-radius:6px;background:transparent;color:#d7e2e6;text-align:left}.nav button.active,.nav button:hover{background:#1d3b45;color:#fff}.navBadge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;min-height:20px;margin-left:auto;padding:0 6px;border-radius:999px;background:#f2b84b;color:#10262f;font-size:12px;font-weight:800}.workspace{padding:28px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}h1,h2,p{margin:0}h1{font-size:28px;line-height:1.2}h2{font-size:18px}.topbar p,.panelHeader p{margin-top:6px;color:#64747b}.profile{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid #d8e0e4;border-radius:6px;background:#fff}.profile button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px}.localeSwitch{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 8px;border:1px solid #d8e0e4;border-radius:6px;background:#fff}.localeSwitch select{max-width:118px;border:0;outline:0;background:transparent;color:#172026}.rolePill,.permissionPill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#e8f3ef;color:#136f63;font-size:12px;font-weight:700}.permissionPanel{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px;padding:12px 14px;border:1px solid #d8e0e4;border-radius:8px;background:#fff}.permissionPanel div{display:flex;flex-wrap:wrap;gap:6px}.toolbar{display:flex;gap:12px;margin-bottom:18px}.filterBar{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:18px;padding:14px;border:1px solid #d8e0e4;border-radius:8px;background:#fff}.filterBarTop{display:none}.filterBar label{display:grid;gap:6px}.filterBar label span{color:#405158;font-size:12px;font-weight:700}.filterBar input,.filterBar select{width:100%;min-height:38px;border:1px solid #d8e0e4;border-radius:6px;padding:0 10px;background:#fff;color:#172026}.filterBar button{min-height:38px;padding:0 12px;border-radius:6px;white-space:nowrap}.search{display:flex;align-items:center;gap:8px;flex:1;min-height:44px;padding:0 12px;border:1px solid #d8e0e4;border-radius:6px;background:#fff}.search input{width:100%;border:0;outline:0}.primary{min-width:108px;border-color:#136f63;border-radius:6px;background:#136f63;color:#fff}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}.stat{display:grid;gap:8px;min-height:116px;padding:18px;border:1px solid #d8e0e4;border-radius:8px;background:#fff}.stat span{color:#64747b}.stat strong{font-size:28px}.statButton{cursor:pointer;text-align:left}.statButton:hover{border-color:#136f63;background:#f1faf7}.aiJobStats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.alert{display:flex;gap:8px;align-items:center;margin-bottom:18px;padding:12px 14px;border:1px solid #ffd0c2;border-radius:8px;background:#fff4ef;color:#9b341c}.success{display:flex;gap:8px;align-items:center;margin-bottom:18px;padding:12px 14px;border:1px solid #bde8cc;border-radius:8px;background:#effaf3;color:#136f3a}.formPanel{margin-bottom:18px;padding:20px;border:1px solid #d8e0e4;border-radius:8px;background:#fff}.taskForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.taskForm label{display:grid;gap:6px}.taskForm label span{color:#405158;font-size:13px;font-weight:700}.taskForm input,.taskForm select,.taskForm textarea{width:100%;border:1px solid #d8e0e4;border-radius:6px;padding:10px 12px;background:#fff;color:#172026}.taskForm textarea{resize:vertical}.taskForm small{color:#64747b;line-height:1.5;overflow-wrap:anywhere}.taskForm .checkboxLine{display:flex;align-items:center;gap:8px;min-height:42px}.taskForm .checkboxLine input{width:16px;height:16px;padding:0}.taskForm .checkboxLine span{color:#405158}.formWide{grid-column:1 / -1}.formActions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px}.formActions button{min-height:38px;padding:0 16px;border-radius:6px}.primary:disabled{cursor:not-allowed;opacity:.65}.summaryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.summaryGrid.single{grid-template-columns:1fr}.summaryCard{padding:18px;border:1px solid #d8e0e4;border-radius:8px;background:#fff}.summaryCard span,.summaryCard p{color:#64747b}.summaryCard strong{display:block;margin:8px 0 4px;font-size:28px}.panel{padding:20px;border:1px solid #d8e0e4;border-radius:8px;background:#fff}.panelHeader{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.compactPanelHeader{margin-top:4px;margin-bottom:10px}.panelHeader button{min-height:36px;padding:0 14px;border-radius:6px}.panelActions{display:flex;gap:10px;align-items:center}.customerEditPicker{display:flex;align-items:center;gap:8px}.customerEditPicker span{color:#405158;font-size:12px;font-weight:700;white-space:nowrap}.customerEditPicker select{min-width:180px;min-height:36px;border:1px solid #d8e0e4;border-radius:6px;padding:0 10px;background:#fff;color:#172026}.taskTable{display:grid;gap:2px;max-height:620px;overflow:auto;border:1px solid #eef2f3;border-radius:8px}.paginationBar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;color:#64747b;font-size:13px}.paginationBar button{min-width:84px;min-height:36px;border-radius:6px;padding:0 12px}.notificationList{display:grid;gap:10px}.notificationItem button{display:grid;gap:8px;width:100%;padding:14px;border:1px solid #d8e0e4;border-radius:8px;background:#fff;text-align:left}.notificationItem.unread button{border-color:#136f63;background:#f1faf7;box-shadow:inset 4px 0 #136f63}.notificationItem div{display:flex;justify-content:space-between;gap:12px;align-items:center}.notificationItem strong{color:#172026}.notificationItem span,.notificationItem small{color:#64747b;font-size:13px}.notificationItem p{margin:0;color:#405158}.notificationEmpty{min-width:0}.notificationTabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;margin-bottom:16px}.notificationTabs button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:12px 14px;border-radius:8px;text-align:left}.notificationTabs button.active{border-color:#136f63;background:#f1faf7;color:#10262f}.notificationTabs strong{font-size:20px}.customerGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-auto-rows:minmax(318px,auto);gap:14px}.customerForm,.userForm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;padding:16px;border:1px solid #d8e0e4;border-radius:8px;background:#fbfcfc}.userForm label,.rolePicker,.userFeaturePanel{display:grid;gap:6px}.userForm label span,.rolePicker>span,.userFeaturePanel>span{color:#405158;font-size:13px;font-weight:700}.userForm input,.userForm select{width:100%;min-height:38px;border:1px solid #d8e0e4;border-radius:6px;padding:0 10px;background:#fff;color:#172026}.rolePicker{grid-column:span 3}.rolePicker div,.userFeaturePanel div{display:flex;flex-wrap:wrap;gap:8px}.rolePicker label{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid #d8e0e4;border-radius:6px;background:#fff;color:#172026}.rolePicker input{width:auto;min-height:auto}.userFeaturePanel{grid-column:span 3;padding:12px;border:1px solid #eef2f3;border-radius:8px;background:#fff}.userFeaturePanel div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.userFeaturePanel .inlineCheck{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);justify-content:flex-start}.inlineCheck .inlineCheckText{min-width:0;color:#172026;font-size:13px;font-weight:400;line-height:1.3;white-space:normal}.inlineCheck{display:inline-flex;flex-direction:row;align-items:center;gap:6px;width:fit-content;min-height:34px;padding:0 10px;border:1px solid #d8e0e4;border-radius:6px;background:#fff;color:#172026;font-weight:400;white-space:nowrap}.inlineCheck input{width:auto;min-height:auto}.userTabs{display:inline-flex;gap:6px;margin-bottom:14px;padding:4px;border:1px solid #d8e0e4;border-radius:8px;background:#fbfcfc}.userTabs button{min-width:92px;min-height:34px;border:0;border-radius:6px;background:transparent;color:#405158;font-weight:700}.userTabs button.active{background:#136f63;color:#fff}.userFilterBar{grid-template-columns:minmax(180px,1.2fr) minmax(140px,.8fr) minmax(150px,.8fr) minmax(130px,.7fr) auto}.operationFilterBar{grid-template-columns:repeat(5,minmax(130px,1fr)) auto}.aiJobFilterBar{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.headerActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.aiJobForm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;padding:16px;border:1px solid #d8e0e4;border-radius:8px;background:#fbfcfc}.aiJobForm label{display:grid;gap:6px}.aiJobForm label span{color:#405158;font-size:13px;font-weight:700}.aiJobForm input,.aiJobForm select,.aiJobForm textarea{width:100%;border:1px solid #d8e0e4;border-radius:6px;padding:10px;background:#fff;color:#172026}.aiJobForm textarea{resize:vertical}.aiJobForm .wideField{grid-column:span 3}.userTable{display:grid;overflow:auto;border:1px solid #eef2f3;border-radius:8px}.userRow{display:grid;grid-template-columns:150px 220px 180px 90px 150px 130px 80px 170px;gap:12px;min-width:1210px;align-items:center;padding:12px;border-bottom:1px solid #eef2f3}.userRow.head{position:sticky;top:0;z-index:2;color:#64747b;font-size:13px;font-weight:700;background:#fbfcfc;box-shadow:0 1px #eef2f3}.userRow button{min-height:34px;border-radius:6px}.userActions{display:flex;gap:8px;align-items:center}.userActions button{min-width:72px;padding:0 10px}.userEmpty{min-width:1210px}.machineFilterBar{grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) minmax(150px,.8fr) auto}.machineForm{grid-template-columns:repeat(4,minmax(0,1fr))}.machineStatusForm{grid-template-columns:minmax(260px,1.4fr) minmax(180px,.8fr) auto}.machineTable,.localeTable,.operationList,.aiJobList{display:grid;overflow:auto;border:1px solid #eef2f3;border-radius:8px}.operationList,.aiJobList{max-height:620px}.machineRow,.localeRow,.operationRow,.aiJobRow{display:grid;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #eef2f3}.machineRow{grid-template-columns:170px 130px 150px 130px 150px 170px minmax(220px,1fr) 90px;min-width:1280px}.machineRow button{min-height:34px;border-radius:6px}.localeRow{grid-template-columns:minmax(180px,1fr) 140px 140px 150px;min-width:720px}.operationRow{grid-template-columns:170px 140px 150px 150px minmax(260px,1fr) 120px;min-width:1080px}.aiJobRow{grid-template-columns:170px 120px 130px 130px minmax(190px,1fr) 130px minmax(300px,1.4fr) 130px;min-width:1320px}.machineRow.head,.localeRow.head,.operationRow.head,.aiJobRow.head{position:sticky;top:0;z-index:2;color:#64747b;font-size:13px;font-weight:700;background:#fbfcfc;box-shadow:0 1px #eef2f3}.machineEmpty,.localeEmpty,.operationEmpty,.aiJobEmpty{min-width:720px}.aiJobText{display:grid;gap:6px}.aiJobText small,.aiJobRow small{color:#64747b;font-size:12px}.aiJobText strong{color:#172026;font-size:13px;font-weight:700;white-space:pre-line}.aiJobActions{display:flex;flex-wrap:wrap;gap:8px}.aiJobActions button{min-height:32px;border-radius:6px}.readinessShell{display:grid;gap:14px}.readinessSummary{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:70px;padding:16px;border:1px solid #d8e0e4;border-left-width:4px;border-radius:8px;background:#fff}.readinessSummary strong{color:#172026;font-size:22px}.readinessSummary span{color:#64747b;font-weight:700}.readinessGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.readinessCard{display:grid;gap:10px;min-height:170px;padding:14px;border:1px solid #d8e0e4;border-left-width:4px;border-radius:8px;background:#fff}.readinessCard header{display:flex;justify-content:space-between;gap:10px;align-items:center}.readinessCard header strong{color:#172026;overflow-wrap:anywhere}.readinessCard header span{min-height:24px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800}.readinessCard p{margin:0;color:#405158;font-size:13px;line-height:1.5}.readinessCard dl{display:grid;gap:6px;margin:0}.readinessCard dl div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;align-items:start}.readinessCard dt{color:#64747b;font-size:12px;font-weight:700}.readinessCard dd{margin:0;color:#172026;font-size:12px;overflow-wrap:anywhere}.readiness-ready{border-left-color:#136f63}.readiness-ready header span{background:#e8f3ef;color:#136f63}.readiness-warning{border-left-color:#c27803}.readiness-warning header span{background:#fff4d6;color:#8a5a00}.readiness-missing,.readiness-not-ready{border-left-color:#b42318}.readiness-missing header span{background:#fee4e2;color:#b42318}.permissionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.permissionGrid article{display:grid;gap:12px;min-height:132px;padding:16px;border:1px solid #d8e0e4;border-radius:8px;background:#fbfcfc}.permissionGrid h3{margin:0;font-size:16px}.permissionSettingsForm{display:grid;gap:10px}.permissionSettingsForm label{display:grid;gap:6px}.permissionSettingsForm label span{color:#405158;font-size:13px;font-weight:700}.permissionSettingsForm button{width:fit-content}.permissionToggleBlock{display:grid;gap:10px;align-content:start}.permissionToggleBlock .checkboxLine{display:inline-flex;gap:8px;align-items:center;color:#172026;font-weight:700}.permissionToggleBlock .checkboxLine input{width:16px;height:16px}.settingStatusText{color:#64747b;font-size:13px}.pillList{display:flex;flex-wrap:wrap;gap:8px;align-content:start}.permissionRules{display:grid;gap:10px;margin-bottom:16px}.permissionRuleList{display:grid;overflow:auto;border:1px solid #eef2f3;border-radius:8px}.permissionRuleRow{display:grid;grid-template-columns:90px 160px 170px 110px 90px minmax(300px,1fr);gap:12px;min-width:1020px;align-items:center;padding:12px;border-bottom:1px solid #eef2f3}.permissionRuleRow.head{position:sticky;top:0;z-index:2;color:#64747b;font-size:13px;font-weight:700;background:#fbfcfc;box-shadow:0 1px #eef2f3}.permissionRuleRow code{width:fit-content;padding:4px 8px;border-radius:6px;background:#eef2f3;color:#172026;font-size:12px}.permissionRuleRow mark{width:fit-content}.permissionRuleRow mark.allowed{background:#e8f3ef;color:#136f63}.permissionRuleRow mark.blocked{background:#fff1d6;color:#8a5600}.customerForm label{display:grid;gap:6px}.customerForm label span{color:#405158;font-size:13px;font-weight:700}.customerForm input,.customerForm select{width:100%;min-height:38px;border:1px solid #d8e0e4;border-radius:6px;padding:0 10px;background:#fff;color:#172026}.customerCard{display:grid;grid-template-rows:54px auto auto auto;gap:14px;min-height:318px;padding:16px;border:1px solid #d8e0e4;border-radius:8px;background:#fff;align-content:start}.customerCardHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;min-height:54px}.customerCard h3{margin:0;font-size:18px;line-height:1.3;min-height:46px;max-height:46px;overflow:hidden;overflow-wrap:anywhere}.customerCardHeader span{display:block;margin-top:4px;color:#64747b;font-size:13px}.customerMeta,.customerStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.customerMeta{margin:0}.customerMeta div,.customerStats div{display:grid;gap:4px;min-height:68px;height:68px;padding:10px;border:1px solid #eef2f3;border-radius:8px;background:#fbfcfc;align-content:center;min-width:0}.customerMeta dt,.customerStats span{color:#64747b;font-size:12px;font-weight:700}.customerMeta dd{margin:0;overflow-wrap:anywhere;min-height:20px;max-height:40px;overflow:hidden}.customerStats{grid-template-columns:repeat(4,minmax(0,1fr))}.customerStats strong{font-size:22px;line-height:1.1}.customerCardActions{display:flex;gap:10px;flex-wrap:wrap;min-height:34px;align-items:center}.customerCardActions button{min-height:34px;padding:0 12px;border-radius:6px}.customerEditForm{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.customerEditDialog{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:8px;background:#fff;box-shadow:0 20px 60px #10262f3d}.customerEditDialogForm{margin:0;border:0;border-radius:0;background:#fff}.customerUsersPanel{display:grid;gap:10px;padding-top:12px;border-top:1px solid #eef2f3}.customerUsersPanel h4{margin:0;font-size:15px}.customerUsersList{display:grid;gap:8px}.customerUserItem{display:grid;grid-template-columns:1fr 1.4fr 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #eef2f3;border-radius:8px;background:#fbfcfc}.customerUserItem span{color:#64747b;overflow-wrap:anywhere}.customerEmpty{min-width:0}.row{display:grid;grid-template-columns:150px 120px 170px 120px 110px 80px 150px 110px 130px 120px 120px 70px;gap:12px;min-width:1640px;align-items:center;padding:12px;border-bottom:1px solid #eef2f3}.row.head{position:sticky;top:0;z-index:2;color:#64747b;font-size:13px;font-weight:700;background:#fbfcfc;box-shadow:0 1px #eef2f3}.row.customerRow{grid-template-columns:150px 120px 170px 120px 110px 80px 150px 110px 130px 70px;min-width:1400px}.empty{min-width:1640px;padding:18px 12px;color:#64747b}mark{padding:4px 8px;border-radius:999px;background:#e8f3ef;color:#136f63}.iconButton{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;padding:0}.modalBackdrop{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:#10262f6b;z-index:20}.modal{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:8px;background:#fff;box-shadow:0 20px 60px #10262f3d}.modalHeader{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px;border-bottom:1px solid #eef2f3}.modalHeader p{margin-top:6px;color:#405158}.detailTabs{display:flex;gap:8px;padding:14px 20px 0;border-bottom:1px solid #eef2f3;overflow-x:auto}.detailTabs button{min-height:38px;padding:0 14px;border-color:transparent;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#64747b;white-space:nowrap}.detailTabs button.active{border-bottom-color:#136f63;color:#136f63;font-weight:700}.detailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px}.detailGrid div,.detailDescription{display:grid;gap:6px;padding:12px;border:1px solid #eef2f3;border-radius:8px;background:#fbfcfc}.detailGrid span,.detailDescription span{color:#64747b;font-size:12px;font-weight:700}.detailGrid strong{overflow-wrap:anywhere}.detailDescription{margin:0 20px 20px}.detailDescription p{color:#172026;line-height:1.6;white-space:pre-wrap}.statusEditor{display:grid;gap:12px;margin:0 20px 20px;padding:14px;border:1px solid #d8e0e4;border-radius:8px;background:#fff}.statusEditorRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.statusEditorRowSecondary{grid-template-columns:repeat(2,minmax(0,1fr))}.statusEditorRowShipping{grid-template-columns:1fr}.statusEditorRowNote{grid-template-columns:1fr auto}.statusEditor label{display:grid;gap:6px}.statusEditor span{color:#64747b;font-size:12px;font-weight:700}.statusEditor input,.statusEditor select{min-height:38px;border:1px solid #d8e0e4;border-radius:6px;padding:0 10px}.notePreview{min-height:38px;width:100%;padding:8px 10px;border:1px solid #d8e0e4;border-radius:6px;background:#fff;color:#172026;text-align:left;line-height:1.45;overflow-wrap:anywhere}.statusActions{display:flex;align-items:end}.statusActions button{min-height:38px;padding:0 16px;border-radius:6px;white-space:nowrap}.noteDialogBackdrop{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:#10262f80;z-index:30}.noteDialog{width:min(560px,100%);border-radius:8px;background:#fff;box-shadow:0 20px 60px #10262f3d}.aiJobDialog{width:min(860px,100%);max-height:calc(100vh - 48px);overflow:auto}.noteDialogHeader{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;border-bottom:1px solid #eef2f3}.noteDialogHeader h2,.noteDialogHeader p{margin:0}.noteDialogHeader p{margin-top:4px;color:#64747b;font-size:13px}.noteDialogBody{display:grid;gap:8px;padding:20px}.noteDialogBody span{color:#64747b;font-size:12px;font-weight:700}.noteDialogBody input,.noteDialogBody textarea{width:100%;border:1px solid #d8e0e4;border-radius:6px;padding:10px 12px;color:#172026}.noteDialogBody textarea{resize:vertical}.noteDialogActions{display:flex;justify-content:flex-end;gap:10px;padding:0 20px 20px}.noteDialogActions button{min-height:38px;padding:0 16px;border-radius:6px}.aiJobDetailGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:20px}.aiJobDetailGrid article{display:grid;gap:6px;min-height:76px;padding:12px;border:1px solid #eef2f3;border-radius:8px;background:#fbfcfc}.aiJobDetailGrid span,.aiJobDetailText h3{color:#64747b;font-size:12px;font-weight:700}.aiJobDetailGrid strong{overflow-wrap:anywhere;color:#172026;font-size:13px}.aiJobDetailGrid .textButton{width:fit-content;height:auto;padding:0;border:0;background:transparent;color:#2563eb;font-size:13px;font-weight:700}.aiJobDetailText{display:grid;gap:12px;padding:0 20px 20px}.aiJobDetailText section{display:grid;gap:8px;padding:12px;border:1px solid #eef2f3;border-radius:8px}.aiJobDetailText h3,.aiJobDetailText p{margin:0}.aiJobDetailText p{color:#172026;font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-line}.aiJobSources,.aiJobEvents{display:grid;gap:8px}.aiJobSources article,.aiJobEvents article{display:grid;gap:4px;padding:10px;border:1px solid #d8e0e4;border-radius:6px;background:#fff}.aiJobSources strong,.aiJobEvents strong{color:#172026;font-size:13px;overflow-wrap:anywhere}.aiJobSources span,.aiJobEvents span{color:#64747b;font-size:12px;overflow-wrap:anywhere}.statusHistory,.attachmentPanel,.commentPanel{display:grid;gap:10px;margin:0 20px 20px;padding:14px;border:1px solid #d8e0e4;border-radius:8px;background:#fff}.statusHistoryHeader{display:flex;justify-content:space-between;gap:12px;align-items:center}.statusHistoryHeader button{min-height:34px;padding:0 12px;border-radius:6px}.statusHistoryItem{display:grid;gap:6px;padding:10px 12px;border:1px solid #eef2f3;border-radius:8px;background:#fbfcfc}.statusHistoryItem div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.statusHistoryItem span,.historyEmpty{color:#64747b;font-size:13px}.statusHistoryItem p{color:#172026;line-height:1.5}.commentForm{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.commentForm textarea{width:100%;resize:vertical;border:1px solid #d8e0e4;border-radius:6px;padding:10px 12px;color:#172026}.commentForm button{min-height:38px;padding:0 16px;border-radius:6px;white-space:nowrap}.filePicker{display:inline-flex;gap:8px;align-items:center;width:fit-content;min-height:36px;padding:0 10px;border:1px solid #d8e0e4;border-radius:6px;background:#fff;color:#172026;font-size:13px}.filePicker input{max-width:260px}.fileHint{grid-column:1 / -1;margin:-2px 0 0;color:#64747b;font-size:13px;overflow-wrap:anywhere}.internalAttachmentPanel{display:grid;gap:12px;padding:12px;border:1px solid #eef2f3;border-radius:8px;background:#f8fbfb}.attachmentUploadArea{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.internalAttachmentList{display:grid;gap:8px}.commentItem{display:grid;gap:8px;padding:10px 12px;border:1px solid #eef2f3;border-radius:8px;background:#fbfcfc}.commentItem div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.commentItem span{color:#64747b;font-size:13px}.commentItem p{color:#172026;line-height:1.5;white-space:pre-wrap}.stakeholderPanel,.stakeholderList{display:grid;gap:12px}.stakeholderHeader{display:flex;align-items:baseline;justify-content:flex-start;gap:8px;margin:0 20px}.stakeholderHeader h2{margin:0}.stakeholderList{grid-template-columns:1fr;padding:0 20px 20px}.stakeholderForm{grid-template-columns:minmax(260px,1fr) auto;margin:0 20px}.stakeholderForm select{width:100%;min-height:42px;border:1px solid #d8e0e4;border-radius:6px;padding:0 10px;background:#fff;color:#172026}.stakeholderItem{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px;border:1px solid #eef2f3;border-radius:8px;background:#fbfcfc}.stakeholderItem div{display:grid;gap:4px;min-width:0}.stakeholderItem strong{color:#172026;overflow-wrap:anywhere}.stakeholderItem span{color:#64747b;font-size:12px;overflow-wrap:anywhere}.commentAttachments{display:flex;flex-wrap:wrap;gap:8px}.commentAttachments button{min-height:30px;padding:0 10px;border:1px solid #d8e0e4;border-radius:6px;background:#fff;color:#17696a;font-size:13px}.attachmentItem{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #eef2f3;border-radius:8px;background:#fbfcfc}.attachmentItem div{display:grid;gap:4px;min-width:0}.attachmentItem strong{overflow-wrap:anywhere}.attachmentItem span{color:#64747b;font-size:13px}.attachmentItem button{min-height:34px;padding:0 12px;border-radius:6px}.attachmentActions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.attachmentActions .dangerTextButton{border-color:#f2c4bf;background:#fff7f6;color:#b42318}.reportStats .stat{min-height:104px}.reportFilterBar{grid-template-columns:minmax(160px,220px) minmax(160px,220px) auto}.dailyReportForm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;padding:16px;border:1px solid #d8e0e4;border-radius:8px;background:#fbfcfc}.dailyReportForm label{display:grid;gap:6px}.dailyReportForm label span,.dailyReportActions label span{color:#405158;font-size:13px;font-weight:700}.dailyReportForm input,.dailyReportForm select,.dailyReportForm textarea,.dailyReportActions textarea{width:100%;border:1px solid #d8e0e4;border-radius:6px;padding:10px 12px;background:#fff;color:#172026}.dailyReportForm textarea,.dailyReportActions textarea{resize:vertical}.dailyReportTable{display:grid;gap:2px;overflow-x:auto}.dailyReportExportBar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,180px) 160px 160px auto;gap:12px;align-items:end;margin-bottom:18px;padding:14px;border:1px solid #d8e0e4;border-radius:8px;background:#fbfcfc}.dailyReportExportBar div,.dailyReportExportBar label{display:grid;gap:6px}.dailyReportExportBar strong{color:#172026}.dailyReportExportBar span{color:#64747b;font-size:13px}.dailyReportExportBar label span{color:#405158;font-size:12px;font-weight:700}.dailyReportExportBar input,.dailyReportExportBar select{min-height:38px;border:1px solid #d8e0e4;border-radius:6px;padding:0 10px;background:#fff;color:#172026}.dailyReportExportBar button{min-height:38px;padding:0 16px;border-radius:6px}.departmentReportPanel{display:grid;gap:12px;margin-bottom:18px;padding:14px;border:1px solid #d8e0e4;border-radius:8px;background:#fff}.memberTabs{display:flex;flex-wrap:wrap;gap:8px}.memberTabs button{min-height:36px;padding:0 14px;border-radius:6px}.memberTabs button.active{border-color:#136f63;background:#e8f3ef;color:#136f63;font-weight:700}.memberReportList{display:grid;gap:10px}.memberReportItem{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #eef2f3;border-radius:8px;background:#fbfcfc}.memberReportItem div{display:grid;gap:4px}.memberReportItem span,.memberReportItem p{color:#64747b}.memberReportItem p{grid-column:1 / -1}.memberReportItem button{min-height:34px;padding:0 12px;border-radius:6px}.dailyReportRow{display:grid;grid-template-columns:180px 110px 120px 100px 80px 90px minmax(240px,1fr) 86px 48px;gap:12px;min-width:1120px;align-items:center;padding:12px;border-bottom:1px solid #eef2f3}.dailyReportRow.head{color:#64747b;font-size:13px;font-weight:700}.dailyReportRow span{overflow-wrap:anywhere}.reportEmpty{min-width:1120px}.unreadMark{margin-left:8px;background:#fff1d6;color:#8a5600}.dailyReportModal{width:min(900px,100%)}.dailyReportItems,.dailyReportComments{display:grid;gap:10px;margin:0 20px 20px;padding:14px;border:1px solid #d8e0e4;border-radius:8px;background:#fff}.dailyReportItem{display:grid;gap:8px;padding:12px;border:1px solid #eef2f3;border-radius:8px;background:#fbfcfc}.dailyReportItem div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.dailyReportItem span{color:#64747b;font-size:13px}.dailyReportItem p{color:#172026;line-height:1.5;white-space:pre-wrap}.dailyReportActions{display:flex;gap:10px;align-items:end;justify-content:flex-end;padding:0 20px 20px}.dailyReportActions label{display:grid;gap:6px;flex:1}.dailyReportActions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 16px;border-radius:6px;white-space:nowrap}.commentCount{color:#64747b;font-size:13px}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{padding:16px}.nav{grid-template-columns:repeat(6,minmax(0,1fr))}.nav button{justify-content:center;padding:0}.nav button{font-size:0}.workspace{padding:18px}.topbar,.toolbar,.panelHeader{flex-direction:column;align-items:stretch}.panelActions{display:grid;align-items:stretch}.customerEditPicker{display:grid;gap:6px}.customerEditPicker select{width:100%}.filterBar,.customerForm,.userFeaturePanel div,.stats,.customerStats,.customerMeta,.customerEditForm,.customerUserItem{grid-template-columns:repeat(2,minmax(0,1fr))}.summaryGrid,.taskForm,.dailyReportForm{grid-template-columns:1fr}.dailyReportActions{display:grid;justify-content:stretch}.dailyReportExportBar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.stats,.filterBar,.reportFilterBar,.customerForm,.userFeaturePanel div,.customerEditForm,.customerMeta,.customerStats,.customerUserItem,.detailGrid,.stakeholderList,.stakeholderCardBody dl,.statusEditor,.statusEditorRow,.statusEditorRowNote,.dailyReportExportBar,.dailyReportItem div{grid-template-columns:1fr}.statusHistoryItem div,.commentItem div,.dailyReportItem div{display:grid}.attachmentItem,.commentForm{grid-template-columns:1fr}}
