:root{color-scheme:light;--bg: #f6f2e8;--panel: rgba(255, 251, 244, .94);--ink: #1f3f2b;--muted: #6f7868;--line: rgba(177, 137, 55, .18);--accent: #1f5a35;--accent-strong: #17472a;--accent-soft: #d2a23b;--accent-soft-strong: #b88119;--accent-cool: #3148aa;--header-bg: linear-gradient(135deg, #1c4f31 0%, #275e3d 52%, #c9972f 100%);--header-panel: rgba(255, 248, 237, .22);--danger: #b42318;--shadow: 0 18px 50px rgba(64, 49, 14, .12);font-family:Segoe UI,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at top left,rgba(210,162,59,.16),transparent 26%),radial-gradient(circle at right,rgba(49,72,170,.08),transparent 24%),linear-gradient(180deg,#fbf7ef,#f1eadf)}button,input,select{font:inherit}.page-shell{max-width:1280px;margin:0 auto;padding:24px 20px 40px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;margin-inline:auto;padding:18px 22px;border:1px solid rgba(255,244,219,.28);border-radius:28px;background:var(--header-bg);box-shadow:0 24px 60px #2d47223d}.topbar-visitor,.topbar-auth{max-width:1040px}.topbar-admin{max-width:1160px}.eyebrow{margin:0 0 4px;letter-spacing:.08em;text-transform:uppercase;color:#fff3d4e0;font-size:.72rem;font-weight:700}.brand-lockup h1{margin:0;font-size:clamp(1.2rem,2.4vw,1.8rem);line-height:1.1;font-weight:700;color:#fffaf0}.header-logo-shell{width:88px;height:88px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:8px;background:#fffdf8fa;border:3px solid rgba(229,188,98,.7);box-shadow:0 12px 28px #1f3f2b2e}.header-logo{width:100%;height:100%;border-radius:50%;object-fit:contain}.main-stage{display:flex;flex-direction:column;gap:20px;align-items:center}.main-stage>*{width:100%}.single-panel{max-width:1040px}.admin-panel{max-width:1160px}.panel{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}.panel-header h2,.section-title h3{margin:0;font-size:1.15rem}.panel-header p,.section-title p,.field span,.helper-text,.empty-state,.user-meta p{color:var(--muted)}.stack-lg,.stack-md{display:flex;flex-direction:column}.stack-lg{gap:18px}.stack-md{gap:14px}.field{display:flex;flex-direction:column;gap:8px}.field input,.field select,.notes-area,.upload-box,.admin-search-input{border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#ffffffd1}.phone-field-row{display:grid;grid-template-columns:110px 1fr;gap:10px}.password-field-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.password-toggle-button{padding:10px 12px;min-width:72px}.notes-area{resize:vertical;min-height:120px}.upload-box{display:flex;flex-direction:column;gap:12px}.upload-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:fit-content;max-width:100%;padding:8px;border:1px dashed rgba(31,90,53,.32);border-radius:14px;background:#ffffffb8;cursor:pointer}.hidden-file-input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.upload-picker .upload-select-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:11px;background:linear-gradient(135deg,var(--accent) 0%,#2a7245 100%);color:#fff;font-weight:700;box-shadow:0 10px 22px #1f5a352e}.upload-picker-copy{color:var(--muted);font-size:.94rem}.segmented-control{display:inline-flex;gap:8px;padding:6px;border-radius:999px;background:#18230f0f;width:fit-content}.segmented-control button,.primary-button,.secondary-button,.ghost-button,.danger-button,.nav-pill,.link-button{border:0;cursor:pointer;transition:transform .18s ease,opacity .18s ease,background .18s ease}.segmented-control button{padding:10px 16px;border-radius:999px;background:transparent;color:var(--ink)}.segmented-control .active{background:var(--accent);color:#fff}.primary-button,.secondary-button,.ghost-button,.danger-button,.nav-pill{padding:12px 18px;border-radius:12px;font-weight:600}.primary-button{background:linear-gradient(135deg,var(--accent) 0%,#2a7245 100%);color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.secondary-button{background:#d2a23b29;color:var(--accent-soft-strong)}.ghost-button{background:#fffcf7d1;border:1px solid var(--line)}.danger-button{background:#a9402f29;color:var(--danger)}.link-button{width:fit-content;padding:0;background:transparent;color:var(--accent-cool);font-weight:600;text-align:left}.link-button:hover{color:var(--accent)}.inline-actions{display:flex;gap:12px;flex-wrap:wrap}.portal-switch{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;padding:6px;border-radius:16px;border:1px solid var(--line);background:#ffffffb8;margin-left:auto}.auth-mode-switch{margin-left:0;justify-content:flex-start}.admin-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.admin-search-input{min-width:360px;flex:1 1 420px}.nav-pill{background:transparent;color:var(--muted)}.nav-pill.active{background:linear-gradient(135deg,var(--accent) 0%,#2a7245 100%);color:#fff}a{color:var(--accent-cool)}a:hover{color:var(--accent)}.camera-preview,.photo-preview{width:100%;max-width:360px;min-height:240px;border-radius:16px;display:block;object-fit:cover;background:#1f1f1f}.preview-card,.camera-box{border:1px solid var(--line);border-radius:18px;padding:16px;background:#f8fafcdb}.hidden-canvas{display:none}.status-message{margin:0;padding:12px 14px;border-radius:14px}.helper-text{margin:0;font-size:.95rem}.field-error{color:var(--danger);font-size:.92rem}.status-message.success{background:#2f6f4f1f;color:var(--accent-strong)}.status-message.error{background:#a9402f1f;color:var(--danger)}.user-list{display:grid;gap:16px}.user-card{display:grid;grid-template-columns:110px 1fr;gap:16px;border:1px solid var(--line);border-radius:18px;padding:14px;background:#f8fafce6}.wide-card{grid-template-columns:160px 1fr}.user-avatar{width:110px;height:110px;object-fit:cover;border-radius:18px}.user-meta h3{margin:0 0 8px}.user-meta p{margin:0 0 6px}.audio-player{width:100%;margin-top:10px}.uploaded-file-list{display:grid;gap:10px;margin-top:10px}.uploaded-file-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffffad}.uploaded-file-row .ghost-button{flex-shrink:0}.file-action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.file-action-row .ghost-button,.file-action-row .primary-button{width:auto;min-width:92px;justify-content:center;text-decoration:none}.file-remove-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border:1px solid rgba(180,35,24,.16);border-radius:50%;background:#a9402f1a;color:var(--danger);font-size:1.25rem;line-height:1;cursor:pointer}.file-remove-button:hover{background:#a9402f29}.nested-panel{padding:18px}.table-shell{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#ffffffdb}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table th{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.admin-table tbody tr{cursor:pointer;transition:background .18s ease}.admin-table tbody tr:hover{background:#2f6f4f0f}.admin-table tbody tr.selected{background:#2f6f4f1f}.panel-header-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.patient-card-header{align-items:flex-start}.patient-header-profile{display:flex;align-items:center;gap:14px}.patient-header-copy{display:flex;flex-direction:column;gap:6px}.patient-header-copy h2{margin:0}.patient-header-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.patient-header-details{display:flex;flex-wrap:wrap;gap:6px 16px}.patient-header-details p{margin:0}.patient-header-avatar{width:72px;height:72px;object-fit:cover;border-radius:18px;border:1px solid var(--line);background:#f8fafce6;flex-shrink:0}.patient-avatar-shell{position:relative;width:72px;height:72px;flex-shrink:0}.patient-avatar-shell .patient-header-avatar{display:block}.patient-avatar-download{position:absolute;right:6px;bottom:6px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid rgba(255,255,255,.54);border-radius:50%;background:#1f3f2be0;color:#fffaf0;cursor:pointer;opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease,background .18s ease}.patient-avatar-download:before{content:"";width:8px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}.patient-avatar-download:after{content:"";position:absolute;bottom:7px;width:12px;height:2px;border-radius:999px;background:currentColor}.patient-avatar-shell:hover .patient-avatar-download,.patient-avatar-shell:focus-within .patient-avatar-download{opacity:1;transform:translateY(0)}.patient-avatar-download:hover,.patient-avatar-download:focus-visible{background:#1f5a35f5}.patient-actions-menu{position:relative;margin-left:auto}.patient-actions-toggle{width:48px;min-width:48px;padding:12px 0;text-align:center}.patient-actions-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:20;min-width:180px;padding:8px;border-radius:14px;border:1px solid var(--line);background:#fffffffa;box-shadow:var(--shadow)}.patient-action-item{width:100%}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#17212b61}.modal-dialog{width:min(100%,460px);padding:20px;border-radius:20px;border:1px solid var(--line);background:#fffffffa;box-shadow:0 24px 60px #0f172a2e}.modal-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.admin-summary{align-items:center}.compact-summary{padding-top:0}.auth-card{max-width:720px;margin-inline:auto}.detail-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.detail-stat{padding:14px;border:1px solid var(--line);border-radius:16px;background:#f8fafce6}.stat-action-button{margin-top:0;margin-left:10px;padding:7px 12px;border-radius:10px;font-size:.84rem;line-height:1.2;min-height:34px;width:fit-content}.detail-stat-label{display:block;margin-bottom:6px;color:var(--muted);font-size:.84rem}.entry-selector{max-width:420px}.patient-entry-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:#f4f8fbeb}.entry-summary-card{padding:16px;border:1px solid var(--line);border-radius:18px;background:#f8fafce6}.entry-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.entry-summary-item strong{display:block;margin-top:4px}.patient-entry-header,.coach-entry-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.patient-entry-title{margin:0 0 4px;font-size:1rem;font-weight:700}.entry-chip-row{display:flex;gap:8px;flex-wrap:wrap}.entry-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffffd1;color:var(--muted);font-size:.82rem;font-weight:600}.subtle-chip{background:#0f766e14}.coach-entry-section{padding-top:4px}.section-divider{padding-top:4px;border-top:1px solid var(--line)}.coach-entry-list{display:grid;gap:12px}.coach-entry-card{padding:14px;border-radius:16px;border:1px solid var(--line);background:#f8fafce6}.coach-entry-title{margin:0 0 8px;font-weight:700}.admin-note-form{padding-top:8px;border-top:1px solid var(--line)}.readonly-detail{display:grid;gap:4px}.readonly-detail span{color:var(--muted)}.add-coach-entry-button{width:fit-content}.chakra-fieldset{display:flex;flex-direction:column;gap:12px;margin:0;padding:14px;border:1px solid var(--line);border-radius:16px;background:#ffffff9e}.chakra-fieldset legend{padding:0 6px;font-weight:700}.chakra-grid{display:grid;gap:10px}.chakra-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,2fr);gap:12px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f8fafcd1}.chakra-name{margin:0;font-weight:700}.chakra-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.checkbox-option{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.9rem}.chakra-summary{display:grid;gap:6px;padding:10px;border-radius:12px;background:#2f6f4f14}.chakra-summary p{margin:0}.pagination-bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}@media (max-width: 900px){.topbar{align-items:center;max-width:100%}.portal-switch{margin-left:0;justify-content:flex-start}.panel-header-row{align-items:flex-start;flex-direction:column}.admin-summary{gap:4px}.detail-stats,.entry-summary-grid,.chakra-row{grid-template-columns:1fr}.chakra-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.page-shell{padding:16px 12px 28px}.topbar{gap:14px;padding:16px 18px;border-radius:22px}.brand-lockup{min-width:0}.brand-lockup h1{font-size:1.2rem}.panel{padding:16px;border-radius:18px}.header-logo-shell{width:72px;height:72px;padding:6px}.user-card{grid-template-columns:1fr}.user-avatar{width:100%;height:240px}.portal-switch{width:100%}.nav-pill{flex:1 1 0;text-align:center}.admin-toolbar{flex-direction:column;align-items:stretch}.phone-field-row,.password-field-row{grid-template-columns:1fr}.admin-search-input,.primary-button,.ghost-button,.secondary-button,.danger-button{width:100%;min-width:0}.pagination-bar{justify-content:stretch}.patient-entry-card{padding:14px}.modal-actions{flex-direction:column}.stat-action-button,.patient-actions-toggle{width:auto}.patient-actions-menu{width:auto;align-self:flex-end}.admin-search-input{min-width:0;flex:1 1 auto}}
