:root{--navy:#08285c;--blue:#0b3d82;--green:#009640;--red:#d71920;--bg:#edf2f7;--line:#d4deea;--text:#18243a}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font:14px Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg)}button,input,select{font:inherit}.app{display:grid;grid-template-columns:365px minmax(0,1fr);height:100vh;overflow:hidden}.sidebar{background:white;border-right:1px solid var(--line);padding:15px;overflow:auto}.brand{display:flex;align-items:center;gap:10px;padding-bottom:12px}.brand img{width:150px;height:52px;object-fit:contain;object-position:left center}.brand strong{display:block;color:var(--navy);font-size:17px}.brand small{display:block;color:#6b7b90;margin-top:3px}section{border-top:1px solid #e4eaf1;padding-top:12px;margin-top:12px}h2{margin:0 0 9px;color:var(--navy);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.field{display:grid;gap:3px;margin:6px 0}.field span{font-size:11px;color:#64748b}input,select{width:100%;padding:7px 8px;border:1px solid #cad5e2;border-radius:6px;background:white}.twocol,.row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.row{margin:6px 0}.tools{display:grid;grid-template-columns:1fr 1fr;gap:5px}.tool,button,.buttonLink{padding:8px;border:1px solid var(--blue);color:var(--blue);background:white;border-radius:6px;cursor:pointer;text-decoration:none;text-align:center}.tool.active,.primary{background:var(--blue);color:white}.danger{border-color:var(--red);color:var(--red)}button:disabled{opacity:.4;cursor:not-allowed}.hint{font-size:11px;line-height:1.35;color:#718096}.clientLogo{display:block;max-width:180px;max-height:70px;object-fit:contain;margin:6px 0}.fortisafeFixed{display:flex;align-items:center;gap:10px;background:#f7f9fc;border:1px solid #dce4ee;border-radius:7px;padding:8px;margin-top:8px}.fortisafeFixed img{width:115px}.fortisafeFixed span{font-size:10px;color:#596a80}.check{display:flex;gap:6px;align-items:center;font-size:11px;margin-top:8px}.check input{width:auto}.selection,.status{font-size:11px;padding:8px;background:#f1f5f9;border-radius:6px;margin-top:7px;line-height:1.4}.workspace{min-width:0;display:flex;flex-direction:column;height:100vh}.topbar{height:56px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.topbar strong{display:block;color:var(--navy)}.topbar span{display:block;color:#718096;font-size:11px;margin-top:2px}.zoom{display:flex;gap:5px;align-items:center}.zoom button{padding:5px 10px}.canvasScroll{flex:1;overflow:auto;padding:22px;background:#e8edf3}.planSvg{display:block;background:white;box-shadow:0 5px 22px #8290a344;margin:auto;touch-action:none}.planSvg.cross{cursor:crosshair}.empty{max-width:560px;margin:80px auto;background:white;border:1px dashed #aebdce;border-radius:12px;padding:40px;text-align:center;color:#66768b}.empty h3{color:var(--navy)}@media(max-width:900px){.app{grid-template-columns:1fr;height:auto;overflow:auto}.sidebar{max-height:none}.workspace{height:70vh}.twocol{grid-template-columns:1fr}}

.uploadStatus{font-size:11px;line-height:1.35;margin-top:7px;padding:8px 9px;border:1px solid #d7e0ea;border-radius:6px;background:#f8fafc;color:#526175}.uploadStatus.busy{border-color:#9eb7d4;background:#edf5ff;color:#0b3d82}.uploadStatus.error{border-color:#efb2b5;background:#fff1f2;color:#a30f17;font-weight:700}

.routeHint{background:#f4f8fd;border:1px solid #d6e2f1;border-radius:6px;padding:8px;margin:7px 0 9px}.routeSelection .compact{margin-top:7px;width:100%;padding:6px}.modalBackdrop{position:fixed;inset:0;background:rgba(8,40,92,.34);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.modalCard{width:min(460px,94vw);background:#fff;border-radius:14px;border:1px solid #cbd7e6;box-shadow:0 22px 60px rgba(8,40,92,.28);padding:24px;text-align:left}.modalCard h3{margin:0 0 10px;color:var(--navy);font-size:19px}.modalCard p{line-height:1.5;margin:8px 0;color:#42536a}.modalIcon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e8f4ec;color:var(--green);font-weight:700;font-size:22px;margin-bottom:12px}.modalHint{font-size:12px;background:#f7f9fc;border-radius:7px;padding:9px}.modalActions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:17px}


/* Alpha 8 - route UX */
.canvasScroll{position:relative}.canvasInstruction{position:absolute;top:32px;left:50%;transform:translateX(-50%);z-index:20;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.96);border:2px solid var(--blue);box-shadow:0 4px 16px rgba(8,40,92,.18);border-radius:9px;padding:9px 13px;color:#41536b;pointer-events:none;white-space:nowrap}.canvasInstruction strong{color:var(--navy)}.routeSelection{border:1px solid #ef9aa0;background:#fff4f4}.routeHelpCard{max-width:480px}.routeIcon{background:#eef4ff;color:var(--blue)}.routeSteps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:14px 0}.routeSteps span{border:1px solid #cbd7e6;border-radius:7px;padding:9px 6px;text-align:center;font-size:11px;color:var(--navy);background:#f8fafc}.routeHelpButton{width:100%;margin-top:8px}.keyboardHint{font-size:11px;color:#718096;margin:6px 0}

/* Alpha 9 - guided step workflow */
.app{grid-template-columns:390px minmax(0,1fr)}
.sidebar{overflow:hidden;display:flex;flex-direction:column;padding:12px;gap:8px}
.brand{padding-bottom:6px;flex:0 0 auto}.brand img{width:132px;height:46px}.brand strong{font-size:16px}.brand small{font-size:10px}
.projectPicker{flex:0 0 auto;display:grid;grid-template-columns:92px 1fr;align-items:center;gap:8px;padding:7px 8px;background:#f7f9fc;border:1px solid #dce4ee;border-radius:8px}.projectPicker span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);font-weight:700}.projectPicker select{padding:6px 7px}
.stepper{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}
.stepCard{flex:0 0 auto;border:1px solid #d8e1ec;border-radius:9px;background:#fff;overflow:hidden;min-height:0}.stepCard.active{flex:1 1 auto;display:flex;flex-direction:column;border-color:#9eb6d2;box-shadow:0 2px 8px rgba(8,40,92,.07)}
.stepHeader{width:100%;border:0;border-radius:0;padding:8px 9px;background:#fff;display:grid;grid-template-columns:28px minmax(0,1fr) 18px;gap:8px;align-items:center;text-align:left;color:var(--text)}.stepHeader:hover{background:#f7f9fc}.stepCard.active .stepHeader{background:#f1f6fc}
.stepBadge{width:25px;height:25px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e9eef5;color:var(--navy);font-size:11px;font-weight:700}.stepBadge.done{background:#e5f4e9;color:#087a35}
.stepTitle{min-width:0;display:block}.stepTitle strong{display:block;color:var(--navy);font-size:12px}.stepTitle small{display:block;color:#708096;font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepChevron{color:#7d8ca0;font-size:18px;text-align:center}
.stepBody{flex:1;min-height:0;overflow:auto;border-top:1px solid #e3e9f1;padding:9px 10px 10px;background:#fff}.stepFields{min-height:100%}.stepFields>input[type=file]{margin-bottom:6px}
.stepNav{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px;padding-top:9px;border-top:1px solid #edf1f5}.stepNav button{padding:7px 8px;font-size:11px}
.fullButton{display:block;width:100%;margin:6px 0}.buttonLink.fullButton{display:block}
.editToolbar{display:grid;grid-template-columns:1fr 44px 1.35fr;gap:6px;margin-bottom:8px}.editToolbar button{padding:7px 6px}.undoButton{font-size:21px;line-height:1;padding:4px 6px;font-weight:700}.undoButton:not(:disabled){background:#f7f9fc}
.pictogramTools{grid-template-columns:1fr 1fr;gap:5px}.pictogramTools .tool{padding:7px 5px;font-size:11px}.routeTool{width:100%;margin-top:7px;font-weight:700}.routeHint{margin:6px 0 8px;padding:7px}.keyboardHint{background:#f7f9fc;border-radius:6px;padding:6px 7px;line-height:1.35}
.sidebarStatus{flex:0 0 auto;min-height:38px;max-height:52px;overflow:hidden;font-size:10px;line-height:1.35;color:#53657a;background:#f5f8fb;border:1px solid #dce4ee;border-radius:7px;padding:7px 8px}
.planControls .hint{margin-bottom:2px}
@media(max-height:780px){.brand img{width:112px;height:38px}.brand{padding-bottom:2px}.projectPicker{padding:5px 7px}.stepHeader{padding:6px 8px}.stepBadge{width:22px;height:22px}.sidebarStatus{min-height:32px;max-height:38px;padding:5px 7px}.stepBody{padding:7px 9px}.field{margin:4px 0}input,select{padding:6px 7px}}
@media(max-width:900px){.app{grid-template-columns:1fr;height:auto;overflow:auto}.sidebar{overflow:visible;min-height:720px}.stepCard.active{min-height:420px}.workspace{height:70vh}}

/* Alpha 10 - editor controls, drag/drop pictograms, redo, wheel zoom */
.editToolbar{grid-template-columns:1fr 42px 42px 1fr}
.historyButton{font-size:21px;line-height:1;padding:4px 6px;font-weight:700;background:#f7f9fc}
.historyButton:not(:disabled):hover{background:#edf4fb}
.dragHint{font-size:10.5px;line-height:1.35;color:#5f7187;background:#f7f9fc;border:1px solid #dce4ee;border-radius:6px;padding:6px 7px;margin:0 0 7px}
.draggableTool{position:relative;padding-right:24px;user-select:none;-webkit-user-select:none}
.draggableTool .dragGrip{position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:13px;letter-spacing:-2px;color:#8a9aac;pointer-events:none}
.draggableTool:not(:disabled){cursor:grab}.draggableTool:not(:disabled):active{cursor:grabbing}
.canvasScroll{overscroll-behavior:contain}

/* Alpha 11 - review mode */
.reviewInstruction{border-color:#718096;background:rgba(248,250,252,.97);color:#526276}.reviewInstruction strong{color:#334155}


/* Alpha 12 - smart route guidance */
.smartGuideBox{margin-top:8px;padding:8px;border:1px solid #bfd4e7;border-radius:8px;background:#f5faff}.smartGuideTitle{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--navy);font-size:11px}.smartGuideTitle span{font-size:9.5px;color:#60758e;white-space:nowrap}.smartGuideBox .hint{margin:6px 0}.guideButtons{margin:4px 0}.guideButtons .tool{font-size:10.5px;padding:7px 5px}.guideCheck{margin-top:5px}.guideInstruction{border-color:#2b7bbb}.anchorSelection{border:1px solid #f6c46d;background:#fff9ed}.smartGuideBox + .routeTool{margin-top:8px}

/* Alpha 13 - automatic route centering + global pictogram sizing */
.pictogramScaleBox{margin-top:8px;padding:8px;border:1px solid #d7e1ec;border-radius:8px;background:#f8fafc}
.pictogramScaleTitle{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--navy);font-size:11px}
.pictogramScaleTitle span{font-size:9.5px;color:#60758e}
.pictogramScaleControls{display:grid;grid-template-columns:38px 1fr 38px;gap:6px;align-items:center;margin-top:7px}
.pictogramScaleControls button{min-height:32px;font-size:16px;font-weight:700}
.pictogramScaleControls .scalePercent{font-size:12px;background:#fff;color:var(--navy)}
.pictogramScaleBox .hint{margin:6px 0 0}

/* Alpha 16 - linked floor views */
.viewPicker{flex:0 0 auto;padding:8px;border:1px solid #cbd9e8;border-radius:8px;background:#f5f9fd}.viewPickerTitle{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.viewPickerTitle span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);font-weight:700}.viewPickerTitle small{font-size:9.5px;color:#6b7b90}.viewPickerRow{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:6px}.viewPickerRow select{padding:6px 7px}.viewAddButton{font-size:20px;font-weight:700;line-height:1;padding:4px}.viewOnlyBox{padding:9px;border:1px solid #b9cfe3;border-radius:8px;background:#f2f8fd;margin-bottom:8px}.viewOnlyBox>strong{display:block;color:var(--navy);font-size:12px}.viewOnlyBox>p{font-size:10.5px;line-height:1.4;color:#53677d;margin:5px 0 7px}.viewDuplicateButton{border-color:#3379b8;background:#f5faff;color:#0b3d82;font-weight:700}.viewDuplicateButton:hover{background:#eaf4fc}
.viewLockedHint{padding:8px;border:1px solid #d9e4ef;border-radius:7px;background:#f8fafc;margin-top:7px}

/* Alpha 16.1 - precision pictogram drag */
.planSvg.precisionDrag{cursor:none}

/* Alpha 17 - review and validation */
.validationStep{display:flex;flex-direction:column;gap:7px}.validationSummary{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;border:1px solid #cbd7e6;border-radius:9px;padding:9px 10px;background:#f8fafc}.validationSummaryIcon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px}.validationSummary strong{display:block;font-size:12px;color:var(--navy)}.validationSummary span{display:block;font-size:10.5px;line-height:1.35;color:#5c6e83;margin-top:2px}.validationSummary.blocked{border-color:#efb2b5;background:#fff5f5}.validationSummary.blocked .validationSummaryIcon{background:#fde2e3;color:#b41219}.validationSummary.attention{border-color:#f0cf91;background:#fffaf0}.validationSummary.attention .validationSummaryIcon{background:#fff0cc;color:#946000}.validationSummary.ready{border-color:#a8d9b5;background:#f2fbf4}.validationSummary.ready .validationSummaryIcon{background:#dff3e4;color:#087a35}.validationSummary.loading .validationSummaryIcon{background:#e8f0fa;color:var(--blue)}
.validationSection,.viewValidationBox{border:1px solid #dce4ee;border-radius:8px;padding:7px;background:#fff}.validationSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.validationSectionTitle strong{font-size:11px;color:var(--navy)}.validationSectionTitle span{font-size:9.5px;color:#6b7b90}.validationRow{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px 5px;border-top:1px solid #edf1f5}.validationSectionTitle+.validationRow{border-top:0}.validationIcon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}.validationRow.blocking .validationIcon{background:#fde2e3;color:#b41219}.validationRow.warning .validationIcon{background:#fff0cc;color:#946000}.validationRow.passed .validationIcon{background:#dff3e4;color:#087a35}.validationText{min-width:0}.validationText strong{display:block;font-size:10.5px;color:#26384e}.validationText span{display:block;font-size:9.5px;line-height:1.3;color:#687a8e;margin-top:1px}.validationAction{padding:4px 6px;font-size:9.5px;white-space:nowrap}.validationRow.blocking .validationAction{border-color:#d71920;color:#b41219}.validationRow.warning .validationAction{border-color:#d7a43b;color:#856000}.viewValidationRow{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px;align-items:center;border:0;border-top:1px solid #edf1f5;border-radius:0;padding:6px 4px;text-align:left;color:#31455d}.validationSectionTitle+.viewValidationRow{border-top:0}.viewValidationRow:hover{background:#f7f9fc}.viewValidationDot{width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800}.viewValidationRow.blocked .viewValidationDot{background:#fde2e3;color:#b41219}.viewValidationRow.attention .viewValidationDot{background:#fff0cc;color:#946000}.viewValidationRow.ready .viewValidationDot{background:#dff3e4;color:#087a35}.viewValidationRow>span:nth-child(2){font-size:10.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewValidationRow small{font-size:9px;color:#6b7b90;white-space:nowrap}.validationAllGood{border:1px solid #a8d9b5;border-radius:8px;background:#f2fbf4;color:#087a35;padding:8px;font-size:10.5px;font-weight:700}.passedChecks,.technicalTools{border:1px solid #e0e6ee;border-radius:8px;background:#f8fafc;padding:0 8px}.passedChecks summary,.technicalTools summary{cursor:pointer;padding:7px 0;font-size:10.5px;color:#53667c;font-weight:700}.passedChecksList{border-top:1px solid #e5ebf2;padding-bottom:4px}.passedChecks .validationAction{display:none}.reviewActions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.reviewActions .fullButton{margin:0}.reviewActions .viewDuplicateButton{grid-column:1/-1}.technicalTools[open]{padding-bottom:6px}.reviewInstruction.blocked{border-color:#d71920;background:rgba(255,245,245,.98)}.reviewInstruction.attention{border-color:#c99624;background:rgba(255,250,240,.98)}.reviewInstruction.ready{border-color:#299451;background:rgba(242,251,244,.98)}
@media(max-height:780px){.validationSummary{padding:7px 8px}.validationRow{padding:4px}.viewValidationRow{padding:4px}.validationText span{font-size:9px}}

/* Alpha 18 - definitive preview and PDF export */
.finalExportBox{border:1px solid #d6dfeb;border-radius:9px;padding:8px;background:#f8fafc}.finalExportBox.ready{border-color:#9fd3ae;background:#f3fbf5}.finalExportBox.locked{border-color:#e5c5c7;background:#fff8f8}.finalExportHeading{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center}.finalExportIcon{width:31px;height:31px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;letter-spacing:.02em;background:#e5edf7;color:var(--navy)}.finalExportBox.ready .finalExportIcon{background:#daf0e0;color:#087a35}.finalExportBox.locked .finalExportIcon{background:#fde5e6;color:#b41219;font-size:16px}.finalExportHeading strong{display:block;color:var(--navy);font-size:11.5px}.finalExportHeading span{display:block;color:#5c6e83;font-size:9.7px;line-height:1.35;margin-top:2px}.finalExportActions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.finalExportActions .fullButton{margin:0}.finalExportActions .finalPreviewButton{grid-column:1/-1;border-color:#2d6da7;color:#0b3d82;background:#f7fbff;font-weight:700}.finalExportActions .primary:last-child{grid-column:1/-1}.finalLastLink{display:block;margin-top:6px;font-size:9.5px;color:#0b5ea8;text-decoration:none;text-align:center}.finalLastLink:hover{text-decoration:underline}.reviewActions{margin-top:1px}

/* Alpha 19.0 - pilot hardening, autosave, project management and immutable revisions */
.projectPicker{display:grid;gap:4px;margin:4px 0 8px}.projectPicker>span{font-size:11px;color:#64748b}.projectManager{margin:8px 0;border:1px solid #d9e2ed;border-radius:8px;background:#f8fafc;overflow:hidden}.projectManager>summary{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;cursor:pointer;color:var(--navy);font-weight:700;list-style:none}.projectManager>summary::-webkit-details-marker{display:none}.projectManager>summary small{font-size:10px;color:#718096;font-weight:400}.projectManagerControls{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:0 8px 8px}.projectManagerControls button{padding:6px}.projectList{display:grid;gap:6px;padding:0 8px 8px;max-height:285px;overflow:auto}.projectRow{border:1px solid #d8e2ee;border-radius:7px;background:white;padding:6px}.projectRow.current{border-color:#6d92bf;box-shadow:0 0 0 1px #d5e4f6 inset}.projectOpen{display:block;width:100%;border:0;padding:3px 2px;text-align:left;color:var(--text);background:transparent}.projectOpen strong,.projectOpen span,.projectOpen small{display:block}.projectOpen strong{color:var(--navy);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projectOpen span{font-size:10px;color:#526175;margin-top:2px}.projectOpen small{font-size:9px;color:#8a98aa;margin-top:2px}.projectRowActions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:4px}.projectRowActions button{padding:5px;font-size:10px}.projectEmpty{padding:10px;font-size:10px;color:#718096;text-align:center}.activeProjectState{margin:8px 0;padding:8px 9px;border:1px solid #d8e2ee;border-radius:8px;background:#f8fafc}.activeProjectState.review{border-color:#efc56a;background:#fff9eb}.activeProjectState.final{border-color:#86c79c;background:#eefaf2}.activeProjectStateTop{display:flex;gap:8px;justify-content:space-between;align-items:center}.activeProjectStateTop strong{font-size:11px;color:var(--navy)}.savePill{font-size:9px;padding:3px 6px;border-radius:999px;background:#e9eef5;color:#66768b;white-space:nowrap}.savePill.pending,.savePill.saving{background:#fff4d6;color:#795d14}.savePill.saved{background:#e8f6ec;color:#24703c}.savePill.error,.savePill.locked{background:#fff0f1;color:#a30f17}.activeProjectState .fullButton{margin-top:7px;padding:6px}.finalRevisionLock{padding:9px 10px;border:1px solid #86c79c;border-radius:8px;background:#eefaf2;margin-bottom:9px}.finalRevisionLock strong{display:block;color:#186632;font-size:11px}.finalRevisionLock p{margin:4px 0 0;font-size:10px;line-height:1.35;color:#477258}.workflowBox{margin:11px 0;border:1px solid #d8e2ee;border-radius:10px;padding:10px;background:#f8fafc}.workflowBox.review{border-color:#efc56a;background:#fff9eb}.workflowBox.final{border-color:#86c79c;background:#eefaf2}.workflowHeading{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.workflowHeading strong,.workflowHeading span{display:block}.workflowHeading strong{font-size:11px;color:var(--navy)}.workflowHeading span{font-size:10px;color:#64748b;margin-top:2px}.revisionHistory{margin-top:8px;border-top:1px solid #dce4ed;padding-top:7px}.revisionHistory>summary{cursor:pointer;font-size:10px;font-weight:700;color:var(--navy)}.revisionList{display:grid;gap:5px;margin-top:6px}.revisionList a{display:grid;grid-template-columns:auto 1fr;gap:1px 7px;padding:6px 7px;border:1px solid #d5e0eb;border-radius:6px;background:white;text-decoration:none}.revisionList a strong{grid-row:1/3;color:var(--blue);font-size:11px;align-self:center}.revisionList a span{font-size:9px;color:#526175}.revisionList a small{font-size:9px;color:#718096}.sidebarStatus{position:sticky;bottom:-15px;margin:12px -15px -15px;padding:9px 15px;background:#f8fafc;border-top:1px solid #d9e2ed;z-index:3}
.workflowNote{margin:7px 0 0;font-size:9px;line-height:1.35;color:#7a641e}

/* Alpha 19.1 - revision continuity: make the retained source plan explicit */
.sourcePlanCard{display:grid;gap:2px;border:1px solid #b9d7c3;background:#f3fbf5;border-radius:8px;padding:8px 9px;margin-bottom:3px}.sourcePlanCard strong{font-size:10.5px;color:#087a35}.sourcePlanCard span{font-size:11px;font-weight:700;color:#20344c;overflow-wrap:anywhere}.sourcePlanCard small{font-size:9.5px;line-height:1.35;color:#5f7185}

/* Alpha 19.2 - safe view management */
.viewPickerRow{display:flex;gap:6px;align-items:stretch}
.viewPickerRow select{flex:1 1 auto;min-width:0}
.viewPickerRow .viewAddButton,.viewPickerRow .viewDeleteButton{flex:0 0 38px;width:38px}
.viewDeleteButton{font-size:19px;font-weight:700;line-height:1;padding:4px;background:#fff}
.viewDeleteButton:hover:not(:disabled),.viewDeleteLarge:hover:not(:disabled){background:#fff1f2}
.viewDeleteLarge{margin-top:8px;background:#fff;border-color:var(--red);color:var(--red);font-weight:700}

/* Alpha 19.3 - wide workspace panels: workflow stays visible, tools no longer live in a narrow scrolling accordion */
@media(min-width:901px){
  .app{grid-template-columns:310px minmax(0,1fr)}
  .sidebar{padding:12px;gap:7px;overflow:hidden}
  .brand{min-height:50px}.brand img{width:118px;height:42px}.brand strong{font-size:15px}.brand small{font-size:9.5px}
  .projectPicker{margin:0;padding:6px 7px;grid-template-columns:78px 1fr}.projectPicker>span{font-size:9.5px}.projectPicker select{padding:6px}
  .projectManager{margin:0}.projectManager>summary{padding:8px 9px}
  .activeProjectState{margin:0;padding:7px 8px}
  .viewPicker{padding:7px;margin:0}.viewPickerTitle{margin-bottom:5px}
  .stepper{flex:0 0 auto;min-height:0;gap:7px}
  .stepCard,.stepCard.active{flex:0 0 auto;display:block;overflow:visible;min-height:0;border-radius:10px;box-shadow:none}
  .stepHeader{min-height:56px;padding:8px 10px;grid-template-columns:30px minmax(0,1fr) 20px}
  .stepBadge{width:28px;height:28px;font-size:12px}.stepTitle strong{font-size:12.5px}.stepTitle small{font-size:10px}.stepChevron{font-size:20px}
  .sidebarStatus{position:static;margin:0;padding:7px 9px;min-height:36px;max-height:44px;border-radius:8px}

  .workspacePanel{position:fixed;z-index:80;left:326px;top:70px;width:min(1180px,calc(100vw - 344px));max-height:calc(100vh - 88px);overflow:visible;border:1px solid #b8c8da;border-radius:14px;padding:0;background:#fff;box-shadow:0 18px 54px rgba(8,40,92,.20)}
  .workspacePanelHeader{height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 14px;border-bottom:1px solid #dce5ef;background:#f7fafe;border-radius:14px 14px 0 0}
  .workspacePanelHeader>div{display:flex;align-items:baseline;gap:9px;min-width:0}.workspacePanelHeader span{font-size:10px;font-weight:700;color:#6b7b90;text-transform:uppercase;letter-spacing:.05em}.workspacePanelHeader strong{font-size:15px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .workspacePanelClose{padding:6px 9px;border-color:#c6d2df;color:#52657b;background:#fff;font-size:10.5px;white-space:nowrap}
  .workspacePanelContent{padding:12px 14px 13px}.workspacePanelContent>.stepFields{min-height:0}
  .panelToggle{border-color:#b8c9dc;background:#f7fafe;color:var(--navy);font-weight:700;min-width:104px}.panelToggle.active{background:#eef5fc}

  /* Ground plan: preparation controls use the horizontal workspace instead of a long vertical column. */
  .step-1 .stepFields{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(250px,1fr);gap:10px 14px;align-items:start}
  .step-1 .sourcePlanCard{margin:0}.step-1 .stepFields>.field{margin:0}.step-1 .planControls{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,1fr) minmax(230px,.85fr) minmax(230px,.85fr);gap:8px 12px;align-items:start}
  .step-1 .planControls>.twocol,.step-1 .planControls>.row{margin:0}.step-1 .planControls>.fullButton{margin:0}.step-1 .planControls>.hint{grid-column:1/-1;margin:1px 0 0}.step-1 .stepNav{grid-column:1/-1}

  /* Project and customer forms spread over three columns and remain visible at once. */
  .step-2 .stepFields,.step-3 .stepFields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 12px;align-items:start}
  .step-2 .field,.step-3 .field{margin:0}.step-2 .twocol,.step-3 .twocol{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 12px}
  .step-3 .clientLogo{max-height:52px;margin:0}.step-2 .stepNav,.step-3 .stepNav{grid-column:1/-1}

  /* Editing palette: all pictograms and route controls are deliberately visible without an inner scrollbar. */
  .step-4 .workspacePanel{width:min(1240px,calc(100vw - 344px));overflow:visible}
  .step-4 .stepFields{display:grid;grid-template-columns:minmax(420px,1.45fr) minmax(260px,.9fr) minmax(240px,.85fr);gap:8px 14px;align-items:start}
  .step-4 .stepFields>.finalRevisionLock,.step-4 .stepFields>.viewOnlyBox{grid-column:1/-1;margin:0}
  .step-4 .editToolbar{grid-column:1;margin:0;grid-template-columns:1.4fr 44px 44px 1.15fr}
  .step-4 .dragHint{grid-column:1;margin:0}
  .step-4 .pictogramTools{grid-column:1;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.step-4 .pictogramTools .tool{min-height:38px;padding:7px 20px 7px 7px;font-size:10.5px}
  .step-4 .pictogramScaleBox{grid-column:2;grid-row:1 / span 2;margin:0;min-height:92px}.step-4 .routeTool{grid-column:2;margin:0;min-height:38px}.step-4 .routeHint{grid-column:2;margin:0}.step-4 .stepFields>.field{grid-column:3;margin:0}.step-4 .stepFields>.row{grid-column:3;margin:0}.step-4 .keyboardHint{grid-column:3;margin:0}.step-4 .stepFields>.check{grid-column:3;margin:0}.step-4 .stepFields>.selection{grid-column:3;margin:0}.step-4 .stepNav{grid-column:1/-1;margin-top:2px;padding-top:8px}
  .step-4 .viewOnlyBox .field{margin:5px 0}.step-4 .viewOnlyBox .fullButton{margin:6px 0 0}

  /* Validation may contain an arbitrary number of findings, so only this results panel may scroll when needed. */
  .step-5 .workspacePanel{overflow:hidden}.step-5 .workspacePanelContent{max-height:calc(100vh - 148px);overflow:auto}.step-5 .validationStep{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr) minmax(260px,.85fr);gap:8px 12px;align-items:start}.step-5 .stepNav{grid-column:1/-1}
}

@media(min-width:901px) and (max-height:800px){
  .brand{min-height:42px}.brand img{width:104px;height:36px}.brand strong{font-size:14px}.brand small{font-size:9px}
  .stepHeader{min-height:48px;padding:6px 9px}.stepBadge{width:24px;height:24px}.stepTitle strong{font-size:11.5px}.stepTitle small{font-size:9.5px}
  .viewPicker{padding:6px}.activeProjectState{padding:6px 7px}.sidebarStatus{min-height:31px;max-height:36px;padding:5px 7px}
  .workspacePanel{top:62px;max-height:calc(100vh - 76px)}.workspacePanelHeader{height:43px}.workspacePanelContent{padding:9px 12px 10px}
  .step-4 .pictogramTools .tool{min-height:34px;padding-top:6px;padding-bottom:6px}.step-4 .routeHint,.step-4 .keyboardHint,.step-4 .dragHint{font-size:9.5px;line-height:1.28}.step-4 .pictogramScaleBox{padding:6px;min-height:80px}
}

@media(max-width:900px){
  .workspacePanel{position:fixed;z-index:90;inset:12px;width:auto;max-height:calc(100vh - 24px);overflow:auto;border:1px solid #b8c8da;border-radius:14px;background:#fff;box-shadow:0 18px 54px rgba(8,40,92,.25)}
  .workspacePanelHeader{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f7fafe;border-bottom:1px solid #dce5ef}.workspacePanelHeader>div{display:grid;gap:2px}.workspacePanelHeader span{font-size:9px;color:#6b7b90;text-transform:uppercase}.workspacePanelHeader strong{color:var(--navy)}.workspacePanelContent{padding:10px}
}

/* Alpha 19.4 - docked workspace: the active tools live beside the plan, never on top of it. */
@media(min-width:901px){
  .app{--dock-width:clamp(360px,23vw,430px);grid-template-columns:285px minmax(0,1fr)}
  .app.panel-open{grid-template-columns:285px minmax(0,1fr) var(--dock-width)}
  .sidebar{grid-column:1;padding:10px;overflow:hidden}
  .workspace{grid-column:2;min-width:0}
  .topbar{padding:0 12px;gap:12px}.topbar>div:first-child{min-width:0;overflow:hidden}.topbar>div:first-child strong,.topbar>div:first-child span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zoom{flex:0 0 auto}
  .canvasScroll{padding:14px}.panel-open .canvasScroll{padding:12px}

  .workspacePanel{position:fixed;z-index:70;left:auto;right:0;top:0;bottom:0;width:var(--dock-width);height:100vh;max-height:none;overflow:hidden;border:0;border-left:1px solid #b8c8da;border-radius:0;padding:0;background:#fff;box-shadow:-6px 0 22px rgba(8,40,92,.10)}
  .workspacePanelHeader{height:56px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;border-bottom:1px solid #dce5ef;background:#f7fafe;border-radius:0}
  .workspacePanelHeader>div{display:flex;align-items:baseline;gap:7px;min-width:0}.workspacePanelHeader span{font-size:9px}.workspacePanelHeader strong{font-size:14px}
  .workspacePanelClose{padding:6px 8px;font-size:10px;min-width:auto}
  .workspacePanelContent{height:calc(100vh - 56px);max-height:none;padding:9px 10px 10px;overflow:hidden}.workspacePanelContent>.stepFields{min-height:0}
  .panelToggle{min-width:102px;padding:5px 8px}

  .step-1 .stepFields{display:grid;grid-template-columns:1fr;gap:7px;align-items:start}
  .step-1 .sourcePlanCard,.step-1 .stepFields>.field{margin:0}
  .step-1 .planControls{grid-column:1;display:grid;grid-template-columns:1fr 1fr;gap:7px;align-items:start}
  .step-1 .planControls>.twocol,.step-1 .planControls>.row{grid-column:1/-1;margin:0}
  .step-1 .planControls>.fullButton{margin:0}.step-1 .planControls>.hint{grid-column:1/-1;margin:0}.step-1 .stepNav{grid-column:1/-1}

  .step-2 .stepFields,.step-3 .stepFields{display:grid;grid-template-columns:1fr 1fr;gap:6px 8px;align-items:start}
  .step-2 .field,.step-3 .field{margin:0}.step-2 .twocol,.step-3 .twocol{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:6px 8px}
  .step-3 .clientLogo{grid-column:1/-1;max-height:52px;margin:0}.step-2 .stepNav,.step-3 .stepNav{grid-column:1/-1}

  .step-4 .workspacePanel{width:var(--dock-width);overflow:hidden}
  .step-4 .workspacePanelContent{overflow:hidden}
  .step-4 .stepFields{display:grid;grid-template-columns:1fr;gap:6px;align-items:start}
  .step-4 .stepFields>.finalRevisionLock,.step-4 .stepFields>.viewOnlyBox{grid-column:1;margin:0}
  .step-4 .editToolbar{grid-column:1;margin:0;grid-template-columns:1.25fr 38px 38px 1fr;gap:5px}
  .step-4 .editToolbar button{padding:6px 5px;font-size:10.5px}.step-4 .historyButton{font-size:18px}
  .step-4 .dragHint{grid-column:1;margin:0;padding:5px 6px;font-size:9.5px;line-height:1.25}
  .step-4 .pictogramTools{grid-column:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .step-4 .pictogramTools .tool{min-height:33px;padding:6px 18px 6px 6px;font-size:10px;line-height:1.1}
  .step-4 .pictogramScaleBox{grid-column:1;grid-row:auto;margin:0;padding:6px;min-height:0}.step-4 .pictogramScaleBox .hint{font-size:9px;line-height:1.25;margin-top:4px}
  .step-4 .routeTool{grid-column:1;margin:0;min-height:33px;padding:6px;font-size:10.5px}.step-4 .routeHint{grid-column:1;margin:0;padding:5px 6px;font-size:9.2px;line-height:1.25}
  .step-4 .stepFields>.field,.step-4 .stepFields>.row,.step-4 .keyboardHint,.step-4 .stepFields>.check,.step-4 .stepFields>.selection{grid-column:1;margin:0}
  .step-4 .stepFields>.field{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:6px}.step-4 .stepFields>.field span{font-size:9.5px}.step-4 .stepFields>.field select{padding:5px 6px}
  .step-4 .row{gap:5px}.step-4 .row button{padding:6px 5px;font-size:10px}
  .step-4 .keyboardHint{padding:5px 6px;font-size:9px;line-height:1.25}.step-4 .check{font-size:9.5px}.step-4 .selection{padding:6px;font-size:9.5px}
  .step-4 .stepNav{grid-column:1;margin-top:0;padding-top:6px}.step-4 .viewOnlyBox .field{margin:4px 0}.step-4 .viewOnlyBox .fullButton{margin:5px 0 0}

  .step-5 .workspacePanel{overflow:hidden}.step-5 .workspacePanelContent{height:calc(100vh - 56px);max-height:none;overflow:auto}.step-5 .validationStep{display:grid;grid-template-columns:1fr;gap:7px;align-items:start}.step-5 .stepNav{grid-column:1}
}

@media(min-width:901px) and (max-height:800px){
  .workspacePanelHeader{height:52px;padding:6px 9px}.workspacePanelContent{height:calc(100vh - 52px);padding:7px 9px 8px}
  .step-4 .pictogramTools .tool{min-height:30px;padding-top:5px;padding-bottom:5px}.step-4 .dragHint,.step-4 .routeHint,.step-4 .keyboardHint{font-size:8.8px;line-height:1.2}.step-4 .pictogramScaleBox{padding:5px}.step-4 .pictogramScaleBox .hint{display:none}.step-4 .stepNav{padding-top:4px}
  .step-5 .workspacePanelContent{height:calc(100vh - 52px)}
}

@media(min-width:901px) and (max-height:680px){
  .workspacePanelContent{overflow:auto}.step-4 .workspacePanelContent{overflow:auto}
}

/* Alpha 19.6 - Project Center full project deletion */
.mainTabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;flex:0 0 auto}.mainTabs button{padding:8px 6px;font-weight:700;border-color:#c6d4e3;background:#f8fafc}.mainTabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.projectPicker,.projectManager{display:none!important}.projectCenterSideInfo{border:1px solid #d8e3ef;background:#f6f9fc;border-radius:8px;padding:9px;line-height:1.35}.projectCenterSideInfo strong{color:var(--navy);font-size:12px}.projectCenterSideInfo p{font-size:10px;color:#687a90;margin:4px 0 0}
.project-center-mode .activeProjectState,.project-center-mode .viewPicker,.project-center-mode .stepper,.project-center-mode .sidebarStatus,.project-center-mode .workspacePanel{display:none!important}.project-center-mode .sidebar{gap:8px}.project-center-mode .editorWorkspace{display:none!important}.projectCenterWorkspace{grid-column:2;min-width:0;height:100vh;overflow:auto;padding:26px 30px 42px;background:#eef3f8}.projectCenterHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;max-width:1420px;margin:0 auto 18px}.projectCenterHeader .eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6e8096;font-weight:700}.projectCenterHeader h1{font-size:30px;color:var(--navy);margin:4px 0 5px;text-transform:none;letter-spacing:0}.projectCenterHeader p{margin:0;color:#61738a;max-width:700px;line-height:1.45}.projectCenterHeaderActions{display:flex;gap:8px;align-items:center;flex:0 0 auto}.segmented{display:flex;border:1px solid #b9c8d9;border-radius:8px;overflow:hidden;background:#fff}.segmented button{border:0;border-radius:0;padding:8px 12px}.segmented button+button{border-left:1px solid #d3dde8}.segmented button.active{background:#e8f1fb;color:var(--navy);font-weight:700}
.projectCards{max-width:1420px;margin:0 auto;display:grid;gap:14px}.projectCenterCard{border:1px solid #cfdae7;border-top:4px solid #9aabc0;background:#fff;border-radius:12px;padding:15px 17px;box-shadow:0 3px 12px rgba(8,40,92,.05)}.projectCenterCard.final{border-top-color:#16934c}.projectCenterCard.review{border-top-color:#e19a20}.projectCenterCard.concept{border-top-color:#4d78a9}.projectCardTop{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.projectCardTitle h2{font-size:18px;text-transform:none;letter-spacing:0;margin:0 0 4px;color:var(--navy)}.projectCardTitle p{margin:0;color:#52657c}.projectCardTitle small{display:block;color:#8391a3;margin-top:5px}.projectCardMeta{display:flex;gap:8px;align-items:center}.projectStatus{border-radius:999px;padding:5px 9px;background:#eef3f8;color:#52657c;font-size:10px;font-weight:700}.projectStatus.final{background:#e8f6ed;color:#087c39}.projectStatus.review{background:#fff3dc;color:#995e00}.projectStatus.concept{background:#eaf2fc;color:#225b9c}.projectCardMeta>strong{font-size:13px;color:var(--navy)}.projectCardActions{display:flex;gap:7px;margin-top:11px}.projectCardActions button{padding:7px 10px}.projectSubGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.projectSubsection{border:1px solid #dce5ef;border-radius:9px;background:#f9fbfd;padding:10px}.projectSubHeader{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.projectSubHeader>div{display:grid;gap:2px}.projectSubHeader strong{color:var(--navy);font-size:12px}.projectSubHeader span,.projectSubHeader small{font-size:9.5px;color:#75869b}.smallPrimary{padding:5px 8px!important;background:var(--blue);color:#fff;font-size:9.5px}.centerList{display:grid;gap:5px}.centerListRow{display:flex;align-items:center;justify-content:space-between;gap:9px;background:#fff;border:1px solid #e0e7ef;border-radius:7px;padding:7px 8px;min-height:46px}.centerListRow.working{background:#f1f6fc;border-color:#cbdced}.centerListMain{min-width:0;display:grid;gap:2px}.centerListMain strong{font-size:11px;color:#233b5f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.centerListMain span{font-size:9.5px;color:#75869b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.centerListActions{display:flex;gap:5px;flex:0 0 auto}.centerListActions button,.centerListActions .buttonLink{padding:5px 7px;font-size:9.5px;border-color:#b9c9da}.dangerText{color:#b3181f!important;border-color:#e3b3b6!important}.centerHint{font-size:9.5px;color:#75869b;margin:7px 1px 0}.projectCenterEmpty{max-width:900px;margin:70px auto;background:#fff;border:1px dashed #b5c4d4;border-radius:12px;padding:34px;text-align:center;color:#66798f}
@media(min-width:901px){.project-center-mode.app,.project-center-mode.app.panel-open{grid-template-columns:285px minmax(0,1fr)}.project-center-mode .sidebar{grid-column:1}.projectCenterWorkspace{grid-column:2}.editor-mode .stepper{display:flex}.editor-mode .activeProjectState,.editor-mode .viewPicker,.editor-mode .sidebarStatus{display:block}}
@media(max-width:1100px){.projectSubGrid{grid-template-columns:1fr}.projectCenterHeader{align-items:flex-start;flex-direction:column}.projectCenterHeaderActions{width:100%;justify-content:space-between}}
@media(max-width:900px){.projectCenterWorkspace{grid-column:1;height:auto;min-height:70vh;padding:18px 12px 30px}.projectCenterHeaderActions{flex-wrap:wrap}.projectCardTop{flex-direction:column}.projectSubGrid{grid-template-columns:1fr}.centerListRow{align-items:flex-start}.centerListActions{flex-wrap:wrap;justify-content:flex-end}}
.viewsSection,.revisionsSection{min-width:0}

/* Alpha 19.6 - irreversible project-level action */
.projectDeleteButton{margin-left:auto;background:#fff7f7!important;font-weight:700}.projectDeleteButton:hover{background:#fff0f0!important;border-color:#cf7075!important}
@media(max-width:900px){.projectDeleteButton{margin-left:0}}

/* Alpha 19.7 - pilot workflow, guided project start and clearer publication gate */
.newProjectWizard{width:min(560px,96vw)}.newProjectWizard .eyebrow{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6e8096;font-weight:700;margin-bottom:4px}.projectWizardIcon{background:#edf4ff;color:var(--blue)}.wizardFlow{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:14px 0 16px}.wizardFlow span{font-size:10px;line-height:1.25;text-align:center;padding:8px 5px;border:1px solid #d6e1ed;border-radius:7px;background:#f7fafd;color:#52657c}.newProjectWizard .field{margin:8px 0}.requiredField>span{font-weight:700;color:#42536a}.wizardFile small{display:block;margin-top:5px;color:#62758c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wizardError{margin-top:10px;border:1px solid #efb2b5;background:#fff1f2;color:#a30f17;border-radius:7px;padding:8px 10px;font-size:11px;font-weight:700}.newProjectFromEditor{width:100%;margin:0 0 7px;border-color:#b8c8da;background:#f8fafc;color:#52657c}.newProjectFromEditor:hover{background:#f1f6fc;color:var(--navy)}
.step-5 .workflowBox{border-width:2px}.step-5 .reviewActions{grid-template-columns:1fr 1fr}.step-5 .technicalTools summary{font-weight:700;color:#53657a}.step-5 .validationSummary strong{font-size:13px}.step-5 .finalExportHeading strong{font-size:12px}
@media(max-width:560px){.wizardFlow{grid-template-columns:1fr 1fr}.modalActions{grid-template-columns:1fr}.step-5 .reviewActions{grid-template-columns:1fr}}

/* Alpha 19.8 - route gesture stability and source-PDF rotation parity */

/* Alpha 19.10 - Building > floor > views > revisions */
.buildingCards{max-width:1420px;margin:0 auto;display:grid;gap:16px}.buildingCard{border:1px solid #c9d6e5;background:#fff;border-radius:13px;padding:16px 18px;box-shadow:0 4px 16px rgba(8,40,92,.06)}.buildingCardHeader{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:13px;border-bottom:1px solid #e2e9f1}.buildingIdentity{min-width:0}.buildingIdentity h2{font-size:21px;color:var(--navy);text-transform:none;letter-spacing:0;margin:3px 0 4px}.buildingIdentity p{margin:0;color:#52657c}.buildingIdentity small{display:block;margin-top:5px;color:#8391a3}.buildingActions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.buildingActions button{padding:7px 10px}.buildingFloors{display:grid;gap:12px;margin-top:13px}.buildingFloorCard{border:1px solid #d9e3ee;border-left:4px solid #4d78a9;border-radius:10px;background:#f9fbfd;padding:11px 12px}.buildingFloorCard.review{border-left-color:#e19a20}.buildingFloorCard.final{border-left-color:#16934c}.buildingFloorTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.buildingFloorTitle{min-width:0}.floorEyebrow{display:block;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#8090a3;font-weight:700}.buildingFloorTitle h3{margin:2px 0 2px;color:#203a60;font-size:15px;text-transform:none;letter-spacing:0}.buildingFloorTitle small{color:#7b8a9d}.floorActions{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.floorActions button{padding:6px 8px;font-size:10px}.buildingFloorCard .projectSubGrid{margin-top:8px}.buildingFloorCard .projectSubsection{background:#fff}.buildingFloorCard .centerListRow{background:#fbfdff}
@media(max-width:900px){.buildingCardHeader,.buildingFloorTop{display:grid}.buildingActions{justify-content:flex-start}.buildingFloorCard .projectSubGrid{grid-template-columns:1fr}}

/* Alpha 19.10.1 — Project > Verdieping > Weergave/variant > Revisie */
.helpTutorialButton{width:100%;padding:8px 10px;border-color:#b9c9da;background:#f8fbff;color:var(--navy);font-weight:700;text-align:left}.helpTutorialButton:hover,.tutorialHeaderButton:hover{background:#edf4fb}.tutorialHeaderButton{border-color:#b9c9da;background:#fff;color:var(--navy);font-weight:700}
.projectHierarchyList{max-width:1420px;margin:0 auto;display:grid;gap:15px}.projectHierarchyCard{border:1px solid #c8d5e4;background:#fff;border-radius:13px;box-shadow:0 4px 16px rgba(8,40,92,.06);overflow:hidden}.projectHierarchyCard>summary{list-style:none}.projectHierarchyCard>summary::-webkit-details-marker,.projectFloorNode>summary::-webkit-details-marker,.projectViewNode>summary::-webkit-details-marker{display:none}.projectHierarchySummary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;background:linear-gradient(180deg,#fff,#fbfdff)}.projectHierarchySummary:hover{background:#f7fafd}.projectIdentity{min-width:0}.projectIdentity h2{font-size:21px;color:var(--navy);text-transform:none;letter-spacing:0;margin:4px 0 3px}.projectIdentity p{margin:0;color:#52657c}.projectIdentity small{display:block;margin-top:5px;color:#8291a3}.treeChevron{font-size:18px;color:#71839a;transition:transform .15s ease}.projectHierarchyCard:not([open]) .treeChevron{transform:rotate(-90deg)}.projectHierarchyBody{border-top:1px solid #e2e9f1;padding:12px 14px 15px;background:#f6f9fc}.projectGroupActions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:11px}.projectGroupActions button{padding:7px 10px}
.treeLevelBadge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:3px 7px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;font-weight:800}.projectBadge{background:#e8f1fb;color:#194e88}.floorBadge{background:#edf5ef;color:#267043}.viewBadge{background:#f1ecfb;color:#65449a}
.projectFloorsBranch{display:grid;gap:9px;padding-left:13px;border-left:3px solid #c8d9eb}.projectFloorNode{border:1px solid #d8e2ed;border-radius:10px;background:#fff;overflow:hidden}.projectFloorNode.concept{border-left:4px solid #4d78a9}.projectFloorNode.review{border-left:4px solid #e19a20}.projectFloorNode.final{border-left:4px solid #16934c}.projectFloorSummary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer}.projectFloorSummary:hover{background:#f8fbfd}.treeNodeIdentity{min-width:0;display:grid;gap:2px}.treeNodeIdentity>strong{font-size:13px;color:#203a60}.treeNodeIdentity>small{font-size:9.5px;color:#7a8a9d}.projectFloorBody{border-top:1px solid #e6ecf3;padding:9px 11px 11px;background:#fbfdff}.treeViewsHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:8px 0 7px;padding-left:8px}.treeViewsHeader strong{font-size:11px;color:var(--navy)}.treeViewsHeader span{font-size:9.5px;color:#7a8a9d}.projectViewsBranch{display:grid;gap:6px;margin-left:16px;padding-left:13px;border-left:2px solid #d8cceb}.projectViewNode{border:1px solid #e1e5ec;border-radius:8px;background:#fff;overflow:hidden}.projectViewSummary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;cursor:pointer}.projectViewSummary:hover{background:#faf9fd}.treeNodeActions{display:flex;gap:5px;flex:0 0 auto}.treeNodeActions button{padding:5px 7px;font-size:9.5px}.viewRevisionBranch{display:grid;gap:5px;border-top:1px solid #edf0f4;background:#fafcff;padding:7px 9px 8px 20px;position:relative}.viewRevisionBranch:before{content:"";position:absolute;left:9px;top:0;bottom:0;border-left:1px solid #d9e2ec}.treeRevision{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:38px;border:1px solid #e2e8ef;background:#fff;border-radius:7px;padding:6px 7px}.treeRevision>div{display:grid;gap:1px;min-width:0}.treeRevision strong{font-size:10px;color:#29415f}.treeRevision span{font-size:9px;color:#7b8a9d}.treeRevision.working{background:#eef5fc;border-color:#cbdced}.treeRevision.final{border-left:3px solid #16934c}.treeRevision.empty{font-size:9.5px;color:#8190a2;font-style:italic}.treeRevision button,.treeRevision .buttonLink{padding:4px 7px;font-size:9px}.floorRevisionAdmin{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:9px 0 0 29px}.revisionAdminDetails{font-size:9.5px;color:#65778c}.revisionAdminDetails>summary{cursor:pointer;font-weight:700}.revisionAdminList{display:grid;gap:4px;margin-top:6px}.revisionAdminRow{display:flex;gap:8px;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e1e8f0;border-radius:6px;padding:5px 7px}.revisionAdminRow button{padding:4px 6px;font-size:9px}

/* Short first-use tutorial with lightweight animated UI illustrations. */
.tutorialBackdrop{background:rgba(8,40,92,.44)}.tutorialCard{width:min(760px,96vw);background:#fff;border:1px solid #c9d6e5;border-radius:16px;box-shadow:0 28px 80px rgba(8,40,92,.32);padding:22px 24px 18px}.tutorialTop{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.tutorialTop .eyebrow{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:#71839a;font-weight:800}.tutorialTop h3{font-size:22px;color:var(--navy);margin:4px 0 0}.tutorialClose{border:0;background:#f0f4f8;color:#5d6f84;border-radius:50%;width:32px;height:32px;font-size:20px;line-height:1;padding:0}.tutorialText{font-size:13px;line-height:1.55;color:#465a73;margin:13px 3px 7px}.tutorialDots{display:flex;justify-content:center;gap:6px;margin:9px 0}.tutorialDots button{width:9px;height:9px;border-radius:50%;padding:0;border:0;background:#cbd6e2}.tutorialDots button.active{background:var(--navy);transform:scale(1.2)}.tutorialActions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px}.tutorialSkip{border-color:transparent;background:transparent;color:#66788d;text-decoration:underline}.tutorialNav{display:flex;gap:7px}.tutorialNav button{padding:8px 12px}.tutorialVisual{height:270px;margin:15px 0 8px;border:1px solid #d6e1ec;border-radius:13px;background:#f6f9fc;position:relative;overflow:hidden}
.hierarchyDemo{display:grid;place-items:center}.demoNode{position:absolute;border:2px solid #89a9cc;border-radius:9px;background:#fff;box-shadow:0 3px 10px rgba(8,40,92,.08);padding:9px 13px;color:#29415f}.demoNode strong,.demoNode small{display:block}.demoNode small{font-size:9px;color:#7b8a9d;margin-top:2px}.demoProject{top:28px;left:50%;transform:translateX(-50%);min-width:190px;text-align:center;animation:tutProjectPulse 4s infinite}.demoBranch{position:absolute;top:105px;left:50%;width:410px;transform:translateX(-50%);display:flex;justify-content:space-between}.demoBranch:before{content:"";position:absolute;left:50%;top:-29px;height:30px;border-left:2px solid #c4d3e2}.demoBranch:after{content:"";position:absolute;left:57px;right:57px;top:0;border-top:2px solid #c4d3e2}.demoFloor{position:relative;top:9px;width:130px;text-align:center;animation:tutFloorPulse 4s .8s infinite}.demoFloor.second{animation-delay:1.15s}.demoViews{position:absolute;top:178px;left:92px;right:92px;display:flex;gap:8px;justify-content:center}.demoViews span{border:1px solid #cbbce3;border-radius:7px;background:#fff;padding:7px 10px;font-size:10px;color:#60438e;animation:tutViewPulse 4s 1.55s infinite}.demoRevision{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);background:#e8f6ed;color:#087c39;border:1px solid #b9dec8;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:700;animation:tutRevisionPulse 4s 2.25s infinite}
.uploadDemo{display:flex;align-items:center;justify-content:center;gap:48px}.demoPdf{width:100px;height:132px;border:2px solid #9cb1c9;background:#fff;border-radius:7px;position:relative;display:grid;place-items:center;color:#c31c25;font-weight:800;animation:tutPdfFloat 2.6s ease-in-out infinite}.demoPdf i{position:absolute;right:10px;bottom:12px;width:55px;border-top:2px solid #dbe3eb;box-shadow:0 -12px #dbe3eb,0 -24px #dbe3eb}.demoUploadArrow{font-size:35px;color:#4d78a9;animation:tutArrowMove 1.8s ease-in-out infinite}.demoPlanFrame{width:230px;height:155px;border:2px solid #6e8fb4;border-radius:8px;background:#fff;position:relative;overflow:hidden}.demoPlanLine{position:absolute;height:3px;background:#c8d4df;transform-origin:left center;animation:tutPlanReveal 2.5s infinite}.demoPlanLine.l1{width:160px;left:25px;top:42px}.demoPlanLine.l2{width:95px;left:70px;top:76px;transform:rotate(90deg)}.demoPlanLine.l3{width:135px;left:54px;top:118px}
.editorDemo .demoPlanGrid{position:absolute;inset:18px;background:linear-gradient(90deg,transparent 49%,#dbe3eb 50%,transparent 51%),linear-gradient(0deg,transparent 49%,#dbe3eb 50%,transparent 51%);background-size:70px 55px;border:1px solid #c8d5e2;border-radius:7px}.demoExit,.demoYou{position:absolute;z-index:2;width:30px;height:30px;border-radius:5px;display:grid;place-items:center;font-weight:800;font-size:10px}.demoExit{right:43px;top:77px;background:#009640;color:#fff}.demoYou{left:42px;bottom:39px;background:#0b3d82;color:#fff;border-radius:50%}.demoRouteSvg{position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);z-index:1}.demoRoutePath{stroke-dasharray:420;stroke-dashoffset:420;animation:tutDrawRoute 3s ease-in-out infinite}.demoArrowHead{opacity:0;animation:tutArrowAppear 3s ease-in-out infinite}
.viewsDemo{display:flex;align-items:center;justify-content:center;gap:34px}.demoViewCard{width:190px;height:145px;border:2px solid #a9bdd2;border-radius:10px;background:#fff;padding:14px;position:relative;box-shadow:0 4px 12px rgba(8,40,92,.08);animation:tutViewSwap 3.5s ease-in-out infinite}.demoViewCard.b{animation-delay:.3s}.demoViewCard strong,.demoViewCard small{display:block;color:#29415f}.demoViewCard small{font-size:9px;color:#7a8b9e;margin-top:4px}.demoViewCard:after{content:"";position:absolute;left:17px;right:17px;top:63px;height:48px;border:1px solid #d6e0ea;background:linear-gradient(135deg,transparent 45%,#c9d6e2 46%,#c9d6e2 49%,transparent 50%)}.demoViewCard span{position:absolute;z-index:2;bottom:19px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#0b3d82;color:#fff;font-size:9px;font-weight:800}.demoViewCard.a span{left:28px}.demoViewCard.b span{right:28px}.demoViewLink{font-size:9px;color:#71839a;border-top:2px dashed #aebfd1;width:92px;text-align:center;padding-top:5px}
.publishDemo{display:flex;align-items:center;justify-content:center;gap:42px}.demoChecks{display:grid;gap:8px}.demoChecks span{background:#fff;border:1px solid #cfe0d5;border-radius:7px;padding:8px 12px;font-size:10px;color:#267043;opacity:.25;animation:tutCheck 3.2s infinite}.demoChecks span:nth-child(2){animation-delay:.35s}.demoChecks span:nth-child(3){animation-delay:.7s}.demoChecks span:nth-child(4){animation-delay:1.05s}.demoPublishArrow{font-size:32px;color:#4d78a9;animation:tutArrowMove 1.8s ease-in-out infinite}.demoPublished{width:145px;height:110px;border:2px solid #95c5a7;border-radius:10px;background:#fff;display:grid;place-content:center;text-align:center;animation:tutPublishPulse 3.2s 1.3s infinite}.demoPublished strong{font-size:22px;color:#087c39}.demoPublished small{color:#60768a;margin-top:4px}
@keyframes tutProjectPulse{0%,20%,100%{box-shadow:0 3px 10px rgba(8,40,92,.08)}10%{box-shadow:0 0 0 7px rgba(77,120,169,.15)}}@keyframes tutFloorPulse{0%,30%,100%{transform:scale(1)}20%{transform:scale(1.06);border-color:#4d78a9}}@keyframes tutViewPulse{0%,40%,100%{transform:translateY(0)}30%{transform:translateY(-6px);background:#f7f2ff}}@keyframes tutRevisionPulse{0%,55%,100%{opacity:.55}45%,75%{opacity:1;box-shadow:0 0 0 6px rgba(22,147,76,.12)}}@keyframes tutPdfFloat{0%,100%{transform:translateY(4px)}50%{transform:translateY(-7px)}}@keyframes tutArrowMove{0%,100%{transform:translateX(-5px);opacity:.55}50%{transform:translateX(7px);opacity:1}}@keyframes tutPlanReveal{0%{opacity:.2;transform:scaleX(.15)}55%,100%{opacity:1;transform:scaleX(1)}}@keyframes tutDrawRoute{0%,12%{stroke-dashoffset:420}68%,100%{stroke-dashoffset:0}}@keyframes tutArrowAppear{0%,60%{opacity:0}72%,100%{opacity:1}}@keyframes tutViewSwap{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px);border-color:#7a5ba6}}@keyframes tutCheck{0%,15%{opacity:.25;transform:translateX(-5px)}30%,85%{opacity:1;transform:translateX(0)}100%{opacity:.25}}@keyframes tutPublishPulse{0%,45%{opacity:.45;transform:scale(.95)}60%,90%{opacity:1;transform:scale(1.04)}100%{opacity:.45;transform:scale(.95)}}
@media(max-width:900px){.projectHierarchySummary,.projectFloorSummary,.projectViewSummary{align-items:flex-start;display:grid}.projectViewsBranch{margin-left:5px}.treeNodeActions{flex-wrap:wrap}.treeViewsHeader{display:grid}.tutorialVisual{height:235px}.demoBranch{width:320px}.demoViews{left:30px;right:30px}.viewsDemo{gap:12px}.demoViewLink{width:46px}.tutorialActions{align-items:stretch;display:grid}.tutorialNav{justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){.tutorialVisual *{animation:none!important;transition:none!important}}
.viewBadge.historical{background:#f2f3f5;color:#66717f}.projectViewNode:has(.viewBadge.historical){border-style:dashed;background:#fafafa}

/* Alpha 20.1 - SaaS Foundation: authentication, organization tenancy and roles. */
.authShell{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(145deg,#eef3f8,#dfe9f4)}
.authCard{width:min(470px,96vw);display:grid;gap:11px;background:#fff;border:1px solid #cbd7e5;border-radius:16px;box-shadow:0 24px 70px rgba(8,40,92,.18);padding:28px 30px}.authCard.setupCard{width:min(560px,96vw)}.authLogo{width:170px;max-height:62px;object-fit:contain;object-position:left center;margin-bottom:4px}.authCard .eyebrow,.organizationHeader .eyebrow{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#71839a}.authCard h1{margin:0;color:var(--navy);font-size:27px}.authCard p{margin:0 0 3px;line-height:1.5;color:#52657b}.authPrimary{width:100%;padding:10px 12px;margin-top:4px}.authError{padding:8px 10px;border:1px solid #efb2b5;border-radius:7px;background:#fff1f2;color:#a30f17;font-size:11px;line-height:1.4}.authFootnote{font-size:10px;line-height:1.45;color:#7b8a9d;border-top:1px solid #edf1f5;padding-top:9px;margin-top:2px}
.accountCard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 7px;align-items:center;padding:7px 8px;border:1px solid #d4dfeb;border-radius:8px;background:#f7fafe}.accountCard strong{grid-column:1;color:var(--navy);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accountCard span{grid-column:1;font-size:9.5px;color:#52657b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accountCard small{grid-column:1;font-size:9px;color:#7a8a9e}.accountCard button{grid-column:2;grid-row:1/4;padding:5px 7px;font-size:9px;border-color:#c5d1df;color:#617388}.accountCard select{grid-column:1/3;padding:5px 6px;font-size:9.5px;margin-top:3px}
.roleReadOnlyNotice{padding:9px 10px;border:1px solid #b9c9db;border-radius:8px;background:#f4f7fb;margin-bottom:9px}.roleReadOnlyNotice strong{display:block;color:#3f5875;font-size:11px}.roleReadOnlyNotice p{margin:4px 0 0;font-size:10px;line-height:1.35;color:#61748a}
.organization-mode .activeProjectState,.organization-mode .viewPicker,.organization-mode .stepper,.organization-mode .sidebarStatus,.organization-mode .workspacePanel,.organization-mode .projectPicker,.organization-mode .projectManager{display:none!important}.organization-mode .editorWorkspace{display:none!important}.organizationWorkspace{grid-column:2;min-width:0;height:100vh;overflow:auto;padding:28px 32px 50px;background:#eef3f8}.organizationHeader{max-width:1380px;margin:0 auto 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.organizationHeader h1{font-size:29px;color:var(--navy);margin:4px 0 5px}.organizationHeader p{margin:0;color:#61738a}.organizationGrid{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,.75fr) minmax(520px,1.4fr);gap:15px;align-items:start}.orgPanel{margin:0;padding:18px;border:1px solid #d0dbe7;border-radius:12px;background:#fff;box-shadow:0 3px 14px rgba(8,40,92,.05)}.orgPanel h2{font-size:13px;margin:0 0 5px}.orgPanel>p{margin:0 0 12px;color:#667a91;font-size:11px;line-height:1.45}.membersPanel{grid-row:span 2}.auditPanel{grid-column:1}.inlineCreate{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:10px}.inlineCreate button{white-space:nowrap}.memberCreateGrid{display:grid;grid-template-columns:1fr 1.2fr 1.15fr .8fr auto;gap:6px;align-items:end;padding:9px;border:1px solid #dce4ed;border-radius:8px;background:#f8fafc}.memberCreateGrid input,.memberCreateGrid select,.memberCreateGrid button{min-width:0;padding:7px}.memberList{display:grid;gap:6px;margin-top:10px}.memberRow{display:grid;grid-template-columns:minmax(180px,1fr) 130px auto;gap:8px;align-items:center;border:1px solid #dce4ed;border-radius:8px;padding:8px 9px}.memberRow>div{display:grid;gap:2px;min-width:0}.memberRow strong{font-size:11px;color:#29415f}.memberRow span{font-size:9.5px;color:#708197;overflow:hidden;text-overflow:ellipsis}.memberRow select{padding:6px}.memberRow button{padding:6px 7px;font-size:9.5px}.auditList{display:grid;gap:5px;max-height:315px;overflow:auto}.auditRow{display:grid;gap:2px;padding:7px 8px;border:1px solid #e1e7ee;border-radius:7px;background:#fafcfe}.auditRow strong{font-size:10px;color:#38516e}.auditRow span{font-size:9px;color:#7b8999}
@media(min-width:901px){.organization-mode.app,.organization-mode.app.panel-open{grid-template-columns:285px minmax(0,1fr)}.organization-mode .sidebar{grid-column:1}.organizationWorkspace{grid-column:2}}
@media(max-width:1100px){.organizationGrid{grid-template-columns:1fr}.membersPanel,.auditPanel{grid-column:auto;grid-row:auto}.memberCreateGrid{grid-template-columns:1fr 1fr}.memberCreateGrid button{grid-column:1/-1}.memberRow{grid-template-columns:1fr 120px auto}}
@media(max-width:900px){.organizationWorkspace{grid-column:1;height:auto;min-height:70vh;padding:18px 12px 30px}.organizationHeader{align-items:flex-start;flex-direction:column}.memberCreateGrid{grid-template-columns:1fr}.memberRow{grid-template-columns:1fr}.memberRow select,.memberRow button{width:100%}.authShell{padding:12px}.authCard{padding:22px 18px}}

/* Alpha 20.1 - cloud deployment foundation */
.infrastructurePanel{grid-column:1}.infraFacts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.infraFacts span,.infraFacts strong{padding:7px 8px;border:1px solid #dce5ef;border-radius:7px;background:#f8fafc;font-size:9.5px;color:#50657d}.infraFacts strong{grid-column:1/-1}.infraReady{background:#eaf7ef!important;border-color:#b8dec6!important;color:#147542!important}.infraLocal{background:#fff7e7!important;border-color:#ead39d!important;color:#8a5d00!important}.infraIssues{margin-top:8px;font-size:9.5px;color:#6f5b2f}.infraIssues summary{cursor:pointer;font-weight:700}.infraIssues ul{margin:7px 0 0;padding-left:18px;display:grid;gap:4px}
@media(max-width:1100px){.infrastructurePanel{grid-column:auto}.infraFacts{grid-template-columns:1fr}}

/* Alpha 20.2 - drill-down dashboard navigation and explicit active revision */
.project-center-mode .projectPicker,.project-center-mode .projectManager{display:none!important}
.dashboardWorkspace{padding-top:22px}.dashboardLevelHeader{margin-bottom:14px}.dashboardLevelHeader .projectCenterHeaderActions{flex-wrap:wrap;justify-content:flex-end}
.dashboardBreadcrumbs{max-width:1420px;margin:0 auto 12px;display:flex;align-items:center;gap:7px;min-height:30px;color:#7b8a9d;font-size:10.5px}.dashboardBreadcrumbs button{border:0;background:transparent;padding:4px 2px;color:#47617f;font-weight:700}.dashboardBreadcrumbs button:hover{text-decoration:underline;background:transparent}.dashboardBreadcrumbs span{color:#9aa8b7}.dashboardBreadcrumbs strong{color:var(--navy);font-size:10.5px}
.dashboardGrid{max-width:1420px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:stretch}.dashboardCard{min-width:0;display:flex;flex-direction:column;gap:9px;border:1px solid #cad7e5;border-radius:14px;background:#fff;padding:17px 18px;box-shadow:0 5px 18px rgba(8,40,92,.055);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.dashboardCard:hover{transform:translateY(-1px);border-color:#aebfd2;box-shadow:0 8px 24px rgba(8,40,92,.085)}.dashboardCard h2{margin:0;color:var(--navy);font-size:19px;line-height:1.18;text-transform:none;letter-spacing:0}.dashboardCardSubtitle{margin:0;min-height:34px;color:#65788e;font-size:10.5px;line-height:1.45;overflow-wrap:anywhere}.dashboardCardTop{display:flex;align-items:center;gap:6px;min-height:23px}.dashboardTypeBadge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#e9f1fa;color:#1f5f96;font-size:8.8px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.dashboardTypeBadge.floor{background:#eaf7ef;color:#29704a}.dashboardTypeBadge.view{background:#f1eafb;color:#674795}.dashboardTypeBadge.revision{background:#fff2df;color:#93611e}.dashboardState,.revisionActivity{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:8.8px;font-weight:800;white-space:nowrap}.dashboardState{margin-left:auto}.dashboardState.concept{background:#eaf1fa;color:#2c5c8e}.dashboardState.review{background:#fff3dc;color:#8b5c11}.dashboardState.final{background:#e7f7ed;color:#17723f}.dashboardState.muted{background:#eef1f4;color:#6f7a86}.revisionActivity.active{background:#0d8747;color:#fff}.revisionActivity.inactive{background:#edf0f3;color:#66727f}.revisionDashboardCard.active{border:2px solid #79b995;box-shadow:0 6px 22px rgba(18,122,65,.10)}.revisionDashboardCard.working{background:linear-gradient(180deg,#fff,#f8fcfa)}.revisionDashboardCard.final{border-left:4px solid #16934c}.revisionDashboardCard.final:not(.active){border-left-color:#aab6c2}.viewDashboardCard.historical{border-style:dashed;background:#fbfbfc}.viewDashboardCard.historical:hover{border-color:#9eabb8}
.dashboardMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:2px}.dashboardMetric{min-width:0;border:1px solid #e0e7ef;border-radius:9px;background:#f8fafc;padding:8px 9px}.dashboardMetric strong{display:block;color:#29415f;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboardMetric span{display:block;margin-top:2px;color:#7c8b9e;font-size:8.8px;line-height:1.2}.dashboardCardFooter{margin-top:auto;padding-top:5px;border-top:1px solid #edf1f5;display:flex;align-items:center;justify-content:space-between;gap:8px}.dashboardCardFooter.stacked{align-items:stretch;flex-direction:column}.dashboardCardFooter small{min-width:0;color:#8794a4;font-size:9px}.dashboardCardActions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dashboardCardActions button,.dashboardCardActions .buttonLink{padding:6px 8px;font-size:9.5px}.primaryLink{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important;text-decoration:none!important}.primaryLink:hover{filter:brightness(.96)}
.dashboardSectionIntro,.dashboardSectionDivider,.dashboardNotice{max-width:1420px;margin:0 auto 12px}.dashboardSectionIntro{display:flex;align-items:baseline;gap:9px;padding:10px 12px;border:1px solid #d7e1ec;border-radius:10px;background:#f7fafd}.dashboardSectionIntro strong{color:var(--navy);font-size:11px}.dashboardSectionIntro span{color:#708197;font-size:10px}.dashboardSectionDivider{margin-top:22px;display:grid;gap:3px;padding-top:15px;border-top:1px solid #ccd8e5}.dashboardSectionDivider strong{color:var(--navy);font-size:13px}.dashboardSectionDivider span{color:#7a899b;font-size:10px}.dashboardNotice{padding:10px 12px;border:1px dashed #bcc8d5;border-radius:9px;background:#fafbfc;color:#667789;font-size:10.5px}
.floorDashboardCard.concept{border-top:3px solid #4d78a9}.floorDashboardCard.review{border-top:3px solid #e19a20}.floorDashboardCard.final{border-top:3px solid #16934c}
.level-floors .floorDashboardGrid,.level-views .viewDashboardGrid,.level-revisions .revisionDashboardGrid{margin-top:0}.historicalGrid{margin-top:0}
@media(max-width:1180px){.dashboardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardLevelHeader{align-items:flex-start}.dashboardLevelHeader .projectCenterHeaderActions{justify-content:flex-start}}
@media(max-width:760px){.dashboardGrid{grid-template-columns:1fr}.dashboardMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardBreadcrumbs{overflow:auto;padding-bottom:3px}.dashboardLevelHeader{display:grid}.dashboardCardFooter:not(.stacked){align-items:stretch;flex-direction:column}.dashboardCardFooter .primary{width:100%}.dashboardSectionIntro{align-items:flex-start;display:grid}}
.dashboardTutorialDemo{display:flex;align-items:center;justify-content:center;gap:10px;padding:26px}.dashboardTutorialDemo>i{font-style:normal;font-size:20px;color:#8ca0b5;animation:tutDashArrow 3.6s ease-in-out infinite}.demoDashboardStep{width:120px;height:92px;border:1px solid #cbd7e4;border-radius:10px;background:#fff;display:grid;place-content:center;gap:3px;text-align:center;box-shadow:0 4px 12px rgba(8,40,92,.06);opacity:.5;animation:tutDashStep 3.6s ease-in-out infinite}.demoDashboardStep small{width:20px;height:20px;margin:0 auto 2px;border-radius:50%;display:grid;place-items:center;background:#eaf1fa;color:#2c5c8e;font-weight:800}.demoDashboardStep strong{font-size:11px;color:var(--navy)}.demoDashboardStep span{font-size:9px;color:#78899d}.demoDashboardStep.s2{animation-delay:.45s}.demoDashboardStep.s3{animation-delay:.9s}.demoDashboardStep.s4{animation-delay:1.35s}@keyframes tutDashStep{0%,100%{opacity:.45;transform:translateY(0)}18%,42%{opacity:1;transform:translateY(-7px);border-color:#7f9fbe;box-shadow:0 7px 18px rgba(8,40,92,.12)}}@keyframes tutDashArrow{0%,100%{opacity:.3;transform:translateX(-2px)}50%{opacity:1;transform:translateX(3px)}}
@media(max-width:760px){.dashboardTutorialDemo{display:grid;grid-template-columns:1fr auto 1fr;padding:18px}.demoDashboardStep{width:auto}.dashboardTutorialDemo>i:nth-of-type(2){display:none}.dashboardTutorialDemo .s3{grid-column:1}.dashboardTutorialDemo .s4{grid-column:3}}

/* Alpha 20.2.1 - React 16.0 fragment compatibility */
.reactFragmentCompat{display:contents}

/* Alpha 20.3 - secure invitations and account recovery */
.authLinkButton{border:0!important;background:transparent!important;color:#285d94!important;padding:6px 4px!important;font-weight:700;text-align:center;box-shadow:none!important}.authLinkButton:hover{text-decoration:underline;background:transparent!important}.authNotice{padding:10px 12px;border:1px solid #cbdbea;border-radius:9px;background:#f3f8fd;color:#48627e;font-size:10.5px;line-height:1.5}.authSuccess{display:grid;gap:5px;padding:11px 12px;border:1px solid #a9d4bc;border-radius:9px;background:#eefaf3;color:#246843;font-size:10.5px;line-height:1.45}.authSuccess strong{font-size:11px}.devPreviewLink{color:#145c9e;font-weight:800;text-decoration:none}.devPreviewLink:hover{text-decoration:underline}
.invitationCreateGrid{grid-template-columns:1fr 1.2fr .8fr auto}.developmentInvitePreview{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;align-items:center;margin-top:9px;padding:9px 10px;border:1px solid #bfd5ea;border-radius:8px;background:#f3f8fd}.developmentInvitePreview>div{display:grid;gap:2px}.developmentInvitePreview strong{font-size:10px;color:#244d75}.developmentInvitePreview span{font-size:9px;line-height:1.35;color:#647b92}.developmentInvitePreview a{font-size:9.5px;font-weight:800;color:#145c9e;text-decoration:none;white-space:nowrap}.memberSectionTitle{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:15px 0 7px;padding-top:11px;border-top:1px solid #e4eaf1}.memberSectionTitle strong{font-size:11px;color:#29415f}.memberSectionTitle span{font-size:9px;color:#7b8a9c}.invitationList{display:grid;gap:6px}.invitationRow{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:9px;align-items:center;border:1px solid #dce4ed;border-radius:8px;padding:8px 9px;background:#fbfdff}.invitationRow>div:first-child{display:grid;gap:2px;min-width:0}.invitationRow strong{font-size:10.5px;color:#29415f}.invitationRow span,.invitationRow small{font-size:9px;color:#75879a;overflow:hidden;text-overflow:ellipsis}.invitationActions{display:flex;gap:6px;align-items:center}.invitationActions button{padding:6px 7px;font-size:9px}.projectEmpty.compact{padding:9px 10px;margin:0;font-size:9.5px}.infraFacts span:nth-child(4){overflow-wrap:anywhere}
@media(max-width:1100px){.invitationCreateGrid{grid-template-columns:1fr 1fr}.developmentInvitePreview{grid-template-columns:1fr auto}.developmentInvitePreview a{grid-column:1/-1}}
@media(max-width:760px){.invitationCreateGrid,.developmentInvitePreview,.invitationRow{grid-template-columns:1fr}.invitationActions{display:grid;grid-template-columns:1fr 1fr}.memberSectionTitle{display:grid}.developmentInvitePreview a{grid-column:auto}}
/* Alpha 20.4 - snelle naamwijziging in dashboards */
.editableDashboardName{display:flex;align-items:center;gap:7px;min-width:0}.editableDashboardName h2{min-width:0}.editableDashboardName.compact{display:inline-flex;vertical-align:middle}.editableDashboardName.compact span{font:inherit;color:inherit;font-weight:inherit}.renamePencil{width:28px;height:28px;min-width:28px;border-radius:8px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d2dce8;background:#f8fbfe;color:#345777;font-size:15px;line-height:1;opacity:.9}.renamePencil:hover:not(:disabled){background:#edf4fb;border-color:#9eb4ca;color:#123f70}.renamePencil:disabled{opacity:.35;cursor:not-allowed}.inlineRenameEditor{display:grid;grid-template-columns:minmax(0,1fr) 30px 30px;gap:6px;align-items:center;min-width:0}.inlineRenameEditor.compact{display:inline-grid;grid-template-columns:minmax(140px,320px) 30px 30px;vertical-align:middle}.inlineRenameEditor input{min-width:0;width:100%;height:34px;border:1px solid #6e9dc9;border-radius:8px;padding:6px 9px;font-size:15px;font-weight:800;color:var(--navy);background:#fff;outline:none;box-shadow:0 0 0 2px rgba(36,104,163,.08)}.inlineRenameEditor.compact input{height:36px;font-size:18px}.inlineRenameSave,.inlineRenameCancel{width:30px;height:30px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:15px}.inlineRenameSave{background:#0d8747;color:#fff;border-color:#0d8747}.inlineRenameCancel{background:#fff;color:#65788e;border-color:#d2dce8}.inlineRenameError{grid-column:1/-1;color:#ae2731;font-size:9.5px;font-weight:700;line-height:1.3}.dashboardLevelHeader h1>.editableDashboardName{font:inherit;color:inherit}.dashboardLevelHeader h1>.editableDashboardName .renamePencil{transform:translateY(-1px)}

/* Alpha 20.4.1 - revisie ontgrendelen */
.revisionLockButton{border:1px solid #b7c5d8;background:#fff;border-radius:8px;min-width:34px;height:30px;padding:0 8px;font-size:16px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.revisionLockButton.locked:hover{background:#fff4dc;border-color:#d6a53d;transform:translateY(-1px)}.revisionLockIndicator{font-size:15px;line-height:1;display:inline-flex;align-items:center}.revisionLockIndicator.unlocked{filter:saturate(.85)}.finalRevisionLockTitle{display:flex;align-items:center;justify-content:space-between;gap:10px}.unlockRevisionButton{border-color:#d6a53d!important;background:#fff8e8!important;color:#6e4b00!important}.unlockRevisionButton:hover{background:#ffefc3!important}

/* Alpha 20.5 - billing, project licenses and watermark state */
.billingAccessBadge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;letter-spacing:.01em;white-space:nowrap;border:1px solid #cad7e8;background:#eef4fb;color:#315b8a}
.billingAccessBadge.paid{background:#eaf7ef;border-color:#b7dfc4;color:#1d7042}
.billingAccessBadge.unpaid{background:#fff6e6;border-color:#f2d59c;color:#8d5a00}
.billingAccessBadge.muted{background:#f3f5f8;color:#68788d}
.billingUnlockButton{border-color:#d99b31!important;background:#fffaf0!important;color:#7a4b00!important;font-weight:800!important}
.billingPanel{grid-column:1/-1;background:linear-gradient(135deg,#ffffff 0%,#f5f9ff 100%)}
.billingPanelHead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:8px}
.billingPanelHead h2{margin:2px 0 0}
.pricingMiniGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.pricingMiniCard{border:1px solid #d7e1ee;border-radius:16px;padding:20px;background:#fff;display:flex;flex-direction:column;gap:8px;min-width:0}
.pricingMiniCard.featured{border-color:#91b2da;box-shadow:0 8px 28px rgba(18,61,110,.08)}
.pricingMiniCard h3{margin:0;color:#0f315e;font-size:19px}
.pricingAudience{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#607895}
.pricingPrice{font-size:25px;color:#0d3d78;line-height:1.05}
.pricingMiniCard p{margin:3px 0;color:#4f6279;line-height:1.45}
.billingButtons{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.billingFootnote{display:block;margin-top:12px;color:#6a7b8f}
.editorBillingNotice{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;padding:12px 14px;margin:10px 0 12px;border:1px solid}
.editorBillingNotice>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.editorBillingNotice strong{font-size:13px}
.editorBillingNotice span{font-size:11px;line-height:1.4}
.editorBillingNotice.paid{background:#eff9f3;border-color:#bee1ca;color:#235f3d}
.editorBillingNotice.unpaid{background:#fff8e9;border-color:#efd49b;color:#755000}
@media(max-width:900px){.pricingMiniGrid{grid-template-columns:1fr}.editorBillingNotice{align-items:flex-start;flex-direction:column}.billingPanelHead{flex-direction:column}}

/* Alpha 20.6 - Fortisafe platform owner analytics */
.platformWorkspace{grid-column:2/-1;min-width:0;overflow:auto;background:#f4f7fb;padding:28px 34px 48px}
.platformHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.platformHeader h1{margin:3px 0 6px;color:var(--navy);font-size:30px}.platformHeader p{margin:0;color:#61758d;max-width:760px;line-height:1.45}.platformHeaderActions{display:flex;gap:8px;align-items:center}.platformHeaderActions select{min-width:150px}
.platformPrivacyNote{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid #bfd6eb;background:#eef6fd;border-radius:12px;color:#365b7d;margin-bottom:18px}.platformPrivacyNote strong{white-space:nowrap;color:#174d7c}.platformPrivacyNote span{font-size:11px;line-height:1.4}
.platformKpiGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.platformKpi{background:#fff;border:1px solid #d7e1ec;border-radius:14px;padding:16px;display:grid;gap:5px;min-width:0}.platformKpi strong{font-size:27px;color:#0c3f79;line-height:1}.platformKpi span{font-size:10.5px;color:#65798f;font-weight:700}
.platformTwoCol{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-bottom:16px}.platformPanel{background:#fff;border:1px solid #d7e1ec;border-radius:16px;padding:18px;min-width:0;box-shadow:0 4px 18px rgba(8,40,92,.04)}.platformPanelTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.platformPanelTitle h2{margin:2px 0 0;color:#173d69;font-size:18px}.platformPanelTitle>span{font-size:10px;color:#74869a}
.funnelList{display:grid;gap:9px}.funnelRow{display:grid;grid-template-columns:28px minmax(0,1fr) 44px 112px;align-items:center;gap:9px}.funnelIndex{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e8f0f9;color:#275b8d;font-weight:800;font-size:10px}.funnelMain{display:grid;gap:5px}.funnelMain strong{font-size:11px;color:#294561}.funnelBar{height:7px;border-radius:999px;background:#edf2f7;overflow:hidden}.funnelBar span{display:block;height:100%;min-width:0;background:#2a6baa;border-radius:999px}.funnelCount{text-align:right;color:#0d417d;font-size:16px}.funnelRow small{color:#7b8c9f;font-size:9px;text-align:right}
.dailyBars{height:180px;display:flex;align-items:flex-end;gap:4px;padding:10px 2px 24px;position:relative;border-bottom:1px solid #dfe7ef}.dailyBarCol{height:100%;flex:1;min-width:4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}.dailyBarTrack{height:132px;width:100%;max-width:13px;background:#edf2f7;border-radius:5px 5px 2px 2px;display:flex;align-items:flex-end;overflow:hidden}.dailyBarTrack span{display:block;width:100%;background:#2a6baa;border-radius:5px 5px 2px 2px}.dailyBarCol small{font-size:7px;color:#8292a4;transform:rotate(-55deg);transform-origin:center;white-space:nowrap}.dailyLegend{position:absolute;bottom:-22px;left:2px;color:#7a8b9d;font-size:9px}
.customerPanel{margin-bottom:16px}.platformCustomerList{display:grid;gap:7px}.platformCustomerRow{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(330px,2fr) auto;align-items:center;gap:14px;border:1px solid #e1e7ee;border-radius:11px;padding:10px 11px;background:#fbfdff}.platformCustomerIdentity{display:grid;gap:2px;min-width:0}.platformCustomerIdentity strong{color:#254560}.platformCustomerIdentity small{color:#8190a1;font-size:9px}.platformCustomerStats{display:flex;flex-wrap:wrap;gap:6px}.platformCustomerStats span,.journeySummary span{font-size:9px;border:1px solid #dbe5ef;background:#f4f8fc;color:#496985;border-radius:999px;padding:4px 7px;white-space:nowrap}.platformCustomerRow button{white-space:nowrap}
.journeyPanel{margin-bottom:16px}.journeySummary{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.journeyEvents{display:grid;gap:0}.journeyEvent{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;position:relative;padding:7px 0}.journeyEvent:not(:last-child):before{content:"";position:absolute;left:5px;top:18px;bottom:-5px;width:1px;background:#dbe5ef}.journeyDot{width:11px;height:11px;border-radius:50%;background:#2a6baa;margin-top:3px;z-index:1;box-shadow:0 0 0 3px #eef5fb}.journeyEvent>div:last-child{display:grid;gap:2px}.journeyEvent strong{font-size:10.5px;color:#294963}.journeyEvent span{font-size:9.5px;color:#6d8094}.journeyEvent small{font-size:8.5px;color:#8a98a7;overflow-wrap:anywhere}
.platform-mode .sidebar .projectPicker,.platform-mode .sidebar .projectManager,.platform-mode .sidebar .activeProjectState,.platform-mode .sidebar .viewPicker,.platform-mode .sidebar .stepper,.platform-mode .sidebar .sidebarStatus,.platform-mode .workspacePanel{display:none!important}.platform-mode .editorWorkspace{display:none!important}
@media(max-width:1250px){.platformKpiGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.platformTwoCol{grid-template-columns:1fr}.platformCustomerRow{grid-template-columns:1fr auto}.platformCustomerStats{grid-column:1/-1;grid-row:2}}
@media(max-width:760px){.platformWorkspace{padding:18px 14px 36px}.platformHeader{display:grid}.platformHeaderActions{display:grid;grid-template-columns:1fr auto}.platformKpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.platformPrivacyNote{display:grid}.funnelRow{grid-template-columns:26px minmax(0,1fr) 36px}.funnelRow small{grid-column:2/-1;text-align:left}.platformCustomerRow{grid-template-columns:1fr}.platformCustomerStats{grid-column:auto;grid-row:auto}.platformCustomerRow button{width:100%}}

/* Alpha 20.7 - Go-Live Readiness, pilotbeheer en facturatieprofiel */
.goLivePanel{margin-bottom:16px}.goLiveBadges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.goLiveBadge{font-size:9px;font-weight:800;border-radius:999px;padding:5px 8px;border:1px solid}.goLiveBadge.ready{background:#eef9f2;border-color:#b9dfc7;color:#23613c}.goLiveBadge.pending{background:#fff7e8;border-color:#ecd09a;color:#805a0c}
.opsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.opsItem{display:grid;grid-template-columns:10px minmax(0,1fr);gap:8px;align-items:start;padding:10px;border:1px solid #dfe7ef;border-radius:10px;background:#fbfdff}.opsItem>div{display:grid;gap:2px}.opsItem strong{font-size:10px;color:#36536f}.opsItem small{font-size:8.5px;line-height:1.35;color:#718399;overflow-wrap:anywhere}.opsDot{width:9px;height:9px;border-radius:50%;margin-top:2px}.opsItem.ok .opsDot{background:#2e8c56}.opsItem.warn .opsDot{background:#d69b31}.opsActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.readinessIssues{display:grid;gap:4px;margin-top:12px;padding:10px 12px;border:1px solid #efcc93;background:#fff9ed;border-radius:10px}.readinessIssues strong{font-size:10px;color:#7d5812}.readinessIssues span{font-size:9px;color:#725d39}.billingEventStrip{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #e5ebf2}.billingEventStrip strong{font-size:9px;color:#526b83}.billingEventStrip span{font-size:8px;border:1px solid #dfe6ee;background:#f7f9fc;border-radius:999px;padding:4px 6px;color:#6a7b8e}
.platformKpiGrid{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
.pilotStage.active,.pilotStage.feedback{background:#eef9f2!important;border-color:#b9dfc7!important;color:#256340!important}.pilotStage.paused{background:#fff7e8!important;border-color:#ecd09a!important;color:#805a0c!important}.pilotStage.completed{background:#edf3fb!important;border-color:#c4d6eb!important;color:#355e86!important}
.pilotManager{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:8px;align-items:end;margin-bottom:14px;padding:12px;border:1px solid #dce5ef;border-radius:11px;background:#f8fbfe}.pilotManager label{display:grid;gap:4px}.pilotManager label>span{font-size:8.5px;font-weight:800;color:#5c7188;text-transform:uppercase;letter-spacing:.04em}.pilotManager select,.pilotManager textarea{min-width:0}.pilotManager .pilotNote{grid-column:1/-2}.pilotManager textarea{min-height:58px;resize:vertical}.pilotManager>button{grid-column:-2/-1}
.billingProfilePanel{grid-column:1/-1}.billingProfileGrid{display:grid;grid-template-columns:1.5fr 1fr 1.4fr;gap:8px}.billingProfileGrid label{display:grid;gap:4px}.billingProfileGrid label span{font-size:9px;font-weight:700;color:#5b7088}.billingProfileGrid .wide{grid-column:span 2}.billingProfileSave{margin-top:10px}.privacyAccountPanel{grid-column:1}.legalLinkRow{display:flex;gap:7px;flex-wrap:wrap}.legalLinkRow a,.legalLinkRow span{font-size:9px;border:1px solid #dde6ef;border-radius:999px;padding:5px 7px;text-decoration:none;color:#476884;background:#f8fbfe}.privacyActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.sidebarLegal{display:flex;gap:7px;flex-wrap:wrap;padding:0 5px 8px}.sidebarLegal a{font-size:8px;color:#75869a;text-decoration:none}.sidebarLegal a:hover{text-decoration:underline}
@media(max-width:1100px){.opsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.billingProfileGrid{grid-template-columns:1fr 1fr}.billingProfileGrid .wide{grid-column:1/-1}.pilotManager{grid-template-columns:1fr 1fr}.pilotManager .pilotNote{grid-column:1/-1}.pilotManager>button{grid-column:1/-1}}
@media(max-width:700px){.opsGrid,.billingProfileGrid,.pilotManager{grid-template-columns:1fr}.billingProfileGrid .wide,.pilotManager .pilotNote,.pilotManager>button{grid-column:auto}.goLiveBadges{justify-content:flex-start}}

/* Alpha 20.8 - External Pilot */
.pilotFeedbackButton{width:100%;border:1px solid #d8e4f2;background:#f7fbff;color:#0b3d82;border-radius:10px;padding:9px 10px;font-weight:700;text-align:left;cursor:pointer}
.pilotFeedbackButton:hover{background:#eef6ff}
.customerPilotProgress{margin:0 0 18px;padding:16px 18px;border:1px solid #cfe0ef;background:linear-gradient(180deg,#fbfdff,#f5f9fc);border-radius:16px;box-shadow:0 10px 28px rgba(31,68,102,.06)}
.customerPilotProgressHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.customerPilotProgressHead>div{display:flex;flex-direction:column;gap:3px}.customerPilotProgressHead strong{font-size:18px}.customerPilotProgressHead small{color:#627386;max-width:720px}
.pilotProgressPercent{min-width:58px;height:38px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#e8f3ff;color:#0b3d82;font-weight:800}
.customerPilotSteps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.customerPilotStep{display:flex;align-items:center;gap:8px;border:1px solid #dde6ef;background:white;border-radius:10px;padding:9px 10px;color:#5a6978;font-size:12px}.customerPilotStep>span{font-size:16px}.customerPilotStep.done{border-color:#b9ddc6;background:#f1fbf4;color:#176b36}.customerPilotStep.done>span{color:#13813c}.customerPilotSuccess{margin-top:12px;font-weight:700;color:#176b36}
.pilotFeedbackModal{max-width:640px}.pilotFeedbackGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pilotFeedbackModal textarea{resize:vertical;min-height:120px}.pilotFeedbackPrivacy{padding:10px 12px;border-radius:10px;background:#f4f7fa;color:#52616f;font-size:12px;margin-top:8px}
.pilotAccessShell .pilotAccessCard{max-width:520px}.pilotAccessCard .buttonLink{display:inline-flex;margin:8px 0;text-decoration:none}
.pilotAccessBadge{border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.pilotAccessBadge.active{background:#e8f7ed;color:#176b36}.pilotAccessBadge.inactive{background:#f3f4f6;color:#66707a}
.pilotAccessManager{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #dce5ed;background:#fbfcfd;border-radius:12px;margin-top:12px}.pilotAccessManager>div:first-child{display:flex;flex-direction:column;gap:3px}.pilotAccessManager small{color:#667788}.pilotAccessActions{display:flex;gap:8px}
.pilotProgressCard{border:1px solid #d8e4ef;border-radius:12px;padding:14px 16px;margin-top:12px;background:#fbfdff}.pilotProgressHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.pilotProgressHead>div{display:flex;flex-direction:column;gap:2px}.timeToPlanBadge{border-radius:999px;padding:5px 9px;background:#e8f3ff;color:#0b3d82;font-size:11px;font-weight:800}.pilotProgressSteps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.pilotProgressStep{display:flex;gap:8px;align-items:flex-start;padding:8px;border-radius:9px;background:#f3f5f7;color:#63717e}.pilotProgressStep.done{background:#edf9f0;color:#176b36}.pilotProgressStep>span{font-weight:900}.pilotProgressStep>div{display:flex;flex-direction:column}.pilotProgressStep small{font-size:10px;color:#7a8792}
.pilotFeedbackPanel{margin-top:16px}.pilotFeedbackList{display:grid;gap:9px}.pilotFeedbackItem{border:1px solid #e0e6ec;border-radius:12px;padding:12px 14px;background:white;display:grid;gap:6px}.pilotFeedbackItem.blocking{border-color:#efb5b5;background:#fffafa}.pilotFeedbackItem.high{border-color:#f0cfaa}.pilotFeedbackItem.resolved{opacity:.65}.pilotFeedbackMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pilotFeedbackMeta small{margin-left:auto;color:#73808b}.feedbackSeverity{border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800;text-transform:uppercase}.feedbackSeverity.blocking{background:#fee2e2;color:#9b1c1c}.feedbackSeverity.high{background:#fff0db;color:#8a4e00}.feedbackSeverity.normal{background:#e9f3ff;color:#0b3d82}.feedbackSeverity.low{background:#eef2f5;color:#56616b}.pilotFeedbackItem p{margin:0;color:#44515d;white-space:pre-wrap}.pilotFeedbackItem select{justify-self:end;min-width:150px}
.journeyFeedback{margin-top:12px;border-top:1px solid #e4e9ee;padding-top:12px;display:grid;gap:7px}.journeyFeedbackRow{display:flex;gap:8px;align-items:flex-start;border-radius:9px;background:#f7f9fb;padding:8px 10px}.journeyFeedbackRow.blocking{background:#fff0f0;color:#8f1717}.journeyFeedbackRow>div{display:flex;flex-direction:column}.journeyFeedbackRow small{color:#74818d}
.pilotReadinessIssues{border-color:#cbdff2;background:#f5faff}
@media(max-width:900px){.customerPilotSteps,.pilotProgressSteps{grid-template-columns:1fr 1fr}.pilotFeedbackGrid{grid-template-columns:1fr}.pilotAccessManager{align-items:flex-start;flex-direction:column}}

/* Alpha 20.8.1 - Guided Support & Action Guards */
.supportAssistantButton{width:100%;margin-top:8px;border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a;border-radius:10px;padding:9px 10px;font-weight:700;text-align:left;cursor:pointer}.supportAssistantButton:hover{background:#eef6ff;border-color:#94b9df}.supportAssistantModal{width:min(720px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column}.supportAssistantHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modalCloseX{border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#64748b;padding:0 4px}.supportAssistantIntro{margin:2px 0 12px;color:#475569}.supportAssistantMessages{display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:180px;max-height:430px;padding:4px 2px 8px}.supportMessage{border:1px solid #dbe3ec;border-radius:12px;padding:10px 12px;background:#f8fafc}.supportMessage.user{margin-left:70px;background:#eef6ff;border-color:#bfd5ea}.supportMessage.assistant{margin-right:30px}.supportMessage strong{display:block;font-size:12px;margin-bottom:4px;color:#334155}.supportMessage p{margin:0;white-space:pre-wrap}.supportSteps{display:flex;flex-direction:column;gap:6px;margin-top:9px}.supportSteps>div{display:flex;gap:8px;align-items:flex-start}.supportSteps span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:50%;background:#e2e8f0;font-size:11px;font-weight:800}.supportSteps p{font-size:12px;color:#334155}.supportActionButton{margin-top:10px}.supportAssistantComposer{border-top:1px solid #e2e8f0;padding-top:12px}.supportAssistantComposer textarea{width:100%;resize:vertical;min-height:70px}.supportComposerActions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.actionGuardModal{width:min(580px,calc(100vw - 32px))}.actionGuardItems{display:flex;flex-direction:column;gap:7px;margin:12px 0}.actionGuardItem{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid #fecaca;background:#fff7f7;border-radius:9px}.actionGuardItem>span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#dc2626;color:#fff;font-weight:800;font-size:12px;flex:0 0 auto}.actionGuardItem p{margin:1px 0 0;font-size:12px;color:#7f1d1d}.pilotFeedbackContact{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;margin-top:4px}.pilotFeedbackContact small{color:#64748b}.feedbackMailButton,.journeyMailLink{display:inline-flex;align-items:center;gap:4px;font-size:12px;text-decoration:none;font-weight:700;color:#0b5eaa}.feedbackMailButton:hover,.journeyMailLink:hover{text-decoration:underline}.journeyMailLink{margin-left:8px}.finalExportActions button:not(:disabled),.workflowBox button:not(:disabled){transition:box-shadow .15s ease,transform .15s ease}.finalExportBox.locked .finalExportActions button.primary,.workflowBox button{cursor:pointer}

/* Alpha 20.8.2 - Inline Controleherstel */
.validationRow.inlineEditable{grid-template-columns:22px minmax(0,1fr)}
.validationInlineFix{grid-column:2/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;margin-top:3px}
.validationInlineFix input{min-width:0;width:100%;height:32px;border:1px solid #c7d3e1;border-radius:7px;padding:5px 8px;background:#fff;color:#23384f;font-size:10px;outline:none}
.validationInlineFix input:focus{border-color:#5f8fbd;box-shadow:0 0 0 2px rgba(52,111,166,.10)}
.validationInlineSave{height:32px;padding:5px 9px;border-radius:7px;border:1px solid #88a9c8;background:#eef6ff;color:#174d80;font-size:9.5px;font-weight:800;white-space:nowrap}
.validationInlineSave:hover{background:#e1effd;border-color:#5f8fbd}
.validationRow.quickFixable .validationAction{font-weight:800}
.validationAction.activeQuickFix{background:#fff3d8!important;border-color:#c99524!important;color:#795300!important}
.controlQuickFixInstruction{border-color:#c99524!important;background:rgba(255,250,235,.98)!important;color:#6d520c!important;box-shadow:0 4px 16px rgba(128,92,12,.18)!important}
.controlQuickFixInstruction strong{color:#674b00!important}
@media(max-width:620px){.validationInlineFix{grid-template-columns:1fr}.validationInlineSave{width:100%}}

/* Alpha 20.9 - Fortisafe Solutions Foundation */
.solutions-mode .activeProjectState,.solutions-mode .viewPicker,.solutions-mode .stepper,.solutions-mode .sidebarStatus,.solutions-mode .workspacePanel,.solutions-mode .projectPicker,.solutions-mode .projectManager,.solutions-mode .projectCenterSideInfo{display:none!important}
.solutions-mode .editorWorkspace{display:none!important}
.solutionsWorkspace{grid-column:2;min-width:0;height:100vh;overflow:auto;padding:32px 36px 56px;background:#eef3f8}
.solutionsHeader{max-width:1380px;margin:0 auto 24px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.solutionsHeader .eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6e8096;font-weight:700}
.solutionsHeader h1{font-size:31px;color:var(--navy);margin:4px 0 6px}
.solutionsHeader p{margin:0;color:#61738a;max-width:760px;line-height:1.5}
.solutionPackGrid{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.solutionPackCard{display:grid;align-content:start;gap:14px;min-height:260px;padding:22px;border:1px solid #cfdae7;border-radius:16px;background:#fff;box-shadow:0 5px 20px rgba(8,40,92,.06)}
.solutionPackCard.active{border-color:#9ec7ad;box-shadow:0 5px 20px rgba(19,94,57,.08)}
.solutionPackCard.planned{background:linear-gradient(180deg,#fff,#f7f9fc)}
.solutionPackCard.interested{border-color:#d7c68d}
.solutionPackTop{display:flex;align-items:center;gap:13px}.solutionPackTop h2{margin:2px 0 0;font-size:20px;color:var(--navy)}
.solutionPackIcon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#edf4fb;color:var(--navy);font-size:24px;font-weight:800}
.solutionPackCard p{margin:0;color:#61738a;line-height:1.55}
.solutionPackMeta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.solutionPackMeta>span{font-size:10px;color:#677b92}
.packState{display:inline-flex!important;padding:5px 8px;border-radius:999px;background:#edf2f7;font-weight:700;color:#4b617b!important}.packState.active,.packState.trial{background:#e8f6ed;color:#22653f!important}.packState.interested{background:#fff6d8;color:#7a5a00!important}.packState.suspended,.packState.expired{background:#fdebec;color:#972d32!important}
.solutionLaunch{justify-self:start;padding:10px 15px}.solutionComingSoon{display:grid;gap:3px;padding:12px 13px;border:1px solid #dbe4ed;border-radius:10px;background:#f8fafc}.solutionComingSoon strong{font-size:11px;color:#314b68}.solutionComingSoon span{font-size:10px;color:#6f8197;line-height:1.45}
.solutionsPrinciple{max-width:1380px;margin:18px auto 0;padding:14px 16px;border:1px solid #cfdce9;border-radius:12px;background:#f8fbfe;display:grid;gap:3px}.solutionsPrinciple strong{color:#173b68}.solutionsPrinciple span{font-size:11px;color:#667c94}
.activePackPill{padding:8px 10px;border-radius:9px;background:#eef5fb;border:1px solid #d1dfed;color:#35536f;font-size:10px;font-weight:700;text-align:center}
.platformSolutionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.platformSolutionCard{padding:13px;border:1px solid #dbe3ec;border-radius:10px;background:#fbfcfe;display:grid;gap:5px}.platformSolutionCard h3{margin:0;color:#263f5d;font-size:13px}.platformSolutionStats{display:flex;gap:10px;flex-wrap:wrap}.platformSolutionStats span{font-size:9.5px;color:#6c7e93}.customerPackChips{display:flex;gap:4px;flex-wrap:wrap}.customerPackChip{font-size:8.5px;padding:3px 6px;border-radius:999px;background:#edf2f7;color:#536b83}.customerPackChip.active,.customerPackChip.trial{background:#e7f5ec;color:#24633f}.customerPackChip.interested{background:#fff4d1;color:#806000}
.journeyPacks{display:grid;gap:8px;padding:12px;border:1px solid #d8e1eb;border-radius:10px;background:#f9fbfd}.journeyPackRow{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:10px;align-items:center}.journeyPackRow>div:first-child{display:grid;gap:2px}.journeyPackRow strong{font-size:11px;color:#304a67}.journeyPackRow small{font-size:9px;color:#718399}.journeyPackActions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.journeyPackActions button{padding:6px 8px;font-size:9px}
@media(min-width:901px){.solutions-mode.app,.solutions-mode.app.panel-open{grid-template-columns:285px minmax(0,1fr)}.solutions-mode .sidebar{grid-column:1}.solutionsWorkspace{grid-column:2}}
@media(max-width:900px){.solutionsWorkspace{grid-column:1;height:auto;min-height:70vh;padding:20px 14px 38px}.solutionsHeader{align-items:flex-start;flex-direction:column}.solutionPackGrid,.platformSolutionGrid{grid-template-columns:1fr}.journeyPackRow{grid-template-columns:1fr}.journeyPackActions{justify-content:flex-start}}

/* Alpha 20.9.1 - Solutions Portal & Customer 360 */
.customerPortalWorkspace{padding-bottom:60px}.customerPortalHeader{align-items:center}.demoOrganizationBanner{max-width:1380px;margin:0 auto 16px;padding:12px 15px;border:1px solid #88afd7;background:#eef6ff;border-radius:10px;display:flex;gap:12px;align-items:center}.demoOrganizationBanner strong{color:var(--navy)}.demoOrganizationBanner span{font-size:11px;color:#536d89}.customerPortalKpis{max-width:1380px;margin:0 auto 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.customerPortalKpis>div{background:white;border:1px solid #d3deea;border-radius:11px;padding:14px 16px;display:grid;gap:3px;min-height:76px}.customerPortalKpis strong{font-size:20px;color:var(--navy);line-height:1.15}.customerPortalKpis span{font-size:10px;color:#718197}.portalPaymentKpi.overdue{border-color:#efb2b5;background:#fff5f5}.portalPaymentKpi.in_order,.portalPaymentKpi.paid_once{border-color:#a9d6b7;background:#f3fbf5}.customerPortalAdminCard{max-width:1380px;margin:0 auto 18px;padding:16px 18px;border:1px solid #cdd9e6;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px}.customerPortalAdminCard h2{font-size:16px;margin:3px 0;color:var(--navy)}.customerPortalAdminCard p{margin:0;color:#697b91;font-size:11px}.customerPortalSolutionsSection{max-width:1380px;margin:0 auto}.customerPortalSectionTitle{display:flex;justify-content:space-between;align-items:end;margin:0 0 10px}.customerPortalSectionTitle h2{font-size:20px;margin:3px 0 0;color:var(--navy)}.customerPortalSectionTitle>span{font-size:11px;color:#6d7e92}.otherSolutionsDetails{max-width:1380px;margin:14px auto 0;border:1px solid #d3deea;border-radius:11px;background:#f9fbfd}.otherSolutionsDetails>summary{padding:12px 15px;cursor:pointer;color:var(--navy);font-weight:700}.otherSolutionsDetails .solutionPackGrid{padding:0 12px 12px}.solutions-mode .helpTutorialButton,.organization-mode .helpTutorialButton,.platform-mode .helpTutorialButton{display:none!important}

.ownerKpiGrid{grid-template-columns:repeat(6,minmax(0,1fr))}.platformKpi.warning{border-color:#efb2b5;background:#fff3f4}.ownerCustomerPanel{margin-top:14px}.customerFilters{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px;gap:8px;margin-bottom:12px}.customerFilters input,.customerFilters select{background:#fff}.ownerCustomerTable{display:grid;gap:7px}.ownerCustomerRow{display:grid;grid-template-columns:minmax(300px,1.25fr) minmax(420px,1.3fr) auto;gap:14px;align-items:center;padding:12px 13px;border:1px solid #d9e2ec;border-radius:10px;background:#fff}.ownerCustomerName{display:grid;gap:4px;min-width:0}.ownerCustomerName>strong{font-size:13px;color:var(--navy)}.ownerCustomerName>a{font-size:10px;color:#486785;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ownerCustomerMetrics{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.ownerCustomerMetrics>span{font-size:9.5px;color:#66798f;padding:4px 7px;border-radius:999px;background:#f2f5f8;white-space:nowrap}.ownerCustomerMetrics .supportAttention{background:#fff0f1;color:#a30f17}.customerPaymentBadge{font-size:9.5px!important;font-weight:700;padding:4px 8px!important;border-radius:999px!important;white-space:nowrap}.customerPaymentBadge.in_order,.customerPaymentBadge.paid_once{background:#e9f7ed!important;color:#236c3b!important}.customerPaymentBadge.overdue{background:#fff0f1!important;color:#aa1620!important}.customerPaymentBadge.none{background:#f0f3f6!important;color:#6d7b8d!important}.platformAdvancedDetails{max-width:1420px;margin:14px auto 0;border:1px solid #d4dee9;border-radius:10px;background:#f7fafc;overflow:hidden}.platformAdvancedDetails>summary{padding:12px 15px;cursor:pointer;font-weight:700;color:#536d89}.platformAdvancedBody{display:grid;gap:12px;padding:0 12px 12px}.platformAdvancedBody .platformPanel{margin:0}.customerPackChips{display:flex;gap:5px;flex-wrap:wrap}.customerPackChip{font-size:9px;padding:3px 6px;border-radius:999px;background:#eef2f6;color:#61748a}.customerPackChip.active{background:#e7f6eb;color:#216b39}.customerPackChip.trial{background:#edf3ff;color:#355e9e}.customerPackChip.interested{background:#fff5da;color:#806000}.customerPackChip.suspended,.customerPackChip.expired{background:#f2f2f2;color:#777}

.customer360Workspace{padding-top:22px}.customer360Panel{max-width:1420px;margin:0 auto!important;padding:0!important;overflow:hidden}.customer360Header{padding:20px 22px 15px;background:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;border-bottom:1px solid #dbe3ec}.customer360Header h2{font-size:26px;color:var(--navy);margin:4px 0}.customer360Header p{margin:0;color:#687b91;font-size:11px}.customer360Back{border:0;background:transparent;padding:0;margin:0 0 7px;color:#315d8e;font-weight:700}.customer360HeaderBadges{display:flex;gap:7px;align-items:center}.customer360HeaderBadges>span:not(.customerPaymentBadge){font-size:10px;background:#eef3f8;padding:5px 8px;border-radius:999px;color:#587089}.customer360Tabs{display:flex;gap:0;border-bottom:1px solid #dbe3ec;background:#f7f9fc;overflow:auto}.customer360Tabs button{border:0;border-radius:0;background:transparent;padding:10px 15px;color:#60758e;white-space:nowrap}.customer360Tabs button.active{background:white;color:var(--navy);font-weight:700;border-bottom:2px solid #1c5d9f}.customer360Overview,.customer360Users,.customer360Billing,.customer360Support,.customer360Activity,.customer360Packs{padding:18px 20px}.customer360SummaryGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.customer360SummaryCard{border:1px solid #d9e3ed;border-radius:10px;padding:12px;background:#fff;display:grid;gap:4px;align-content:start}.customer360SummaryCard>span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#7a899a}.customer360SummaryCard>strong{font-size:14px;color:var(--navy)}.customer360SummaryCard>a{font-size:10px;color:#315d8e;overflow:hidden;text-overflow:ellipsis}.customer360SummaryCard button{justify-self:start;padding:5px 7px;font-size:9px}.customer360SummaryCard.payment.overdue{background:#fff6f6;border-color:#efb7ba}.customer360SummaryCard.payment.in_order,.customer360SummaryCard.payment.paid_once{background:#f4fbf6;border-color:#b8dec3}.customer360CompactPacks{margin-top:14px;border-top:1px solid #e0e7ef;padding-top:13px}.customer360CompactPacks h3,.customer360MemberList h3,.customer360InviteList h3,.customer360SubscriptionList h3{font-size:12px;color:var(--navy);margin:0 0 8px}.customer360QuickActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.customer360QuickActions .buttonLink{display:inline-flex;align-items:center;padding:7px 9px;border:1px solid #b9c8d8;border-radius:7px;text-decoration:none;color:var(--navy);background:white;font-size:10px}.customer360InviteBox{border:1px solid #d4dfeb;border-radius:11px;padding:13px;background:#f8fbfe}.customer360InviteBox h3{font-size:14px;margin:3px 0;color:var(--navy)}.customer360InviteBox p{font-size:10px;margin:0;color:#6a7d93}.customer360InviteGrid{display:grid;grid-template-columns:1fr 1.2fr 150px auto;gap:7px;margin-top:10px}.customer360InviteList{margin-top:14px}.customer360InviteRow,.customer360MemberRow{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #dce4ed;border-radius:8px;background:#fff;margin-bottom:6px}.customer360InviteRow>div:first-child,.customer360MemberRow>div:first-child{display:grid;gap:2px}.customer360InviteRow strong,.customer360MemberRow strong{font-size:11px;color:#304a68}.customer360InviteRow small,.customer360MemberRow a{font-size:9.5px;color:#718299}.customer360InviteRow>div:last-child,.customer360MemberActions{display:flex;gap:5px}.customer360MemberRow{grid-template-columns:minmax(260px,1fr) 150px auto}.customer360MemberRow select{padding:6px}.customer360MemberActions button,.customer360InviteRow button{padding:6px 7px;font-size:9px}.customerPaymentBanner{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;border:1px solid #d9e2ec;border-radius:10px;background:#f8fafc;margin-bottom:13px}.customerPaymentBanner>div{display:grid;gap:3px}.customerPaymentBanner strong{color:var(--navy)}.customerPaymentBanner.overdue{background:#fff4f5;border-color:#efb4b8}.customerPaymentBanner.in_order,.customerPaymentBanner.paid_once{background:#f1faf4;border-color:#aed9bb}.customer360BillingGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.customer360BillingGrid label{display:grid;gap:4px}.customer360BillingGrid label.wide{grid-column:span 2}.customer360BillingGrid span{font-size:9px;color:#6e8094}.customer360SubscriptionList{margin-top:16px}.customer360SubscriptionRow{display:flex;justify-content:space-between;gap:12px;padding:8px 9px;border-bottom:1px solid #e4e9ef}.customer360SubscriptionRow strong{font-size:10px;color:#344d69}.customer360SubscriptionRow span{font-size:9.5px;color:#6d7f91}.customer360Support{display:grid;gap:8px}.customer360Activity{display:grid;gap:12px}.customer360PackRow{padding:11px 0}.customer360PackIdentity{display:grid;gap:3px}.customer360PackIdentity small{font-size:9.5px;color:#6d7d90}

@media(max-width:1100px){.ownerKpiGrid{grid-template-columns:repeat(3,1fr)}.ownerCustomerRow{grid-template-columns:1fr}.ownerCustomerMetrics{justify-content:flex-start}.customerPortalKpis{grid-template-columns:repeat(2,1fr)}.customer360SummaryGrid{grid-template-columns:repeat(2,1fr)}.customer360InviteGrid{grid-template-columns:1fr 1fr}.customer360MemberRow{grid-template-columns:1fr}.customer360BillingGrid{grid-template-columns:1fr 1fr}.customerFilters{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.ownerKpiGrid,.customerPortalKpis,.customer360SummaryGrid,.customer360BillingGrid,.customerFilters{grid-template-columns:1fr}.customerPortalAdminCard,.customer360Header{align-items:flex-start;flex-direction:column}.customer360InviteGrid{grid-template-columns:1fr}.customer360BillingGrid label.wide{grid-column:auto}}

/* Alpha 20.9.2 - Pack permissions and integration contract */
.packPermissionPicker{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:12px;border:1px solid #d8dde6;border-radius:10px;background:#fafbfc;margin:10px 0 14px}.packPermissionPicker>strong{width:100%;font-size:13px}.packPermissionControl{display:flex;flex-direction:column;gap:4px;min-width:180px}.packPermissionControl span{font-size:12px;color:#586174}.packPermissionControl select{min-width:165px}.packAwareMember{align-items:flex-start!important;gap:14px!important}.memberIdentity{display:flex;flex-direction:column;min-width:190px}.memberIdentity small,.memberOrgRole{font-size:11px;color:#707a8c}.memberPackPermissions{display:flex;flex-wrap:wrap;gap:8px;flex:1}.packUserRole{font-weight:600;color:#344054}.packNoAccessNotice,.packMarketingTeaser{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:8px;background:#fff8e6;border:1px solid #eed28c;margin-top:8px}.packMarketingTeaser{background:#f6f8fb;border-color:#d9e0ea}.packMarketingTeaser a{font-weight:600;margin-top:4px}.customer360MemberRow.packAwareMember{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) auto auto;align-items:start}.memberRow.packAwareMember{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) auto auto;align-items:start}
@media(max-width:1000px){.customer360MemberRow.packAwareMember,.memberRow.packAwareMember{grid-template-columns:1fr}.memberPackPermissions{width:100%}}

/* Alpha 20.9.3 - Customer Portal & central Support Hub */
.globalSupportButton{position:fixed;top:18px;right:22px;z-index:75;width:44px;height:44px;display:grid;place-items:center;margin:0;border-radius:50%;border:1px solid #9fb9d6;background:#fff;color:#0e447d;box-shadow:0 7px 20px rgba(17,70,122,.18);padding:0}.globalSupportButton:hover{background:#eaf3ff;border-color:#6f9bc6;transform:translateY(-1px)}.headsetIcon{font-size:20px;line-height:1}.supportHubModal{width:min(780px,calc(100vw - 34px));max-height:min(820px,calc(100vh - 34px));overflow:auto;padding:0}.supportHubHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 16px;border-bottom:1px solid #e0e7ef;background:linear-gradient(135deg,#f9fcff 0%,#eef7f7 100%)}.supportHubHeader h3{font-size:24px;color:#0e3c6e;margin:3px 0}.supportHubHeader p{margin:0;color:#63788e}.supportHubTabs{display:flex;gap:0;border-bottom:1px solid #dde5ed;background:#f7f9fb;padding:0 20px}.supportHubTabs button{border:0;border-radius:0;background:transparent;padding:11px 14px;color:#61748a}.supportHubTabs button.active{background:#fff;color:#0d467d;font-weight:800;border-bottom:2px solid #1768a9}.supportHubPane{padding:20px 24px 24px}.supportContextNotice{display:grid;gap:3px;padding:11px 13px;border:1px solid #c9dced;border-radius:10px;background:#f5faff;margin-bottom:14px}.supportContextNotice strong{font-size:11px;color:#204f78}.supportContextNotice span{font-size:10px;color:#516b84}.supportContextNotice small{font-size:9px;color:#7a8b9c}.supportConfirmation{padding:10px 12px;border-radius:9px;background:#eef9f2;border:1px solid #b8ddc5;color:#24633d;font-weight:700;margin-bottom:12px}.supportHistoryHeader{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.supportHistoryHeader>div{display:grid;gap:3px}.supportHistoryHeader span{font-size:9px;color:#73869a}.supportHistoryList{display:grid;gap:8px}.supportHistoryItem{padding:11px 12px;border:1px solid #dce5ee;border-radius:10px;background:#fff}.supportHistoryItem.open{border-left:4px solid #1768a9}.supportHistoryItem.in_progress{border-left:4px solid #d8921e}.supportHistoryItem.waiting_customer{border-left:4px solid #7a58b5}.supportHistoryItem.resolved,.supportHistoryItem.closed{opacity:.78}.supportHistoryTop{display:flex;justify-content:space-between;gap:10px}.supportHistoryItem p{margin:6px 0 0;color:#516477;white-space:pre-wrap}.supportHistoryItem small{display:block;margin-top:3px;color:#7b8a99}.supportStatusBadge{font-size:9px;font-weight:800;padding:4px 7px;border-radius:999px;white-space:nowrap;background:#eaf2fb;color:#1e5a91}.supportStatusBadge.in_progress{background:#fff4dd;color:#845a0b}.supportStatusBadge.waiting_customer{background:#f1eafa;color:#68479b}.supportStatusBadge.resolved{background:#eaf8ee;color:#25653d}.supportStatusBadge.closed{background:#eef1f4;color:#65717f}

.customerPortalWorkspace{background:#f5f8fb;min-height:100vh}.customerPortalHeader{max-width:1380px;margin:0 auto 16px;padding:22px 24px;border:1px solid #d4e0eb;border-radius:14px;background:#fff;box-shadow:0 5px 20px rgba(12,52,91,.05)}.customerPortalHeader h1{font-size:28px}.customerPortalKpis>div{position:relative;padding-left:52px;box-shadow:0 3px 14px rgba(12,52,91,.04)}.portalKpiIcon{position:absolute;left:16px;top:18px;width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:#e8f2fb;color:#15568f;font-weight:900}.customerPortalManagementGrid{max-width:1380px;margin:0 auto 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.customerPortalManagementCard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 18px;border:1px solid #d4e0ea;background:#fff;border-radius:13px;box-shadow:0 3px 14px rgba(12,52,91,.04)}.customerPortalManagementCard .managementCardIcon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#eaf4fb;color:#1a648f;font-size:18px}.customerPortalManagementCard h2{font-size:15px;color:#123d68;margin:3px 0}.customerPortalManagementCard p{font-size:10px;color:#6d7f92;margin:0;line-height:1.4}.customerPortalManagementCard button{white-space:nowrap}.solutionPackCard{min-height:220px;box-shadow:0 5px 18px rgba(11,51,90,.05);transition:transform .16s ease,box-shadow .16s ease}.solutionPackCard.active:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(11,51,90,.09)}.solutionPackCard.active .solutionPackIcon{background:#e9f1ff;color:#5b3ca0}.solutionPackCard:nth-child(2n) .solutionPackIcon{background:#e6f5f7;color:#13737b}.solutionLaunch{margin-top:auto}

.ownerSupportInbox{margin-bottom:16px}.supportInboxCounters{display:flex;gap:7px;flex-wrap:wrap}.supportInboxCounters span{font-size:9px;font-weight:800;padding:4px 7px;border-radius:999px;background:#eef4fa;color:#395e80}.supportInboxCounters .danger{background:#fff0f1;color:#a31e27}.supportInboxFilters{display:grid;grid-template-columns:minmax(260px,1fr) 170px 190px auto;gap:8px;margin-bottom:12px}.supportInboxLayout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(430px,1.2fr);gap:12px;min-height:360px}.supportInboxList{display:flex;flex-direction:column;gap:6px;max-height:560px;overflow:auto;padding-right:2px}.supportInboxRow{width:100%;text-align:left;border:1px solid #dbe4ed;border-radius:9px;background:#fff;padding:10px 11px;display:grid;gap:3px}.supportInboxRow:hover,.supportInboxRow.selected{border-color:#7eabd4;background:#f4f9ff}.supportInboxRow.blocking{border-left:4px solid #c7222e}.supportInboxRow.high{border-left:4px solid #e59b26}.supportInboxRowTop{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.supportInboxRow>span{font-size:9.5px;color:#597086}.supportInboxRow>small{font-size:8.8px;color:#8795a5}.supportInboxDetail{border:1px solid #dbe4ed;border-radius:10px;background:#fafcfe;padding:15px;min-width:0}.supportDetailHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid #e2e8ef;padding-bottom:10px}.supportDetailHeader h3{font-size:17px;color:#163f6a;margin:3px 0}.supportDetailHeader small{color:#76889b}.supportContactCard{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0}.supportContactCard a{color:#165c99;font-weight:700}.supportContactCard span{font-size:9px;color:#6b7d90}.supportMessageBody{padding:12px;border:1px solid #e0e6ed;background:#fff;border-radius:9px;white-space:pre-wrap;color:#40566e;line-height:1.45}.supportContextGrid{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.supportContextGrid span{font-size:8.5px;padding:4px 6px;border-radius:999px;background:#eef3f8;color:#5e7489}.supportInternalNotes{display:grid;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid #e1e7ed}.supportInternalNote{display:grid;gap:2px;padding:8px 9px;border-radius:8px;background:#fff8e8;border:1px solid #ecd59f}.supportInternalNote span{font-size:10px;color:#5f512e}.supportInternalNote small{font-size:8px;color:#89795a}.supportInternalNotes textarea{resize:vertical}.supportDetailEmpty{height:100%;display:grid;place-items:center;align-content:center;gap:4px;color:#75869a;text-align:center}.supportDetailEmpty strong{color:#3d5772}

.platform-mode .mainTabs{gap:5px}.platform-mode .mainTabs button{justify-content:flex-start;text-align:left;padding-left:12px}.platform-mode .sidebar{background:linear-gradient(180deg,#092d57 0%,#0b3b67 100%)}.solutions-mode .sidebar{background:linear-gradient(180deg,#064c58 0%,#0b6670 100%)}.solutions-mode .mainTabs button.active{background:#0e8190}.solutions-mode .brand small{color:#b8e0e4}.solutions-mode .accountCard{border-color:rgba(255,255,255,.16)}

@media(max-width:1100px){.customerPortalManagementGrid{grid-template-columns:1fr}.supportInboxFilters{grid-template-columns:1fr 1fr}.supportInboxLayout{grid-template-columns:1fr}.supportInboxList{max-height:330px}}
@media(max-width:700px){.supportHubModal{width:calc(100vw - 18px)}.supportHubHeader,.supportHubPane{padding-left:15px;padding-right:15px}.supportHubTabs{overflow:auto;padding:0 8px}.supportInboxFilters{grid-template-columns:1fr}.customerPortalManagementCard{grid-template-columns:auto 1fr}.customerPortalManagementCard button{grid-column:1/-1;width:100%}}
