:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:#f6f8fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}.app-shell,.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,rgba(236,72,153,.12),transparent 34%),radial-gradient(circle at bottom left,rgba(11,31,58,.06),transparent 30%),linear-gradient(180deg,#fff,#f6f8fb)}.hero-card,.login-card{width:min(720px,100%);border:1px solid #e2e8f0;border-radius:28px;background:#fffffff7;padding:32px;box-shadow:0 24px 70px #0f172a17}.login-card{width:min(460px,100%);padding:36px 34px 30px}.login-brand{display:grid;justify-items:center;gap:10px;margin-bottom:30px;text-align:center}.brand-mark{display:grid;width:56px;height:56px;flex:0 0 auto;place-items:center;border-radius:18px;background:#0b1f3a;color:#fff;font-weight:800;letter-spacing:.04em}.eyebrow{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:#0b1f3a;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.02em}.access-label{margin-top:0;color:#64748b;font-size:.78rem;font-weight:700;line-height:1.35}h1{margin:18px 0 12px;color:#0b1f3a;font-size:clamp(2rem,6vw,3.4rem);line-height:1}.login-heading{text-align:center}.login-title{margin:0 0 10px;font-size:2.2rem}p{margin:0;color:#475569;font-size:1rem;line-height:1.65}.login-subtitle{margin-top:4px}.login-form{display:grid;gap:16px;margin-top:30px}.login-form label{display:grid;gap:8px;color:#0f172a;font-size:.9rem;font-weight:700}.login-form input{width:100%;min-height:48px;border:1px solid #cbd5e1;border-radius:14px;outline:none;padding:0 14px;background:#fff;color:#0f172a;transition:border-color .16s ease,box-shadow .16s ease}.login-form input:focus{border-color:#ec4899;box-shadow:0 0 0 4px #ec48991f}.password-field{position:relative}.password-field input{padding-right:82px}.password-toggle{position:absolute;top:50%;right:10px;min-height:32px;border:0;border-radius:10px;padding:0 8px;transform:translateY(-50%);background:transparent;color:#0b1f3a;font-size:.78rem;font-weight:800}.password-toggle:hover{background:#f1f5f9}.reset-link{justify-self:center;margin-top:-6px;border:0;padding:2px 0;background:transparent;color:#0b1f3a;font-size:.86rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}.primary-button,.secondary-button{min-height:46px;border:0;border-radius:14px;padding:0 18px;font-weight:800}.primary-button{margin-top:4px;background:#ec4899;color:#fff;box-shadow:0 10px 24px #ec48992e}.secondary-button{min-height:40px;background:#eef2f7;color:#0b1f3a}.form-error,.form-success{border-radius:12px;padding:10px 12px;font-size:.88rem;font-weight:700;line-height:1.45}.form-error{background:#fff1f2;color:#b91c1c}.form-success{background:#ecfdf5;color:#047857}.login-note{margin-top:24px;color:#64748b;font-size:.86rem;text-align:center}.hero-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}.status-card{display:flex;align-items:center;gap:10px;min-height:54px;border:1px solid #e2e8f0;border-radius:16px;padding:0 16px;background:#fff;color:#0f172a;font-weight:600}.status-dot{width:10px;height:10px;flex:0 0 auto;border-radius:999px;background:#ec4899;box-shadow:0 0 0 4px #ec48991f}.session-loader{color:#0b1f3a;font-weight:800}@media(max-width:560px){.app-shell,.auth-shell{padding:16px}.hero-card,.login-card{padding:24px 20px;border-radius:22px}.status-grid{grid-template-columns:1fr}}.input-with-icon{position:relative}.field-icon{position:absolute;top:50%;left:14px;width:20px;height:20px;transform:translateY(-50%);fill:none;stroke:#0b1f3a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.input-with-icon input{padding-left:44px}.password-field.input-with-icon input{padding-left:44px;padding-right:82px}.home-shell{min-height:100dvh;background:#eef2f7;color:#0b1f3a}.home-app{width:min(100%,480px);min-height:100dvh;margin:0 auto;background:#fff;box-shadow:0 0 40px #0f172a14}.home-hero{position:relative;min-height:310px;overflow:hidden;padding:22px 22px 28px;background:radial-gradient(circle at 80% 15%,rgba(236,72,153,.22),transparent 28%),linear-gradient(145deg,#0b1f3a,#0d3a70);color:#fff}.home-topbar{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between}.icon-button{display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:14px;background:transparent;font-size:1.55rem}.icon-button.light{color:#fff}.notification-button{position:relative;font-size:1.85rem}.notification-dot{position:absolute;top:8px;right:7px;width:10px;height:10px;border:2px solid #0d3567;border-radius:999px;background:#ec4899}.hero-copy{position:relative;z-index:3;width:58%;margin-top:34px}.hero-brand{margin-bottom:10px;font-size:.88rem;font-weight:700;opacity:.86}.hero-copy h1{margin:0;color:#fff;font-size:clamp(2rem,9vw,2.7rem);line-height:.98}.hero-copy h1 strong{display:block;margin-top:5px;color:#ff5aa7}.hero-copy p{margin-top:14px;color:#ffffffe0;font-size:.98rem;line-height:1.35}.carol-photo{position:absolute;right:-2px;bottom:-6px;z-index:2;width:47%;max-width:220px;aspect-ratio:1 / 1.15;border:5px solid rgba(255,255,255,.14);border-bottom:0;border-radius:42% 42% 0 0;object-fit:cover;object-position:50% 36%;box-shadow:0 18px 36px #00000038}.home-menu{position:absolute;top:70px;left:18px;z-index:10;display:grid;min-width:190px;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:#fffffffa;box-shadow:0 20px 45px #0f172a33}.home-menu button{border:0;border-bottom:1px solid #eef2f7;padding:13px 16px;background:transparent;color:#0b1f3a;font-weight:700;text-align:left}.home-menu button:last-child{border-bottom:0;color:#e11d48}.home-content{position:relative;z-index:5;margin-top:-14px;border-radius:24px 24px 0 0;background:#fff;padding:18px 18px 110px}.new-appointment-button{display:flex;width:100%;min-height:58px;align-items:center;justify-content:center;gap:10px;border:0;border-radius:18px;background:linear-gradient(135deg,#f7358a,#ff196f);color:#fff;box-shadow:0 14px 26px #ec48993d;font-size:1rem;font-weight:800}.new-appointment-button span{font-size:1.55rem;font-weight:400}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.quick-grid button{display:grid;min-width:0;min-height:82px;place-items:center;align-content:center;gap:7px;border:1px solid #e7edf5;border-radius:16px;background:#fff;color:#0b1f3a;box-shadow:0 6px 16px #0f172a0d;font-size:.72rem;font-weight:700}.home-icon{font-size:1.35rem}.today-section{margin-top:26px}.today-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:14px}.section-kicker{display:block;color:#0b1f3a;font-size:1.55rem;font-weight:900}.today-heading h2{max-width:250px;margin:4px 0 0;color:#64748b;font-size:.82rem;font-weight:600;line-height:1.3}.text-link{border:0;padding:4px 0;background:transparent;color:#ec4899;font-size:.8rem;font-weight:800}.home-loading{padding:28px 0;color:#64748b;text-align:center}.appointment-list{display:grid;gap:10px}.appointment-card{display:grid;grid-template-columns:54px 4px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:76px;border:1px solid #e7edf5;border-radius:16px;padding:10px 11px;background:#fff}.appointment-time{display:grid;gap:2px}.appointment-time strong{color:#0b1f3a;font-size:.87rem}.appointment-time span{color:#94a3b8;font-size:.74rem}.appointment-accent{align-self:stretch;border-radius:99px}.appointment-accent.confirmed{background:#16a34a}.appointment-accent.pending{background:#f59e0b}.appointment-accent.reminder{background:#2563eb}.appointment-copy{min-width:0}.appointment-copy h3{overflow:hidden;margin:0;color:#0b1f3a;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.appointment-copy p{overflow:hidden;margin-top:4px;color:#64748b;font-size:.72rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.status-pill{border-radius:999px;padding:7px 9px;font-size:.67rem;font-weight:800;white-space:nowrap}.status-pill.confirmed{background:#dcfce7;color:#15803d}.status-pill.pending{background:#ffedd5;color:#c2410c}.status-pill.reminder{background:#dbeafe;color:#1d4ed8}.empty-home{display:grid;justify-items:center;padding:8px 6px 4px;text-align:center}.empty-home img{width:min(320px,94%);border-radius:22px;mix-blend-mode:multiply}.empty-home h3{margin:8px 0 4px;color:#0b1f3a;font-size:1.45rem}.empty-home p{color:#64748b;font-size:.92rem;line-height:1.4}.empty-tip{width:100%;margin-top:16px;border-radius:16px;padding:14px 16px;background:#fff1f7;color:#0b1f3a;font-size:.82rem;font-weight:650;line-height:1.35}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:1fr 1fr 74px 1fr 1fr;width:min(100%,480px);min-height:78px;margin:0 auto;border-top:1px solid #e7edf5;background:#fffffff7;box-shadow:0 -10px 30px #0f172a0f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav button{display:grid;place-items:center;align-content:center;gap:3px;border:0;background:transparent;color:#64748b;font-size:.66rem;font-weight:700}.bottom-nav button span{font-size:1.2rem}.bottom-nav button.active{color:#ec4899}.bottom-nav .nav-add{width:58px;height:58px;place-self:center;border-radius:999px;background:linear-gradient(135deg,#f7358a,#ff196f);color:#fff;box-shadow:0 10px 24px #ec489940;font-size:1.7rem}@media(min-width:700px){.home-shell{padding:24px 0}.home-app{min-height:calc(100dvh - 48px);overflow:hidden;border-radius:34px}.bottom-nav{bottom:24px;border-radius:0 0 34px 34px}}.app-frame{min-height:100dvh;background:#eef2f7;color:#0b1f3a}.desktop-sidebar{display:none}.home-page,.workspace-page{width:min(100%,520px);min-height:100dvh;margin:0 auto;background:#fff}.desktop-home-label{display:none}.carol-photo-frame{position:absolute;right:16px;bottom:0;z-index:2;width:42%;max-width:205px;aspect-ratio:1 / 1.15;overflow:hidden;border-radius:46% 46% 0 0;background:#ffffff14;box-shadow:0 18px 36px #00000038}.carol-photo-frame .carol-photo{position:static;width:100%;height:100%;max-width:none;border:0;border-radius:0;object-fit:cover;object-position:50% 38%;box-shadow:none}.empty-home-art{width:min(360px,100%);height:190px;overflow:hidden;border-radius:22px;background:#fff}.empty-home-art img{width:100%;height:100%;border-radius:0;object-fit:cover;object-position:center 48%;mix-blend-mode:normal}.workspace-header{display:flex;min-height:130px;align-items:center;gap:14px;padding:24px 22px;background:linear-gradient(145deg,#0b1f3a,#0d3a70);color:#fff}.workspace-header span{font-size:.78rem;font-weight:700;opacity:.8}.workspace-header h1{margin:6px 0 0;color:#fff;font-size:2rem}.mobile-back{width:42px;height:42px;border:0;border-radius:12px;background:#ffffff1f;color:#fff;font-size:2rem}.workspace-body{min-height:calc(100dvh - 210px);padding:22px 18px 110px}.segmented-tabs{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border-radius:14px;background:#f1f5f9;padding:4px}.segmented-tabs button{min-height:42px;border:0;border-radius:11px;background:transparent;color:#64748b;font-weight:800}.segmented-tabs button.active{background:#ec4899;color:#fff}.workspace-empty{display:grid;min-height:260px;place-items:center;align-content:center;gap:10px;margin-top:18px;border:1px solid #e7edf5;border-radius:20px;padding:28px;background:#fff;text-align:center}.workspace-empty strong{color:#0b1f3a;font-size:1.3rem}.workspace-empty p{max-width:560px;color:#64748b;font-size:.92rem}.form-shell{display:grid;gap:16px}.form-shell label{display:grid;gap:7px;color:#0b1f3a;font-size:.86rem;font-weight:800}.form-shell input,.form-shell textarea{width:100%;border:1px solid #cbd5e1;border-radius:13px;outline:none;padding:12px 14px;background:#fff;color:#0f172a}.form-shell input:focus,.form-shell textarea:focus{border-color:#ec4899;box-shadow:0 0 0 4px #ec48991a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.workspace-note{border-radius:14px;padding:13px 14px;background:#f8fafc;color:#64748b;font-size:.82rem;line-height:1.45}.report-shell{display:grid;grid-template-columns:1fr 1fr;gap:14px}.metric-card{display:grid;gap:10px;border:1px solid #e7edf5;border-radius:18px;padding:18px;background:#fff}.metric-card span{color:#64748b;font-size:.82rem}.metric-card strong{color:#0b1f3a;font-size:2rem}.report-shell .wide{grid-column:1 / -1;margin-top:0}.settings-list{display:grid;gap:10px}.settings-list>div,.settings-list>button{display:grid;min-height:68px;align-content:center;gap:4px;border:1px solid #e7edf5;border-radius:16px;padding:13px 16px;background:#fff;color:#0b1f3a;text-align:left}.settings-list span{color:#64748b;font-size:.78rem}@media(min-width:900px){.mobile-only{display:none!important}.app-frame{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100dvh}.desktop-sidebar{position:sticky;top:0;display:flex;height:100dvh;flex-direction:column;border-right:1px solid rgba(255,255,255,.08);padding:26px 18px;background:#071a33;color:#fff}.desktop-brand{display:flex;align-items:center;gap:12px;padding:0 7px 26px}.desktop-brand-mark{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:14px;background:#ec4899;color:#fff;font-weight:900}.desktop-brand div{display:grid;gap:3px}.desktop-brand strong{font-size:.92rem}.desktop-brand span{color:#9fb0c8;font-size:.6rem}.desktop-sidebar nav,.desktop-sidebar-footer{display:grid;gap:7px}.desktop-sidebar nav button,.desktop-sidebar-footer button{min-height:46px;border:0;border-radius:13px;padding:0 14px;background:transparent;color:#c8d4e6;font-size:.86rem;font-weight:750;text-align:left}.desktop-sidebar nav button:hover,.desktop-sidebar-footer button:hover,.desktop-sidebar button.active{background:#ec489926;color:#fff}.desktop-sidebar button.active{box-shadow:inset 3px 0 #ec4899}.desktop-sidebar-footer{margin-top:auto}.home-page,.workspace-page{width:100%;min-height:100dvh;margin:0;background:#f8fafc}.home-hero{min-height:310px;border-radius:0;padding:28px 44px 36px}.home-topbar{justify-content:space-between}.desktop-home-label{display:inline-flex;color:#ffffffc7;font-size:.9rem;font-weight:700}.hero-copy{width:min(520px,52%);margin-top:45px}.hero-copy h1{font-size:clamp(2.8rem,5vw,4.4rem)}.hero-copy h1 strong{display:inline;margin-left:8px}.hero-copy p{font-size:1.05rem}.carol-photo-frame{right:5%;width:300px;max-width:none;aspect-ratio:1 / 1.05;border-radius:36px 36px 0 0}.home-content{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(480px,1.35fr);gap:28px;max-width:1250px;margin:0 auto;padding:30px 34px 44px;background:transparent}.home-actions-panel,.today-section{align-self:start;margin-top:0}.home-actions-panel{border:1px solid #e7edf5;border-radius:22px;padding:18px;background:#fff;box-shadow:0 12px 30px #0f172a0d}.quick-grid{grid-template-columns:repeat(2,1fr)}.quick-grid button{min-height:100px;font-size:.8rem}.today-section{border:1px solid #e7edf5;border-radius:22px;padding:22px;background:#fff;box-shadow:0 12px 30px #0f172a0d}.empty-home-art{height:240px}.workspace-page{padding:0}.workspace-header{min-height:150px;padding:30px 44px}.workspace-header h1{font-size:2.6rem}.workspace-body{max-width:1180px;min-height:calc(100dvh - 150px);margin:0 auto;padding:34px 40px 50px}.form-shell{max-width:760px}.workspace-empty{min-height:330px}}.settings-menu-list>button{position:relative;grid-template-columns:1fr auto;grid-template-areas:"title arrow" "subtitle arrow";align-items:center;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.settings-menu-list>button:hover{border-color:#f0a6ca;box-shadow:0 10px 24px #0f172a0f;transform:translateY(-1px)}.settings-menu-list strong{grid-area:title}.settings-menu-list span{grid-area:subtitle}.settings-menu-list b{grid-area:arrow;color:#ec4899;font-size:1.45rem;font-weight:800}.settings-detail{display:grid;gap:14px;max-width:760px}.settings-back{justify-self:start;min-height:38px;border:0;border-radius:11px;padding:0 12px;background:#eef2f7;color:#0b1f3a;font-weight:800}.settings-detail-header{margin:6px 0 4px}.settings-detail-header>span{color:#ec4899;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.settings-detail-header h2{margin:4px 0 6px;color:#0b1f3a;font-size:1.8rem}.settings-detail-header p{color:#64748b;font-size:.9rem}.settings-info-card{display:grid;gap:5px;border:1px solid #e7edf5;border-radius:16px;padding:16px;background:#fff}.settings-info-card strong{color:#0b1f3a}.settings-info-card span{color:#64748b;font-size:.84rem;line-height:1.45}.settings-signout{justify-self:start;min-height:44px;border:0;border-radius:13px;padding:0 16px;background:#fff1f2;color:#be123c;font-weight:800}.calendar-view-card{margin-top:18px;border:1px solid #e7edf5;border-radius:20px;padding:20px;background:#fff}.calendar-view-title{display:grid;gap:4px;margin-bottom:18px}.calendar-view-title span{color:#ec4899;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.calendar-view-title strong{color:#0b1f3a;font-size:1.05rem}.calendar-placeholder-list{display:grid;gap:10px}.calendar-placeholder-list>div{display:grid;gap:3px;border-left:4px solid #ec4899;border-radius:12px;padding:12px 14px;background:#f8fafc}.calendar-placeholder-list b{color:#0b1f3a;font-size:.86rem}.calendar-placeholder-list span{color:#64748b;font-size:.76rem}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-week-grid button{display:grid;min-height:78px;align-content:center;gap:5px;border:1px solid #e7edf5;border-radius:14px;background:#f8fafc;color:#0b1f3a}.calendar-week-grid strong{font-size:.88rem}.calendar-week-grid span{color:#64748b;font-size:.67rem}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-month-grid button{aspect-ratio:1;border:1px solid #e7edf5;border-radius:10px;background:#f8fafc;color:#0b1f3a;font-size:.8rem;font-weight:700}@media(max-width:700px){.calendar-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-week-grid button:last-child{grid-column:1 / -1}}.form-shell select{width:100%;min-height:46px;border:1px solid #cbd5e1;border-radius:13px;outline:none;padding:0 14px;background:#fff;color:#0f172a}.form-shell select:focus{border-color:#ec4899;box-shadow:0 0 0 4px #ec48991a}.field-hint{color:#64748b;font-size:.72rem;font-weight:600}.duration-fieldset{display:grid;gap:12px;border:1px solid #e7edf5;border-radius:16px;padding:14px}.duration-fieldset legend{padding:0 6px;color:#0b1f3a;font-size:.86rem;font-weight:800}.duration-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.duration-quick button,.duration-custom button{min-height:42px;border:1px solid #d7e0eb;border-radius:12px;background:#fff;color:#0b1f3a;font-weight:800}.duration-quick button.active{border-color:#ec4899;background:#fff1f7;color:#c21863}.duration-custom{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px}.duration-custom strong{display:grid;min-height:42px;place-items:center;border-radius:12px;background:#f8fafc;color:#0b1f3a}.save-appointment-button{min-height:50px;border:0;border-radius:14px;background:linear-gradient(135deg,#f7358a,#ff196f);color:#fff;box-shadow:0 12px 24px #ec489933;font-weight:900}@media(max-width:560px){.form-row{grid-template-columns:1fr}}.settings-inline-action{justify-self:start;min-height:38px;margin-top:8px;border:0;border-radius:11px;padding:0 13px;background:#0b1f3a;color:#fff;font-size:.78rem;font-weight:800}.calendar-toolbar{display:grid;grid-template-columns:42px minmax(0,1fr) 42px auto;align-items:center;gap:8px;margin-top:14px}.calendar-toolbar>button{min-height:40px;border:1px solid #e2e8f0;border-radius:11px;background:#fff;color:#0b1f3a;font-size:1.15rem;font-weight:800}.calendar-toolbar>strong{color:#0b1f3a;font-size:.9rem;text-align:center;text-transform:capitalize}.calendar-toolbar .calendar-today-button{padding:0 13px;color:#ec4899;font-size:.78rem}.calendar-appointment-list{display:grid;gap:10px}.calendar-appointment-card{display:grid;grid-template-columns:58px 4px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:78px;border:1px solid #e7edf5;border-radius:15px;padding:10px 12px;background:#fff}.calendar-appointment-time,.calendar-appointment-copy{display:grid;gap:3px}.calendar-appointment-time strong,.calendar-appointment-copy strong{color:#0b1f3a;font-size:.82rem}.calendar-appointment-time span,.calendar-appointment-copy span{overflow:hidden;color:#64748b;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.calendar-empty-period{border-radius:14px;padding:24px;background:#f8fafc;color:#64748b;text-align:center}.calendar-week-live{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-week-day{display:grid;min-height:150px;align-content:start;gap:10px;border:1px solid #e7edf5;border-radius:14px;padding:11px;background:#fff;color:#0b1f3a;text-align:left}.calendar-week-day:hover{border-color:#f0a6ca}.calendar-week-day-heading{display:flex;align-items:center;justify-content:space-between}.calendar-week-day-heading strong{font-size:.76rem;text-transform:capitalize}.calendar-week-day-heading span{display:grid;width:27px;height:27px;place-items:center;border-radius:999px;background:#f1f5f9;font-size:.72rem;font-weight:800}.calendar-week-events{display:grid;gap:6px}.calendar-week-events>span{display:grid;gap:2px;border-left:3px solid #16a34a;border-radius:7px;padding:5px 6px;background:#f8fafc;font-size:.65rem;line-height:1.25}.calendar-week-events b{font-size:.62rem}.calendar-week-events em{color:#64748b;font-size:.66rem;font-style:normal}.calendar-free-label{color:#94a3b8;font-size:.68rem}.calendar-month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;color:#64748b;font-size:.68rem;font-weight:800;text-align:center}.calendar-month-live button{display:grid;min-height:92px;aspect-ratio:auto;align-content:start;gap:4px;padding:7px;text-align:left}.calendar-month-live button>strong{font-size:.75rem}.calendar-month-live button>span{overflow:hidden;border-radius:5px;padding:3px 4px;background:#dcfce7;color:#15803d;font-size:.55rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.calendar-month-live button>span.pending{background:#ffedd5;color:#c2410c}.calendar-month-live button.outside-month{opacity:.42}.calendar-month-live button.today{outline:2px solid #ec4899;outline-offset:-2px}.calendar-month-live button>em{color:#64748b;font-size:.58rem;font-style:normal}@media(max-width:900px){.calendar-week-live{grid-template-columns:1fr}.calendar-week-day{min-height:auto}}@media(max-width:560px){.calendar-toolbar{grid-template-columns:38px minmax(0,1fr) 38px}.calendar-toolbar .calendar-today-button{grid-column:1 / -1}.calendar-appointment-card{grid-template-columns:54px 4px minmax(0,1fr)}.calendar-appointment-card .status-pill{grid-column:3;justify-self:start}.calendar-month-live button{min-height:58px;padding:5px}.calendar-month-live button>span{font-size:0;width:6px;height:6px;border-radius:999px;padding:0}}.appointment-card-button,.calendar-appointment-button{width:100%;font:inherit;text-align:left;cursor:pointer}.appointment-card-button:hover,.calendar-appointment-button:hover{border-color:#f0a6ca;box-shadow:0 8px 20px #0f172a0f}.appointment-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;justify-items:end;background:#040f1f75}.appointment-detail-panel{width:min(560px,100%);height:100dvh;overflow-y:auto;padding:24px;background:#fff;box-shadow:-18px 0 50px #0f172a33}.appointment-detail-top{display:flex;align-items:start;justify-content:space-between;gap:18px;border-bottom:1px solid #e7edf5;padding-bottom:18px}.appointment-detail-top>div{display:grid;gap:5px}.appointment-detail-top span{color:#ec4899;font-size:.75rem;font-weight:800;text-transform:uppercase}.appointment-detail-top h2{margin:0;color:#0b1f3a;font-size:1.6rem}.appointment-detail-top>button{width:42px;height:42px;border:0;border-radius:12px;background:#f1f5f9;color:#0b1f3a;font-size:1.6rem}.appointment-detail-status-row{display:flex;gap:8px;margin:18px 0}.detail-priority{border-radius:999px;padding:7px 10px;background:#f1f5f9;color:#475569;font-size:.72rem;font-weight:800}.appointment-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.appointment-detail-grid>div{display:grid;gap:4px;border:1px solid #e7edf5;border-radius:14px;padding:13px}.appointment-detail-grid>div.wide{grid-column:1 / -1}.appointment-detail-grid span{color:#64748b;font-size:.7rem;font-weight:700}.appointment-detail-grid strong{color:#0b1f3a;font-size:.84rem;line-height:1.4}.appointment-detail-actions,.detail-edit-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.primary-detail-action,.appointment-detail-actions a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:0;border-radius:13px;padding:0 16px;background:#ec4899;color:#fff;font-size:.82rem;font-weight:850;text-decoration:none}.appointment-detail-actions a{background:#0b1f3a}.detail-edit-form{margin-top:18px}.calendar-current-day-label{display:grid;min-height:40px;place-items:center;border-radius:11px;padding:0 13px;background:#fff1f7;color:#ec4899;font-size:.78rem;font-weight:800}.profile-editor{display:grid;gap:18px;border:1px solid #e7edf5;border-radius:20px;padding:20px;background:#fff}.profile-photo-block{display:grid;justify-items:center;gap:10px}.profile-avatar,.more-profile-avatar{display:grid;overflow:hidden;place-items:center;border-radius:999px;background:#0b1f3a;color:#fff;font-weight:900}.profile-avatar{width:116px;height:116px;border:4px solid #fff1f7;box-shadow:0 0 0 2px #ec4899;font-size:1.7rem}.profile-avatar img,.more-profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-photo-button,.save-profile-button{min-height:42px;border-radius:12px;padding:0 15px;font-weight:800}.profile-photo-button{border:1px solid #ec4899;background:#fff;color:#ec4899}.save-profile-button{border:0;background:#ec4899;color:#fff}.profile-fields{display:grid;gap:13px}.profile-fields label{display:grid;gap:6px;color:#0b1f3a;font-size:.8rem;font-weight:800}.profile-fields input{min-height:44px;border:1px solid #cbd5e1;border-radius:12px;padding:0 13px;background:#fff;color:#0f172a}.profile-fields input:disabled{background:#f8fafc;color:#64748b}.profile-fields label>span{color:#64748b;font-size:.68rem;font-weight:600}.more-menu-page,.more-subpage{display:grid;gap:16px;max-width:760px}.more-profile-header{display:flex;align-items:center;gap:14px;border:1px solid #e7edf5;border-radius:18px;padding:16px;background:#fff}.more-profile-avatar{width:62px;height:62px;flex:0 0 auto;font-size:1rem}.more-profile-header>div:last-child{display:grid;gap:4px}.more-profile-header strong{color:#0b1f3a;font-size:1rem}.more-profile-header span{color:#64748b;font-size:.76rem}.more-menu-list{display:grid;gap:9px}.more-menu-list button{display:grid;grid-template-columns:34px 1fr auto;min-height:58px;align-items:center;gap:10px;border:1px solid #e7edf5;border-radius:15px;padding:0 14px;background:#fff;color:#0b1f3a;text-align:left}.more-menu-list button:hover{border-color:#f0a6ca}.more-menu-list button>span{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#fff1f7;color:#ec4899;font-size:.8rem;font-weight:900}.more-menu-list button>strong{font-size:.84rem}.more-menu-list button>b{color:#ec4899;font-size:1.25rem}@media(max-width:560px){.appointment-detail-panel{padding:18px}.appointment-detail-grid{grid-template-columns:1fr}.appointment-detail-grid>div.wide{grid-column:auto}.detail-edit-actions{display:grid}}
