:root{color:#17324d;font-synthesis:none;text-rendering:optimizelegibility;background:#edf6fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #087ca73d}.login-page{background:radial-gradient(circle at 12% 10%,#6ec9e23d,#0000 35%),radial-gradient(circle at 88% 90%,#087ca71a,#0000 30%),linear-gradient(145deg,#f7fbfd 0%,#e4f2f8 100%);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.login-card{background:#ffffffeb;border:1px solid #17324d14;border-radius:28px;width:min(100%,510px);padding:clamp(30px,6vw,50px);box-shadow:0 24px 70px #265b7526}.brand{justify-content:center;align-items:center;gap:12px;margin-bottom:38px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#087ca7,#0b5d7d);border-radius:14px;place-items:center;width:46px;height:46px;font-size:21px;font-weight:800;display:grid;box-shadow:0 12px 30px #087ca73d}.brand-name{color:#17324d;letter-spacing:-.035em;font-size:1.35rem;font-weight:800}.login-header{text-align:center}.eyebrow{color:#087ca7;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}h1{color:#17324d;letter-spacing:-.045em;margin:0;font-size:clamp(1.9rem,6vw,2.55rem);line-height:1.15}.intro{color:#587083;margin:14px auto 0;font-size:1rem;line-height:1.6}.login-form{gap:22px;margin-top:36px;display:grid}.form-field{gap:9px;display:grid}.form-field label{color:#25445f;font-size:.9rem;font-weight:750}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper input{color:#17324d;background:#f8fbfc;border:1px solid #cad9e2;border-radius:14px;width:100%;height:54px;padding:0 48px;transition:border-color .16s,box-shadow .16s}.input-wrapper input:hover:not(:disabled){border-color:#8eb5c7}.input-wrapper input:focus{background:#fff;border-color:#087ca7;outline:none;box-shadow:0 0 0 4px #087ca71a}.input-wrapper input::placeholder{color:#8a9ba8}.input-wrapper input:disabled{cursor:wait;opacity:.7}.input-icon,.password-toggle{z-index:1;color:#6b8293;place-items:center;display:grid;position:absolute}.input-icon{pointer-events:none;left:16px}.password-toggle{cursor:pointer;background:0 0;border:0;border-radius:10px;width:38px;height:38px;padding:0;right:8px}.password-toggle:hover:not(:disabled){color:#087ca7;background:#eaf4f8}.input-icon svg,.password-toggle svg,.error-message svg,.security-note svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px}.error-message{color:#9a342e;background:#fff0ef;border:1px solid #f2cac6;border-radius:12px;align-items:flex-start;gap:10px;margin-top:-6px;padding:13px 14px;font-size:.9rem;line-height:1.45;display:flex}.error-message svg{flex:none;margin-top:1px}.primary-button,.secondary-button{cursor:pointer;border-radius:14px;min-height:52px;padding:0 24px;font-weight:750;transition:transform .16s,box-shadow .16s,background .16s}.primary-button{color:#fff;background:linear-gradient(145deg,#087ca7,#096988);border:0;justify-content:center;align-items:center;gap:10px;display:inline-flex;box-shadow:0 12px 26px #087ca738}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button:hover:not(:disabled){box-shadow:0 15px 32px #087ca74d}.primary-button:disabled{cursor:wait;opacity:.72}.spinner{border:2px solid #ffffff6b;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.security-note{color:#718593;justify-content:center;align-items:center;gap:8px;margin:28px 0 0;font-size:.82rem;display:flex}.security-note svg{color:#4c8b7a;width:17px;height:17px}.dashboard-page{color:#17324d;background:radial-gradient(circle at 95% 5%,#6ec9e22e,#0000 28%),#f3f8fb;min-height:100vh}.dashboard-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #dce8ee}.dashboard-header-content,.dashboard-main{width:min(100% - 40px,1180px);margin:0 auto}.dashboard-header-content{justify-content:space-between;align-items:center;gap:28px;min-height:78px;display:flex}.dashboard-brand{letter-spacing:-.035em;align-items:center;gap:11px;font-size:1.25rem;font-weight:800;display:flex}.dashboard-brand-mark{color:#fff;background:linear-gradient(145deg,#087ca7,#0b5d7d);border-radius:12px;place-items:center;width:40px;height:40px;font-size:1.12rem;display:grid;box-shadow:0 8px 20px #087ca733}.account-area{align-items:center;gap:12px;display:flex}.user-avatar{color:#116b62;background:#dff3ee;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.9rem;font-weight:800;display:grid}.user-email{color:#526b7d;text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:.88rem;font-weight:650;overflow:hidden}.logout-button{color:#536b7b;cursor:pointer;background:0 0;border:1px solid #d4e1e7;border-radius:11px;align-items:center;gap:8px;min-height:40px;padding:0 13px;font-size:.86rem;font-weight:700;transition:color .16s,background .16s,border-color .16s;display:inline-flex}.logout-button:hover{color:#923d38;background:#fff4f3;border-color:#e9c7c4}.logout-button svg,.app-card-footer svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.dashboard-main{padding-top:clamp(48px,7vw,84px);padding-bottom:80px}.dashboard-welcome{max-width:720px}.dashboard-welcome h1{font-size:clamp(2.2rem,6vw,3.65rem)}.dashboard-welcome>p:last-child{color:#587083;max-width:660px;margin:18px 0 0;font-size:clamp(1rem,2vw,1.1rem);line-height:1.7}.applications-section{margin-top:clamp(52px,7vw,78px)}.section-heading{border-bottom:1px solid #d7e4ea;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:20px;display:flex}.section-heading h2{color:#17324d;letter-spacing:-.025em;margin:0;font-size:1.35rem}.section-heading p{color:#6a8191;margin:7px 0 0;font-size:.94rem}.app-count{color:#517080;background:#e7f1f5;border-radius:999px;flex:none;padding:7px 11px;font-size:.78rem;font-weight:700}.app-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),380px));gap:24px;margin-top:28px;display:grid}.app-card{background:#fff;border:1px solid #d8e5eb;border-radius:22px;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden;box-shadow:0 16px 40px #265b751a}.app-card:focus-within{border-color:#79b6ca;box-shadow:0 0 0 4px #087ca71a,0 22px 48px #265b7526}.app-card:hover{border-color:#b8d4df;transform:translateY(-3px);box-shadow:0 22px 48px #265b7526}.app-card-top{justify-content:space-between;align-items:flex-start;padding:26px 26px 16px;display:flex}.swimcoach-icon{color:#fff;background:linear-gradient(145deg,#0e92bb,#076985);border-radius:18px;place-items:center;width:62px;height:62px;display:grid;box-shadow:0 12px 28px #087ca73d}.swimcoach-icon img{object-fit:contain;filter:invert();width:47px;height:47px}.availability-badge{color:#28715c;background:#e6f5ef;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:.75rem;font-weight:750;display:inline-flex}.availability-badge>span{background:#32a178;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #32a17821}.app-card-content{padding:4px 26px 26px}.app-category{color:#087ca7;letter-spacing:.09em;text-transform:uppercase;margin:0 0 7px;font-size:.72rem;font-weight:800}.app-card h3{color:#17324d;letter-spacing:-.035em;margin:0;font-size:1.55rem}.app-description{color:#617787;margin:13px 0 0;font-size:.93rem;line-height:1.6}.app-features{flex-wrap:wrap;gap:7px;margin:22px 0 0;padding:0;list-style:none;display:flex}.app-features li{color:#526d7d;background:#f0f6f8;border-radius:8px;padding:6px 10px;font-size:.75rem;font-weight:650}.app-card-footer{color:#087ca7;cursor:pointer;background:#f8fbfc;border:0;border-top:1px solid #e2ecef;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:54px;padding:0 26px;font-size:.8rem;font-weight:650;transition:color .16s,background .16s;display:flex}.app-card-footer:hover{color:#075f7d;background:#edf7fa}.app-card-footer svg{color:currentColor;flex:none}.swimcoach-page{color:#17324d;background:#f3f8fb;min-height:100vh}.swimcoach-topbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #dce8ee;position:relative}.swimcoach-topbar-content{justify-content:space-between;align-items:center;gap:24px;min-height:70px;padding:0 24px;display:flex}.hub-back-button{color:#17324d;letter-spacing:-.025em;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:5px 8px 5px 2px;font-size:1.05rem;font-weight:800;display:inline-flex}.hub-back-button:hover{background:#edf5f8}.hub-back-button>svg{width:19px;height:19px}.hub-back-button svg,.swimcoach-navigation svg,.sidebar-dashboard-link svg,.breadcrumb svg,.prepared-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.swimcoach-layout{grid-template-columns:252px minmax(0,1fr);min-height:calc(100vh - 71px);display:grid}.swimcoach-sidebar{background:#fff;border-right:1px solid #dce8ee;flex-direction:column;padding:30px 18px 22px;display:flex}.sidebar-app-heading{border-bottom:1px solid #e6eef2;align-items:center;gap:12px;padding:0 10px 28px;display:flex}.sidebar-app-icon{color:#fff;background:linear-gradient(145deg,#0e92bb,#076985);border-radius:13px;flex:none;place-items:center;width:44px;height:44px;display:grid}.sidebar-app-icon img{object-fit:contain;filter:invert();width:34px;height:34px}.sidebar-app-heading div{color:#17324d;font-size:.94rem;line-height:1.1;display:grid}.sidebar-app-heading strong{margin-top:3px;font-size:1.05rem}.swimcoach-navigation{gap:6px;margin-top:24px;display:grid}.swimcoach-navigation button,.sidebar-dashboard-link{color:#5c7383;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;min-height:46px;padding:0 13px;font-size:.9rem;font-weight:700;transition:color .15s,background .15s;display:flex}.swimcoach-navigation button:hover,.sidebar-dashboard-link:hover{color:#087ca7;background:#edf6f9}.swimcoach-navigation button.active{color:#076d90;background:#e4f2f7;box-shadow:inset 3px 0 #087ca7}.swimcoach-navigation svg,.sidebar-dashboard-link svg{flex:none;width:21px;height:21px}.sidebar-dashboard-link{border-top:1px solid #e6eef2;border-radius:0 0 11px 11px;margin-top:auto}.swimcoach-content{width:min(100%,1050px);padding:38px clamp(24px,5vw,68px) 70px}.breadcrumb{color:#8295a1;align-items:center;gap:6px;font-size:.78rem;display:flex}.breadcrumb button{color:#5f7b8a;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:3px;font-weight:650}.breadcrumb button:hover{color:#087ca7;text-decoration:underline}.breadcrumb svg{width:13px;height:13px}.breadcrumb strong{color:#526b7a}.content-header{margin-top:36px}.content-header h1{font-size:clamp(2rem,5vw,3.15rem)}.content-header>p:last-child{color:#617a8a;margin:14px 0 0;line-height:1.6}.prepared-area{text-align:center;background:#fff;border:1px solid #dbe7ed;border-radius:22px;align-content:center;place-items:center;min-height:335px;margin-top:38px;padding:42px;display:grid;box-shadow:0 14px 38px #265b7514}.prepared-icon{color:#087ca7;background:#e8f5f9;border-radius:19px;place-items:center;width:66px;height:66px;display:grid}.prepared-icon svg{width:34px;height:34px}.prepared-badge{color:#397565;background:#e8f6f0;border-radius:999px;margin-top:22px;padding:6px 10px;font-size:.72rem;font-weight:750}.prepared-area h2{color:#17324d;letter-spacing:-.025em;margin:14px 0 0;font-size:1.65rem}.prepared-area p{color:#677e8d;max-width:530px;margin:12px 0 0;line-height:1.65}.customers-overview{margin-top:34px}.customer-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.customer-success-message{color:#286f59;background:#e7f6ef;border:1px solid #c5e7d8;border-radius:12px;align-items:center;gap:10px;margin-bottom:16px;padding:13px 14px;font-size:.82rem;font-weight:650;display:flex}.customer-success-message>svg,.customer-success-message button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:19px;height:19px}.customer-success-message>span{flex:1}.customer-success-message button{color:#4e7f6e;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:30px;height:30px;padding:0;display:grid}.customer-success-message button:hover{background:#266f5917}.customer-search{align-items:center;width:min(100%,480px);display:flex;position:relative}.customer-search>svg{z-index:1;color:#718795;pointer-events:none;width:20px;height:20px;position:absolute;left:16px}.customer-search input{color:#17324d;background:#fff;border:1px solid #ccdce4;border-radius:13px;width:100%;height:50px;padding:0 48px;transition:border-color .16s,box-shadow .16s;box-shadow:0 7px 20px #265b750d}.customer-search input:hover{border-color:#91b7c7}.customer-search input:focus{border-color:#087ca7;outline:none;box-shadow:0 0 0 4px #087ca71a}.customer-search input::placeholder{color:#8a9ba7}.customer-search>button{z-index:1;color:#748996;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;right:8px}.customer-search>button:hover{color:#087ca7;background:#eaf4f8}.customer-search>button svg{width:17px;height:17px}.customer-search svg,.refresh-button svg,.customer-state svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.customer-filters{background:#e7f0f4;border-radius:12px;flex:none;gap:4px;padding:4px;display:inline-flex}.customer-toolbar-actions{flex:none;align-items:center;gap:10px;display:flex}.new-customer-button{color:#fff;white-space:nowrap;cursor:pointer;background:linear-gradient(145deg,#087ca7,#096988);border:0;border-radius:12px;align-items:center;gap:8px;min-height:46px;padding:0 15px;font-size:.8rem;font-weight:750;display:inline-flex;box-shadow:0 9px 22px #087ca730}.new-customer-button:hover{transform:translateY(-1px);box-shadow:0 12px 26px #087ca745}.new-customer-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.customer-filters button{color:#617987;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;min-height:38px;padding:0 11px;font-size:.8rem;font-weight:700;display:inline-flex}.customer-filters button:hover{color:#087ca7}.customer-filters button.active{color:#075f7f;background:#fff;box-shadow:0 3px 10px #265b751a}.customer-filters button span{color:#66808e;background:#dce9ee;border-radius:999px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:.68rem;display:grid}.customer-filters button.active span{color:#087296;background:#e4f2f7}.customer-results-panel{background:#fff;border:1px solid #d9e6eb;border-radius:18px;overflow:hidden;box-shadow:0 13px 34px #265b7512}.customer-results-heading{border-bottom:1px solid #e1ebef;justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:17px 22px;display:flex}.customer-results-heading h2{color:#17324d;letter-spacing:-.015em;margin:0;font-size:1.05rem}.customer-results-heading p{color:#7a8f9b;margin:5px 0 0;font-size:.8rem}.refresh-button{color:#527181;cursor:pointer;background:#f3f8fa;border:1px solid #d8e5ea;border-radius:10px;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-size:.78rem;font-weight:700;display:inline-flex}.refresh-button:hover:not(:disabled){color:#087ca7;background:#eaf4f8}.refresh-button:disabled{cursor:wait;opacity:.6}.refresh-button svg{width:17px;height:17px}.customer-table-wrapper{overflow-x:auto}.customer-table{border-collapse:collapse;width:100%}.customer-table th{color:#758a97;text-align:left;text-transform:uppercase;letter-spacing:.06em;background:#f7fafb;border-bottom:1px solid #e4edf0;padding:12px 18px;font-size:.7rem;font-weight:800}.customer-table td{color:#536d7c;vertical-align:middle;border-bottom:1px solid #e8eff2;padding:17px 18px;font-size:.84rem}.customer-table tbody tr:last-child td{border-bottom:0}.customer-table tbody tr:hover{background:#f9fcfd}.customer-name-cell{align-items:center;gap:12px;min-width:190px;display:flex}.customer-name-button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0}.customer-name-button:hover strong,.customer-name-button:focus-visible strong{color:#087ca7}.customer-avatar{color:#0c7180;background:linear-gradient(145deg,#dff3f3,#e8f3fa);border:1px solid #c7e3e6;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:.78rem;font-weight:800;display:grid}.customer-name-cell>div,.customer-contact{gap:4px;display:grid}.customer-name-cell strong{color:#24445d;font-size:.9rem}.customer-name-cell>div>span,.customer-contact span{color:#8a9ba5;font-size:.75rem}.customer-contact{min-width:180px}.customer-contact a{color:#567482;width:fit-content;text-decoration:none}.customer-contact a:hover{color:#087ca7;text-decoration:underline}.source-label{text-overflow:ellipsis;white-space:nowrap;max-width:160px;display:inline-block;overflow:hidden}.customer-status{border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:.72rem;font-weight:750;display:inline-flex}.customer-status>span{border-radius:50%;width:7px;height:7px}.customer-status.active{color:#28715c;background:#e6f5ef}.customer-status.active>span{background:#32a178}.customer-status.inactive{color:#7b6c62;background:#f1eeeb}.customer-status.inactive>span{background:#99877a}.customer-action-cell{text-align:right;width:58px}.customer-open-button{color:#66808e;cursor:pointer;background:#f0f6f8;border:0;border-radius:10px;place-items:center;width:36px;height:36px;margin-left:auto;padding:0;transition:color .15s,background .15s,transform .15s;display:grid}.customer-open-button:hover{color:#087ca7;background:#e3f1f6;transform:translate(2px)}.customer-open-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.customer-state{text-align:center;align-content:center;place-items:center;min-height:300px;padding:40px 22px;display:grid}.customer-state-icon{color:#5f8496;background:#edf5f8;border-radius:17px;place-items:center;width:58px;height:58px;display:grid}.customer-state-icon svg{width:28px;height:28px}.customer-state h3{color:#24445d;margin:17px 0 0;font-size:1.1rem}.customer-state p{color:#728894;max-width:440px;margin:9px 0 0;font-size:.87rem;line-height:1.55}.customer-state button{color:#087297;cursor:pointer;background:#e9f4f8;border:1px solid #c9e1e9;border-radius:10px;min-height:40px;margin-top:18px;padding:0 14px;font-size:.8rem;font-weight:750}.customer-error .customer-state-icon{color:#9a443e;background:#fff0ef}.customer-skeleton{display:grid}.customer-skeleton>div{border-bottom:1px solid #e8eff2;grid-template-columns:1.4fr 1fr .7fr;align-items:center;gap:28px;min-height:74px;padding:14px 20px;display:grid}.customer-skeleton>div:last-child{border-bottom:0}.customer-skeleton span{background:linear-gradient(90deg,#edf2f4 25%,#f7f9fa 50%,#edf2f4 75%) 0 0/200% 100%;border-radius:999px;height:13px;animation:1.4s linear infinite skeleton-loading}.customer-skeleton span:nth-child(2){width:80%}.customer-skeleton span:nth-child(3){width:60%}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.customer-record{margin-top:32px}.record-back-button{color:#567483;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;min-height:40px;padding:0 12px 0 8px;font-size:.8rem;font-weight:700;display:inline-flex}.record-back-button:hover{color:#087ca7;background:#e8f3f7}.record-back-button svg{width:18px;height:18px}.record-back-button svg,.record-info-card svg,.customer-record-error svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.record-profile-card{background:radial-gradient(circle at 95% 10%,#6ec9e229,#0000 40%),#fff;border:1px solid #d8e5eb;border-radius:19px;justify-content:space-between;align-items:center;gap:28px;min-height:128px;margin-top:15px;padding:26px 28px;display:flex;box-shadow:0 12px 34px #265b7512}.record-profile-main{align-items:center;gap:18px;min-width:0;display:flex}.record-avatar{color:#087284;background:linear-gradient(145deg,#d8f0f1,#e8f3fa);border:1px solid #bfdfe3;border-radius:20px;flex:none;place-items:center;width:70px;height:70px;font-size:1.15rem;font-weight:850;display:grid}.record-profile-main>div{min-width:0}.record-name-line{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.record-name-line h2{overflow-wrap:anywhere;color:#17324d;letter-spacing:-.035em;margin:0;font-size:clamp(1.45rem,4vw,1.9rem)}.record-profile-main p{color:#7b909b;margin:8px 0 0;font-size:.82rem}.next-step-note{color:#687e8a;background:#edf3f5;border-radius:9px;flex:none;padding:8px 11px;font-size:.72rem;font-weight:700}.record-actions{flex:none;align-items:center;gap:9px;display:flex}.record-edit-button,.record-status-button{cursor:pointer;border-radius:11px;align-items:center;gap:8px;min-height:42px;padding:0 13px;font-size:.78rem;font-weight:750;display:inline-flex}.record-edit-button{color:#fff;background:#087ca7;border:1px solid #087ca7}.record-edit-button:hover{background:#076c91}.record-status-button.deactivate{color:#8a443e;background:#fff4f3;border:1px solid #eacbc8}.record-status-button.deactivate:hover:not(:disabled){background:#fde9e7}.record-status-button.activate{color:#276d59;background:#ebf7f2;border:1px solid #c5e4d7}.record-status-button.activate:hover:not(:disabled){background:#ddf1e8}.record-status-button:disabled{cursor:wait;opacity:.65}.record-actions svg,.record-action-error svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:17px;height:17px}.record-action-error{color:#94413b;background:#fff1f0;border:1px solid #efcfcc;border-radius:11px;align-items:flex-start;gap:9px;margin-top:12px;padding:12px 14px;font-size:.8rem;display:flex}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.record-info-card{background:#fff;border:1px solid #dbe7ec;border-radius:17px;overflow:hidden;box-shadow:0 9px 28px #265b750d}.record-info-card>header{background:#f8fbfc;border-bottom:1px solid #e4edf0;align-items:center;gap:10px;min-height:58px;padding:14px 19px;display:flex}.record-info-card>header>span{color:#087ca7;background:#e6f3f7;border-radius:9px;place-items:center;width:31px;height:31px;display:grid}.record-info-card>header svg{width:17px;height:17px}.record-info-card h3{color:#294960;margin:0;font-size:.9rem}.record-info-card dl{margin:0;padding:5px 19px}.record-info-row{border-bottom:1px solid #ebf1f3;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);gap:18px;padding:14px 0;display:grid}.record-info-row:last-child{border-bottom:0}.record-info-row dt{color:#80929c;font-size:.76rem}.record-info-row dd{overflow-wrap:anywhere;color:#3e5a6d;text-align:right;margin:0;font-size:.8rem;font-weight:650}.record-info-row a{color:#08779d;text-decoration:none}.record-info-row a:hover{text-decoration:underline}.customer-record-error{background:#fff;border:1px solid #dbe7ec;border-radius:18px;overflow:hidden}.customer-record-error .record-back-button{margin:12px}.record-skeleton>span{background:#e8eff2;border-radius:999px;width:140px;height:16px;display:block}.record-skeleton>div:nth-child(2){background:#e8eff2;border-radius:19px;height:128px;margin-top:18px}.record-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.record-skeleton-grid span{background:#e8eff2;border-radius:17px;height:190px}.customer-form-section{margin-top:30px}.customer-form{gap:18px;margin-top:14px;display:grid}.customer-form-header{background:#fff;border:1px solid #d9e6eb;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:28px;padding:26px 28px;display:flex;box-shadow:0 11px 32px #265b750f}.customer-form-header h2{color:#17324d;letter-spacing:-.035em;margin:0;font-size:clamp(1.45rem,4vw,1.85rem)}.customer-form-header>div>p:last-child{color:#6e8390;max-width:600px;margin:10px 0 0;font-size:.86rem;line-height:1.6}.customer-number-label{color:#607987;background:#edf3f5;border-radius:9px;flex:none;padding:8px 11px;font-size:.72rem;font-weight:700}.form-card{background:#fff;border:1px solid #d9e6eb;border-radius:17px;min-width:0;margin:0;padding:25px 27px 27px;box-shadow:0 8px 26px #265b750d}.form-card legend{color:#294a61;padding:0 8px;font-size:.9rem;font-weight:800}.form-grid{gap:20px;display:grid}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-form-field{gap:8px;min-width:0;display:grid}.customer-form-field.full-width{grid-column:1/-1}.customer-form-field>span{color:#4d6879;font-size:.78rem;font-weight:750}.customer-form-field>span strong{color:#b44b43}.customer-form-field input{color:#17324d;background:#f9fbfc;border:1px solid #cadbe3;border-radius:11px;width:100%;height:48px;padding:0 13px;transition:border-color .15s,box-shadow .15s,background .15s}.customer-form-field input:hover:not(:disabled){border-color:#91b6c6}.customer-form-field input:focus{background:#fff;border-color:#087ca7;outline:none;box-shadow:0 0 0 4px #087ca717}.customer-form-field input:disabled{color:#8798a2;cursor:not-allowed;background:#edf2f4}.checkbox-field{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.checkbox-field input{accent-color:#087ca7;flex:none;width:19px;height:19px;margin:2px 0 0}.checkbox-field>span{gap:4px;display:grid}.checkbox-field strong{color:#3f5d70;font-size:.82rem}.checkbox-field small{color:#7c909b;font-size:.74rem;line-height:1.45}.conditions-fields{border-top:1px solid #e7eef1;margin-top:22px;padding-top:22px}.customer-form-actions{background:#fff;border:1px solid #d9e6eb;border-radius:15px;justify-content:flex-end;align-items:center;gap:10px;padding:18px 20px;display:flex}.form-cancel-button,.form-save-button{cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 16px;font-size:.8rem;font-weight:750;display:inline-flex}.form-cancel-button{color:#5e7583;background:#f4f7f8;border:1px solid #d6e1e6}.form-cancel-button:hover:not(:disabled){background:#eaf0f2}.form-save-button{color:#fff;background:linear-gradient(145deg,#087ca7,#096988);border:0;min-width:145px;box-shadow:0 8px 20px #087ca72e}.form-save-button:hover:not(:disabled){box-shadow:0 11px 24px #087ca742}.form-cancel-button:disabled,.form-save-button:disabled{cursor:wait;opacity:.65}.form-message{margin:0}.form-message svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:19px;height:19px}.info-message{color:#496d7c;background:#edf6f9;border:1px solid #cee3ea;border-radius:11px;align-items:flex-start;gap:10px;padding:13px 14px;font-size:.82rem;display:flex}.customer-form-loading{gap:16px;margin-top:32px;display:grid}.customer-form-loading>span{width:140px;height:16px}.customer-form-loading>div{height:180px}.customer-form-loading>*{background:#e8eff2;border-radius:17px}.danger-zone{background:#fff8f7;border:1px solid #edcbc8;border-radius:16px;justify-content:space-between;align-items:center;gap:28px;margin-top:4px;padding:21px 23px;display:flex}.danger-zone>div{align-items:flex-start;gap:13px;display:flex}.danger-zone-icon{color:#a4463f;background:#fde9e7;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.danger-zone-icon svg,.delete-dialog-icon svg,.delete-dialog-error svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px}.danger-zone h2{color:#793b37;margin:0;font-size:.94rem}.danger-zone p{color:#886661;max-width:610px;margin:6px 0 0;font-size:.76rem;line-height:1.5}.danger-zone>button{color:#fff;cursor:pointer;background:#b34841;border:1px solid #a64039;border-radius:10px;flex:none;min-height:42px;padding:0 14px;font-size:.76rem;font-weight:750}.danger-zone>button:hover{background:#9e3d37}.delete-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c1f2bad;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.delete-dialog{background:#fff;border:1px solid #edcbc8;border-radius:20px;width:min(100%,510px);padding:32px;box-shadow:0 28px 80px #07192552}.delete-dialog-icon{color:#a7423b;background:#fde9e7;border-radius:15px;place-items:center;width:54px;height:54px;margin-bottom:20px;display:grid}.delete-dialog h2{color:#5f302d;letter-spacing:-.03em;margin:0;font-size:1.5rem}.delete-dialog>p:not(.eyebrow){color:#785e5a;margin:12px 0 0;font-size:.86rem;line-height:1.6}.delete-confirmation-field{gap:9px;margin-top:24px;display:grid}.delete-confirmation-field>span{color:#665754;font-size:.78rem;line-height:1.5}.delete-confirmation-field input{color:#4f302e;background:snow;border:1px solid #dcaeaa;border-radius:11px;width:100%;height:48px;padding:0 13px}.delete-confirmation-field input:focus{border-color:#b34841;outline:none;box-shadow:0 0 0 4px #b348411a}.delete-dialog-error{color:#963f39;background:#fff0ef;border:1px solid #efcbc8;border-radius:10px;align-items:flex-start;gap:9px;margin-top:14px;padding:11px 12px;font-size:.78rem;display:flex}.delete-dialog-error svg{flex:none}.delete-dialog-actions{justify-content:flex-end;gap:10px;margin-top:26px;display:flex}.delete-dialog-actions button{cursor:pointer;border-radius:10px;min-height:43px;padding:0 15px;font-size:.78rem;font-weight:750}.delete-cancel-button{color:#5f7079;background:#f1f5f6;border:1px solid #d5e0e4}.delete-confirm-button{color:#fff;background:#b34841;border:1px solid #a64039}.delete-confirm-button:hover:not(:disabled){background:#9e3d37}.delete-dialog-actions button:disabled{cursor:not-allowed;opacity:.48}@keyframes skeleton-loading{to{background-position:-200% 0}}@media (width<=840px){.swimcoach-layout{display:block}.swimcoach-sidebar{border-bottom:1px solid #dce8ee;border-right:0;padding:12px 16px;display:block;overflow-x:auto}.sidebar-app-heading,.sidebar-dashboard-link{display:none}.swimcoach-navigation{gap:5px;width:max-content;margin:0;display:flex}.swimcoach-navigation button{white-space:nowrap;min-height:42px;padding:0 12px}.swimcoach-navigation button.active{box-shadow:inset 0 -3px #087ca7}.swimcoach-content{width:100%}.customer-toolbar{flex-direction:column;align-items:stretch}.customer-search{width:100%}.customer-filters{width:fit-content}.customer-toolbar-actions{justify-content:space-between}}@media (width<=680px){.customer-results-panel{box-shadow:none;background:0 0;border:0;border-radius:0}.customer-results-heading{border:0;min-height:auto;margin-bottom:12px;padding:0}.customer-table-wrapper{overflow:visible}.customer-table,.customer-table tbody,.customer-table tr,.customer-table td{width:100%;display:block}.customer-table thead{display:none}.customer-table tbody{gap:12px;display:grid}.customer-table tr{background:#fff;border:1px solid #d9e6eb;border-radius:15px;padding:18px;box-shadow:0 8px 24px #265b750f}.customer-table td{text-align:right;border-bottom:1px solid #edf2f4;justify-content:space-between;align-items:flex-start;gap:18px;padding:10px 0;display:flex}.customer-table td:before{content:attr(data-label);color:#8799a3;text-align:left;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:800}.customer-table td:first-child{padding-top:0;display:block}.customer-table td:first-child:before{display:none}.customer-table td:last-child{border-bottom:0;padding-bottom:0}.customer-action-cell{display:none!important}.customer-name-cell{text-align:left;min-width:0}.customer-contact{justify-items:end;min-width:0}.source-label{max-width:180px}.customer-skeleton{gap:12px}.customer-skeleton>div{background:#fff;border:1px solid #d9e6eb;border-radius:15px;grid-template-columns:1fr;min-height:150px}.record-profile-card{flex-direction:column;align-items:flex-start;padding:22px}.record-actions{flex-wrap:wrap;width:100%}.customer-form-header{flex-direction:column;padding:22px}.danger-zone{flex-direction:column;align-items:stretch}.danger-zone>button{align-self:flex-start}.form-grid.two-columns{grid-template-columns:1fr}.customer-form-field.full-width{grid-column:auto}.record-grid,.record-skeleton-grid{grid-template-columns:1fr}.next-step-note{align-self:flex-start}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=520px){.login-page{padding:18px 12px}.login-card{border-radius:22px;padding:30px 22px}.brand{margin-bottom:30px}.login-form{margin-top:30px}.dashboard-header-content,.dashboard-main{width:min(100% - 28px,1180px)}.dashboard-header-content{min-height:68px}.dashboard-brand>span:last-child,.user-email,.logout-button span{display:none}.logout-button{justify-content:center;width:40px;padding:0}.section-heading{align-items:flex-start}.app-card-top,.app-card-content{padding-left:22px;padding-right:22px}.app-card-footer{padding:0 22px}.swimcoach-topbar-content{min-height:64px;padding:0 14px}.hub-back-label,.swimcoach-topbar .user-email,.swimcoach-topbar .logout-button span{display:none}.swimcoach-topbar .logout-button{justify-content:center;width:40px;padding:0}.swimcoach-sidebar{padding-left:10px;padding-right:10px}.swimcoach-navigation button{gap:8px;font-size:.82rem}.swimcoach-navigation svg{width:18px;height:18px}.swimcoach-content{padding:26px 18px 54px}.content-header{margin-top:26px}.prepared-area{border-radius:18px;min-height:300px;margin-top:28px;padding:32px 20px}.customer-record{margin-top:26px}.record-profile-main{align-items:flex-start}.record-avatar{border-radius:16px;width:56px;height:56px}.record-name-line{flex-direction:column;align-items:flex-start;gap:8px}.record-info-row{grid-template-columns:1fr;gap:6px}.record-info-row dd{text-align:left}.customer-toolbar-actions{flex-direction:column;align-items:stretch}.customer-filters{width:100%}.customer-filters button{flex:1;justify-content:center}.new-customer-button{justify-content:center}.record-edit-button,.record-status-button{flex:1;justify-content:center}.form-card{padding:22px 18px}.customer-form-actions{flex-direction:column-reverse;align-items:stretch}.form-cancel-button,.form-save-button{width:100%}.delete-dialog{border-radius:17px;padding:25px 20px}.delete-dialog-actions{flex-direction:column-reverse;align-items:stretch}.delete-dialog-actions button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.spinner,.customer-skeleton span{animation:none}.app-card{transition:none}}
