*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;color:#15243b;background:#f4f7fb}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.topbar{height:78px;background:#fff;border-bottom:1px solid #dfe6ef;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30;box-shadow:0 4px 18px rgba(24,49,83,.05)}.brand{display:flex;align-items:center;gap:14px}.brand img{width:120px;height:40px;object-fit:contain}.brand div{display:flex;flex-direction:column}.brand strong{font-size:18px;color:#0d3f7c}.brand span{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#7d8ba0;margin-top:2px}.topActions{display:flex;align-items:center;gap:10px}.iconBtn{width:42px;height:42px;border:1px solid #dce5ef;background:#fff;border-radius:12px;display:grid;place-items:center;cursor:pointer;position:relative}.iconBtn:hover{background:#f1f6fc;border-color:#bad0e8}.iconBtn svg,.moduleIcon svg{width:22px;height:22px;fill:none;stroke:#145da0;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.badge{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;border-radius:10px;background:#e83d52;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;padding:0 5px;border:2px solid #fff}.userChip{display:flex;align-items:center;gap:9px;padding:3px 8px}.userChip div{display:flex;flex-direction:column;line-height:1.15}.userChip strong{font-size:13px}.userChip span{font-size:11px;color:#718096;margin-top:3px}.avatar{width:39px;height:39px;border-radius:50%;background:#dceaf8;color:#0e4f8a;display:inline-grid;place-items:center;font-weight:800;font-size:13px;border:2px solid #fff;box-shadow:0 0 0 1px #cad7e5;position:relative;flex:0 0 auto}.avatar.self{background:#0f5fa8;color:#fff}.avatar.online i{position:absolute;width:10px;height:10px;border-radius:50%;background:#29b56b;border:2px solid #fff;right:-1px;bottom:0}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.primary{background:#0f5fa8;color:#fff;box-shadow:0 5px 13px rgba(15,95,168,.18)}.btn.primary:hover{background:#0b5294}.btn.ghost{background:#eef4fa;color:#24527d}.btn.small{padding:8px 12px;font-size:12px}.btn.wide{width:100%}.pageShell{max-width:1500px;margin:0 auto;padding:28px 28px 34px}.welcomeRow{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.welcomeRow h1,.sectionHeading h1{margin:2px 0 4px;font-size:34px;letter-spacing:-.03em;color:#183657}.welcomeRow p,.sectionHeading p{margin:0;color:#6e7e92}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:850;color:#0f67b2}.onlineBlock{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #dfe7f0;border-radius:16px;padding:11px 14px;box-shadow:0 5px 18px rgba(18,53,88,.05)}.onlineLabel{font-size:12px;color:#63768c;display:flex;align-items:center;gap:6px}.onlineLabel i{width:8px;height:8px;border-radius:50%;background:#29b56b}.avatarStack{display:flex;padding-left:8px}.avatarStack .avatar{margin-left:-8px;cursor:pointer}.kpiGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:30px}.kpiCard{background:#fff;border:1px solid #dfe7f0;border-radius:16px;padding:17px 19px;box-shadow:0 6px 20px rgba(24,55,86,.05)}.kpiCard>span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#75869b}.kpiCard strong{display:block;font-size:30px;color:#123f6d;margin:6px 0 2px}.kpiCard small{color:#8a98aa}.sectionHeading{display:flex;align-items:end;justify-content:space-between;margin:8px 0 14px}.sectionHeading h2{margin:3px 0 0;font-size:22px;color:#173d65}.muted{color:#78889b;font-size:13px}.moduleGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}.moduleCard{background:#fff;border:1px solid #dce6f0;border-radius:18px;padding:19px;display:grid;grid-template-columns:54px 1fr 24px;align-items:center;gap:15px;min-height:112px;box-shadow:0 6px 22px rgba(21,54,87,.05);transition:.18s ease}.moduleCard:hover{transform:translateY(-2px);border-color:#a9c9e8;box-shadow:0 12px 26px rgba(15,78,133,.11)}.moduleIcon{width:52px;height:52px;border-radius:14px;background:#eaf3fb;display:grid;place-items:center}.moduleIcon svg{width:28px;height:28px}.moduleText{display:flex;flex-direction:column;min-width:0}.moduleText strong{font-size:17px;color:#173b60}.moduleText small{margin-top:6px;color:#718296;line-height:1.4}.openArrow{font-size:22px;color:#6c92b7}.dashboardGrid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.panel{background:#fff;border:1px solid #dfe7f0;border-radius:18px;padding:20px;box-shadow:0 6px 22px rgba(24,55,86,.05)}.panelHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.panelHead h2,.panel h2{margin:3px 0 0;color:#173d65;font-size:20px}.textLink,.textButton{font-size:12px;font-weight:800;color:#0f63aa}.textButton{border:0;background:transparent;cursor:pointer}.yardStatusGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.yardStatusCard{border:1px solid #e0e8f1;border-radius:14px;padding:15px;background:#fbfdff}.yardTitle{display:flex;justify-content:space-between;align-items:center}.yardTitle strong{font-size:15px}.statusPill{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.statusPill.live{background:#e5f8ee;color:#16804a}.statusPill.quiet{background:#eef1f5;color:#6c7b8c}.yardNumbers{margin:18px 0 8px}.yardNumbers strong{font-size:28px;color:#164f82}.yardNumbers strong span{font-size:16px;color:#8393a5}.yardNumbers small{display:block;color:#8695a6}.progress{height:7px;background:#e7edf4;border-radius:5px;overflow:hidden}.progress i{display:block;height:100%;background:#1b73b8;border-radius:5px}.yardMeta{display:flex;justify-content:space-between;font-size:10px;color:#7c8b9d;margin-top:7px}.peopleList{display:flex;flex-direction:column;gap:7px;max-height:310px;overflow:auto}.personRow,.contactRow{border:0;background:#fff;display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;text-align:left;padding:8px;border-radius:11px;cursor:pointer;width:100%}.personRow:hover,.contactRow:hover,.contactRow.selected{background:#f0f6fc}.personRow span:nth-child(2),.contactRow span:nth-child(2){display:flex;flex-direction:column}.personRow strong,.contactRow strong{font-size:13px}.personRow small,.contactRow small{font-size:11px;color:#8090a3;margin-top:3px}.personRow em{font-style:normal;font-size:10px;color:#6f8092;background:#eef3f8;padding:4px 7px;border-radius:10px}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(820px,94vw);background:#fff;z-index:80;transform:translateX(102%);transition:.22s ease;box-shadow:-16px 0 40px rgba(12,36,60,.18);display:flex;flex-direction:column}.drawer.narrow{width:min(430px,94vw)}.drawer.open{transform:translateX(0)}.drawerBackdrop{position:fixed;inset:0;background:rgba(10,28,47,.34);z-index:70;opacity:0;pointer-events:none;transition:.2s}.drawerBackdrop.show{opacity:1;pointer-events:auto}.drawerHead{height:78px;padding:16px 20px;border-bottom:1px solid #e3e9f0;display:flex;justify-content:space-between;align-items:center}.drawerHead h2{margin:2px 0 0;color:#173d65}.closeBtn{border:0;background:#eef3f8;width:36px;height:36px;border-radius:50%;font-size:24px;color:#52708e;cursor:pointer}.messageLayout{display:grid;grid-template-columns:285px 1fr;min-height:0;flex:1}.contactsPane{border-right:1px solid #e5ebf2;padding:14px;overflow:auto}.contactsPane input{width:100%;border:1px solid #d9e3ed;border-radius:10px;padding:10px 12px;margin-bottom:10px;outline:none}.conversationPane{min-width:0;display:flex;flex-direction:column}.conversationPane>div:not(.emptyState){height:100%;display:flex;flex-direction:column}.conversationHead{padding:13px 16px;border-bottom:1px solid #e6edf4;display:flex;gap:10px;align-items:center}.conversationHead div{display:flex;flex-direction:column}.conversationHead small{color:#7d8d9e;margin-top:2px}.messageHistory{flex:1;overflow:auto;padding:18px;background:#f7f9fc;display:flex;flex-direction:column;gap:8px}.bubble{max-width:78%;padding:10px 12px;border-radius:14px}.bubble p{margin:0;white-space:pre-wrap;line-height:1.4;font-size:13px}.bubble small{display:block;margin-top:5px;font-size:9px;opacity:.65}.bubble.mine{align-self:flex-end;background:#0f62aa;color:#fff;border-bottom-right-radius:4px}.bubble.theirs{align-self:flex-start;background:#fff;border:1px solid #dfe7ef;color:#28435f;border-bottom-left-radius:4px}.composer{padding:12px;border-top:1px solid #e3eaf2;display:flex;gap:8px}.composer textarea{flex:1;resize:none;border:1px solid #d6e0ea;border-radius:11px;padding:10px;outline:none}.emptyState{display:grid;place-items:center;text-align:center;color:#8291a1;padding:30px;min-height:220px}.emptyMini{color:#8190a1;font-size:12px;padding:15px;text-align:center}.notificationList{padding:13px;overflow:auto}.notificationItem{display:block;width:100%;text-align:left;border:1px solid #e0e8f0;background:#fff;border-radius:12px;padding:13px;margin-bottom:9px}.notificationItem.unread{border-left:4px solid #156bb0;background:#f5faff}.notificationItem strong{font-size:13px;color:#234362}.notificationItem p{font-size:12px;color:#65778b;line-height:1.45;margin:5px 0}.notificationItem small{font-size:10px;color:#91a0af}.appFooter{text-align:center;padding:20px;color:#8b99aa;font-size:10px}.loginBody{min-height:100vh;background:linear-gradient(145deg,#eaf2fa,#f7f9fc 45%,#e9f1f8);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px}.loginShell,.installShell{width:min(920px,100%)}.loginBrand{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:22px}.loginBrand img{width:170px}.loginBrand h1{margin:0;color:#174779}.loginBrand p{margin:5px 0 0;color:#77889a}.loginCard{background:#fff;width:min(430px,100%);margin:0 auto;border:1px solid #dce6ef;border-radius:20px;padding:28px;box-shadow:0 18px 55px rgba(23,57,91,.13)}.loginCard h2{margin:0 0 4px;color:#173e66}.loginCard label,.formGrid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:750;color:#4d6379;margin:15px 0}.loginCard input,.formGrid input,.formGrid select{width:100%;border:1px solid #d5e0ea;border-radius:10px;padding:11px 12px;outline:none;background:#fff}.loginCard input:focus,.formGrid input:focus,.formGrid select:focus{border-color:#4f91c8;box-shadow:0 0 0 3px rgba(40,120,187,.10)}.alert{border-radius:10px;padding:11px 13px;margin:12px 0;font-size:12px}.alert.danger{background:#fff0f1;color:#9e2e3d;border:1px solid #ffd1d6}.alert.success{background:#ebf9f1;color:#216b45;border:1px solid #c8edd8}.installCard{width:min(650px,100%)}.installStep{display:flex;gap:10px;align-items:center;border-bottom:1px solid #edf1f5;padding:10px 0;font-size:13px}.installStep span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-weight:900}.installStep.ok span{background:#dff5e9;color:#157748}.installStep.bad span{background:#ffe7ea;color:#a62d3b}.installNote{text-align:center;margin-top:16px}.adminPage{max-width:1300px}.adminGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.formGrid label{margin:9px 0}.formGrid .span2{grid-column:1/-1}.formGrid small{font-weight:400;color:#8392a3}.checkLabel{flex-direction:row!important;align-items:center!important;align-self:end;padding-bottom:11px}.checkLabel input{width:auto!important}.formActions{display:flex;gap:8px;margin-top:10px}.moduleAdminList{display:flex;flex-direction:column;gap:7px}.moduleAdminRow{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:8px;border-radius:12px;border:1px solid #e3eaf1}.moduleAdminRow:hover{background:#f6f9fc}.moduleAdminRow span:nth-child(2){display:flex;flex-direction:column}.moduleAdminRow small{margin-top:3px;color:#8090a1}.smallIcon{width:40px;height:40px}.smallIcon svg{width:22px;height:22px}.helpPanel{margin-top:16px}.helpPanel p{color:#66788b;line-height:1.6}.helpPanel strong{color:#244f78}
@media(max-width:980px){.moduleGrid{grid-template-columns:repeat(2,1fr)}.dashboardGrid,.adminGrid{grid-template-columns:1fr}.yardStatusGrid{grid-template-columns:repeat(3,1fr)}.userChip div{display:none}}@media(max-width:720px){.topbar{height:auto;min-height:70px;padding:10px 14px}.brand div{display:none}.brand img{width:105px}.topActions{gap:5px}.userChip{display:none}.pageShell{padding:18px 13px}.welcomeRow{align-items:flex-start;flex-direction:column}.welcomeRow h1{font-size:28px}.onlineBlock{width:100%;justify-content:space-between}.kpiGrid{grid-template-columns:1fr 1fr}.moduleGrid{grid-template-columns:1fr}.dashboardGrid{grid-template-columns:1fr}.yardStatusGrid{grid-template-columns:1fr}.messageLayout{grid-template-columns:1fr}.contactsPane{max-height:210px;border-right:0;border-bottom:1px solid #e5ebf2}.drawer{width:100vw}.sectionHeading{align-items:flex-start;flex-direction:column;gap:6px}.formGrid{grid-template-columns:1fr}.formGrid .span2{grid-column:auto}}@media(max-width:430px){.kpiGrid{grid-template-columns:1fr 1fr;gap:8px}.kpiCard{padding:13px}.kpiCard strong{font-size:25px}.iconBtn{width:38px;height:38px}.btn.small{padding:8px 9px}.moduleCard{grid-template-columns:48px 1fr 20px;padding:15px}.moduleIcon{width:46px;height:46px}}

/* v1.1.0 - Developer Authentication Sources */
.authAdminPage{max-width:1480px}.authAdminGrid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr);gap:16px}.developerNotice{background:#eef6ff;color:#214d78;border:1px solid #c9dff3;line-height:1.5}.developerSetting{padding:12px;border:1px solid #cfe0f0;border-radius:12px;background:#f7fbff}.authForm textarea{width:100%;border:1px solid #d5e0ea;border-radius:10px;padding:11px 12px;outline:none;background:#fff;resize:vertical}.authForm textarea:focus{border-color:#4f91c8;box-shadow:0 0 0 3px rgba(40,120,187,.10)}.metadataActions{display:flex;align-items:center;gap:12px;margin:6px 0 8px}.lookupTableFields{border:1px solid #dbe6f0;background:#f8fbfe;border-radius:13px;padding:12px;margin:7px 0}.subPanelTitle{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:850;color:#2d6596;margin-bottom:3px}.nestedGrid{margin:0}.lookupTest{display:grid;grid-template-columns:1fr minmax(180px,260px) auto;gap:10px;align-items:center;border-top:1px solid #e3eaf1;margin-top:8px;padding-top:15px}.lookupTest>div{display:flex;flex-direction:column}.lookupTest strong{font-size:13px;color:#264b70}.lookupTest span{font-size:11px;color:#7e8fa1;margin-top:3px}.lookupTest input{margin:0!important}.authSourceList{display:flex;flex-direction:column;gap:8px;max-height:790px;overflow:auto}.authSourceRow{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;border:1px solid #e0e8f0;border-radius:13px;padding:10px;background:#fff}.authSourceRow:hover,.authSourceRow.selected{background:#f3f8fd;border-color:#bcd5ea}.authSourceRow>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.authSourceRow strong{font-size:13px;color:#24486b}.authSourceRow small{font-size:10px;color:#75879a;margin-top:3px}.pathText{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dbGlyph{width:40px;height:40px;border-radius:10px;background:#e9f3fc;color:#155d9a;display:grid;place-items:center;font-weight:900;font-size:11px;border:1px solid #d1e3f3}.authForm [hidden]{display:none!important}
@media(max-width:1080px){.authAdminGrid{grid-template-columns:1fr}}@media(max-width:720px){.metadataActions{align-items:flex-start;flex-direction:column}.lookupTest{grid-template-columns:1fr}.topActions .btn{font-size:10px;padding:7px 8px}}

/* v1.2.0 standardized role mapping */
.roleMappingPanel{border:1px solid #cfe0f0;background:#f7fbff;border-radius:14px;padding:14px;margin:10px 0}.roleMappingHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.roleMappingHead h3{margin:3px 0 4px;color:#244f78;font-size:16px}.roleMappingHead p{margin:0;color:#74879a;font-size:11px;line-height:1.45}.roleMappingNotice{margin:12px 0;padding:10px 12px;border-radius:10px;background:#fff8e8;border:1px solid #f1dfaa;color:#715a20;font-size:11px;line-height:1.45}.roleMappingRows{display:flex;flex-direction:column;gap:7px}.roleMappingRow{display:grid;grid-template-columns:minmax(150px,1fr) 28px minmax(150px,1fr) auto;gap:8px;align-items:center}.roleMappingRow input,.roleMappingRow select{margin:0!important}.roleMappingRow input[readonly]{background:#fff;color:#314d68}.mappingArrow{text-align:center;color:#4d7da7;font-weight:900}.manualRoleAdd{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);gap:8px;align-items:center;margin-top:10px}.manualRoleAdd input{margin:0!important}.standardRoleAccess{border:1px solid #dbe6f0;background:#f8fbfe;border-radius:13px;padding:12px;margin:7px 0}.standardRoleAccess>.checkLabel{margin:7px 0;padding:0}.roleChecks{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:7px;margin:8px 0}.roleChecks label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;margin:0!important;padding:9px 10px;border:1px solid #d7e3ed;border-radius:10px;background:#fff}.roleChecks input{width:auto!important;margin:0!important}.standardRoleAccess>small{display:block;color:#7b8c9d;line-height:1.45;margin-top:5px}
@media(max-width:720px){.roleMappingHead{flex-direction:column}.roleMappingRow{grid-template-columns:1fr}.mappingArrow{transform:rotate(90deg)}.manualRoleAdd{grid-template-columns:1fr}.roleChecks{grid-template-columns:1fr 1fr}}

/* v1.3.0 role clarity + live messaging + module workspace */
.roleModelNotice{background:#f2f8fd;border:1px solid #cfe2f3;color:#355a78}.legacyConversionNotice{margin-top:12px;padding:10px 12px;border:1px solid #ead7a4;border-radius:10px;background:#fff9e9;color:#725d28;font-size:12px;line-height:1.45}.sourceModeLine{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.modePill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.4px}.modePill.standard{background:#e4f7ec;color:#137748}.modePill.legacy{background:#fff1d8;color:#875c12}.modePill.portalLogin{background:#e8f1fb;color:#1d5e95}.roleMappingNotice.standard{border-color:#cce8d7;background:#f0fbf5;color:#276748}.roleMappingNotice.legacy{border-color:#ead7a4;background:#fff9e9;color:#725d28}.contactSectionLabel{padding:8px 8px 6px;color:#55718d;font-size:10px;font-weight:900;letter-spacing:.55px;text-transform:uppercase}.contactSectionLabel.historyLabel{margin-top:10px;border-top:1px solid #e7edf3;padding-top:14px}.offlineContact{opacity:.82}.offlineContact .avatar{background:#eef2f5;color:#7b8a99}.composer button:disabled,.composer textarea:disabled{cursor:not-allowed;opacity:.55}.offlineComposerNote{padding:9px 13px 12px;border-top:1px solid #e6ebf1;background:#fafbfc;color:#7b8794;font-size:11px;text-align:center}

.workspaceBody{height:100vh;overflow:hidden;background:#edf2f6}.workspaceBar{height:66px;display:flex;align-items:center;gap:12px;padding:8px 14px;background:#fff;border-bottom:1px solid #dce5ed;box-shadow:0 2px 10px rgba(21,54,87,.07);position:relative;z-index:20}.workspaceBrand{display:flex;align-items:center;gap:8px;min-width:max-content}.workspaceBrand img{width:104px;max-height:38px;object-fit:contain}.workspaceBrand span{display:none;font-weight:900;color:#173d65}.workspaceHome{display:inline-flex;align-items:center;padding:8px 10px;border-radius:9px;background:#f3f7fa;color:#315a7f;font-size:12px;font-weight:800;white-space:nowrap}.workspaceCrumb{display:flex;flex-direction:column;min-width:150px}.workspaceCrumb span{font-size:9px;text-transform:uppercase;letter-spacing:.55px;color:#8a98a7;font-weight:800}.workspaceCrumb strong{margin-top:2px;color:#173d65;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspaceSwitcher{display:flex;align-items:center;gap:7px;margin:0!important;min-width:220px;max-width:330px;flex:1}.workspaceSwitcher span{font-size:10px;color:#728296;font-weight:800;white-space:nowrap}.workspaceSwitcher select{width:100%;border:1px solid #d7e1ea;border-radius:9px;background:#fff;padding:8px 10px;color:#264966;font-weight:700;outline:none}.workspaceActions{margin-left:auto;display:flex;align-items:center;gap:7px}.workspaceUser{display:flex;flex-direction:column;min-width:105px}.workspaceUser strong{font-size:11px;color:#294862;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspaceUser span{font-size:9px;color:#7d8c9b;margin-top:2px}.workspaceFrameWrap{height:calc(100vh - 66px);padding:0;background:#dfe6ec}.workspaceFrame{display:block;width:100%;height:100%;border:0;background:#fff}.workspaceFull{white-space:nowrap}

@media(max-width:900px){.workspaceCrumb{display:none}.workspaceSwitcher{min-width:170px}.workspaceUser{display:none}.workspaceFull{padding:8px 9px}}
@media(max-width:640px){.workspaceBar{height:58px;padding:7px 8px;gap:6px}.workspaceFrameWrap{height:calc(100vh - 58px)}.workspaceBrand img{width:86px}.workspaceHome{font-size:0;padding:8px}.workspaceHome:after{content:'←';font-size:16px}.workspaceSwitcher{min-width:0;flex:1}.workspaceSwitcher span{display:none}.workspaceSwitcher select{padding:7px 8px;font-size:12px}.workspaceActions{gap:4px}.workspaceActions .iconBtn{width:36px;height:36px}.workspaceFull{font-size:0;width:36px;height:36px;padding:0;display:grid;place-items:center}.workspaceFull:after{content:'↗';font-size:17px}.drawer{width:100vw}}


/* v1.3.1 production polish + live message alert + conversation cleanup */
body:not(.workspaceBody){background:linear-gradient(180deg,#f1f5f9 0,#f7f9fc 42%,#eef3f7 100%)}
.kpiCard,.moduleCard,.panel,.onlineBlock,.yardStatusCard,.moduleAdminRow,.authSourceRow,.roleMappingPanel,.standardRoleAccess{
  border-color:#d3dee9;
}
.kpiCard{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%);
  box-shadow:0 10px 24px rgba(24,55,86,.08),0 2px 5px rgba(24,55,86,.04);
}
.kpiCard:before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,#1b6daa,#7faed2);
  opacity:.78;
}
.moduleCard{
  border:1px solid #cedbe7;
  background:linear-gradient(145deg,#ffffff 0%,#f8fbfe 100%);
  box-shadow:0 9px 24px rgba(19,52,84,.09),0 2px 5px rgba(19,52,84,.04);
}
.moduleCard:hover{
  border-color:#8fb7d8;
  box-shadow:0 16px 34px rgba(15,78,133,.15),0 3px 8px rgba(15,78,133,.06);
}
.moduleIcon{
  border:1px solid #d0e1ef;
  background:linear-gradient(145deg,#edf6fd,#dfeefa);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 4px 10px rgba(21,93,150,.07);
}
.panel{
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
  border:1px solid #d2dde8;
  box-shadow:0 10px 28px rgba(24,55,86,.085),0 2px 5px rgba(24,55,86,.04);
}
.yardStatusCard{
  background:linear-gradient(180deg,#fbfdff,#f5f9fc);
  border:1px solid #d5e1ec;
  box-shadow:0 5px 13px rgba(24,55,86,.055);
}
.personRow,.contactRow{
  border:1px solid transparent;
}
.personRow:hover,.contactRow:hover,.contactRow.selected{
  border-color:#d5e4f1;
  box-shadow:0 4px 12px rgba(24,55,86,.05);
}
.moduleAdminRow,.authSourceRow{
  background:linear-gradient(180deg,#fff,#f9fbfd);
  box-shadow:0 4px 12px rgba(24,55,86,.045);
}
.drawer{
  border-left:1px solid #ced9e4;
  box-shadow:-18px 0 46px rgba(12,36,60,.22);
}
.conversationHead{
  background:linear-gradient(180deg,#fff,#f7fafc);
  box-shadow:0 3px 9px rgba(24,55,86,.035);
}
.conversationIdentity{display:flex!important;flex-direction:column;min-width:0;flex:1}
.conversationClearBtn{
  margin-left:auto;border:1px solid #d3dde7;background:#fff;color:#5f7183;
  border-radius:9px;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap;
}
.conversationClearBtn:hover{background:#f4f7fa;border-color:#bfcfdd;color:#365875}
.messageHistory{
  background:
    linear-gradient(rgba(247,249,252,.93),rgba(247,249,252,.93)),
    repeating-linear-gradient(135deg,#edf2f7 0,#edf2f7 1px,transparent 1px,transparent 14px);
}
.bubble.theirs{box-shadow:0 3px 9px rgba(26,55,84,.06)}
.bubble.mine{box-shadow:0 4px 10px rgba(15,98,170,.13)}

.messageAlertModal{
  position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:20px;
  background:rgba(12,31,49,.42);backdrop-filter:blur(2px);
  opacity:0;transition:opacity .16s ease;
}
.messageAlertModal[hidden]{display:none}
.messageAlertModal.show{opacity:1}
.messageAlertCard{
  width:min(460px,94vw);border:1px solid #c9d8e5;border-radius:20px;padding:25px;
  background:linear-gradient(180deg,#ffffff,#f7fafc);
  box-shadow:0 28px 70px rgba(13,40,67,.28),0 5px 14px rgba(13,40,67,.12);
  text-align:center;transform:translateY(8px) scale(.985);transition:transform .16s ease;
}
.messageAlertModal.show .messageAlertCard{transform:translateY(0) scale(1)}
.messageAlertIcon{
  width:58px;height:58px;margin:0 auto 12px;border-radius:17px;display:grid;place-items:center;
  background:linear-gradient(145deg,#e9f4fd,#d6e9f8);border:1px solid #c8dfef;
  box-shadow:0 7px 16px rgba(20,94,151,.12);
}
.messageAlertIcon svg{width:29px;height:29px;fill:none;stroke:#145da0;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.messageAlertCard h2{margin:6px 0 8px;color:#173d65;font-size:22px}
.messageAlertCard p{margin:0;color:#5e7185;font-size:13px}
.messageAlertPreview{
  margin:15px 0;padding:12px 14px;border:1px solid #dbe5ee;border-radius:12px;
  background:#fff;color:#334f69;font-size:13px;line-height:1.45;text-align:left;
  box-shadow:inset 0 1px 2px rgba(24,55,86,.025);
}
.messageAlertActions{display:flex;justify-content:center;gap:9px;margin-top:16px}

.workspaceBar{
  border-bottom:1px solid #cfdbe6;
  box-shadow:0 4px 15px rgba(21,54,87,.10);
}
.workspaceFrameWrap{
  border-top:1px solid #edf2f6;
}

@media(max-width:720px){
  .conversationHead{flex-wrap:wrap}
  .conversationClearBtn{width:100%;margin:7px 0 0}
  .messageAlertCard{padding:22px 18px}
  .messageAlertActions{flex-direction:column}
  .messageAlertActions .btn{width:100%}
}

/* v1.3.2 CloudYMS blue production framing + notification composer */
.topbar{
  background:linear-gradient(180deg,#ffffff 0%,#f5faff 100%);
  border-bottom-color:#bcd3e7;
  box-shadow:0 5px 20px rgba(21,72,113,.09);
}
.pageShell{position:relative}
.sectionHeading{
  padding:0 3px 9px 12px;
  border-left:4px solid #2b78b5;
  border-bottom:1px solid #dbe8f2;
}
.kpiCard,.moduleCard,.panel,.onlineBlock,.yardStatusCard,.moduleAdminRow,.authSourceRow,.roleMappingPanel,.standardRoleAccess{
  border-color:#b9d1e5;
  box-shadow:0 10px 26px rgba(22,68,106,.09),0 2px 5px rgba(22,68,106,.045);
}
.kpiCard{background:linear-gradient(180deg,#ffffff 0%,#f2f8fc 100%)}
.kpiCard:before{height:4px;background:linear-gradient(90deg,#1768a7,#6ca3ce);opacity:.9}
.moduleCard{
  border:1px solid #aecbe2;
  box-shadow:0 10px 26px rgba(18,67,106,.10),inset 0 0 0 1px rgba(255,255,255,.75);
}
.moduleCard:after{
  content:"";position:absolute;inset:8px auto 8px 0;width:3px;border-radius:0 4px 4px 0;background:#2b78b5;opacity:.62;
}
.moduleCard{position:relative;overflow:hidden}
.moduleCard:hover{border-color:#6fa8d2;box-shadow:0 17px 36px rgba(15,78,133,.17)}
.panel{
  border:1px solid #b7d0e4;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbfe 100%);
}
.panelHead{
  margin:-4px -4px 16px;padding:5px 5px 12px;
  border-bottom:1px solid #d7e6f2;
}
.yardStatusCard{border-color:#bdd5e7;background:linear-gradient(180deg,#ffffff,#eef6fb)}
.onlineBlock{border-color:#b8d1e5;background:linear-gradient(180deg,#ffffff,#f1f8fd)}
.peopleList,.notificationList{scrollbar-color:#9ebed8 #edf4f9}
.drawerHead{
  background:linear-gradient(180deg,#f8fcff,#edf6fc);
  border-bottom-color:#bdd4e6;
}
.workspaceBar{
  background:linear-gradient(180deg,#ffffff,#f0f7fc);
  border-bottom-color:#a9c8e0;
  box-shadow:0 5px 18px rgba(18,66,103,.13);
}
.workspaceHome,.workspaceSwitcher select{border-color:#bfd5e6;background:#f8fcff}
.workspaceFrameWrap{background:#cbd9e4;padding:3px 3px 0}
.workspaceFrame{border:1px solid #aac4d8;border-bottom:0;border-radius:4px 4px 0 0}
.moduleAdminRow,.authSourceRow,.roleMappingPanel,.standardRoleAccess{
  border-color:#b9d1e5!important;
  background:linear-gradient(180deg,#ffffff,#f4f9fd)!important;
}

.notificationDrawer{background:linear-gradient(180deg,#ffffff 0%,#f6fafd 100%)}
.notificationToolbar{
  display:flex;gap:8px;align-items:center;justify-content:space-between;padding:12px 13px;
  border-bottom:1px solid #d6e5f0;background:#f6fbff;
}
.notificationToolbar .btn{flex:1}
.notificationList{padding:13px;overflow:auto;flex:1}
.notificationItem{
  border:1px solid #c7dbe9;background:linear-gradient(180deg,#ffffff,#f7fbfe);
  box-shadow:0 5px 14px rgba(20,67,103,.06);transition:.15s ease;
}
.notificationItem:hover{border-color:#8fb8d7;box-shadow:0 8px 18px rgba(20,67,103,.10);transform:translateY(-1px)}
.notificationItem.unread{border-left:5px solid #176bb0;background:linear-gradient(180deg,#f8fcff,#edf7fe)}
.notificationItem.important{border-color:#e5b772;background:linear-gradient(180deg,#fffdf7,#fff7e8)}
.notificationItem.important.unread{border-left-color:#d48620}
.notificationItemTop{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.notificationItemTop strong{flex:1}
.notificationItemTop em{
  font-style:normal;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.45px;
  color:#8a5511;background:#fff0d5;border:1px solid #e8c88e;border-radius:999px;padding:3px 7px;white-space:nowrap;
}
.notificationComposerPanel{
  margin:12px 13px 0;padding:14px;border:1px solid #9fc1dc;border-radius:15px;
  background:linear-gradient(180deg,#fafdff,#edf6fc);box-shadow:0 10px 22px rgba(20,67,103,.10);
}
.notificationComposerPanel[hidden]{display:none}
.notificationComposerHead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:11px;padding-bottom:9px;border-bottom:1px solid #cfe0ed}
.notificationComposerHead>div{display:flex;flex-direction:column}.notificationComposerHead strong{color:#173f65;font-size:16px;margin-top:2px}
.composerClose{border:0;background:#e5f0f8;color:#40698a;width:30px;height:30px;border-radius:50%;font-size:20px;cursor:pointer}
.notificationComposerPanel label{display:flex;flex-direction:column;gap:5px;margin:10px 0;color:#45647f;font-size:11px;font-weight:800}
.notificationComposerPanel input,.notificationComposerPanel select,.notificationComposerPanel textarea{
  width:100%;border:1px solid #bcd2e3;border-radius:10px;background:#fff;color:#24435f;padding:9px 10px;outline:none;
}
.notificationComposerPanel input:focus,.notificationComposerPanel select:focus,.notificationComposerPanel textarea:focus{border-color:#5898c8;box-shadow:0 0 0 3px rgba(44,121,181,.12)}
.notificationComposerPanel textarea{resize:vertical;min-height:96px}
.notificationUsersWrap{margin:8px 0;padding:9px;border:1px solid #c9dce9;border-radius:11px;background:#fff}
.notificationUsersWrap>label{margin-top:0}
.notificationUserList{max-height:190px;overflow:auto;display:flex;flex-direction:column;gap:5px}
.notificationUserRow{
  display:grid!important;grid-template-columns:22px 34px 1fr auto;align-items:center;gap:8px!important;margin:0!important;padding:7px!important;
  border:1px solid #e0eaf2;border-radius:9px;background:#fbfdff;cursor:pointer;
}
.notificationUserRow:hover{border-color:#b8d1e4;background:#f1f8fd}
.notificationUserRow input{width:auto!important;margin:0!important;padding:0!important;box-shadow:none!important}
.notificationUserRow .avatar{width:32px;height:32px;font-size:10px}
.notificationUserRow>span:nth-of-type(2){display:flex;flex-direction:column;min-width:0}
.notificationUserRow strong{font-size:11px;color:#294c69}.notificationUserRow small{font-size:9px;color:#8292a1;margin-top:2px}
.notificationUserRow em{font-style:normal;font-size:9px;color:#416784;background:#eaf3fa;border-radius:999px;padding:3px 6px}
.notificationComposerActions{display:flex;gap:8px;margin-top:12px}.notificationComposerActions .btn{flex:1}
.notificationComposerStatus{min-height:18px;margin-top:9px;text-align:center;font-size:10px;color:#6d7e8f}
.notificationComposerStatus.success{color:#167448;font-weight:800}.notificationComposerStatus.error{color:#a63c3c;font-weight:800}

.notificationAlertModal{
  position:fixed;inset:0;z-index:1510;display:grid;place-items:center;padding:20px;
  background:rgba(12,31,49,.44);backdrop-filter:blur(2px);opacity:0;transition:opacity .16s ease;
}
.notificationAlertModal[hidden]{display:none}.notificationAlertModal.show{opacity:1}
.notificationAlertCard{
  width:min(480px,94vw);border:1px solid #d6af70;border-radius:20px;padding:25px;text-align:center;
  background:linear-gradient(180deg,#fffdf8,#fff7e9);box-shadow:0 30px 75px rgba(13,40,67,.30),0 6px 16px rgba(13,40,67,.13);
  transform:translateY(8px) scale(.985);transition:transform .16s ease;
}
.notificationAlertModal.show .notificationAlertCard{transform:translateY(0) scale(1)}
.notificationAlertIcon{
  width:60px;height:60px;margin:0 auto 12px;border-radius:18px;display:grid;place-items:center;
  background:linear-gradient(145deg,#e9f4fd,#d9ebf8);border:1px solid #bdd8eb;box-shadow:0 8px 18px rgba(20,94,151,.13);
}
.notificationAlertIcon svg{width:30px;height:30px;fill:none;stroke:#145da0;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notificationAlertCard h2{margin:6px 0 8px;color:#173d65;font-size:22px}.notificationAlertCard p{margin:0;color:#657586;font-size:13px}
.notificationAlertPreview{margin:15px 0;padding:13px 14px;border:1px solid #e7d4ae;border-radius:12px;background:#fff;color:#334f69;font-size:13px;line-height:1.48;text-align:left}
.notificationAlertActions{display:flex;justify-content:center;gap:9px;margin-top:16px}

@media(max-width:720px){
  .sectionHeading{padding-left:9px}.notificationToolbar{flex-direction:column}.notificationToolbar .btn{width:100%}
  .notificationComposerPanel{margin:10px 9px 0;padding:12px}.notificationComposerActions{flex-direction:column}.notificationAlertCard{padding:22px 18px}.notificationAlertActions{flex-direction:column}.notificationAlertActions .btn{width:100%}
  .workspaceFrameWrap{padding:2px 2px 0}
}


/* v1.3.2 module visibility recovery polish */
.moduleHeadingActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.moduleCardRecovery{border-color:#7faed2;background:linear-gradient(180deg,#fafdff,#eaf4fb);box-shadow:0 10px 26px rgba(20,87,139,.12)}
.moduleCardRecovery:after{background:#0f67b2;opacity:.95}
.moduleRecoveryStatus{display:inline-flex!important;width:max-content;max-width:100%;margin-top:8px!important;padding:4px 8px;border-radius:999px;background:#dbeefb;color:#0d5a98!important;font-size:10px!important;font-weight:850;letter-spacing:.02em}
.moduleEmptyState{grid-column:1/-1;min-height:150px;border:1px dashed #8fb9d9;border-radius:18px;background:linear-gradient(180deg,#fafdff,#edf6fc);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;color:#58738d}
.moduleEmptyState strong{color:#174f7f;font-size:16px}.moduleEmptyState span{font-size:12px}
@media(max-width:720px){.moduleHeadingActions{justify-content:flex-start}}

/* v1.3.3 workspace launch resilience */
.workspaceLaunchError{min-height:calc(100vh - 74px);display:grid;place-items:center;padding:28px;background:linear-gradient(180deg,#f4f8fd 0%,#eef5fc 100%)}
.workspaceLaunchErrorCard{width:min(720px,94vw);background:#fff;border:1px solid #9ec4e8;border-top:5px solid #176bb3;border-radius:16px;box-shadow:0 14px 34px rgba(18,77,127,.16);padding:28px}
.workspaceLaunchErrorCard h2{margin:6px 0 10px;color:#123f68}.workspaceLaunchErrorCard p{color:#4f6476;line-height:1.55}
.workspaceLaunchErrorCard pre{white-space:pre-wrap;background:#f4f8fc;border:1px solid #c8dced;border-radius:10px;padding:12px;color:#35536c;font-size:12px}

.btn.danger{background:#b42333;color:#fff;box-shadow:0 5px 13px rgba(180,35,51,.18)}.btn.danger:hover{background:#981b29}.deleteModuleForm{margin-top:18px;padding-top:16px;border-top:1px solid #e7edf4;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.deleteModuleForm small{color:#7b8999}


/* v1.3.7 CloudYMS application-launcher visual polish */
:root{--cy-blue:#0f5fa8;--cy-blue-dark:#123f6d;--cy-border:#c5d9e9;--cy-soft:#f2f7fb}
.pageShell{max-width:1720px;padding-top:22px}
.welcomeRow{align-items:center;margin-bottom:16px;padding:18px 20px;border:1px solid #c7dbea;border-radius:18px;background:linear-gradient(120deg,#fff 0%,#f2f8fd 70%,#e9f4fb 100%);box-shadow:0 10px 26px rgba(21,72,113,.08)}
.welcomeRow h1{font-size:30px;margin:3px 0 3px}.welcomeRow p{font-size:12px}.welcomeCopy{min-width:0}
.onlineBlock{padding:9px 12px;border-radius:13px;box-shadow:0 4px 12px rgba(18,53,88,.04)}
.kpiGrid{gap:10px;margin-bottom:22px}.kpiCard{padding:12px 15px;border-radius:13px}.kpiCard strong{font-size:24px;margin:4px 0 1px}.kpiCard small{font-size:10px}.kpiCard>span{font-size:10px}
.moduleSectionHeading{align-items:center;margin-bottom:10px}.moduleHeadingActions{flex-wrap:nowrap}.moduleSearch{width:min(340px,34vw);height:38px;display:flex;align-items:center;gap:8px;padding:0 11px;background:#fff;border:1px solid #bfd5e6;border-radius:11px;box-shadow:0 3px 10px rgba(18,67,106,.04)}.moduleSearch span{display:grid;place-items:center}.moduleSearch svg{width:17px;height:17px;fill:none;stroke:#5c86a7;stroke-width:1.8}.moduleSearch input{border:0;outline:0;background:transparent;width:100%;font-size:12px;color:#254762}.moduleSearch input::placeholder{color:#8b9aaa}
.moduleGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:22px}
.moduleCard{--module-accent:#176bb0;min-height:86px;padding:11px 12px;grid-template-columns:44px minmax(0,1fr) 36px;gap:10px;border-radius:14px;border-color:#c4d8e8;box-shadow:0 5px 14px rgba(21,54,87,.055);background:linear-gradient(180deg,#fff,#f9fcfe)}
.moduleCard:after{inset:9px auto 9px 0;width:3px;background:var(--module-accent);opacity:.72}.moduleCard:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--module-accent) 50%,#d3e2ed);box-shadow:0 12px 25px rgba(15,78,133,.13)}
.moduleIcon{width:42px;height:42px;border-radius:12px;border:1px solid var(--module-icon-border,#bfd9ef);background:var(--module-icon-bg,#eaf4ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.moduleIcon svg{width:23px;height:23px;stroke:var(--module-icon-color,#176bb0)}
.moduleText strong{font-size:13.5px;line-height:1.2;color:#183d60;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moduleText small{font-size:10px;margin-top:4px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moduleCardActions{height:100%;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}.favoriteToggle{font-size:17px;line-height:1;color:#a4b1bd;cursor:pointer;border-radius:6px;padding:1px 2px;transition:.15s}.favoriteToggle:hover,.favoriteToggle:focus{color:#db9a18;background:#fff6df;outline:none}.favoriteToggle.isFavorite{color:#e2a021}.openArrow{font-size:17px;color:#7598b5}
.moduleRecoveryStatus{font-size:8px!important;margin-top:4px!important;padding:2px 6px!important}.moduleCardRecovery{background:linear-gradient(180deg,#fafdff,#eef7fd)}
.moduleTone-blue{--module-accent:#176bb0}.moduleTone-green{--module-accent:#23945a}.moduleTone-teal{--module-accent:#168b91}.moduleTone-orange{--module-accent:#d78524}.moduleTone-purple{--module-accent:#7957b5}.moduleTone-red{--module-accent:#c74b55}.moduleTone-gray{--module-accent:#687b8c}
.iconColor-blue{--module-icon-color:#176bb0;--module-icon-bg:#eaf4ff;--module-icon-border:#bed9ee}.iconColor-green{--module-icon-color:#238554;--module-icon-bg:#e9f8ef;--module-icon-border:#bfe5ce}.iconColor-teal{--module-icon-color:#157f86;--module-icon-bg:#e7f7f7;--module-icon-border:#bce2e3}.iconColor-orange{--module-icon-color:#b96c16;--module-icon-bg:#fff3e4;--module-icon-border:#efd1aa}.iconColor-purple{--module-icon-color:#6e4bab;--module-icon-bg:#f2edfb;--module-icon-border:#d8caed}.iconColor-red{--module-icon-color:#b83d48;--module-icon-bg:#fff0f1;--module-icon-border:#efc6ca}.iconColor-gray{--module-icon-color:#5f7384;--module-icon-bg:#eef2f5;--module-icon-border:#d2dce3}
.quickAccessSection{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 15px}.quickAccessGroup{border:1px solid #caddea;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f2f8fc);padding:9px 10px}.quickAccessTitle{display:flex;align-items:center;gap:6px;margin:0 2px 7px;color:#506c84;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.quickAccessTitle>span{color:#d69719;font-size:13px}.quickModuleGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.quickModuleGrid .moduleCard{min-height:66px;padding:8px;grid-template-columns:34px minmax(0,1fr) 28px}.quickModuleGrid .moduleIcon{width:33px;height:33px;border-radius:9px}.quickModuleGrid .moduleIcon svg{width:18px;height:18px}.quickModuleGrid .moduleText strong{font-size:11px}.quickModuleGrid .moduleText small{display:none}.quickModuleGrid .openArrow{display:none}.quickModuleGrid .favoriteToggle{font-size:14px}.quickModuleGrid .moduleCardActions{justify-content:flex-start}.moduleNoResults{margin:-8px 0 22px;padding:20px;border:1px dashed #a9c7dd;border-radius:14px;text-align:center;color:#6b8194;background:#f8fbfd;font-size:12px}
.dashboardGrid{gap:12px}.panel{border-radius:15px;padding:16px}.panelHead{margin-bottom:11px}.yardStatusGrid{gap:9px}.yardStatusCard{padding:12px;border-radius:12px}.yardNumbers{margin:12px 0 7px}.yardNumbers strong{font-size:23px}

/* v1.3.7 visual icon picker */
.moduleVisualPicker{margin:8px 0 4px;padding:14px;border:1px solid #bcd4e6;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f1f7fc)}.moduleVisualHeader{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.moduleVisualHeader>div:first-child{display:flex;flex-direction:column;gap:3px}.moduleVisualHeader>div:first-child>strong{color:#234b6e}.moduleVisualHeader small{color:#7b8c9d;font-size:10px}.moduleVisualPreview{min-width:210px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #cbdce9;border-radius:11px;background:#fff}.moduleVisualPreview>span:last-child{display:flex;flex-direction:column}.moduleVisualPreview strong{font-size:12px;color:#254863}.moduleVisualPreview .moduleIcon{width:37px;height:37px}.moduleVisualPreview .moduleIcon svg{width:20px;height:20px}
.iconPickerGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.iconChoice{margin:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:4px!important;padding:7px 4px!important;border:1px solid #d7e4ed;border-radius:10px;background:#fff;cursor:pointer;transition:.14s}.iconChoice:hover,.iconChoice.selected{border-color:#67a2cf;background:#f2f8fd;box-shadow:0 3px 9px rgba(24,91,145,.08)}.iconChoice input{position:absolute;opacity:0;pointer-events:none}.iconChoiceTile{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#edf5fb}.iconChoiceTile svg{width:19px;height:19px;fill:none;stroke:#236da7;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.iconChoice small{font-size:8px!important;color:#617a90!important;text-align:center;line-height:1.15;font-weight:700!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.colorPickerRow{margin-top:10px;padding-top:10px;border-top:1px solid #d5e4ef;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.colorPickerLabel{font-size:10px;font-weight:800;color:#59738a;margin-right:2px}.colorChoice{margin:0!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;padding:5px 8px!important;border:1px solid transparent;border-radius:999px;cursor:pointer}.colorChoice.selected{background:#fff;border-color:#c7dae8}.colorChoice input{position:absolute;opacity:0;pointer-events:none}.colorChoice small{font-size:9px!important;color:#587086!important}.colorSwatch{width:16px;height:16px;border-radius:50%;background:var(--module-icon-color);border:3px solid var(--module-icon-bg);box-shadow:0 0 0 1px var(--module-icon-border)}

@media(max-width:1350px){.moduleGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.iconPickerGrid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1080px){.moduleGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.quickAccessSection{grid-template-columns:1fr}.iconPickerGrid{grid-template-columns:repeat(5,minmax(0,1fr))}.moduleSearch{width:280px}}
@media(max-width:780px){.pageShell{padding-top:14px}.welcomeRow{align-items:flex-start;padding:15px}.welcomeRow h1{font-size:25px}.moduleSectionHeading{align-items:flex-start}.moduleHeadingActions{width:100%;flex-wrap:wrap;justify-content:flex-start}.moduleSearch{width:100%;max-width:none}.moduleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.quickModuleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.iconPickerGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.moduleVisualHeader{align-items:flex-start;flex-direction:column}.moduleVisualPreview{width:100%;min-width:0}}
@media(max-width:520px){.moduleGrid{grid-template-columns:1fr}.quickModuleGrid{grid-template-columns:1fr}.moduleCard{min-height:76px}.iconPickerGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.welcomeRow{border-radius:14px}.kpiGrid{gap:7px}.kpiCard{padding:10px}.kpiCard strong{font-size:21px}}
