.builder-shell{--hospital-colour:#1689d8;min-height:100vh;background:#fff;color:#18233e}.builder-header{height:94px;border-bottom:1px solid #d8e7f3;display:grid;grid-template-columns:250px minmax(520px,1fr) 280px;align-items:center;padding:0 30px;background:#fff;position:relative;z-index:5}.builder-title{display:grid;gap:5px}.builder-title b{font-size:18px;letter-spacing:-.02em}.builder-title span{font-size:12px;color:#6c7890}.builder-progress{height:100%;display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));max-width:670px;margin:auto;width:100%}.builder-progress button{position:relative;border:0;background:transparent;color:#78849a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:10px;font-weight:650;cursor:default}.builder-progress button:not(:last-child):after{content:"";position:absolute;width:55%;height:1px;background:#d8e2ec;top:35px;left:73%}.builder-progress button i{width:29px;height:29px;border-radius:50%;background:#edf2f8;display:grid;place-items:center;color:#718096;font-style:normal}.builder-progress button.active{color:#18233e}.builder-progress button.active:before{content:"";position:absolute;height:3px;background:var(--hospital-colour);left:7px;right:7px;bottom:0}.builder-progress button.active i{background:var(--hospital-colour);color:#fff}.builder-progress button.done i{background:#e7f6ef;color:#087b58}.builder-save-state{display:flex;align-items:center;justify-content:flex-end;gap:18px}.progress-card{border:1px solid #d8e7f3;border-radius:9px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr;gap:2px 5px;min-width:112px}.progress-card b{font-size:13px}.progress-card span{font-size:11px;color:#69778d}.progress-card i{grid-column:1/-1;height:3px;background:#edf1f6;border-radius:3px;overflow:hidden;margin-top:5px}.progress-card i span{display:block;height:100%;background:var(--hospital-colour);transition:width .25s ease}.autosaved{display:flex;gap:8px;align-items:center;color:#087b58;border-left:1px solid #d8e7f3;padding-left:18px}.autosaved span{display:grid}.autosaved b{font-size:12px}.autosaved small{font-size:10px;color:#718096}.builder-body{min-height:calc(100vh - 94px);display:grid;grid-template-columns:minmax(520px,45%) minmax(0,55%)}.builder-form-panel{background:#fff;padding:52px clamp(32px,4vw,66px) 40px;min-width:0}.builder-form-inner{max-width:620px;margin:0 auto}.builder-step-heading>span{color:var(--hospital-colour);font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.builder-step-heading h1{font-size:28px;line-height:1.08;letter-spacing:-.04em;margin:13px 0}.builder-step-heading p{font-size:13px;line-height:1.65;color:#65738a;max-width:470px;margin:0 0 35px}.builder-fields{display:grid;gap:27px}.builder-grid label,.builder-logo-field,.policy-field{display:grid;gap:8px;color:#263650;font-size:11px;font-weight:750}.logo-upload{height:132px;border:1px dashed #8dc7ef;border-radius:9px;display:flex;align-items:center;padding:22px 28px;gap:22px;position:relative;background:#fbfdff;cursor:pointer}.logo-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.logo-upload>i{width:74px;height:74px;border-radius:50%;background:#eaf3ff;color:var(--hospital-colour);display:grid;place-items:center;font-style:normal;overflow:hidden;flex:0 0 auto}.logo-upload>i img{width:100%;height:100%;object-fit:contain;background:#fff}.logo-upload div{display:grid;gap:4px}.logo-upload div b{font-size:12px}.logo-upload div small,.logo-upload div span{font-size:10px;color:#708099;font-weight:500}.logo-upload div em{font-style:normal;border:1px solid var(--hospital-colour);color:var(--hospital-colour);width:max-content;border-radius:6px;padding:7px 15px;margin-top:7px;background:#fff;font-weight:750}.builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}.builder-grid input,.builder-grid select,.policy-field select{height:44px;border:1px solid #cbddeb;border-radius:8px;padding:0 12px;background:#fff;color:#18233e;font:inherit;font-size:12px;min-width:0}.builder-grid input::placeholder{color:#9aa7ba}.builder-grid input:focus,.builder-grid select:focus,.policy-field select:focus{outline:3px solid color-mix(in srgb,var(--hospital-colour) 15%,transparent);border-color:var(--hospital-colour)}.builder-grid label>small,.policy-field>small{font-size:10px;color:#78859a;font-weight:500}.span-2{grid-column:1/-1}.colour-control,.phone-control{height:44px;border:1px solid #cbddeb;border-radius:8px;display:flex;align-items:center;overflow:hidden}.phone-control span{font-size:11px;padding:0 10px;color:#34435a;border-right:1px solid #d8e7f3;white-space:nowrap}.phone-control input{border:0!important;height:42px!important;flex:1}.colour-control input{width:52px!important;height:42px!important;border:0!important;padding:5px!important}.colour-control span{padding:0 12px;font-size:11px;color:#4c5a70}.selection-section h2{font-size:14px;margin:24px 0 10px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice-grid button{min-height:48px;border:1px solid #d8e7f3;border-radius:9px;background:#fff;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;text-align:left;color:#33435c;font:inherit;font-size:12px}.choice-grid button.selected{border-color:var(--hospital-colour);background:#edf7ff;color:#075f9e}.choice-grid button small{display:block;margin-top:3px;color:#748298;font-size:10px}.policy-field{margin-top:20px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-grid article{border:1px solid #d8e7f3;background:#f9fcfe;border-radius:12px;padding:15px;display:grid;gap:5px}.review-grid small{color:#718096}.review-grid span{font-size:12px;color:#66758c;line-height:1.4}.onboarding-error{margin-top:18px;padding:12px;border:1px solid #efb5b2;border-radius:10px;background:#fff1f0;color:#a72522;font-size:12px}.builder-actions{display:flex;justify-content:space-between;align-items:center;margin-top:36px}.builder-actions button{height:44px;border:1px solid var(--hospital-colour);border-radius:8px;background:var(--hospital-colour);color:#fff;padding:0 24px;font:inherit;font-size:12px;font-weight:800}.builder-actions button.secondary{background:#fff;color:#273750;border-color:#8d9cb0}.builder-actions button:disabled{opacity:.42;cursor:not-allowed}.builder-preview{position:relative;overflow:hidden;background:radial-gradient(circle at 70% 14%,#fff 0,#f2f8ff 42%,#eaf4ff 100%);padding:50px clamp(35px,5vw,75px);min-width:0}.live-preview{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:800;color:var(--hospital-colour);background:#f7fbff;border:1px solid #d4e7f8;border-radius:7px;padding:8px 11px;margin-bottom:14px}.live-preview i{width:6px;height:6px;border-radius:50%;background:var(--hospital-colour)}.letterhead-preview{height:570px;background:#fff;border-radius:7px;box-shadow:0 15px 45px rgba(24,35,62,.1);padding:46px 52px;position:relative}.letterhead-preview header{display:flex;justify-content:space-between;align-items:flex-start;gap:25px}.letterhead-preview header>div:last-child{display:grid;gap:10px;max-width:230px}.letterhead-preview header>div:last-child span{display:flex;gap:8px;align-items:center;font-size:10px;color:#5d6980;overflow-wrap:anywhere}.preview-brand{display:flex;align-items:center;gap:12px;min-width:0}.preview-brand>i{width:50px;height:50px;color:var(--hospital-colour);display:grid;place-items:center;font-style:normal}.preview-brand>img{width:50px;height:50px;object-fit:contain}.preview-brand b{font-size:18px;line-height:1.05;max-width:190px}.preview-brand.compact{gap:7px}.preview-brand.compact>i,.preview-brand.compact>img{width:31px;height:31px}.preview-brand.compact b{font-size:10px;max-width:105px}.letterhead-rule{position:absolute;top:157px;left:0;right:0;height:5px;background:var(--hospital-colour)}.document-lines{display:grid;gap:21px;padding-top:110px}.document-lines i{height:7px;background:#edf0f5;border-radius:8px;width:88%}.document-lines i:nth-child(2){width:80%}.document-lines i:nth-child(3){width:92%}.document-lines i:nth-child(4){width:66%}.document-lines i:nth-child(5){width:51%}.signature{position:absolute;left:54px;bottom:62px;display:grid}.signature span{font-family:cursive;font-size:26px;color:#53647e;transform:rotate(-7deg)}.signature small{font-size:9px;color:#68768d}.staff-badge{position:absolute;right:6%;top:285px;width:205px;background:#fff;border-radius:16px;box-shadow:0 18px 35px rgba(24,35,62,.2);padding:20px 19px 0;transform:rotate(7deg);display:flex;flex-direction:column;align-items:center;z-index:2;overflow:hidden}.badge-slot{position:absolute;top:6px;width:49px;height:9px;background:#b7c2d2;border-radius:7px}.staff-badge .preview-brand{align-self:flex-start;margin:10px 0 16px}.staff-badge>img{width:95px;height:95px;object-fit:cover;border-radius:50%;background:#eaf3ff}.staff-badge>b{font-size:16px;margin-top:13px;text-align:center}.staff-badge>span{font-size:10px;color:#69768d;margin:3px 0 17px}.staff-badge>footer{background:var(--hospital-colour);color:#fff;margin:0 -19px;width:calc(100% + 38px);padding:13px;text-align:center;font-size:9px}.portal-preview{position:absolute;left:4%;right:5%;top:700px;height:300px;background:#fff;border-radius:9px;box-shadow:0 16px 38px rgba(24,35,62,.15);overflow:hidden}.portal-preview>header{height:60px;background:var(--hospital-colour);color:#fff;display:flex;align-items:center;padding:0 20px;gap:28px}.portal-preview .preview-brand>i{color:#fff}.portal-preview nav{display:flex;align-items:center;gap:22px;font-size:9px;flex:1}.portal-preview nav b{background:rgba(255,255,255,.18);padding:9px;border-radius:5px}.portal-preview>header>i{width:24px;height:24px;background:#d5e5f3;border-radius:50%}.portal-preview>div{padding:25px 28px}.portal-preview h2{font-size:18px;margin:0}.portal-preview p{font-size:10px;color:#718096}.portal-preview section{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.portal-preview section>i{height:78px;border:1px solid #edf0f5;border-radius:8px;position:relative}.portal-preview section>i:first-child{display:grid;place-items:center;color:var(--hospital-colour)}.adjust-logo-button{justify-self:start;border:0;background:transparent;color:var(--hospital-colour);font:inherit;font-size:11px;font-weight:800;padding:2px 0;cursor:pointer}.adjust-logo-button:hover{text-decoration:underline}.logo-editor{border:1px solid #cbddeb;border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(24,35,62,.12);overflow:hidden}.logo-editor>header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 18px;border-bottom:1px solid #d8e7f3}.logo-editor>header div{display:grid;gap:4px}.logo-editor>header b{font-size:14px}.logo-editor>header span{font-size:11px;color:#6c7890}.logo-editor>header button{width:32px;height:32px;border:0;border-radius:50%;background:#f1f5f8;color:#33435c;font-size:20px;line-height:1;cursor:pointer}.logo-editor-workspace{display:grid;grid-template-columns:240px minmax(120px,1fr);gap:22px;align-items:center;padding:20px}.logo-crop-frame{width:240px;aspect-ratio:1;border:1px solid #8dc7ef;border-radius:14px;overflow:hidden;position:relative;background-color:#f8fbfd;background-image:linear-gradient(45deg,#edf2f6 25%,transparent 0),linear-gradient(-45deg,#edf2f6 25%,transparent 0),linear-gradient(45deg,transparent 75%,#edf2f6 0),linear-gradient(-45deg,transparent 75%,#edf2f6 0);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;cursor:grab;touch-action:none}.logo-crop-frame:active{cursor:grabbing}.logo-crop-frame img{position:absolute;left:50%;top:50%;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none;transform-origin:center}.logo-editor-workspace>label{display:grid;gap:10px;font-size:11px;font-weight:750}.logo-editor-workspace input[type=range]{accent-color:var(--hospital-colour);width:100%}.logo-editor>footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid #d8e7f3}.logo-editor>footer button{height:40px;border:1px solid var(--hospital-colour);border-radius:8px;background:var(--hospital-colour);color:#fff;padding:0 16px;font:inherit;font-size:11px;font-weight:800}.logo-editor>footer button.secondary{background:#fff;color:#33435c;border-color:#cbddeb}@media(max-width:1100px){.builder-header{grid-template-columns:210px 1fr 140px}.builder-progress button span{font-size:9px}.autosaved{display:none}.builder-body{grid-template-columns:minmax(480px,55%) minmax(0,45%)}.builder-preview{padding:42px 25px}.letterhead-preview{padding:35px 30px}.staff-badge{right:-32px}.portal-preview{left:20px;right:20px}.letterhead-preview header>div:last-child{display:none}}@media(max-width:820px){.builder-header{height:auto;min-height:78px;grid-template-columns:minmax(0,1fr) auto;padding:14px 18px}.builder-progress{grid-column:1/-1;grid-row:2;height:58px;grid-template-columns:repeat(5,minmax(0,1fr));min-width:0}.builder-progress button{min-width:0}.builder-progress button span{display:none}.builder-progress button:not(:last-child):after{top:20px}.builder-progress button.active:before{display:none}.builder-save-state{grid-column:2}.progress-card{min-width:100px}.builder-body{display:block}.builder-form-panel{padding:34px 22px}.builder-preview{display:none}.builder-step-heading p{margin-bottom:26px}}@media(max-width:560px){.builder-header{padding-inline:16px}.builder-title{min-width:0}.builder-title b{font-size:16px;white-space:nowrap}.builder-title span{display:none}.progress-card{border:0;padding:0;min-width:auto}.progress-card i{display:none}.builder-grid,.choice-grid,.review-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.logo-upload{height:118px;padding:16px}.builder-form-panel{padding:28px 16px}.builder-actions{position:sticky;bottom:0;background:#fff;padding:14px 0;margin-top:24px}.logo-editor-workspace{grid-template-columns:1fr}.logo-crop-frame{width:min(240px,100%);margin:auto}}