
:root{--navy:#07111f;--blue:#1473e6;--ice:#f3f7fb;--ink:#0a1320;--muted:#637080;--line:rgba(10,19,32,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f7fa;color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.wrap{width:min(1220px,calc(100% - 40px));margin:auto}a{text-decoration:none;color:inherit}button,input{font:inherit}body>header{height:68px;position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(7,17,31,.055)}nav{height:100%;display:flex;align-items:center;gap:28px}.brand{font-weight:900;letter-spacing:.2em}.navlinks{margin-left:auto;display:flex;gap:22px;color:#596676;font-size:.85rem}.auth-entry-links{display:flex;align-items:center;gap:8px;margin-left:auto}.auth-entry-links .btn{white-space:nowrap}.btn{border:0;border-radius:999px;padding:12px 19px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.small{padding:9px 14px;font-size:.8rem}.hero{padding:78px 0 56px;background:radial-gradient(circle at 80% 10%,rgba(49,145,255,.35),transparent 28%),linear-gradient(145deg,#07111f,#103653);color:#fff}.hero-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end}.eyebrow{font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:#74b4ff}.hero h1{font-size:clamp(3.2rem,7vw,6.2rem);line-height:.92;letter-spacing:-.07em;margin:17px 0 25px}.hero p{font-size:1.1rem;color:#becddb;max-width:650px}.hero-actions{display:flex;gap:10px;margin-top:30px}.hero-note{padding:25px;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(255,255,255,.08)}.hero-note b{display:block;font-size:1.2rem}.hero-note span{color:#b9cad8}.dashboard{padding:34px 0 100px}.session-bar{display:flex;justify-content:space-between;gap:20px;padding:15px 19px;border-radius:17px;background:#e9f3ff;color:#294b70;margin-bottom:18px}.session-bar strong{display:block}.session-bar span{font-size:.82rem}.layout{display:grid;grid-template-columns:230px 1fr;gap:18px}.side,.card{background:#fff;border:1px solid var(--line);border-radius:24px}.side{padding:18px;height:max-content;position:sticky;top:88px}.profile{padding:12px 8px 20px;border-bottom:1px solid var(--line)}.avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#e5f1ff;color:#1264c7;font-weight:900}.profile b{display:block;margin-top:11px}.profile span,.muted{color:var(--muted);font-size:.8rem}.menu{display:grid;gap:4px;margin-top:14px}.menu button{border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:12px;color:#526070}.menu button.active{background:var(--navy);color:#fff}.content{min-width:0}.welcome{display:flex;justify-content:space-between;align-items:end;margin:3px 0 20px}.welcome h2{font-size:2.2rem;letter-spacing:-.05em;margin:0}.welcome p{color:var(--muted);margin:4px 0 0}.pill{padding:6px 9px;border-radius:999px;background:#eaf3ff;color:#1767c6;font-size:.72rem;font-weight:800}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.card{padding:24px}.stat span{color:var(--muted);font-size:.8rem}.stat strong{display:block;font-size:1.4rem;margin-top:8px}.stat em{display:block;color:#23885f;font-style:normal;font-size:.78rem;margin-top:5px}.main-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}.card-head>div{min-width:0;flex:1 1 12rem}.card-head>.btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}.card h3{font-size:1.2rem;margin:0}.appointment{padding:22px;border-radius:20px;background:linear-gradient(145deg,#07111f,#123a5c);color:#fff}.appt-row{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.date{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.12);font-weight:900}.date small{font-size:.65rem}.appt-row h4{margin:0}.appt-row p{color:#b9cad8;margin:3px 0 0}.appointment .btn{background:#fff;color:var(--navy)}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.quick button{min-height:112px;border:1px solid var(--line);border-radius:18px;background:var(--ice);padding:16px;text-align:left}.quick b{display:block;margin-bottom:5px}.quick span{color:var(--muted);font-size:.8rem}.upload{border:1px dashed #abc1d8;border-radius:18px;padding:22px;text-align:center;background:#f8fbff}.upload input{display:none}.upload label{display:block;cursor:pointer}.upload b{display:block}.upload span{color:var(--muted);font-size:.78rem}.file-list{display:grid;gap:8px;margin-top:13px}.file{display:flex;justify-content:space-between;padding:11px;border-radius:12px;background:var(--ice);font-size:.8rem}.file i{font-style:normal;color:#23885f}.diary{margin-top:14px}.meal{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.meal time{font-weight:800}.meal b{display:block}.meal span{color:var(--muted);font-size:.78rem}.panel-view{display:none}.panel-view.active{display:block}.panel-view .card{margin-bottom:14px}.data-list{display:grid;gap:10px}.data-item{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--ice)}.data-item b{display:block}.data-item small{color:var(--muted)}.progress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.progress-value{font-size:1.7rem;font-weight:900}.realization-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.realization-card{padding:20px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#fff,#f3f7fb)}.realization-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.realization-head h4{margin:0;font-size:1.05rem}.score-ring{--score:0;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--blue) calc(var(--score)*1%),#dfe8f1 0);position:relative;margin:18px auto}.score-ring:after{content:'';position:absolute;inset:10px;border-radius:50%;background:#fff}.score-ring strong{position:relative;z-index:1;font-size:1.45rem}.bar{height:9px;background:#dfe8f1;border-radius:999px;overflow:hidden;margin:9px 0}.bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#1473e6,#38b99b);border-radius:inherit}.score-form{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:15px}.range-field{padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px}.range-field label{display:flex;justify-content:space-between;font-size:.78rem;font-weight:800}.range-field input{width:100%;accent-color:var(--blue)}.diploma{margin-top:14px;padding:22px;border-radius:20px;color:#fff;background:radial-gradient(circle at 90% 0,rgba(77,179,255,.35),transparent 35%),linear-gradient(135deg,#07111f,#123d5e)}.diploma h4{margin:5px 0;font-size:1.5rem}.diploma .btn{margin-top:12px;background:#fff;color:#07111f}.goal-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.goal-meta div{padding:9px;border-radius:10px;background:#fff;font-size:.76rem}.goal-meta b{display:block;font-size:.95rem}.realization-chart{width:100%;height:190px;margin-top:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(#fff,#f6f9fc)}.chart-label{font-size:.7rem;color:var(--muted);margin-top:7px}.email-status{margin-top:12px;padding:11px;border-radius:12px;background:#eaf3ff;color:#1767c6;font-size:.78rem;font-weight:700}.empty-state{padding:24px;text-align:center;color:var(--muted);background:var(--ice);border-radius:16px}.admin-console{display:none;margin:0 0 16px;padding:24px;background:#07111f;color:#fff;border-radius:24px}.admin-console.open{display:block}.admin-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.admin-head h2{margin:0;font-size:1.8rem}.admin-client-picker{min-width:290px}.admin-client-picker label{display:block;color:#aebdcb;font-size:.72rem;font-weight:800;margin-bottom:5px}.admin-client-picker select{width:100%;border:0;border-radius:12px;padding:11px;background:#fff;color:var(--ink)}.admin-tool .client-repeat{display:none}.admin-head p{margin:4px 0 0;color:#aebdcb}.admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.admin-metric{padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.06)}.admin-metric span{display:block;color:#aebdcb;font-size:.78rem}.admin-metric strong{font-size:1.5rem}.admin-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.admin-tool{padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.06)}.admin-tool h3{margin:0 0 10px}.admin-tool label{display:block;color:#aebdcb;font-size:.75rem;font-weight:700;margin:8px 0 4px}.admin-tool input,.admin-tool select,.admin-tool textarea{width:100%;border:0;border-radius:10px;padding:10px;background:#fff;color:var(--ink)}.admin-tool textarea{min-height:70px;resize:vertical}.admin-tool .btn{width:100%;margin-top:10px}.admin-feedback{display:none;margin:0 0 14px;padding:11px 13px;border-radius:12px;background:#eaf8f1;color:#1d6247}.admin-feedback.show{display:block}.client-table{overflow:auto;border-radius:16px;background:#fff;color:var(--ink)}.client-row{display:grid;grid-template-columns:1.4fr 1.4fr .7fr;gap:12px;align-items:center;padding:13px 16px;border-top:1px solid var(--line)}.client-row:first-child{border-top:0}.client-row.head{background:var(--ice);color:var(--muted);font-size:.75rem;font-weight:800}.client-row b,.client-row span{min-width:0;overflow:hidden;text-overflow:ellipsis}.admin-empty{padding:18px;color:var(--muted)}.activation{margin-top:16px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:24px}.activation h2{font-size:2rem;letter-spacing:-.04em;margin:0}.activation>p{color:var(--muted)}.roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.phase{padding:18px;border-radius:17px;background:var(--ice)}.phase small{color:var(--blue);font-weight:850}.phase b{display:block;margin:9px 0 5px}.phase span{font-size:.78rem;color:var(--muted)}.login{position:fixed;inset:0;z-index:80;display:none;place-items:center;padding:18px;background:rgba(3,10,18,.7);backdrop-filter:blur(12px)}.login.open{display:grid}.login-card{width:min(460px,100%);padding:30px;background:#fff;border-radius:27px}.login-head{display:flex;justify-content:space-between}.login h2{font-size:2rem;margin:0}.close{border:0;width:38px;height:38px;border-radius:50%}.field{margin-top:17px}.field label{display:block;font-size:.78rem;font-weight:800;margin-bottom:6px}.field input{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px}.notice{margin-top:15px;padding:13px;border-radius:12px;background:#eef5ff;color:#405772;font-size:.8rem}.login-card .btn{width:100%;margin-top:16px}.ms-status{display:flex;align-items:center;gap:10px;margin-top:15px;padding:12px;border-radius:13px;background:#f3f7fb;color:#405772;font-size:.82rem}.ms-dot{width:9px;height:9px;border-radius:50%;background:#91a0b2}.ms-status.connected .ms-dot{background:#22a36a}.scheduler{display:none;margin-top:14px}.scheduler.ready{display:block}.scheduler-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scheduler .field{margin-top:10px}.scheduler .field.full{grid-column:1/-1}.result{display:none;margin-top:12px;padding:13px;border-radius:12px;background:#eaf8f1;color:#1d6247;font-size:.82rem}.result.show{display:block}.mobile-toggle,.mobile{display:none}@media(max-width:900px){.hero-grid,.main-grid,.realization-grid{grid-template-columns:1fr}.layout{grid-template-columns:1fr}.side{position:static}.menu{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:1fr 1fr}.roadmap{grid-template-columns:1fr 1fr}}@media(max-width:600px){.auth-entry-links{display:none}.wrap{width:min(100% - 22px,1220px)}body>header{height:62px}.navlinks{display:none}.hero{padding:58px 0 38px}.hero h1{font-size:3.4rem}.hero-actions{flex-direction:column}.dashboard{padding-top:20px}.layout{display:block}.side{display:none}.stats{grid-template-columns:1fr}.card{padding:19px}.appt-row{grid-template-columns:auto 1fr}.appt-row .btn{grid-column:1/-1}.quick,.roadmap,.scheduler-grid,.admin-metrics,.admin-tools,.progress-grid,.score-form{grid-template-columns:1fr}.client-row{grid-template-columns:1fr}.client-row.head{display:none}.admin-head{align-items:flex-start;flex-direction:column}.scheduler .field.full{grid-column:auto}.mobile-toggle{display:grid;place-items:center;margin-left:auto;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:1.25rem;cursor:pointer}.mobile{display:none;visibility:hidden;opacity:0;pointer-events:none;height:auto;align-content:start;position:fixed;inset:62px 0 auto;z-index:29;padding:18px 20px 22px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:0 18px 35px rgba(7,17,31,.12)}.mobile.open{display:grid;visibility:visible;opacity:1;pointer-events:auto;gap:4px}.mobile a{padding:14px 10px;border-radius:12px;color:var(--ink);font-size:1rem;font-weight:750}.mobile a:hover{background:var(--ice)}}
@media(max-width:600px){.hero{padding:34px 0 30px}.hero-grid{gap:18px}.hero h1{font-size:2.8rem;margin:12px 0 16px}.hero p{font-size:.96rem;line-height:1.5}.hero-note{display:none}.hero-actions{flex-direction:row;flex-wrap:wrap;margin-top:22px}.hero-actions .btn{padding:11px 14px}.dashboard{padding-top:16px}}

.auth-gate{position:fixed;inset:0;z-index:90;display:none;place-items:center;padding:18px;background:rgba(4,12,23,.76);backdrop-filter:blur(14px)}.auth-gate.open{display:grid}.auth-card{width:min(460px,100%);max-height:calc(100vh - 28px);overflow:auto;padding:32px;border-radius:28px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.32)}.auth-card h2{font-size:2rem;letter-spacing:-.04em;margin:5px 0 8px}.auth-card p{color:var(--muted)}.auth-card .btn{width:100%;margin-top:15px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:18px 0 8px;padding:5px;border-radius:14px;background:var(--ice)}.auth-tabs button{border:0;border-radius:10px;padding:10px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.auth-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 4px 12px rgba(7,17,31,.08)}.signup-only,.verify-only{display:none}.auth-card.signup .signup-only,.auth-card.verify .signup-only,.auth-card.verify .verify-only{display:block}.auth-card.reset .signup-only{display:none}.auth-card.reset:not(.verify) #password-field{display:none}.auth-card.magic #password-field{display:none}.auth-secondary{display:block;width:100%;margin-top:12px;border:0;background:transparent;color:var(--blue);font-weight:750;cursor:pointer}.consents.signup-only{display:none}.auth-card.signup .consents.signup-only,.auth-card.verify:not(.reset) .consents.signup-only{display:grid}.consents{gap:10px;margin-top:17px;padding:14px;border-radius:14px;background:var(--ice)}.privacy-summary{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px}.privacy-summary summary{cursor:pointer;color:var(--blue);font-size:.78rem;font-weight:800}.privacy-summary p{margin:8px 0 0!important;font-size:.72rem;line-height:1.5;color:#5f6c7b!important}.consent{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;color:#49586a;font-size:.76rem;line-height:1.45}.consent input{width:auto;margin:3px 0 0}.consent a{color:var(--blue);text-decoration:underline}.consent small{display:block;color:#7c8795;margin-top:2px}.auth-message{display:none;margin-top:14px;padding:13px;border-radius:12px;background:#eef6ff;color:#365a7d;font-size:.82rem}.auth-message.show{display:block}.session-actions{display:flex;gap:8px;align-items:center}.dashboard.auth-locked{display:none}.secure-bar{background:#eaf8f1;color:#1d6247}


