:root{--firulife-background:#fffcf7;--firulife-surface:#fff;--firulife-surfaceMuted:#f5f8fa;--firulife-primary:#06c;--firulife-primarySoft:#eaf3ff;--firulife-text:#142b40;--firulife-textMuted:#586575;--firulife-border:#dce3e9;--firulife-controlBorder:#85778f;--firulife-success:#44784d;--firulife-successSoft:#edf5ee;--firulife-warmth:#f78100;--firulife-warmthSoft:#fff0de;--firulife-danger:#b4233a;--firulife-dangerSoft:#fff0f2;--firulife-gradientBlue:#0052c9;--firulife-gradientTeal:#007f8b;--firulife-gradientGreen:#21834a;--firulife-warning:#795000;--firulife-warningSoft:#fff4de;--firulife-officialBorder:#a6c8e8;--firulife-officialSoft:#f0f7ff;--firulife-track:#e7eef5;--firulife-dangerBorder:#e9a7b2;--firulife-onPrimary:#fff;--firulife-overlay:#142b4088;--firulife-shadow:#142b4012;--firulife-sidebarMuted:#dce3e9;--firulife-focusRing:#06c3;--firulife-brandInk:#220b53;--firulife-femaleAccent:#6241a2;--firulife-femaleSoft:#ede2fc;--firulife-femaleSurface:#fbf7ff;--firulife-maleSoft:#e4f3df}
:root{background:var(--firulife-background);color:var(--firulife-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:var(--firulife-background);margin:0}button,input,select,textarea{font:inherit}button{background:var(--firulife-primary);color:var(--firulife-onPrimary);cursor:pointer;border:0;border-radius:.75rem;padding:.82rem 1.1rem;font-weight:800}button:disabled{opacity:.6;cursor:wait}h1{margin:.25rem 0;font-size:clamp(2rem,4vw,3rem)}h2,h3{margin-top:0}p,small,.hint{color:var(--firulife-textMuted)}.badge{color:var(--firulife-primary);letter-spacing:.09em;text-transform:uppercase;font-size:.75rem;font-weight:850}.portal-shell{grid-template-columns:17rem minmax(0,1fr);min-height:100vh;display:grid}.portal-sidebar{background:var(--firulife-text);height:100vh;color:var(--firulife-onPrimary);flex-direction:column;padding:1.5rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.8rem;padding:.4rem;display:flex}.brand>span{background:var(--firulife-primary);border-radius:1rem;place-items:center;width:3rem;height:3rem;font-weight:900;display:grid}.brand strong,.brand small{display:block}.brand small{color:var(--firulife-sidebarMuted);margin-top:.15rem}.portal-sidebar nav{gap:.45rem;margin-top:2.5rem;display:grid}.portal-sidebar nav button{width:100%;color:var(--firulife-border);text-align:left;background:0 0;align-items:center;gap:.8rem;margin:0;display:flex}.portal-sidebar nav button span{text-align:center;width:1.4rem}.portal-sidebar nav button:hover,.portal-sidebar nav button.active{background:var(--firulife-primary);color:var(--firulife-onPrimary)}.sidebar-footer{border-top:1px solid #fff2;margin-top:auto;padding-top:1.25rem}.sidebar-footer small{color:var(--firulife-sidebarMuted);text-overflow:ellipsis;display:block;overflow:hidden}.sidebar-footer .logout{width:100%;color:var(--firulife-onPrimary);background:#ffffff12;margin-top:.75rem}.portal-content{width:100%;max-width:92rem;margin:0 auto;padding:2.25rem 3rem}.portal-header{justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1.5rem;display:flex}.portal-header p{margin:.3rem 0}.clinic-chip{background:var(--firulife-onPrimary);box-shadow:0 .5rem 1.5rem var(--firulife-shadow);border-radius:1rem;align-items:center;gap:.65rem;padding:.65rem .9rem;display:flex}.clinic-chip>span,.avatar,.service-icon{background:var(--firulife-primary);width:2.6rem;height:2.6rem;color:var(--firulife-onPrimary);border-radius:.8rem;place-items:center;font-weight:900;display:grid}.clinic-chip strong,.clinic-chip small{white-space:nowrap;display:block}.metric-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.metric-grid article,.card{background:var(--firulife-onPrimary);box-shadow:0 .75rem 2rem var(--firulife-shadow);border-radius:1.25rem}.metric-grid article{padding:1.35rem}.metric-grid article>span{color:var(--firulife-textMuted);font-weight:700}.metric-grid article>strong{margin:.4rem 0;font-size:2.2rem;display:block}.welcome-card{justify-content:space-between;align-items:center;gap:2rem;margin-top:1rem;padding:2rem;display:flex}.section-card{padding:1.75rem}.section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.section-heading h2,.section-heading p{margin-bottom:.35rem}.counter,.status-pill{background:var(--firulife-primarySoft);color:var(--firulife-textMuted);white-space:nowrap;border-radius:999px;padding:.42rem .7rem;font-size:.78rem;font-weight:800;display:inline-flex}.grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;display:grid}label,.field{gap:.4rem;font-weight:750;display:grid}input,select{border:1px solid var(--firulife-border);background:var(--firulife-onPrimary);width:100%;color:var(--firulife-text);border-radius:.75rem;padding:.85rem}.hint{font-size:.78rem;font-weight:500}.inner-form,.upload-form{background:var(--firulife-surfaceMuted);border:1px solid var(--firulife-primarySoft);box-shadow:none;border-radius:1rem;margin:1rem 0;padding:1.25rem}.inner-form button,.upload-form button{margin-top:1rem}fieldset{border:1px solid var(--firulife-border);border-radius:.75rem;margin:1rem 0 0;padding:1rem}legend{padding:0 .4rem;font-weight:800}.check{align-items:center;gap:.55rem;margin:.45rem 0;font-weight:650;display:flex}.check input{width:1.1rem;height:1.1rem}.entity-list,.service-grid{gap:1rem;margin-top:1rem;display:grid}.professional-card,.service-grid article{border:1px solid var(--firulife-primarySoft);background:var(--firulife-onPrimary);border-radius:1rem;padding:1.15rem}.entity-title{align-items:center;gap:.75rem;display:flex}.entity-title>div{flex:1;min-width:0}.entity-title strong,.entity-title small{display:block}.entity-title small{text-overflow:ellipsis;margin-top:.2rem;overflow:hidden}.service-icon{background:var(--firulife-primarySoft);color:var(--firulife-primary)}.service-meta{gap:.5rem;margin-top:1rem;display:flex}.service-meta span{background:var(--firulife-background);color:var(--firulife-textMuted);border-radius:.55rem;padding:.4rem .65rem;font-size:.82rem;font-weight:750}.file-picker{border:1px solid var(--firulife-border);background:var(--firulife-onPrimary);cursor:pointer;border-radius:.75rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.45rem}.file-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-button{background:var(--firulife-primarySoft);color:var(--firulife-textMuted);white-space:nowrap;border-radius:.55rem;justify-content:center;padding:.6rem .75rem;display:inline-flex}.file-picker:hover,.file-picker:focus-within{border-color:var(--firulife-primary);box-shadow:0 0 0 3px var(--firulife-focusRing)}.file-name{text-overflow:ellipsis;white-space:nowrap;color:var(--firulife-textMuted);font-weight:500;overflow:hidden}.file-name.selected{color:var(--firulife-text);font-weight:700}.secondary{background:var(--firulife-primarySoft);color:var(--firulife-textMuted)}.error{color:var(--firulife-danger);background:var(--firulife-dangerSoft);border:1px solid var(--firulife-dangerBorder);border-radius:.8rem;padding:.85rem 1rem}.success{color:var(--firulife-success);margin-top:.75rem;display:block}.upload-message{color:var(--firulife-danger);margin-top:.75rem;display:block}.docs{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.docs small{background:var(--firulife-primarySoft);border-radius:999px;padding:.4rem .65rem}.empty-state{text-align:center;color:var(--firulife-textMuted);background:var(--firulife-surfaceMuted);border-radius:1rem;padding:2rem}body>main{max-width:980px;margin:auto;padding:2rem}body>main form{background:var(--firulife-onPrimary);box-shadow:0 .75rem 2rem var(--firulife-shadow);border-radius:1.25rem;margin:1rem 0;padding:1.5rem}body>main .secondary{margin-left:.5rem}@media (max-width:900px){.portal-shell{grid-template-columns:1fr}.portal-sidebar{height:auto;padding:1rem;position:static}.portal-sidebar nav{margin-top:1rem;display:flex;overflow:auto}.portal-sidebar nav button{white-space:nowrap;width:auto}.sidebar-footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.sidebar-footer .logout{width:auto;margin:0}.portal-content{padding:1.5rem}.metric-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.portal-header{align-items:flex-start}.clinic-chip{display:none}.metric-grid{grid-template-columns:1fr}.welcome-card,.section-heading{flex-direction:column;align-items:flex-start}.welcome-card button{width:100%}.grid,.file-picker{grid-template-columns:1fr}.file-name{white-space:normal}.entity-title{flex-wrap:wrap;align-items:flex-start}.status-pill{margin-left:3.35rem}.portal-content{padding:1rem}.portal-sidebar nav button{padding:.7rem}.sidebar-footer small{max-width:55vw}body>main{padding:1rem}body>main .secondary{width:100%;margin-top:.7rem;margin-left:0}}.form-actions{align-items:center;gap:.75rem;display:flex}.form-actions button{margin-top:1rem}.danger{background:var(--firulife-dangerSoft);color:var(--firulife-danger)}.modal-backdrop{z-index:100;background:var(--firulife-overlay);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-modal{background:var(--firulife-onPrimary);width:min(100%,32rem);box-shadow:0 1.25rem 4rem var(--firulife-overlay);border-radius:1.25rem;padding:1.5rem}.confirm-modal h2{margin:.4rem 0}.confirm-modal p{line-height:1.55}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.modal-actions button{margin:0}@media (max-width:640px){.form-actions,.modal-actions{flex-direction:column}.form-actions button,.modal-actions button{width:100%;margin-top:0}}.availability-panel{border:1px solid var(--firulife-border);background:var(--firulife-surfaceMuted);border-radius:1rem;margin:1rem 0;overflow:hidden}.availability-panel summary{cursor:pointer;color:var(--firulife-textMuted);padding:1rem;font-weight:850}.availability-panel[open] summary{border-bottom:1px solid var(--firulife-border)}.availability-panel>small{margin:.75rem 1rem}.availability-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:0 1rem;display:grid}.availability-columns h4{margin:0 0 .8rem}.time-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.schedule-list{border-top:1px solid var(--firulife-border);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.schedule-list>strong{width:100%}.schedule-list>span{background:var(--firulife-primarySoft);color:var(--firulife-textMuted);border-radius:.65rem;align-items:center;gap:.5rem;padding:.45rem .65rem;font-size:.82rem;display:flex}.mini{padding:.28rem .5rem;font-size:.75rem}@media (max-width:700px){.availability-columns,.time-grid{grid-template-columns:1fr}.schedule-list>span{flex-direction:column;align-items:flex-start}}.card-actions{border-top:1px solid var(--firulife-primarySoft);justify-content:flex-end;gap:.65rem;margin-top:1rem;padding-top:1rem;display:flex}.card-actions button{padding:.6rem .9rem}.service-modal{width:min(100%,46rem);max-height:calc(100vh - 2rem);overflow:auto}.edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}@media (max-width:640px){.card-actions{justify-content:stretch}.card-actions button{flex:1}.edit-grid{grid-template-columns:1fr}}.public-profile-layout{grid-template-columns:minmax(0,1.45fr) minmax(20rem,.8fr);align-items:start;gap:1.25rem;display:grid}.public-profile-form{gap:1rem;display:grid}.public-profile-form textarea{border:1px solid var(--firulife-border);background:var(--firulife-onPrimary);width:100%;color:var(--firulife-text);resize:vertical;border-radius:.75rem;padding:.85rem}.publication-pill{background:var(--firulife-primarySoft);color:var(--firulife-textMuted);border-radius:999px;padding:.42rem .7rem;font-size:.78rem;font-weight:800;display:inline-flex}.publication-pill.published{background:var(--firulife-successSoft);color:var(--firulife-success)}.publication-warning{background:var(--firulife-warningSoft);color:var(--firulife-warning);border-radius:.75rem;padding:.85rem 1rem}.location-heading{justify-content:space-between;align-items:center;gap:1rem;padding-top:.4rem;display:flex}.location-heading small{margin-top:.25rem;display:block}.coordinate-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.publish-toggle{border:1px solid var(--firulife-border);background:var(--firulife-surfaceMuted);border-radius:.85rem;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.publish-toggle input{width:1.2rem;height:1.2rem;margin-top:.15rem}.publish-toggle span{gap:.2rem;display:grid}.publish-toggle.disabled{opacity:.65}.public-preview{background:var(--firulife-onPrimary);box-shadow:0 .75rem 2rem var(--firulife-shadow);border-radius:1.25rem;position:sticky;top:1.5rem;overflow:hidden}.public-preview>.badge{padding:1rem 1.25rem;display:block}.preview-cover{background:linear-gradient(135deg,var(--firulife-primary),var(--firulife-officialBorder));place-items:center;height:9rem;display:grid}.preview-cover span{background:var(--firulife-onPrimary);width:4.5rem;height:4.5rem;color:var(--firulife-primary);border-radius:1.4rem;place-items:center;font-size:2rem;font-weight:900;display:grid}.preview-content{padding:1.25rem}.preview-title{align-items:center;gap:.55rem;display:flex}.preview-title h2{margin:0}.preview-title span{background:var(--firulife-primary);width:1.4rem;height:1.4rem;color:var(--firulife-onPrimary);border-radius:999px;place-items:center;font-size:.8rem;display:grid}.preview-content p{line-height:1.55}.preview-content ul{color:var(--firulife-textMuted);padding-left:1.2rem}.preview-content li{margin:.35rem 0}.preview-services{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.preview-services span{background:var(--firulife-primarySoft);color:var(--firulife-textMuted);border-radius:999px;padding:.4rem .6rem;font-size:.75rem;font-weight:750}@media (max-width:950px){.public-profile-layout{grid-template-columns:1fr}.public-preview{position:static}}@media (max-width:640px){.location-heading{flex-direction:column;align-items:stretch}.coordinate-grid{grid-template-columns:1fr}}.agenda-layout{grid-template-columns:minmax(0,1.55fr) minmax(19rem,.65fr);align-items:start;gap:1rem;display:grid}.agenda-side{gap:1rem;display:grid}.agenda-filters{background:var(--firulife-surfaceMuted);border:1px solid var(--firulife-primarySoft);border-radius:1rem;grid-template-columns:repeat(4,minmax(8rem,1fr));gap:.75rem;padding:1rem;display:grid}.appointment-list{gap:.7rem;margin-top:1rem;display:grid}.appointment-card{border:1px solid var(--firulife-primarySoft);border-left:5px solid var(--firulife-officialBorder);border-radius:1rem;grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1rem;display:grid}.appointment-card.status-requested{border-left-color:var(--firulife-warning)}.appointment-card.status-confirmed{border-left-color:var(--firulife-success)}.appointment-card.status-completed{border-left-color:var(--firulife-primary)}.appointment-card>time{color:var(--firulife-textMuted);font-weight:900}.appointment-info>div{align-items:center;gap:.5rem;display:flex}.appointment-info small{margin-top:.3rem;display:block}.appointment-info p{margin:.45rem 0 0;font-size:.88rem}.appointment-info .reason{color:var(--firulife-danger)}.appointment-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;max-width:18rem;display:flex}.appointment-actions button{padding:.48rem .65rem;font-size:.76rem}.agenda-form{gap:.8rem;display:grid}.agenda-form textarea,.confirm-modal textarea{border:1px solid var(--firulife-border);resize:vertical;border-radius:.75rem;width:100%;padding:.85rem}.agenda-form button{margin-top:.25rem}.notice{background:var(--firulife-successSoft);border-radius:.75rem;padding:.75rem}.operational-card{margin-top:0}.operational-hours{gap:.45rem;margin-top:1rem;display:grid}.operational-hours>span{background:var(--firulife-primarySoft);color:var(--firulife-textMuted);border-radius:.65rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .65rem;font-size:.8rem;font-weight:700;display:flex}@media (max-width:1150px){.agenda-layout{grid-template-columns:1fr}.agenda-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.agenda-filters{grid-template-columns:repeat(2,1fr)}.agenda-side{grid-template-columns:1fr}.appointment-card{grid-template-columns:3.5rem minmax(0,1fr)}.appointment-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}}@media (max-width:520px){.agenda-filters,.appointment-card{grid-template-columns:1fr}.appointment-actions{grid-column:auto}.appointment-info>div{flex-direction:column;align-items:flex-start}}.portal-shortcuts{z-index:90;background:var(--firulife-text);box-shadow:0 .75rem 2rem var(--firulife-shadow);border-radius:999px;gap:.35rem;padding:.35rem;display:flex;position:fixed;bottom:1rem;right:1rem}.portal-shortcuts a,.button-link{color:var(--firulife-onPrimary);border-radius:999px;padding:.65rem .9rem;font-weight:800;text-decoration:none;display:inline-flex}.portal-shortcuts a.active{background:var(--firulife-primary)}.patients-page{max-width:92rem!important;padding-bottom:6rem!important}.patient-request-form{border:1px solid var(--firulife-primarySoft);background:var(--firulife-surfaceMuted);border-radius:1rem;grid-template-columns:1fr 1fr auto;align-items:end;gap:.75rem;padding:1rem;display:grid}.patient-filters{flex-wrap:wrap;gap:.45rem;margin:1rem 0;display:flex}.patient-filters button{padding:.55rem .75rem}.patient-filters .active{background:var(--firulife-primary)}.patient-list{gap:.7rem;display:grid}.patient-list article{border:1px solid var(--firulife-primarySoft);border-radius:1rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;display:grid}.patient-list strong,.patient-list small{display:block}.patient-list p{margin:.35rem 0 0}.patient-avatar{background:var(--firulife-primarySoft);width:3rem;height:3rem;color:var(--firulife-primary);border-radius:1rem;place-items:center;font-weight:900;display:grid}.patient-status{justify-items:end;gap:.6rem;display:grid}.access-approved{background:var(--firulife-successSoft);color:var(--firulife-success)}.access-pending{background:var(--firulife-warningSoft);color:var(--firulife-warning)}.access-rejected,.access-revoked{background:var(--firulife-dangerSoft);color:var(--firulife-danger)}.patient-modal dl{gap:.65rem;display:grid}.patient-modal dl div{border-bottom:1px solid var(--firulife-primarySoft);justify-content:space-between;gap:1rem;padding-bottom:.55rem;display:flex}.patient-modal dt{color:var(--firulife-textMuted)}.patient-modal dd{text-align:right;margin:0;font-weight:800}@media (max-width:800px){.patient-request-form{grid-template-columns:1fr}.patient-list article{grid-template-columns:auto 1fr}.patient-status{grid-column:1/-1;justify-items:start}}.clinical-workspace{gap:1rem;display:grid}.clinical-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.clinical-header>div:first-child{justify-items:start;gap:.45rem;display:grid}.clinical-header h2,.clinical-header p{margin:0}.patient-summary{background:var(--firulife-onPrimary);box-shadow:0 .75rem 2rem var(--firulife-shadow);border-radius:1rem;align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.patient-summary>span{background:var(--firulife-primary);width:3rem;height:3rem;color:var(--firulife-onPrimary);border-radius:1rem;place-items:center;font-weight:900;display:grid}.patient-summary strong,.patient-summary small{display:block}.clinical-columns{grid-template-columns:minmax(22rem,.75fr) minmax(0,1.25fr);align-items:start;gap:1rem;display:grid}.clinical-form-card{position:sticky;top:1rem}.clinical-form{gap:.85rem;display:grid}.clinical-form textarea{border:1px solid var(--firulife-border);resize:vertical;border-radius:.75rem;width:100%;padding:.85rem}.clinical-form fieldset{margin:0}.prescription-row{gap:.6rem;padding:.75rem 0;display:grid}.prescription-row+.prescription-row{border-top:1px solid var(--firulife-border)}.clinical-history{gap:.8rem;display:grid}.official-record{border:1px solid var(--firulife-border);border-left:5px solid var(--firulife-primary);background:var(--firulife-onPrimary);border-radius:1rem;padding:1.1rem}.official-record.record-corrected{border-left-color:var(--firulife-officialBorder);opacity:.88}.official-record.record-voided{border-left-color:var(--firulife-danger);background:var(--firulife-dangerSoft)}.record-heading{justify-content:space-between;gap:1rem;display:flex}.record-heading h3{margin:.3rem 0}.official-record>p{line-height:1.5}.official-record .reason{color:var(--firulife-danger)}.record-attachments{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.record-upload{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem;margin-top:.8rem;display:grid}.record-upload button{height:100%}.notice{background:var(--firulife-successSoft);color:var(--firulife-success);border-radius:.75rem;padding:.8rem 1rem}@media (max-width:1100px){.clinical-columns{grid-template-columns:1fr}.clinical-form-card{position:static}}@media (max-width:700px){.clinical-header{flex-direction:column;align-items:stretch}.patient-summary{width:100%}.record-heading{flex-direction:column}.record-upload{grid-template-columns:1fr}.clinical-columns{display:block}.clinical-history{margin-top:1rem}}.product-form textarea{border:1px solid var(--firulife-border);background:var(--firulife-onPrimary);width:100%;color:var(--firulife-text);resize:vertical;border-radius:.75rem;padding:.85rem}.product-grid{grid-template-columns:repeat(auto-fit,minmax(25rem,1fr));gap:1rem;margin-top:1rem;display:grid}.product-card{border:1px solid var(--firulife-primarySoft);border-radius:1rem;grid-template-columns:9rem minmax(0,1fr);gap:1rem;padding:1rem;display:grid}.product-image{aspect-ratio:1;background:var(--firulife-primarySoft);color:var(--firulife-textMuted);border-radius:.85rem;place-items:center;font-weight:750;display:grid;overflow:hidden}.product-image img{object-fit:cover;width:100%;height:100%}.product-thumbnails{grid-template-columns:repeat(3,1fr);gap:.3rem;margin-top:.4rem;display:grid}.product-thumbnails>div{aspect-ratio:1;background:var(--firulife-primarySoft);border-radius:.4rem;position:relative;overflow:hidden}.product-thumbnails img{object-fit:cover;width:100%;height:100%}.product-thumbnails button{background:var(--firulife-danger);border-radius:999px;width:1.25rem;height:1.25rem;padding:0;font-size:.8rem;position:absolute;top:.15rem;right:.15rem}.product-details>p{margin:.7rem 0}.product-details>small{margin-top:.75rem;display:block}.product-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.product-actions button,.product-photo-button{padding:.55rem .75rem;font-size:.78rem}.product-photo-button{cursor:pointer;border-radius:.75rem;align-items:center;font-weight:800;display:inline-flex}.product-photo-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.product-published{background:var(--firulife-successSoft);color:var(--firulife-success)}.product-pending_review{background:var(--firulife-warningSoft);color:var(--firulife-warning)}.product-rejected,.product-suspended{background:var(--firulife-dangerSoft);color:var(--firulife-danger)}.product-modal{width:min(100%,58rem);max-height:calc(100vh - 2rem);overflow:auto}.product-modal .inner-form{margin-bottom:0}@media (max-width:700px){.product-grid,.product-card{grid-template-columns:1fr}.product-visuals{max-width:15rem}.product-actions>*{flex:1;justify-content:center}}body{background:var(--firulife-background) url(/firulife-paw.svg) no-repeat right 3rem top 5rem / 320px;color:var(--firulife-text)}button,.button-link{background:linear-gradient(100deg, var(--firulife-gradientBlue), var(--firulife-gradientTeal) 55%, var(--firulife-gradientGreen))}button:focus-visible,a:focus-visible{outline:3px solid var(--firulife-primary);outline-offset:3px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--firulife-primary);outline-offset:2px}button.secondary,button.danger,button.logout{background-image:none}button.danger{background:var(--firulife-dangerSoft);color:var(--firulife-danger)}button.secondary{background:var(--firulife-primarySoft);color:var(--firulife-primary)}.brand-mark{background:#fff;overflow:hidden}.brand-mark img,.brand img{object-fit:contain;width:100%;height:100%}.portal-sidebar,.admin-shell aside{background:var(--firulife-text)}.portal-sidebar nav button.active,.admin-shell nav button.active{background:linear-gradient(100deg, var(--firulife-gradientBlue), var(--firulife-gradientTeal))}@font-face{font-family:Nunito Sans;src:url(/NunitoSans.ttf)format("truetype");font-weight:200 900;font-style:normal;font-display:swap}:root{font-family:Nunito Sans,ui-sans-serif,system-ui,sans-serif}button{min-height:48px}input,select,textarea{border-color:var(--firulife-controlBorder);min-height:48px}.brand-mark,.brand>span{background:0 0}@media (max-width:600px){.content,.portal-content{padding:1rem}.form-actions,.actions{flex-wrap:wrap}.form-grid,.grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.nav-icon{flex-shrink:0;width:24px;height:24px}nav button.active .nav-icon{filter:brightness(0)invert()}.admin-shell nav button{align-items:center;gap:.75rem;display:flex}.content,.portal-content,.portal-header>div,header>div{min-width:0}.content header,.portal-header,.section-heading{flex-wrap:wrap}.account,.clinic-chip{overflow-wrap:anywhere;max-width:100%}@media (max-width:800px){.admin-shell,.portal-shell{grid-template-columns:minmax(0,1fr)}.admin-shell aside,.portal-sidebar{gap:1rem;width:100%;height:auto;padding:1rem;position:static}.admin-shell aside nav,.portal-sidebar nav{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.portal-sidebar nav button,.admin-shell nav button{flex:130px;width:auto}.content,.portal-content{padding:1rem}.metric-grid{grid-template-columns:minmax(0,1fr)}.clinic-chip,.clinic-chip strong,.clinic-chip small{white-space:normal}.catalog-filters,.avatar-catalog-filters,.marketplace-controls{flex-wrap:wrap;display:flex}.portal-shortcuts{margin:1rem;position:static;width:auto!important}}
