@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#1e3341;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#1e3341;--muted:#71828c;--blue:#336b7b;--blue-dark:#254f5d;--border:#e3eae7;--soft:#eef5f2;--shadow:0 18px 54px #1f3e4317;background:#f6f8f7;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #9cc8bc}#root{min-height:100vh}h1,h2,h3,p{margin-top:0}h1,h2{color:var(--ink);letter-spacing:-.04em;font-family:Manrope,DM Sans,sans-serif}h1{font-size:clamp(2.3rem,5vw,3.8rem);line-height:1.08}h2{font-size:1.55rem;line-height:1.2}.muted{color:var(--muted);line-height:1.65}.eyebrow{color:#679285;text-transform:uppercase;letter-spacing:.15em;margin-bottom:.65rem;font-size:.73rem;font-weight:700}.button{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:.7rem;min-height:48px;padding:.8rem 1.15rem;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.7;transform:none}.button-primary{color:#fff;background:var(--blue);box-shadow:0 8px 18px #336b7b29}.button-primary:hover{background:var(--blue-dark)}.button-secondary{color:var(--blue-dark);background:#f2f8f5;border:1px solid #c9dcd5}.button-small{border:1px solid var(--border);min-height:40px;color:var(--blue-dark);background:#fff;padding:.55rem .8rem;font-size:.88rem}.text-button{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:.3rem;font-weight:700}.notice{border-radius:10px;padding:.85rem 1rem;font-size:.92rem;line-height:1.5}.notice-error{color:#8d3e3e;background:#fff4f2;border:1px solid #f0caca}.notice-success{color:#30685b;background:#f0f8f4;border:1px solid #c7e1d7}.company-filter{margin:0 0 1rem}.company-filter label{margin-bottom:.4rem;font-weight:600;display:block}.company-filter>div{flex-wrap:wrap;gap:.5rem;display:flex}.company-filter input{flex:16rem;min-width:0}.spinner{border:2px solid #d5e4de;border-top-color:var(--blue);border-radius:50%;width:21px;height:21px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.landing-shell{background:radial-gradient(circle at 82% 20%,#d5e9df 0 14rem,#0000 14.1rem),linear-gradient(120deg,#f5f8f6 52%,#edf5f1 52%);place-items:center;min-height:100vh;padding:3rem;display:grid;position:relative;overflow:hidden}.landing-card{z-index:1;width:min(570px,100%);margin-right:min(36vw,360px);position:relative}.landing-card h1{max-width:540px;margin:.5rem 0 1.15rem}.landing-card .lead{max-width:430px;color:var(--muted);margin-bottom:1.8rem;font-size:1.1rem;line-height:1.7}.brand-mark{color:#fff;background:#77a998;border-radius:14px 14px 14px 4px;place-items:center;width:42px;height:42px;font-size:1.6rem;font-weight:500;display:inline-grid}.landing-card .brand-mark{margin-bottom:3rem}.landing-art{background:linear-gradient(155deg,#b9d7ca,#78a99b);border-radius:48% 48% 42% 42%;width:min(39vw,420px);height:min(68vh,590px);position:absolute;top:17%;right:7%;transform:rotate(5deg);box-shadow:0 35px 70px #4073642e}.landing-art:before,.landing-art:after{content:"";background:#fff3;border-radius:50%;position:absolute}.landing-art:before{width:68%;height:48%;top:10%;left:-26%}.landing-art:after{width:64%;height:43%;bottom:8%;right:-22%}.landing-art span{color:#ffffffe0;font-size:9rem;font-weight:300;position:absolute;top:34%;left:40%}.landing-art i,.landing-art b{z-index:1;background:#4f806f;border-radius:999px 999px 22px 22px;width:22%;height:43%;position:absolute;bottom:-2%}.landing-art i{left:30%;transform:rotate(8deg)}.landing-art b{background:#e5ede7;height:37%;left:52%;transform:rotate(-8deg)}.auth-layout{background:#fff;grid-template-columns:minmax(320px,.95fr) 1.05fr;min-height:100vh;display:grid}.patient-auth-page{background:#fff;place-items:center;min-height:100vh;padding:1.5rem;display:grid}.patient-auth-page .form-card{width:min(460px,100%)}.patient-login-brand{justify-content:center;margin-bottom:.5rem;display:flex}.patient-login-brand .brand-header{text-align:center;flex-direction:column;gap:.65rem;font-size:1.15rem}.patient-login-brand .brand-logo{border:1px solid var(--border);border-radius:20px;width:88px;height:88px;padding:8px}.companies-title{justify-content:space-between;align-items:center;gap:1rem;display:flex}.companies-title h1{margin-bottom:.4rem}.companies-title .muted{margin-bottom:0}.auth-aside{color:#fff;background:linear-gradient(155deg,#315d69,#244d59);flex-direction:column;min-height:100vh;padding:2.6rem clamp(2rem,6vw,5.8rem);display:flex;position:relative;overflow:hidden}.auth-aside:after{content:"";border:1px solid #ffffff21;border-radius:50%;width:500px;height:500px;position:absolute;bottom:-190px;right:-230px;box-shadow:0 0 0 50px #ffffff09,0 0 0 100px #ffffff06}.brand-header{color:var(--ink);align-items:center;gap:.75rem;font-weight:700;display:flex}.auth-aside .brand-header{color:#fff}.brand-logo{object-fit:contain;background:#fff;border-radius:12px;width:42px;height:42px;padding:4px}.aside-copy{z-index:1;max-width:510px;margin:auto 0;position:relative}.aside-copy .eyebrow{color:#b0d7ca}.aside-copy h1{color:#fff;margin-bottom:1.4rem;font-size:clamp(2.45rem,4.7vw,4.5rem)}.aside-copy p:last-child{color:#d3e3e0;max-width:410px;font-size:1.05rem;line-height:1.8}.aside-footer{z-index:1;color:#b8cfcb;font-size:.86rem;position:relative}.auth-main{place-items:center;padding:2rem;display:grid}.form-card{border:1px solid var(--border);width:min(440px,100%);box-shadow:var(--shadow);background:#fff;border-radius:22px;flex-direction:column;gap:1.1rem;padding:clamp(1.5rem,4vw,2.5rem);display:flex}.form-card h2{margin-bottom:-.55rem}.form-card .muted{margin-bottom:.15rem}.form-card label,.form-stack label{color:#3d5661;flex-direction:column;gap:.45rem;font-size:.9rem;font-weight:600;display:flex}.form-card input,.form-stack input,.form-stack textarea,.question-block textarea{width:100%;min-height:48px;color:var(--ink);background:#fbfcfb;border:1px solid #d7e1dd;border-radius:10px;outline:none;padding:.75rem .85rem}.form-card input:focus,.form-stack input:focus,.form-stack textarea:focus,.question-block textarea:focus{border-color:#7ea99c;box-shadow:0 0 0 3px #7ea99c21}.form-card .button{width:100%;margin-top:.2rem}.back-link{text-align:center;color:var(--muted);font-size:.9rem;text-decoration:none}.back-link:hover{color:var(--blue)}.standalone-page,.center-state{background:radial-gradient(circle at 10% 10%,#dfeee6,#0000 22rem),#f5f8f6;place-items:center;min-height:100vh;padding:1.5rem;display:grid}.center-state{color:var(--muted);gap:.8rem;display:flex}.admin-layout,.portal-layout{background:#f5f8f6;min-height:100vh}.admin-header,.portal-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(1rem,5vw,4.5rem);display:flex}.admin-user,.patient-user{color:var(--muted);align-items:center;gap:.8rem;font-size:.9rem;display:flex}.status-dot{background:#5ba286;border-radius:50%;width:8px;height:8px}.admin-content,.portal-content{width:min(1220px,100% - 2rem);margin:0 auto;padding:3rem 0 4rem}.page-intro{margin-bottom:2rem}.page-intro h1,.portal-welcome h1{margin-bottom:.55rem}.page-intro .muted{margin-bottom:0}.admin-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:start;gap:1.2rem;display:grid}.panel{border:1px solid var(--border);background:#fff;border-radius:18px;padding:clamp(1.25rem,3vw,1.8rem);box-shadow:0 8px 26px #1f3e430b}.panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.45rem;display:flex}.panel-heading h2{margin:0}.panel-heading .muted{margin:.4rem 0 0}.step-number{color:#a9c7bd;font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:800}.form-stack{flex-direction:column;gap:1.05rem;display:flex}.form-stack .panel-heading{margin-bottom:.2rem}.form-stack textarea{resize:vertical}.form-row{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.file-control{background:#fafcfb;border:1px dashed #c8d9d2;border-radius:12px;padding:.8rem}.file-control span{font-size:.8rem;font-weight:400}.file-control input{background:0 0;border:0;min-height:auto;padding:.4rem 0}.companies-panel{min-height:360px}.empty-state{color:#82929a;text-align:center;padding:2.2rem .5rem;line-height:1.6}.company-list,.document-list,.form-list{margin:0;padding:0;list-style:none}.company-list li{border-top:1px solid #edf1ef;align-items:center;gap:.8rem;padding:.9rem 0;display:flex}.company-avatar,.avatar-small{color:#356b61;background:#e2f0e9;border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.company-meta,.document-meta,.form-list-copy{flex-direction:column;flex:1;gap:.24rem;min-width:0;display:flex}.company-meta strong,.document-meta strong,.form-list-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.company-meta span,.document-meta span,.form-list-copy span{color:var(--muted);font-size:.82rem}.pill{border-radius:999px;padding:.35rem .6rem;font-size:.73rem;font-weight:700}.pill-green{color:#377b65;background:#e7f5ed}.pill-gray{color:#64727b;background:#edf0f1}.credential-panel{color:#fff;box-shadow:var(--shadow);background:linear-gradient(125deg,#2c5661,#3e736e);border-radius:18px;margin-top:1.2rem;padding:1.5rem}.credential-panel .eyebrow{color:#b9ddd0}.credential-panel h2{color:#fff;margin-bottom:.5rem}.credential-panel p:not(.eyebrow){color:#d4e7e1;max-width:680px;line-height:1.6}.credential-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.credential-item{background:#ffffff14;border:1px solid #ffffff2b;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:.45rem .8rem;padding:.8rem;display:grid}.credential-item>span{color:#c5ded8;text-transform:uppercase;letter-spacing:.08em;grid-column:1/-1;font-size:.74rem}.credential-item code{overflow-wrap:anywhere;color:#fff;font-size:.78rem}.credential-item .text-button{color:#c0e6d9}.portal-welcome{color:#fff;background:linear-gradient(115deg,#315d69,#78a89a);border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:1.6rem;padding:clamp(1.3rem,4vw,2.6rem);display:flex}.portal-welcome h1{color:#fff;font-size:clamp(2.1rem,4vw,3.1rem)}.portal-welcome .muted{color:#e0eeea;margin:0}.welcome-symbol{color:#d9ede4;background:#ffffff26;border-radius:50%;flex:none;place-items:center;width:96px;height:96px;font-size:3.8rem;display:grid}.portal-grid{grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.2rem;display:grid}.patient-user{gap:.65rem}.avatar-small{border-radius:50%;width:34px;height:34px}.document-list li,.form-list li{border-top:1px solid #edf1ef;align-items:center;gap:.8rem;padding:.9rem 0;display:flex}.file-icon{color:#527688;background:#e9f2f4;border-radius:9px;flex:none;place-items:center;width:42px;height:46px;font-size:.68rem;font-weight:800;display:grid}.icon-button{width:38px;height:38px;color:var(--blue);cursor:pointer;background:#f1f7f4;border:1px solid #dce9e3;border-radius:11px;flex:none;place-items:center;font-size:1.1rem;display:grid}.form-list-copy{margin-right:auto}.response-panel{margin-top:1.2rem}.questions-list{gap:1rem;display:grid}.question-block{border:1px solid var(--border);border-radius:12px;min-width:0;margin:0;padding:1rem}.question-block legend{color:#35535f;padding:0 .3rem;font-weight:700}.question-block:disabled{opacity:.85}.question-block textarea{resize:vertical;min-height:100px}.option-row{color:#435e68;align-items:center;gap:.65rem;padding:.55rem .2rem;display:flex}.option-row input{width:17px;height:17px;accent-color:var(--blue)}.required-mark{color:#b45757}.response-actions{justify-content:flex-end;gap:.7rem;margin-top:1.4rem;display:flex}.submitted-note{color:#397862;background:#edf7f2;border-radius:9px;margin:1rem 0 0;padding:.75rem 1rem}.portal-footer{text-align:center;color:#83939a;border-top:1px solid var(--border);background:#fff;padding:1rem;font-size:.82rem}@media (width<=900px){.landing-card{margin:0}.landing-art{opacity:.2;width:55vw;right:-10%}.auth-layout{grid-template-columns:1fr}.auth-aside{min-height:300px;padding:1.5rem 1.8rem}.aside-copy{margin:3rem 0 1.5rem}.aside-copy h1{font-size:2.7rem}.aside-footer{display:none}.auth-main{padding:1.5rem}.admin-grid,.portal-grid{grid-template-columns:1fr}}@media (width<=580px){.landing-shell{padding:1.5rem}.landing-card .brand-mark{margin-bottom:2rem}.landing-art{width:72vw;height:50vh;top:35%;right:-30%}.form-row,.credential-grid{grid-template-columns:1fr}.admin-header,.portal-header{height:auto;min-height:68px;padding:.75rem 1rem}.admin-user{gap:.4rem;font-size:.8rem}.patient-user>span:not(.avatar-small){display:none}.admin-content,.portal-content{width:min(100% - 1.2rem,1220px);padding-top:1.8rem}.portal-welcome{min-height:170px}.welcome-symbol{width:62px;height:62px;font-size:2.6rem}.response-actions{flex-direction:column-reverse}.response-actions .button{width:100%}.form-list li{flex-wrap:wrap;align-items:flex-start}.form-list-copy{flex-basis:55%}}.patient-auth-page .button-primary,.patient-form-modal .button-primary{background:var(--company-login,var(--blue));color:var(--company-login-text,white)}.portal-layout{background:var(--company-portal,#f5f8f6);color:var(--company-portal-text,var(--ink))}.portal-header{background:var(--company-header,white)}.portal-header .brand-header,.portal-header .patient-user,.portal-header .text-button{color:var(--company-header-text,var(--ink))}.portal-welcome{background:var(--company-welcome,linear-gradient(115deg, #315d69, #78a89a));color:var(--company-welcome-text,white)}.portal-welcome h1{color:var(--company-welcome-text,white)}.portal-welcome .eyebrow{color:var(--company-welcome-text,#c0e2d6)}.portal-welcome .muted{color:var(--company-welcome-text,#e0eeea)}.portal-grid .panel{color:var(--ink);min-width:0}.welcome-logo{object-fit:contain;flex:none;width:96px;height:96px;margin-left:1rem}.logo-fallback{overflow-wrap:anywhere;font-weight:700}.brand-header{min-width:0}.company-fields{border:0;gap:1rem;min-width:0;margin:0;padding:0;display:grid}.company-colors{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.color-field{min-width:0}.color-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.color-controls input[type=color]{flex:none;width:48px;padding:.25rem}.color-controls input:not([type=color]){flex:1;width:100px;min-width:0}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;font-size:.85rem;display:flex}.pagination>div{gap:.5rem;display:flex}.company-list li{flex-wrap:wrap}.patient-form-modal{border:1px solid var(--border);width:min(850px,100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:clamp(1rem,3vw,2rem);overflow:auto}.patient-form-modal::backdrop{background:#0f1e2899}.patient-form-modal textarea{width:100%}.patient-form-modal h2{overflow-wrap:anywhere}@media (width<=580px){.company-colors{grid-template-columns:1fr}.welcome-logo{width:62px;height:62px}.portal-welcome>div{min-width:0}.brand-header{font-size:.85rem}.companies-title{flex-wrap:wrap;gap:1rem}}