/* Phase 4 workflow clarity */
.client-feedback{display:none;margin:0 0 16px;padding:12px 16px;border-radius:14px;background:#eaf8f1;color:#1d6247;font-weight:700}.client-feedback.show{display:block}.client-feedback.error{background:#fff0f0;color:#8a3030}.invite-pending{display:inline-flex;margin-top:8px;padding:7px 10px;border-radius:999px;background:#f2f5f8;color:#526172;font-size:.8rem;font-weight:700}.program-summary h3{margin:.3rem 0 1rem}.program-facts,.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.program-facts>div,.admin-summary-grid>div{display:grid;gap:4px;padding:12px;border:1px solid rgba(22,47,67,.1);border-radius:14px;background:rgba(255,255,255,.65)}.program-facts small,.admin-summary-grid small{color:#72808b}.history-program{padding:16px;border:1px solid rgba(22,47,67,.1);border-radius:16px;background:rgba(255,255,255,.72)}.history-program-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.history-program-head div{display:grid;gap:4px}.history-counts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.history-counts span{padding:6px 9px;border-radius:999px;background:#eef3f4;color:#50606b;font-size:.78rem}.appointment-admin-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.appointment-admin-row>div:first-child{display:grid;gap:5px}.appointment-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.admin-client-summary,.admin-appointments,.admin-documents{margin:18px 0;padding:20px;border:1px solid rgba(22,47,67,.1);border-radius:20px;background:rgba(255,255,255,.78)}.admin-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.admin-summary-head h3{margin:.25rem 0}.admin-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-summary-empty{padding:10px;color:#6d7a84}.selected-client-banner{padding:10px 12px;border-radius:12px;background:#eef5f5;color:#304f55}.admin-tool-copy{font-size:.85rem;color:#697782}.admin-tool-tabs{display:flex;gap:8px;overflow-x:auto;margin:18px 0 8px;padding-bottom:4px}.admin-tool-tab{white-space:nowrap;border:1px solid rgba(22,47,67,.14);background:#fff;border-radius:999px;padding:9px 13px;cursor:pointer}.admin-tool-tab.active{background:#163b43;color:#fff}.admin-tools .admin-tool{display:none}.admin-tools .admin-tool.active{display:grid}.workflow-hidden{display:none!important}.appointment-actions input{min-width:230px}
@media(max-width:900px){.program-facts,.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-admin-row{display:grid}.appointment-actions input{min-width:100%}}
@media(max-width:520px){.program-facts,.admin-summary-grid{grid-template-columns:1fr}.admin-summary-head{display:grid}}

/* Phase 5 shared UI system */
:root{--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--space-1:6px;--space-2:10px;--space-3:14px;--space-4:20px;--control-height:44px;--danger:#b42318;--danger-soft:#fff1f0;--success:#16764f;--success-soft:#eaf8f1;--warning:#8a5a12;--warning-soft:#fff7df;--focus:#2f85ed}
html,body{max-width:100%;overflow-x:clip}body.modal-open{overflow:hidden;touch-action:none}button,select,input,textarea{max-width:100%}button,.btn,a,input,select,textarea,summary{outline:none}button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(47,133,237,.35);outline-offset:2px}.btn{min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.small{min-height:40px}.btn:disabled,button:disabled{cursor:wait;opacity:.62}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.danger.secondary{background:var(--danger-soft);color:var(--danger);border:1px solid rgba(180,35,24,.22)}
.field label,.admin-tool label{line-height:1.35}.required-mark{color:var(--danger);font-weight:900}.field input,.field select,.field textarea,.admin-tool input,.admin-tool select,.admin-tool textarea{min-height:var(--control-height);font-size:16px}.field textarea,.admin-tool textarea{min-height:96px}.field-error{display:block;margin-top:5px;color:var(--danger);font-size:.75rem;font-weight:700}input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--danger)!important;box-shadow:0 0 0 3px rgba(180,35,24,.1)!important}
.status-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:6px 10px;border-radius:999px;font-size:.74rem;font-weight:850;line-height:1.25}.status-badge>span{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:currentColor}.status-positive{color:var(--success);background:var(--success-soft)}.status-warning{color:var(--warning);background:var(--warning-soft)}.status-negative{color:var(--danger);background:var(--danger-soft)}.status-neutral{color:#526172;background:#edf2f5}.pill{display:inline-flex;align-items:center;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.toast-region{position:fixed;top:82px;right:18px;z-index:120;display:grid;gap:9px;width:min(390px,calc(100vw - 24px));pointer-events:none}.toast{display:grid;grid-template-columns:24px 1fr 32px;align-items:center;gap:9px;padding:13px 14px;border:1px solid rgba(22,47,67,.12);border-radius:var(--radius-md);background:#fff;color:#20323f;box-shadow:0 18px 48px rgba(7,17,31,.18);opacity:0;transform:translateY(-8px);transition:.18s ease;pointer-events:auto}.toast.show{opacity:1;transform:none}.toast>span:first-child{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--success-soft);color:var(--success);font-weight:900}.toast-error>span:first-child{background:var(--danger-soft);color:var(--danger)}.toast button{min-width:32px;min-height:32px;border:0;border-radius:50%;background:transparent;font-size:1.2rem;cursor:pointer}
.loading-state{display:flex;align-items:center;gap:10px;padding:18px;color:var(--muted)}.loading-state:before{content:"";width:18px;height:18px;border:2px solid #d7e2ec;border-top-color:var(--blue);border-radius:50%;animation:ui-spin .8s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.empty-state{min-height:74px;display:grid;place-items:center;line-height:1.45}.data-item,.card,.admin-tool,.admin-client-summary,.admin-appointments,.admin-documents{min-width:0}.data-item b,.data-item small,.file span,.admin-summary-grid b,.history-program b,.history-program small{overflow-wrap:anywhere;word-break:break-word}
.login,.auth-gate{overscroll-behavior:contain}.login-card,.auth-card{max-height:calc(100dvh - 28px);overscroll-behavior:contain}.close{min-width:44px;min-height:44px;cursor:pointer}.realization-chart{display:block;max-width:100%;overflow:hidden}.chart-text-summary{margin-top:8px;color:var(--muted);font-size:.78rem}.admin-actions-summary{display:grid;gap:5px}.appointment-state-grid{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.history-program{padding:0;overflow:hidden}.history-program summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;cursor:pointer;list-style:none}.history-program summary::-webkit-details-marker{display:none}.history-program summary:after{content:"+";flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf2f5;font-weight:900}.history-program[open] summary:after{content:"−"}.history-program .history-counts{padding:0 16px 16px;margin:0}.history-program-head{flex:1;min-width:0}.admin-tool-tab,.side .menu button,.auth-tabs button{min-height:44px}.admin-tool-tab[aria-selected="true"],.side .menu button[aria-selected="true"],.auth-tabs button[aria-selected="true"]{box-shadow:0 0 0 2px rgba(47,133,237,.16)}
@media(max-width:900px){.admin-head{align-items:stretch}.admin-head>.btn{width:100%}.admin-client-picker{max-width:none}.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-actions{width:100%}.appointment-actions .btn,.appointment-actions input{flex:1 1 180px}.client-table{overflow:visible}.client-row{border:1px solid var(--line);border-radius:var(--radius-md);margin-top:8px;background:#fff}.client-row:not(.head) span:before{display:block;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.client-row:not(.head) span:nth-child(2):before{content:"E-posta"}.client-row:not(.head) span:nth-child(3):before{content:"Durum"}}
@media(max-width:600px){.wrap{width:calc(100% - 20px)}.dashboard>.wrap{width:100%}.session-bar{align-items:flex-start}.session-actions{flex-wrap:wrap;justify-content:flex-end}.session-actions .pill{display:none}.welcome{display:grid;gap:8px}.welcome .pill{justify-self:start}.card-head{align-items:flex-start}.card-head>.btn{flex:0 0 auto}.stats{margin-inline:0}.stats .card{flex-basis:min(86%,300px)}.goal-meta{grid-template-columns:1fr}.realization-card{padding:16px}.score-form{grid-template-columns:1fr}.admin-console{padding:14px}.admin-client-summary,.admin-appointments,.admin-documents{padding:15px}.admin-summary-grid{grid-template-columns:1fr}.admin-tools .admin-tool{padding:15px}.appointment-actions{display:grid;grid-template-columns:1fr;width:100%}.appointment-actions .btn,.appointment-actions input{width:100%}.file{align-items:flex-start;gap:8px;flex-direction:column}.toast-region{top:70px;right:12px}.auth-gate,.login{padding:8px}.auth-card,.login-card{padding:22px 18px;border-radius:20px;max-height:calc(100dvh - 16px)}.auth-card h2,.login h2{font-size:1.55rem}.scheduler-grid{grid-template-columns:1fr}.history-program summary{padding:14px}.history-program .history-counts{padding:0 14px 14px}}
@media(max-width:360px){.brand{font-size:.86rem;letter-spacing:.15em}.session-bar{display:grid}.session-actions{justify-content:flex-start}.card{padding:16px}.quick{grid-template-columns:1fr}.stats .card{flex-basis:92%}.admin-head h2{font-size:1.45rem}.admin-tool-tabs{margin-inline:-4px}.btn{padding-inline:14px}}
.measurement-advisory{display:block;margin-top:7px;padding:9px 11px;border-radius:12px;background:var(--warning-soft);color:var(--warning);font-size:.76rem;font-weight:750;line-height:1.4}.measurement-advisory[hidden]{display:none}#panel[aria-busy="true"] .content{cursor:progress}.admin-client-summary[aria-busy="true"]{opacity:.72}.appointment-state-grid .status-badge{white-space:normal}.admin-summary-grid .admin-actions-summary{background:#eef6ff;border-color:#cfe2f7}.admin-summary-grid .admin-actions-summary b{color:#235a91}.side .menu,.admin-tool-tabs{scrollbar-width:thin}
@media(max-width:600px){.side .menu,.admin-tool-tabs{scroll-snap-type:x proximity}.side .menu button,.admin-tool-tab{scroll-snap-align:center}.admin-tool-tabs{position:sticky;top:62px;z-index:12;padding:8px 4px;background:rgba(247,250,252,.96);backdrop-filter:blur(10px)}.program-facts>div,.admin-summary-grid>div{padding:11px}.data-item{padding:14px}.appointment-state-grid{display:grid}.appointment-state-grid .status-badge{width:100%}}
.network-status{position:fixed;z-index:120;left:50%;bottom:18px;max-width:min(620px,calc(100% - 24px));padding:12px 16px;border-radius:14px;background:#7d2424;color:#fff;font-weight:750;box-shadow:0 14px 36px rgba(7,17,31,.24);opacity:0;pointer-events:none;transform:translate(-50%,18px);transition:.2s ease}.network-status.show{opacity:1;transform:translate(-50%,0)}.network-status.restored{background:#176a4b}

/* Phase 8 onboarding and nutrition plan */
.onboarding-card{margin-bottom:14px}.onboarding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.onboarding-grid section{padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--ice)}.onboarding-grid h4{margin:0 0 6px}.onboarding-grid p{min-height:44px;color:var(--muted)}.onboarding-grid .btn{width:100%;margin-top:8px}.onboarding-grid input[type=date]{width:100%;min-height:44px;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fff}.plan-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.plan-heading h4{margin:0;font-size:1.25rem}.plan-heading small{color:var(--muted)}.plan-meal,.plan-note{margin-top:10px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--ice)}.plan-meal>div{display:flex;justify-content:space-between;gap:12px}.plan-meal time{color:var(--blue);font-weight:800}.plan-meal p,.plan-note p{white-space:pre-wrap}.plan-meal small{display:block;color:var(--muted);margin-top:5px}.plan-history{margin-top:18px}.plan-history>summary{cursor:pointer;font-weight:850;color:var(--blue)}a[aria-disabled=true]{pointer-events:none;opacity:.55}@media(max-width:800px){.onboarding-grid{grid-template-columns:1fr}}
.nutrition-meal-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.nutrition-meal-editor legend{font-weight:850}.nutrition-meal-editor label{margin:0}.nutrition-meal-editor label:has(textarea),.nutrition-meal-editor .btn{grid-column:1/-1}.nutrition-preview{grid-column:1/-1;margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}@media(max-width:600px){.nutrition-meal-editor{grid-template-columns:1fr}.nutrition-meal-editor>*{grid-column:1!important}}
.weekly-snapshot{grid-column:1/-1}.weekly-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.weekly-snapshot-grid>div{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.weekly-snapshot-grid small{color:var(--muted)}@media(max-width:700px){.weekly-snapshot-grid{grid-template-columns:1fr}}
.nutrition-meal-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.nutrition-meal-actions .btn{grid-column:auto}.nutrition-preview section+section{margin-top:12px}.nutrition-preview small{display:block;margin-top:5px;color:var(--muted)}

/* Phase 9 native anamnesis */
.onboarding-card.onboarding-finished .onboarding-grid section:not(:first-child){display:none}.onboarding-card.onboarding-finished .onboarding-grid{grid-template-columns:minmax(0,1fr)}.native-anamnesis{grid-column:1/-1;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.native-anamnesis[hidden]{display:none}.anamnesis-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.anamnesis-head h3{margin:4px 0 6px}.anamnesis-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;padding:14px;border-radius:16px;background:#f3f7f8}.anamnesis-profile div{display:grid;gap:3px}.anamnesis-profile small,.anamnesis-profile p{color:var(--muted)}.anamnesis-profile p{grid-column:1/-1;margin:0;font-size:.78rem}.anamnesis-progress{display:grid;gap:8px;margin:16px 0}.anamnesis-progress>div{display:flex;justify-content:space-between;gap:12px}.anamnesis-progress span{color:var(--muted);font-size:.78rem}.anamnesis-progress progress{width:100%;height:12px;accent-color:var(--blue)}.anamnesis-section{margin-top:10px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.anamnesis-section summary{display:flex;justify-content:space-between;gap:12px;padding:16px;cursor:pointer;font-weight:850}.anamnesis-section summary small{color:var(--blue)}.anamnesis-section>div{display:grid;gap:14px;padding:0 16px 16px}.anamnesis-field{display:grid;gap:6px}.anamnesis-field label{font-size:.86rem;font-weight:800}.anamnesis-field small{color:var(--muted);font-size:.75rem}.anamnesis-field input,.anamnesis-field select,.anamnesis-field textarea{width:100%;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit}.anamnesis-field textarea{min-height:112px;resize:vertical}.anamnesis-actions{position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px)}.onboarding-card.anamnesis-complete .onboarding-grid section:first-child{background:#edf9f2;border-color:#bfe5cf}.admin-anamnesis-detail{display:grid;gap:14px;margin:14px 0}.first-meeting-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.first-meeting-summary>div{display:grid;gap:4px;padding:12px;border-radius:13px;background:#fff;color:var(--ink)}.first-meeting-summary small{color:var(--muted)}.anamnesis-meta{display:flex;flex-wrap:wrap;gap:7px}.anamnesis-meta span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.72rem}.anamnesis-clinical-summary,.anamnesis-readonly section{padding:15px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.08)}.anamnesis-clinical-summary h4,.anamnesis-readonly h4{margin:0 0 10px}.anamnesis-clinical-summary p{margin:7px 0}.anamnesis-readonly{display:grid;gap:10px}.anamnesis-answer{padding:10px 0;border-top:1px solid rgba(255,255,255,.12)}.anamnesis-answer:first-of-type{border-top:0}.anamnesis-answer small{color:#b9c7d2}.anamnesis-answer p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:800px){.first-meeting-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.anamnesis-field legend{font-size:.86rem;font-weight:800}.anamnesis-field fieldset{border:0;padding:0;margin:0;min-width:0}.anamnesis-options{display:grid;gap:.55rem;margin-top:.65rem}.anamnesis-option{display:flex!important;align-items:center;gap:.7rem;min-height:44px;padding:.65rem .75rem;border:1px solid var(--line);border-radius:12px;background:#fff}.anamnesis-option input{width:1.25rem!important;height:1.25rem!important;min-height:auto!important;margin:0;flex:0 0 auto}.anamnesis-option span{font-weight:600}
@media(max-width:600px){.anamnesis-head{display:grid}.anamnesis-head .btn{width:100%}.anamnesis-profile,.first-meeting-summary{grid-template-columns:1fr}.anamnesis-progress>div{display:grid;gap:4px}.anamnesis-actions{display:grid;grid-template-columns:1fr;padding:10px}.anamnesis-actions .btn{width:100%}.anamnesis-section summary{min-height:52px;align-items:center}.anamnesis-field textarea{min-height:128px}}
@media(max-width:360px){.native-anamnesis{margin-inline:-4px}.anamnesis-section summary,.anamnesis-section>div{padding-left:12px;padding-right:12px}}

/* Phase 9 v90 · deterministic password and membership access */
.admin-auth-card .verify-only,.membership-blocked-only{display:none}
.admin-auth-card.verify .verify-only{display:block}
.admin-auth-card.reset:not(.verify) #admin-password-field{display:none}
.auth-card.verify .signup-only,.auth-card.verify .consents.signup-only{display:none}
.auth-card.membership-blocked .auth-tabs,.auth-card.membership-blocked #auth-copy,.auth-card.membership-blocked #client-auth-form{display:none}
.auth-card.membership-blocked .membership-blocked-only{display:grid;gap:12px;margin-top:18px;padding:18px;border:1px solid #cfe2f7;border-radius:16px;background:#f2f8ff}
.membership-blocked-only strong{font-size:1.1rem;color:#173f69}.membership-blocked-only p{margin:0;line-height:1.55}.membership-blocked-only .btn{margin-top:2px}
.auth-card.signup.verify #password-field,.auth-card.signup.verify .reset-password-confirm{display:none}
.account-membership-card{margin:0 0 18px;padding:28px;border:1px solid #cfe2f7;background:linear-gradient(145deg,#f7fbff,#eef6ff)}.account-membership-card[hidden]{display:none}.account-membership-card h3{margin:7px 0 8px;font-size:1.45rem}.account-membership-card p{max-width:650px;color:var(--muted)}
.dashboard.membership-inactive .stats,.dashboard.membership-inactive .main-grid,.dashboard.membership-inactive #client-home-secondary,.dashboard.membership-inactive .client-plan-status,.dashboard.membership-inactive .menu [data-panel-view]:not([data-panel-view="overview"]):not([data-panel-view="documents"]){display:none!important}

/* Phase 9 v62 · enriched client management list */
.client-list-note{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;background:#fff}.client-list-note b{font-size:.95rem}.client-list-note span{color:var(--muted);font-size:.75rem;text-align:right}.client-table .client-row{grid-template-columns:1.35fr .85fr 1fr 1.35fr .85fr}.client-identity,.client-location{display:grid;min-width:0}.client-identity small,.client-location small{color:var(--muted);white-space:normal}.client-location b{font-size:.88rem}@media(max-width:900px){.client-table .client-row{grid-template-columns:repeat(2,minmax(0,1fr))}.client-table .client-row.head{display:none}.client-table .client-row:not(.head)>*:before{display:block;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.client-table .client-row:not(.head)>*:nth-child(1):before{content:"Danışan"}.client-table .client-row:not(.head)>*:nth-child(2):before{content:"Telefon"}.client-table .client-row:not(.head)>*:nth-child(3):before{content:"Şehir / Meslek"}.client-table .client-row:not(.head)>*:nth-child(4):before{content:"Aktif paket"}.client-table .client-row:not(.head)>*:nth-child(5):before{content:"Paket fiyatı"}}@media(max-width:600px){.client-list-note{align-items:flex-start;flex-direction:column}.client-list-note span{text-align:left}.client-table .client-row{grid-template-columns:1fr}}
.auth-secondary[hidden]{display:none!important}
.reset-only{display:none!important}.auth-card.reset .reset-only{display:block!important}.auth-card:not(.verify) .verify-only{display:none!important}

/* Phase 9 v91 · self-service client registration */
.client-invite-card{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.25fr);gap:22px;align-items:end;margin:18px 0;padding:22px;border:1px solid rgba(118,181,224,.38);border-radius:20px;background:linear-gradient(135deg,rgba(245,250,255,.13),rgba(238,248,244,.09))}.client-invite-card h3{margin:4px 0 7px}.client-invite-card p{margin:0;color:#b8c7d4;line-height:1.5}.client-invite-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.client-invite-fields label{display:grid;gap:6px;font-size:13px;font-weight:800;color:#c4d0dc}.client-invite-fields input{min-width:0;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:12px;background:#fff;color:var(--ink)}.client-invite-fields .btn{white-space:nowrap;margin:0}
.client-invite-pending{grid-column:1/-1;display:grid;gap:8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);color:#c4d0dc}.client-invite-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 13px;border:1px solid rgba(118,181,224,.25);border-radius:12px;background:rgba(255,255,255,.06);color:#fff;text-align:left;cursor:pointer}.client-invite-row span{display:grid}.client-invite-row small{color:#b8c7d4}.client-invite-row em{font-style:normal;font-size:12px;color:#9bd7be}
@media(max-width:900px){.client-invite-card,.client-invite-fields{grid-template-columns:1fr}}

.food-catalog-item{min-width:0;max-width:100%;display:flex;align-items:stretch}.food-catalog-item>button:first-child{min-width:0;white-space:normal;overflow-wrap:anywhere}.food-catalog-item .food-favorite{min-width:44px;min-height:44px}.weekly-food-pool-selected>div{max-height:14rem;overflow:auto}.weekly-food-pool-candidates button{min-height:44px;white-space:normal}

/* Activity review is scoped to the existing client plan, not a new panel or published-guide source. */
.activity-library-review-dialog{position:fixed;inset:0;margin:auto;width:min(70rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);box-sizing:border-box;border:0;border-radius:1rem;padding:1rem;color:#192b44;overflow:auto;overflow-wrap:anywhere}
.activity-library-review-dialog::backdrop{background:rgb(15 30 48 / .55)}
.activity-library-review-dialog>header{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:0 0 .75rem;background:white}
.activity-library-review-dialog h2{margin:0;font-size:1.5rem}.activity-library-review-dialog input{width:100%;box-sizing:border-box}
.activity-library-review-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin:1rem auto;max-width:34rem}
.activity-library-review-card{min-width:0;padding:1rem;background:#f5f7fa;border-radius:.75rem}
.activity-library-review-card .cover{aspect-ratio:1;background-size:300% 300%;border-radius:.75rem}
.activity-library-review-card .phases,.activity-library-review-card .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.activity-library-review-card figure,.activity-library-review-card section{min-width:0;margin:0}.activity-library-review-card section{padding-block:1rem;border-top:1px solid #dbe4ef}.activity-library-review-card .content-review-status{padding:.75rem;border-radius:.5rem;background:#fff7dd;color:#192b44}.activity-library-review-card img{display:block;width:100%;height:auto;object-fit:contain}.activity-library-review-card summary{cursor:pointer;padding-block:.75rem;min-height:44px;box-sizing:border-box}
.activity-library-review-card a{display:inline-block;min-height:44px;overflow-wrap:anywhere}.activity-library-review-card .line{display:block;margin-top:.5rem}
.activity-library-review-dialog button{min-height:44px}.activity-library-review-card .tag{font-size:.875rem}
@media(max-width:35rem){.activity-library-review-card .phases,.activity-library-review-card .grid{grid-template-columns:minmax(0,1fr)}.activity-library-review-grid{grid-template-columns:1fr}.activity-library-review-dialog{position:fixed;inset:0;margin:auto;width:calc(100% - 1rem);padding:.75rem}.activity-library-review-dialog>header{flex-wrap:wrap}}

.activity-library-review-dialog [hidden]{display:none!important}

.recipe-portion-book{grid-column:1/-1;min-width:0;padding-block:1rem;border-top:1px solid #dae2ec;overflow-wrap:anywhere}.recipe-portion-book header,.recipe-portion-book nav,.recipe-book-portions{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;background:transparent;padding:.5rem 0}.recipe-portion-book img{display:block;width:100%;max-width:30rem;height:auto;object-fit:contain;margin-inline:auto}.recipe-portion-book button,.recipe-portion-book summary{min-height:44px}.recipe-book-portions button{flex:1 1 9rem;white-space:normal}.recipe-portion-book h4,.recipe-portion-book h5{margin:.5rem 0}.recipe-portion-book p{white-space:pre-line}.recipe-portion-book [hidden]{display:none!important}

.recipe-portion-book button{border:1px solid #d6dfe9;border-radius:.6rem;padding:.6rem .8rem;background:white;color:#192f4b;font:inherit;cursor:pointer}.recipe-portion-book button[aria-pressed="true"]{background:#192f4b;color:white}.recipe-portion-book button:disabled{opacity:.5;cursor:default}
