/* Medinow application UI. Shared tokens, components and responsive shell. */
:root{--brand:#138a76;--brand-dark:#096957;--brand-soft:#eaf7f2;--ink:#20342f;--muted:#687b75;--line:#e2eae6;--canvas:#f5f8f7;--white:#fff;--danger:#b93838;--warning:#94651d;--radius:14px;--shadow:0 4px 18px #1c443306;--sidebar:240px}
*{box-sizing:border-box}html{font-size:15px;scroll-behavior:smooth}body{margin:0;font-family:Inter,'Segoe UI',system-ui,-apple-system,sans-serif;line-height:1.55;color:var(--ink);background:var(--canvas);min-width:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:var(--brand-dark);text-underline-offset:3px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #138a7640;outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1{font-size:1.9rem;line-height:1.25;font-weight:650;letter-spacing:-.055rem}h2{font-size:1.1rem;line-height:1.4;font-weight:650}h3{font-size:1rem;font-weight:650}small{font-size:.81rem}img{max-width:100%}[hidden]{display:none!important}.icon{width:21px;height:21px;flex:0 0 auto;vertical-align:middle}.muted{color:var(--muted)}.eyebrow{display:block;font-size:.7rem;letter-spacing:.1em;font-weight:750;color:var(--brand);margin-bottom:10px}.skip-link{position:fixed;top:-80px;left:20px;z-index:1000;background:white;padding:12px;border:2px solid var(--brand)}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-sidebar{width:var(--sidebar);height:100dvh;position:fixed;left:0;top:0;background:var(--white);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:100;padding:26px 16px 14px}.app-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:1.65rem;font-weight:750;letter-spacing:-1px;line-height:1.1;padding:0 9px}.app-brand img{object-fit:contain;width:39px;height:39px}.app-brand small{display:block;font-size:.67rem;letter-spacing:.025em;font-weight:450;color:var(--muted);margin-top:5px}.brand-accent{color:var(--brand)}.workspace-label{display:flex;align-items:center;gap:9px;margin:29px 8px 17px;padding:10px 0 17px;border-bottom:1px solid var(--line);font-size:.8rem;color:var(--muted)}.workspace-label .icon{width:17px;height:17px}.sidebar-nav{overflow:auto;scrollbar-width:thin;flex:1}.nav-group{margin-bottom:21px}.nav-label{font-size:.62rem;letter-spacing:.12em;color:#8b9a94;font-weight:750;padding:0 13px;margin-bottom:8px}.nav-link{display:flex;align-items:center;gap:11px;min-height:43px;padding:10px 13px;margin:3px 0;border-radius:8px;text-decoration:none;color:#597069;font-size:.85rem;font-weight:550;background:transparent;border:0;width:100%;text-align:left;transition:background .15s,color .15s}.nav-link .icon{width:19px;height:19px;color:#83988f}.nav-link:hover{background:#f4f8f5;color:var(--ink)}.nav-link.is-active{background:var(--brand-soft);color:var(--brand-dark);font-weight:650}.nav-link.is-active .icon{color:var(--brand)}.nav-indicator{margin-left:auto;width:5px;height:5px;border-radius:50%;background:var(--brand)}.sidebar-bottom{padding-top:15px;border-top:1px solid var(--line)}.sidebar-note{display:flex;align-items:center;gap:10px;font-size:.7rem;color:var(--muted);padding:4px 13px 15px;line-height:1.5}.sidebar-note .icon{color:var(--brand);width:20px;height:20px}.sidebar-note strong{font-weight:550;color:var(--ink)}.logout-link{color:#7b6e6e}.app-workspace{margin-left:var(--sidebar);min-height:100dvh;display:flex;flex-direction:column}.app-topbar{height:76px;flex:0 0 76px;padding:0 36px;background:#ffffffed;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;gap:18px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:20px}.workspace-name{font-size:.78rem;color:#8b9b94}.workspace-name span{margin:0 12px;color:#c3d0c9}.workspace-name strong{font-weight:550;color:#52665c}.account-chip{display:flex;align-items:center;gap:10px}.avatar{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:50%;background:#e7f3ee;color:var(--brand-dark);font-size:.85rem;font-weight:700;border:1px solid #d7e9df}.account-name{font-size:.78rem;font-weight:600;line-height:1.3;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-name small{display:block;color:var(--muted);font-size:.65rem;font-weight:400;margin-top:3px}.status-pill{display:inline-flex;gap:7px;align-items:center;border-radius:50px;font-size:.68rem;line-height:1.3;font-weight:600;padding:6px 10px;text-decoration:none;border:1px solid transparent;white-space:nowrap}.status-dot{width:5px;height:5px;background:currentColor;border-radius:50%}.status-warning{color:var(--warning);background:#fff8e9;border-color:#f4e7c7}.status-success{color:#267354;background:#ebf7ef;border-color:#d3ebdc}.status-neutral{color:#65756e;background:#f2f5f3;border-color:var(--line)}.status-danger{color:#a03c3c;background:#fcefee;border-color:#f4d9d5}.app-content{padding:35px 36px 42px;width:100%;max-width:1600px;margin:0 auto;flex:1;outline:none}.app-footer{display:flex;justify-content:space-between;gap:20px;margin:0 36px;padding:18px 0;border-top:1px solid var(--line);font-size:.68rem;color:#8a9992}.icon-button.menu-toggle{display:none}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:8px}.sidebar-backdrop{position:fixed;inset:0;border:0;background:#15352b66;z-index:90}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading p{color:var(--muted);font-size:.85rem;margin-top:9px;max-width:740px}.page-heading .eyebrow{margin-bottom:8px}.heading-actions{display:flex;align-items:center;gap:9px;padding-top:4px}.page-date{font-size:.75rem;color:var(--muted);padding-top:7px;white-space:nowrap}.breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:15px;font-size:.75rem;color:var(--muted)}.breadcrumb a{text-decoration:none}.breadcrumb .icon{width:13px;height:13px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}.section-heading p{font-size:.78rem;color:var(--muted);margin-top:4px}.text-link{display:inline-flex;gap:6px;align-items:center;font-size:.78rem;text-decoration:none;font-weight:600}.text-link .icon{width:16px;height:16px}
.button,.app-content .btn-primary,.app-content .btn-secondary,.app-content .btn-warning,.app-content .btn-danger,.app-content .btn-success{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;min-height:41px;padding:10px 17px;border:1px solid transparent;font-size:.8rem;line-height:1.35;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s;white-space:normal;font-family:inherit;cursor:pointer}.button .icon{width:17px;height:17px}.button-primary,.app-content .btn-primary,.app-content .btn-success{background:var(--brand);color:white}.button-primary:hover,.app-content .btn-primary:hover{background:var(--brand-dark);color:white}.button-secondary,.app-content .btn-secondary{background:white;color:var(--ink);border-color:#d8e3dc}.button-secondary:hover{background:#f4f8f5}.button-quiet{background:transparent;color:var(--muted)}.button-danger,.app-content .btn-danger{background:#fff3f1;color:var(--danger);border-color:#f0d1ca}.app-content .btn-warning{background:#fff8e9;color:var(--warning);border-color:#ead7ac}.button-full{width:100%}.button-small{min-height:34px;padding:7px 12px;font-size:.73rem}.button:disabled{opacity:.55;pointer-events:none}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:25px}.panel-flush{padding:0}.panel-header{padding:21px 24px;border-bottom:1px solid var(--line)}.panel + .panel{margin-top:20px}.info-box,.notice{display:flex;align-items:flex-start;gap:11px;padding:14px 17px;border-radius:9px;background:var(--brand-soft);color:#326d59;font-size:.78rem;line-height:1.6}.notice{margin-bottom:22px}.info-box .icon,.notice .icon{width:18px;height:18px;margin-top:2px}.notice-warning{color:var(--warning);background:#fff8e9;border:1px solid #f3e8cd}.notice-error{background:#fcefee;color:var(--danger)}.info-box p+p{margin-top:5px}.alert{padding:13px 16px;margin-bottom:18px;border-radius:8px;font-size:.83rem;border:1px solid var(--line)}.alert-success{background:var(--brand-soft);color:var(--brand-dark)}.alert-error,.alert-danger{background:#fcefee;color:var(--danger)}.alert-warning{background:#fff8e9;color:var(--warning)}.alert-info{background:#edf4fc;color:#376083}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:26px}.metric-card{background:white;border:1px solid var(--line);border-radius:12px;padding:21px;box-shadow:var(--shadow);min-width:0}.metric-label{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:.72rem;color:var(--muted)}.metric-label .icon{color:#77a28e;width:20px;height:20px}.metric-value{font-size:1.95rem;line-height:1.25;font-weight:650;letter-spacing:-.06rem;margin-top:15px;color:#253b31;overflow-wrap:anywhere}.metric-foot{font-size:.67rem;color:#8a9a91;margin-top:8px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:22px}.quick-action{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;padding:16px 0;border-bottom:1px solid #edf1ed}.quick-action:last-child{border-bottom:0;padding-bottom:0}.quick-action:first-of-type{padding-top:3px}.action-icon{width:38px;height:38px;border-radius:10px;background:#f1f8f4;color:var(--brand);display:grid;place-items:center;flex:0 0 38px}.quick-action span strong{display:block;font-size:.82rem;font-weight:600}.quick-action span small{display:block;color:var(--muted);font-size:.71rem;margin-top:2px}.quick-action>.icon{margin-left:auto;width:16px;height:16px;color:#94a69b}.quick-action:hover strong{color:var(--brand)}.list-avatar{display:flex;align-items:center;gap:11px}.list-avatar .avatar{width:32px;height:32px;flex-basis:32px;font-size:.73rem;background:#f0f5f2;border:0}.person-name{display:block;font-size:.8rem;font-weight:600}.person-sub{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}.empty-state{text-align:center;padding:45px 24px}.empty-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#f0f7f3;color:#77a58a;margin:0 auto 16px}.empty-icon .icon{width:26px;height:26px}.empty-state h3{font-size:.95rem}.empty-state p{color:var(--muted);font-size:.8rem;max-width:390px;margin:8px auto 20px}.table-scroll,.table-responsive{width:100%;overflow-x:auto;border-radius:inherit}table{width:100%;border-collapse:collapse;text-align:left;font-size:.8rem}th{background:#f8faf9;color:#829089;font-size:.65rem;text-transform:uppercase;letter-spacing:.055em;font-weight:650;white-space:nowrap}th,td{padding:15px 22px;border-bottom:1px solid #edf1ed;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdfc}.table-search{max-width:300px;position:relative}.table-search .icon{position:absolute;left:12px;top:12px;color:#91a198;width:17px;height:17px}.table-search input{padding-left:37px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field label,.field-label{display:block;font-size:.78rem;font-weight:600;color:#3b5045}.field small{color:var(--muted);font-size:.7rem}.field-wide{grid-column:1/-1}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{display:block;width:100%;min-height:43px;border:1px solid #dce6de;border-radius:8px;background:white;color:var(--ink);padding:10px 12px;line-height:1.45;font-size:.82rem;transition:border .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#9baa9f}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #138a7610;outline:none}textarea{min-height:95px;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--brand);width:16px;height:16px;flex:0 0 16px;cursor:pointer}.check-field{display:flex;align-items:flex-start;gap:9px;font-size:.78rem;color:var(--muted);cursor:pointer}.check-field input{margin:3px 0 0}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:20px;margin-top:5px;border-top:1px solid var(--line)}.password-control{position:relative}.password-control input{padding-right:75px!important}.password-control button{position:absolute;right:5px;top:5px;bottom:5px;border:0;background:white;color:var(--brand-dark);font-size:.7rem;padding:0 10px}.field-required{color:var(--brand)}.settings-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:22px}.setting-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:flex-start}.setting-row:last-child{border:0}.setting-row strong{display:block;font-size:.8rem;font-weight:600}.setting-row small{display:block;max-width:460px;color:var(--muted);margin-top:4px;font-size:.73rem}.setting-row input{margin-top:4px}.definition-list>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.77rem}.definition-list>div:last-child{border-bottom:0}.definition-list dt{color:var(--muted)}.definition-list dd{margin:0;text-align:right;font-weight:550}.section-space{margin-top:26px}
.billing-heading{text-align:center;display:block;max-width:720px;margin:0 auto 33px}.billing-heading p{margin:10px auto 0}.billing-heading .eyebrow{margin-bottom:11px}.billing-policy{display:flex;justify-content:center;gap:24px;margin-bottom:30px;color:var(--muted);font-size:.73rem}.billing-policy span{display:inline-flex;align-items:center;gap:7px}.billing-policy .icon{width:17px;height:17px;color:var(--brand)}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1120px;margin:0 auto}.plan-card-v2{position:relative;background:white;border:1px solid var(--line);border-radius:14px;padding:28px;display:flex;flex-direction:column;min-width:0}.plan-card-v2.plan-featured{border:1.5px solid var(--brand);box-shadow:0 8px 28px #138a760a}.plan-type{font-size:.66rem;letter-spacing:.07em;color:var(--muted);text-transform:uppercase;margin-bottom:13px}.plan-card-v2 h2{font-size:1.3rem;letter-spacing:-.025rem}.plan-description-v2{font-size:.78rem;line-height:1.65;color:var(--muted);min-height:50px;margin-top:10px}.plan-price-v2{display:flex;align-items:baseline;gap:5px;margin:23px 0 5px}.plan-price-v2 strong{font-size:2.1rem;letter-spacing:-.08rem;font-weight:650}.plan-price-v2 .currency{font-size:.95rem;font-weight:550;margin-right:1px}.plan-price-v2 small{font-size:.74rem;color:var(--muted)}.plan-renewal{font-size:.68rem;color:#8a9b90;margin-bottom:23px}.plan-card-v2 form{margin-bottom:23px}.plan-feature-list{list-style:none;padding:20px 0 0;margin:0;border-top:1px solid var(--line);display:grid;gap:15px;font-size:.78rem}.plan-feature-list li{display:flex;gap:9px;align-items:flex-start}.plan-feature-list .icon{width:16px;height:16px;color:var(--brand);margin-top:2px}.plan-bottom-note{text-align:center;color:var(--muted);font-size:.74rem;margin:27px auto;max-width:680px}.featured-label{position:absolute;top:-12px;right:24px;padding:4px 11px;background:var(--brand);color:white;font-size:.63rem;font-weight:650;border-radius:30px}.payment-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:24px;align-items:start;max-width:1080px}.checkout-steps{display:flex;align-items:center;gap:14px;list-style:none;padding:0;margin:0 0 25px;font-size:.7rem;color:#92a298}.checkout-steps li{display:flex;gap:7px;align-items:center}.step-number{width:22px;height:22px;border:1px solid #dbe4dd;border-radius:50%;display:grid;place-items:center;font-size:.65rem}.checkout-steps .is-done{color:var(--brand)}.checkout-steps .is-done .step-number{background:var(--brand-soft);border-color:transparent}.checkout-steps .is-done .icon{width:13px;height:13px}.checkout-steps .is-current{color:var(--ink);font-weight:600}.checkout-steps .is-current .step-number{background:var(--brand);color:white;border-color:var(--brand)}.step-line{width:32px;height:1px;background:var(--line)}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.payment-method{display:flex;align-items:center;gap:12px;background:white;border:1px solid #dfe7e1;border-radius:10px;padding:17px;text-align:left;color:var(--ink)}.payment-method .icon{color:var(--muted);width:24px;height:24px}.payment-method strong{font-size:.84rem;display:block;font-weight:650}.payment-method small{display:block;color:var(--muted);font-size:.68rem;margin-top:3px}.payment-method .radio-mark{margin-left:auto;flex:0 0 15px;width:15px;height:15px;border:1.5px solid #cbd9cf;border-radius:50%}.payment-method[aria-pressed=true]{background:#f3faf6;border-color:var(--brand)}.payment-method[aria-pressed=true]>.icon{color:var(--brand)}.payment-method[aria-pressed=true] .radio-mark{border:4px solid var(--brand);background:white}.method-content{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.method-intro{font-size:.8rem;color:var(--muted);margin:8px 0 22px;line-height:1.65}.method-intro strong{color:var(--ink);font-weight:550}.purchase-consent{margin:23px 0 20px;line-height:1.6}.payment-security{display:flex;align-items:center;justify-content:center;gap:7px;color:#8a9c91;font-size:.66rem;margin-top:16px}.payment-security .icon{width:13px;height:13px}.order-summary{position:sticky;top:101px}.summary-label{font-size:.65rem;color:var(--muted);font-weight:650;letter-spacing:.07em;text-transform:uppercase}.summary-plan{display:flex;gap:12px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.summary-plan-icon{width:46px;height:46px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);border-radius:12px}.summary-plan h2{font-size:1.07rem}.summary-plan p{font-size:.72rem;color:var(--muted);margin-top:3px}.summary-features{display:grid;gap:12px;padding:20px 0;margin:0;list-style:none;font-size:.75rem;color:#697d70}.summary-features li{display:flex;gap:8px;align-items:center}.summary-features .icon{width:15px;height:15px;color:var(--brand)}.summary-total{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:550}.summary-total strong{font-size:1.4rem;letter-spacing:-.035rem}.summary-footnote{font-size:.7rem;line-height:1.7;color:var(--muted);background:#f8faf9;border:1px solid var(--line);border-radius:8px;padding:12px}.payment-provider{display:flex;gap:8px;align-items:center;margin-top:20px;font-size:.7rem;color:var(--muted)}.payment-provider .icon{color:#789a86;width:17px;height:17px}.pix-panel{text-align:center}.pix-panel img{display:block;max-width:230px;margin:20px auto;border:1px solid var(--line);border-radius:8px;padding:8px}.pix-panel textarea{font-size:.7rem;min-height:75px;text-align:left}.payment-feedback{margin-top:19px}.active-plan-banner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:27px}.active-plan-label{display:flex;align-items:center;gap:12px}.active-plan-label h2{font-size:1.3rem}.active-plan-label p{color:var(--muted);font-size:.78rem;margin-top:5px}.usage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.usage-item>div{display:flex;justify-content:space-between;gap:10px;font-size:.75rem;color:var(--muted)}.usage-item strong{font-weight:550;color:var(--ink)}.usage-bar{height:5px;background:#edf3ef;border-radius:5px;margin-top:10px;overflow:hidden}.usage-bar span{display:block;height:100%;background:var(--brand);border-radius:inherit}
.med-auth{background:white}.auth-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-story{display:flex;flex-direction:column;justify-content:space-between;padding:47px clamp(35px,5vw,88px);background:#f1f7f3;border-right:1px solid var(--line);gap:60px}.auth-story .app-brand{padding:0}.auth-story h1{font-size:clamp(3rem,4.8vw,5rem);font-weight:650;line-height:1.1;letter-spacing:-.2rem;margin:18px 0 25px}.auth-story h1 span{color:var(--brand)}.auth-story>div>p{color:var(--muted);max-width:390px;font-size:.92rem;line-height:1.85}.auth-story .eyebrow{font-size:.64rem;letter-spacing:.15em}.auth-visual{margin-top:40px;background:white;border:1px solid #dce9df;border-radius:14px;padding:22px;max-width:420px;box-shadow:0 12px 40px #24523b05}.visual-heading{display:flex;gap:12px;align-items:center}.visual-icon{width:39px;height:39px;background:var(--brand-soft);border-radius:10px;display:grid;place-items:center;color:var(--brand)}.visual-heading strong{display:block;font-size:.8rem;font-weight:600}.visual-heading small{display:block;font-size:.67rem;color:var(--muted);margin-top:3px}.visual-check{margin-left:auto;background:var(--brand-soft);width:22px;height:22px;border-radius:50%;color:var(--brand);display:grid;place-items:center}.visual-check .icon{width:14px;height:14px}.visual-slots{display:flex;align-items:center;gap:10px;padding:25px 0;border-bottom:1px solid var(--line);font-size:.7rem;color:#7f9386}.visual-slots span{border:1px solid #e4eee7;border-radius:6px;padding:6px 11px;background:#fafcfb}.visual-slots i{flex:1;height:2px;background:#e5f0e8}.visual-note{display:flex;gap:10px;margin-top:18px;font-size:.7rem;color:var(--muted);line-height:1.7}.visual-note>.icon{color:#8eb19a;width:19px;height:19px}.visual-note strong{color:#506a59;font-weight:500}.auth-story-footer{font-size:.67rem;color:#96a69c}.auth-form-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:50px 40px}.auth-form-content{width:100%;max-width:365px}.auth-form-content h2{font-size:1.8rem;letter-spacing:-.045rem;font-weight:650}.auth-form-content>.muted{font-size:.83rem;line-height:1.8;margin:9px 0 31px}.auth-form-content .field{margin-bottom:21px}.auth-form-content label{font-size:.76rem}.auth-form-content .button{min-height:45px}.auth-form-footnote{text-align:center;font-size:.76rem;color:var(--muted);padding-top:26px;margin-top:25px;border-top:1px solid var(--line)}.auth-form-footnote a{font-weight:600;text-decoration:none;margin-left:3px}.auth-copyright{font-size:.63rem;color:#9bab9f;position:relative;top:62px}.auth-maintenance{margin-top:24px;color:#927c4f;font-size:.7rem;display:flex;gap:8px;align-items:flex-start;background:#fcf9f2;padding:12px;border-radius:8px}.auth-maintenance .icon{width:15px;height:15px;margin-top:1px}.role-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:9px 0 22px}.role-option{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:.74rem}.role-option:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
/* Legacy feature content uses the shared shell while its controllers are migrated. */
.app-content>.container,.app-content .container{width:100%;max-width:none;padding:0;margin:0}.app-content .auth-container,.app-content .admin-container,.app-content .dashboard-container,.app-content .plans-container{display:block;padding:0;min-height:0}.app-content .admin-header,.app-content .section-header,.app-content .doctor-header,.app-content .clinic-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:15px}.app-content .auth-container h1,.app-content .admin-container h1{color:var(--ink);text-align:left;font-size:1.9rem;margin-bottom:20px}.app-content .form-group{margin-bottom:18px}.app-content .form-group label{display:block;font-size:.78rem;font-weight:550;margin-bottom:6px}.app-content .form-group small{display:block;font-size:.7rem;color:var(--muted);margin-top:5px}.app-content .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:25px}.app-content .stat-card{padding:21px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:none;text-align:left}.app-content .stat-card h3{font-size:.73rem;color:var(--muted);text-transform:none}.app-content .stat-number{font-size:1.8rem;color:var(--ink);font-weight:650;margin-top:12px}.app-content .section,.app-content .card,.app-content .form-section,.app-content .settings-section,.app-content .schedule-section,.app-content .users-section,.app-content .services-section,.app-content .availability-section{padding:25px;border-radius:12px;border:1px solid var(--line);background:white;box-shadow:none;margin-bottom:22px}.app-content .card h2,.app-content .form-section h2,.app-content .section h2{margin-bottom:18px}.app-content .users-grid,.app-content .services-grid{gap:17px}.app-content .user-card,.app-content .service-card,.app-content .patient-card{border:1px solid var(--line);border-radius:10px;box-shadow:none}.app-content .user-card:hover,.app-content .service-card:hover,.app-content .patient-card:hover{transform:none;box-shadow:none;border-color:#b7d5c3}.app-content .data-table,.app-content .users-table{width:100%;border-collapse:collapse}.app-content .data-table th,.app-content .users-table th{background:#f8faf9;color:var(--muted)}.app-content .btn-small,.app-content .btn-sm{font-size:.7rem;padding:6px 10px;min-height:31px}.app-content .form-actions{flex-wrap:wrap}.app-content p.empty-state{padding:35px 20px;color:var(--muted)}.app-content .modal{z-index:200}.app-content .modal-content{border-radius:14px;box-shadow:0 20px 80px #17382b26}.app-content .calendar-day{border-color:var(--line)}
@media(min-width:1500px){.app-content{padding:40px 48px}.app-topbar{padding:0 48px}.app-footer{margin:0 48px}}
@media(max-width:1150px){:root{--sidebar:215px}.app-sidebar{padding-left:12px;padding-right:12px}.app-topbar{padding:0 25px}.app-content{padding:27px 25px}.app-footer{margin:0 25px}.plan-card-v2{padding:23px}.plan-price-v2 strong{font-size:1.85rem}.metric-grid{gap:12px}.metric-card{padding:17px}.dashboard-grid{grid-template-columns:1.5fr 1fr}.payment-grid{grid-template-columns:1.3fr 1fr;gap:18px}.panel{padding:21px}.payment-method{padding:13px;gap:9px}.payment-method>.icon{width:21px;height:21px}.payment-method small{font-size:.63rem}.payment-methods{gap:9px}.account-name{max-width:130px}}
@media(max-width:950px){:root{--sidebar:220px}.app-sidebar{transform:translateX(-100%);transition:transform .2s}.app-workspace{margin-left:0}.icon-button.menu-toggle{display:inline-grid}.menu-open .app-sidebar{transform:translateX(0)}.menu-open{overflow:hidden}.app-topbar{height:67px;flex-basis:67px}.app-brand{font-size:1.65rem}.app-content{padding:27px}.app-topbar{padding:0 27px}.order-summary{top:90px}.auth-story{padding:40px 35px}.auth-story h1{font-size:3.3rem}.auth-visual{padding:18px}.auth-form-panel{padding:45px 30px}.settings-columns{grid-template-columns:1.3fr 1fr}}
@media(max-width:680px){html{font-size:15px}.app-content{padding:24px 17px 30px}.app-topbar{padding:0 17px;height:62px;flex-basis:62px}.topbar-left,.topbar-right{gap:10px}.workspace-name{font-size:.73rem}.workspace-name>span,.workspace-name>strong{display:none}.account-name{display:none}.status-pill{font-size:.61rem;padding:5px 8px}.account-chip .avatar{width:30px;height:30px;flex-basis:30px;font-size:.7rem}.app-footer{margin:0 17px;font-size:.62rem}.app-footer span:last-child{display:none}.page-heading{margin-bottom:23px;gap:12px;flex-wrap:wrap}.page-heading h1{font-size:1.6rem}.page-heading p{font-size:.8rem;margin-top:8px}.page-date{display:none}.heading-actions{width:100%;padding:0}.metric-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.metric-card{padding:16px}.metric-label{font-size:.66rem;line-height:1.4}.metric-label .icon{width:18px;height:18px}.metric-value{font-size:1.7rem;margin-top:12px}.metric-foot{font-size:.61rem}.dashboard-grid,.settings-columns{grid-template-columns:1fr;gap:18px}.panel{padding:20px}.panel-flush{padding:0}.panel-header{padding:18px}.section-heading{flex-wrap:wrap}.section-heading h2{font-size:1rem}.section-heading p{font-size:.73rem}.plan-grid{grid-template-columns:1fr;gap:23px}.plan-card-v2{padding:25px}.plan-description-v2{min-height:0}.plan-price-v2{margin-top:15px}.plan-price-v2 strong{font-size:2rem}.plan-feature-list{grid-template-columns:1fr;gap:12px}.billing-heading{margin-bottom:23px}.billing-policy{gap:12px;flex-wrap:wrap;font-size:.66rem;margin-bottom:27px}.billing-policy span{gap:4px}.billing-policy .icon{width:15px;height:15px}.payment-grid{grid-template-columns:1fr;gap:20px}.order-summary{position:static;grid-row:1}.order-summary .summary-features{display:none}.summary-plan{padding:16px 0}.summary-total{border-top:0;padding:16px 0}.order-summary .summary-footnote{font-size:.68rem}.payment-provider{margin-top:12px}.checkout-steps{font-size:.67rem;gap:8px;margin-bottom:22px}.step-line{width:18px}.payment-methods{gap:10px}.payment-method{padding:15px 12px;flex-wrap:wrap;gap:8px}.payment-method>span:not(.radio-mark){flex:1}.payment-method strong{font-size:.79rem}.payment-method small{font-size:.65rem}.payment-method>.icon{width:19px;height:19px}.payment-method .radio-mark{width:13px;height:13px;flex-basis:13px}.payment-security{font-size:.62rem}.active-plan-banner{padding:21px;align-items:flex-start;flex-wrap:wrap}.active-plan-banner .button{width:100%}.usage-grid{grid-template-columns:1fr;gap:20px}.usage-item>div{font-size:.78rem}.form-grid{grid-template-columns:1fr;gap:0}.field-wide{grid-column:auto}.form-actions{flex-wrap:wrap}.form-actions .button{flex:1}.setting-row{gap:12px}.definition-list>div{font-size:.73rem}.table-scroll table{min-width:520px}th,td{padding:13px 17px}.auth-layout{grid-template-columns:1fr}.auth-story{padding:26px 25px 29px;gap:0;background:#f3f8f4;border-right:0;border-bottom:1px solid var(--line)}.auth-story .app-brand{font-size:1.55rem}.auth-story .app-brand img{width:35px;height:35px}.auth-story>div,.auth-story-footer{display:none}.auth-form-panel{padding:35px 25px 55px;justify-content:flex-start}.auth-form-content h2{font-size:1.65rem}.auth-form-content>.muted{margin-bottom:27px}.auth-copyright{top:32px}.app-content .admin-header,.app-content .section-header{flex-wrap:wrap}.app-content .auth-container h1{font-size:1.55rem}.app-content .section,.app-content .form-section,.app-content .settings-section{padding:20px}.app-content .stats-grid{grid-template-columns:1fr 1fr}.app-content .stat-card{padding:16px}.app-content .stat-number{font-size:1.5rem}.app-content .calendar-controls{flex-wrap:wrap}.app-content .view-selector{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Shell sizing is independent of prototype page styles. */
.med-public{min-height:100dvh;display:flex;flex-direction:column}.public-topbar{width:100%;max-width:1240px;margin:0 auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.app-workspace,.app-content,.legacy-content,.panel,.topbar-left,.topbar-right{min-width:0}.legacy-content{max-width:100%;overflow-wrap:anywhere}.app-footer{width:auto;min-width:0;max-width:100%;flex-wrap:wrap}.payment-grid>.panel,.dashboard-grid>.panel,.settings-columns>.panel{margin-top:0}.sidebar-note{display:none}.nav-group{margin-bottom:14px}.app-content :where(.form-grid,.settings-columns,.dashboard-grid,.payment-grid)>*{min-width:0}.legacy-content :where(.users-grid,.services-grid,.patients-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.legacy-content :where(.modal-content,.calendar-container,.schedule-container){max-width:100%;min-width:0}.legacy-content :where(.form-row,.calendar-controls,.section-header,.clinic-header,.doctor-header){flex-wrap:wrap}.legacy-content :where(input,select,textarea){min-width:0;max-width:100%}.legacy-content .table-scroll{max-width:100%}
@media(max-width:680px){.public-topbar{padding:20px 17px;flex-wrap:wrap}.public-topbar .app-brand{padding:0}.legacy-content :where(.form-grid,.form-row,.schedule-grid){grid-template-columns:minmax(0,1fr)}.legacy-content :where(.container,.auth-container,.admin-container){min-width:0;width:100%}}

.app-content .table-search input[type=search]{padding-left:37px}

.account-chip{text-decoration:none;color:inherit;border-radius:8px}.account-chip:hover .account-name{color:var(--brand)}.account-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr);gap:22px;align-items:start}.account-grid>*{min-width:0}.account-profile{text-align:center;overflow-wrap:anywhere}.account-profile>.avatar{width:58px;height:58px;font-size:1.4rem;margin:0 auto 15px}.account-profile h2{margin-bottom:5px}.account-profile p{font-size:.77rem;color:var(--muted);margin-bottom:14px}
@media(max-width:800px){.account-grid{grid-template-columns:minmax(0,1fr)}.account-grid>aside{grid-row:1}.account-profile>.avatar{width:42px;height:42px;font-size:1rem}.account-grid>aside .info-box{display:none}}

.plan-limit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.plan-limit-field{padding:18px;border:1px solid var(--line);border-radius:10px;min-width:0}.plan-limit-field .field{margin-bottom:10px}.plan-limit-field .person-sub{margin-top:9px}.plan-visibility{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:12px 0}.catalog-admin-action{display:flex;justify-content:center;margin:-10px 0 24px}#plan-editor{scroll-margin-top:95px}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
@media(max-width:800px){.plan-limit-grid{grid-template-columns:minmax(0,1fr)}.plan-visibility{margin-bottom:15px}}

.panel.panel-flush{padding:0}

.cancel-details{border-top:1px solid var(--line);padding-top:20px}.cancel-details summary{cursor:pointer;font-size:.84rem;color:var(--danger);font-weight:600}.subscription-actions{display:flex;gap:8px;flex-wrap:wrap}.subscription-actions form{margin:0}.subscription-actions .check-field{margin:10px 0}


.plan-payment-choices{display:grid;gap:10px}.plan-payment-choices small{font-size:.71rem;line-height:1.5;text-align:center}
@media(max-width:400px){.checkout-steps{flex-wrap:wrap;row-gap:10px}.checkout-steps .step-line{display:none}}

.clinical-filter{display:flex;gap:14px;flex-wrap:wrap;align-items:end}.clinical-filter .field{flex:1 1 160px;margin:0;min-width:0}.clinical-filter button{flex:0 1 auto}.clinical-toolbar{margin-bottom:22px}.clinical-days{border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;flex-wrap:wrap;gap:14px}.clinical-days legend{font-size:.8rem;font-weight:600;padding:0 6px}.clinical-actions{min-width:200px;max-width:300px;display:grid;gap:18px;padding-top:15px}.clinical-reschedule{display:grid;gap:8px}.clinical-reschedule .field{margin:0}.booking-shell{max-width:1000px;margin:0 auto}.clinical-filter select,.clinical-filter input{min-width:0}.clinical-actions .button{white-space:normal}.clinical-actions small{font-size:.7rem}.clinical-days .check-field{align-items:center}.settings-columns .quick-action{flex-wrap:wrap}.settings-columns .quick-action>span{min-width:0;overflow-wrap:anywhere}.clinical-filter .button{white-space:normal}@media(max-width:680px){.clinical-filter{align-items:stretch}.clinical-filter .field,.clinical-filter .button{flex-basis:100%}.clinical-days{gap:12px}.clinical-actions{max-width:240px}}
