:root{--ink:#34334f;--purple:#6253c6;--turq:#16b6c2;--bg:#f6f7fb;--line:#e4e4ee;--muted:#9291a6}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px/1.55 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #a6dbde;outline-offset:3px}h1,h2,p{margin:0}h1{font-size:35px;letter-spacing:-1.3px;font-weight:600;line-height:1.22}h2{font-size:19px;font-weight:600;letter-spacing:-.4px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#9d94b9;font-weight:600;display:block;margin-bottom:14px}.muted{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.8}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:7px;border:1px solid transparent;font-weight:550;font-size:12px}.primary{background:var(--purple);color:#fff}.primary:hover{background:#5042ad}.secondary{background:#fff;border-color:#ded9ed;color:#83739f}.wide{width:100%}.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{position:relative;padding:75px 70px;background:linear-gradient(140deg,#ece9fb,#e9f6f5);display:flex;flex-direction:column;overflow:hidden}.login-story h1{font-size:65px;letter-spacing:-3px;color:#655780;font-weight:500;margin-top:45px}.login-story>p{max-width:330px;font-size:14px;color:#9b92ad;line-height:1.9;margin-top:25px}.orbit{width:285px;height:285px;border-radius:50%;border:1px solid #cdc5e399;margin:65px auto;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;color:#a397ba}.orbit:before,.orbit:after{content:'';position:absolute;inset:20px -35px;border:1px solid #c1d8d27a;border-radius:50%;transform:rotate(-35deg)}.orbit:after{inset:45px -50px;transform:rotate(35deg)}.orbit b{font-size:35px;font-weight:400;color:#8e7fa8}.orbit span,.orbit small{letter-spacing:3px;font-size:11px}.story-bottom{margin-top:auto;font-size:10px;color:#a9a1ba;letter-spacing:1px}.login-form{background:#fff;padding:65px 70px 25px;display:flex;flex-direction:column;align-items:center}.login-logo{width:100%;max-width:330px;height:110px;object-fit:contain;margin-bottom:60px}.login-form>div{max-width:360px;width:100%}.login-form h2{font-size:31px;font-weight:500}.login-form form{margin-top:28px}.login-foot{margin-top:auto;padding-top:45px;font-size:10px;color:#b4adbf}label{display:flex;flex-direction:column;font-size:11px;color:#7f7392;font-weight:550;gap:8px;margin-bottom:18px}input,select{width:100%;border:1px solid #ddd9e8;border-radius:6px;padding:12px;background:#fff;color:#51475f;outline-color:#a697d3;font-weight:400;min-width:0}input[type=checkbox]{accent-color:var(--purple);width:17px;height:17px;padding:0}input[type=color]{height:44px;padding:4px}label small{font-size:10px;font-weight:400;color:#aaa0b8}.help{font-size:11px;color:#a69bb5;margin:20px 0;line-height:1.8}.alert{padding:14px 18px;border-radius:8px;margin-bottom:22px;font-size:12px}.error{background:#fff1e8;color:#ae7b5b;border:1px solid #edd8cb}.success{background:#eaf6f1;color:#64937f;border:1px solid #d1e6db}.sidebar{width:245px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:25px 20px 18px;display:flex;flex-direction:column;z-index:5}.brand img{width:100%;height:85px;object-fit:contain}.center-box{border:1px solid var(--line);padding:12px;border-radius:8px;margin:24px 0 25px}.center-box b{font-size:11px;font-weight:550}.center-box small{font-size:9px;color:#aaa2b8;display:block;margin-top:4px}.nav-title{font-size:9px;letter-spacing:1.5px;color:#b4a8c2;margin:0 12px 13px}nav{display:grid;gap:7px}nav a{display:flex;align-items:center;gap:13px;border-radius:7px;padding:13px 15px;color:#a091b2;font-size:17px}nav a span{font-size:12px}nav a.active{color:#7661b3;background:#f0ecfb}nav a:hover{background:#f6f3fc}.sidebar-bottom{margin-top:auto;padding-top:30px}.calm{padding:20px 15px;background:#f2eff8;border-radius:9px;color:#ad9abc;font-size:11px;line-height:1.9}.calm b{font-weight:500}.profile{display:flex;align-items:center;gap:10px;margin-top:23px}.avatar{width:35px;height:35px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#ede7f8;color:#ae96c6}.profile b{font-size:11px;font-weight:550;display:block;overflow-wrap:anywhere}.profile small{display:block;font-size:9px;color:#ae9cba;margin-top:3px}.logout{font-size:10px;color:#a98fbc;background:none;border:0;margin-top:12px;padding:8px 0}.shell{margin-left:245px}header{height:77px;background:#fbfbfe;border-bottom:1px solid var(--line);padding:0 40px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#a49ab5}header i{font-style:normal;margin:0 15px;color:#d1c7dd}.pill{display:inline-block;white-space:nowrap;background:#eee9fa;color:#a28cbe;padding:4px 9px;border-radius:5px;font-size:9px}.pill.on{background:#e9f5ef;color:#7aa68f}.pill.off{background:#f3edf0;color:#b399a7}.content{padding:38px 40px 20px;max-width:1500px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:29px}.heading .eyebrow{margin-bottom:10px}.date{font-size:11px;color:#b2a0c3}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0}.stats article{border:1px solid var(--line);border-radius:9px;background:#fff;padding:18px 22px}.stats span{font-size:10px;color:#a49ab5;display:block}.stats b{display:block;font-size:29px;color:#8d7aab;font-weight:500;margin-top:8px;line-height:1}.welcome{border:1px solid #e2dcef;border-radius:12px;background:linear-gradient(120deg,#f0ecfb,#ebf7f6);padding:33px;display:grid;grid-template-columns:1.6fr 1fr;gap:30px;align-items:center;margin:25px 0}.welcome h2{font-size:25px;color:#8e79a4;font-weight:500}.welcome p{color:#a597b4;font-size:12px;line-height:1.9;max-width:560px;margin:14px 0 22px}.welcome-art{text-align:center;color:#b29bc7}.welcome-art>span{display:block;font-size:50px;line-height:1;color:#8dc9c6;font-weight:200}.welcome-art b{font-size:32px;font-weight:400;line-height:1.2}.welcome-art small{display:block;font-size:9px;letter-spacing:1.6px;margin-top:15px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;margin:24px 0;overflow:hidden}.two-col .panel{margin:0}.panel-heading{padding:20px 24px;border-bottom:1px solid #eee9f4;display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-heading h2{font-size:16px}.panel-copy{padding:16px 24px 0;font-size:12px;line-height:1.9;color:#a294b2}.panel-copy:last-child{padding-bottom:24px}dl{padding:5px 24px 15px;display:grid;grid-template-columns:1fr 1.3fr;gap:17px;font-size:11px}dt{color:#b09cc1}dd{margin:0;color:#89769d;overflow-wrap:anywhere}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{padding:14px 22px;background:#faf8fd;color:#ae9fbe;font-size:10px;font-weight:500;white-space:nowrap}td{padding:17px 22px;border-bottom:1px solid #f0ecf5;color:#9b88ae}td b{font-weight:550;color:#8c739e}td small{display:block;font-size:10px;color:#b5a5c2;margin-top:4px}.text-link{color:#9d7db7;font-size:11px;white-space:nowrap}.search{display:flex;gap:8px;align-items:center}.search input{font-size:10px;padding:9px 11px;width:215px}.search button{padding:9px 12px;border:1px solid #e6ddf0;border-radius:5px;background:#faf8fd;color:#a78eb8;font-size:10px}.inline-details{display:inline-block;margin-left:15px;font-size:10px;min-width:70px}.inline-details summary{cursor:pointer;color:#b093ad}.inline-details p{max-width:210px;font-size:10px;margin:12px 0}.inline-details form{margin:0}.inline-details button{font-size:10px;padding:6px 10px}.editor{padding:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.full{grid-column:1/-1}.checkbox{flex-direction:row;align-items:center;gap:9px}.hours{border-top:1px solid #eee7f5;margin-top:20px;padding-top:24px}.hours h2{font-size:17px}.hours table{margin-top:18px}.hours td,.hours th{padding:12px 15px}.hours input[type=time]{max-width:160px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px;padding-top:23px;border-top:1px solid #eee8f5}.password-panel{padding:30px;max-width:560px}.password-panel form{margin-top:25px}footer{margin-top:35px;border-top:1px solid var(--line);padding-top:18px;color:#b0a0bd;font-size:13px;display:flex;align-items:center;gap:12px}footer span{font-size:9px;color:#c1b1ca}footer small{margin-left:auto;font-size:9px;color:#c1b1ca}@media(max-width:1100px){.sidebar{width:210px;padding:22px 15px}.shell{margin-left:210px}.content{padding:30px 25px}header{padding:0 25px}.stats article{padding:16px}.heading h1{font-size:30px}.login-story{padding:55px 45px}.login-form{padding:55px 45px 25px}.login-story h1{font-size:57px}.welcome{padding:27px}.panel-heading{flex-wrap:wrap}.two-col{grid-template-columns:1fr}.login-logo{margin-bottom:50px}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-story{display:none}.login-form{min-height:100vh;padding:45px 25px 22px}.login-logo{margin-bottom:40px;max-width:320px}.sidebar{width:77px;padding:15px 6px}.brand img{height:55px}.center-box,.nav-title,.sidebar nav a span,.calm,.profile>div,.logout{display:none}.sidebar nav{margin-top:35px}.sidebar nav a{justify-content:center;padding:13px 0}.profile{justify-content:center}.shell{margin-left:77px}.content{padding:27px 20px}header{padding:0 20px;height:65px}.stats{grid-template-columns:1fr 1fr;gap:10px}.welcome{grid-template-columns:1fr}.welcome-art{display:none}.heading{align-items:flex-start}.heading h1{font-size:28px}.heading>.primary{font-size:10px;padding:11px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}footer span{display:none}.date{display:none}.search input{width:170px}}@media(max-width:480px){.shell{margin-left:0}.sidebar{position:static;width:auto;padding:10px 15px;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--line)}.brand{width:100px;flex-shrink:0}.brand img{height:44px}.sidebar nav{margin:0 0 0 auto;display:flex;gap:7px}.sidebar nav a{font-size:19px;width:35px;padding:6px}.sidebar nav a span{display:none}.sidebar-bottom{margin:0 0 0 10px;padding:0}.sidebar-bottom .profile{display:none}.sidebar-bottom .logout{display:block;font-size:8px;margin:0;padding:0;max-width:42px}.content{padding:24px 15px}header{height:52px;padding:0 15px;font-size:9px}.heading{gap:10px}.heading h1{font-size:27px}.heading>.primary{max-width:115px;text-align:center;line-height:1.6}.stats b{font-size:26px}.welcome{padding:23px}.welcome h2{font-size:23px}.panel-heading{padding:18px}.search{width:100%}.search input{flex:1;width:100%}.panel-heading h2{font-size:15px}.editor,.password-panel{padding:22px 18px}.hours th,.hours td{padding:10px 9px}.hours input[type=time]{width:112px;padding:8px}.panel-copy{padding-left:18px;padding-right:18px}dl{padding-left:18px;padding-right:18px;gap:15px}.eyebrow{font-size:8px;letter-spacing:1.3px}footer{gap:8px;font-size:11px}footer small{font-size:8px}td,th{padding:14px 17px;white-space:nowrap}}

.hours-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.hours-title .eyebrow{margin-bottom:8px}.schedule-example{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:linear-gradient(110deg,#f5f1fc,#f0f9f8);border:1px solid #e7dfef;border-radius:10px;padding:20px;margin:24px 0}.schedule-example>b{font-size:11px;color:#a594b4;margin-right:auto}.shift-chip{display:inline-flex;flex-direction:column;background:#fff;border:1px solid #e4dbf0;border-radius:7px;padding:8px 13px;font-size:13px;color:#9c83b5;white-space:nowrap}.shift-chip small{font-size:8px;color:#beaccd;margin-bottom:3px;letter-spacing:.6px}.break-chip{font-size:10px;color:#9fb7ad;border:1px dashed #d2e6dd;border-radius:7px;padding:10px;background:#f4faf6}.days-editor{display:grid;gap:14px}.day-editor{border:1px solid #e8e1f1;border-radius:11px;background:#fff;overflow:hidden}.day-title{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#faf8fd;border-bottom:1px solid #eee8f5}.day-title h3{font-size:14px;font-weight:550;margin:0;color:#a28ab6}.day-switch{display:flex;flex-direction:row;align-items:center;gap:9px;margin:0;font-size:10px;font-weight:400}.day-content{display:grid;grid-template-columns:1fr 1fr}.first-turn,.second-turn{padding:22px}.second-turn{border-left:1px solid #eee8f5;background:#fcfbfe;display:flex;flex-direction:column;justify-content:center}.turn-label{font-size:9px;color:#c6b9d6;display:flex;align-items:center;gap:8px;margin-bottom:15px}.turn-label b{font-size:11px;font-weight:550;color:#ac95bf}.turn-inputs{display:flex;align-items:center;gap:12px}.turn-inputs label{flex:1;min-width:0;font-size:10px;margin:0}.turn-inputs>span{font-size:13px;color:#d1c2de;margin-top:22px}.turn-inputs input{padding:10px;font-size:13px;width:100%;max-width:180px}.second-switch{font-size:11px;margin:0 0 13px;color:#b29ac6}.single-turn-note{font-size:10px;color:#c0afcf;line-height:1.8;max-width:235px}.second-fields{display:none}.second-turn:has(.second-switch input:checked) .second-fields{display:block}.second-turn:has(.second-switch input:checked) .single-turn-note{display:none}.second-turn:has(.second-switch input:checked) .second-switch{margin-bottom:18px}.rest-day{display:none;padding:22px;font-size:11px;color:#c0b3cc;background:#fdfcfe}.day-editor:not(:has(.day-switch input:checked)) .day-content{display:none}.day-editor:not(:has(.day-switch input:checked)) .rest-day{display:block}.day-editor:not(:has(.day-switch input:checked)) .day-title{background:#fcfbfd}.schedule-summary{padding:5px 24px 20px}.summary-day{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid #eee8f5}.summary-day>b{font-size:12px;font-weight:500;color:#b09abf}.summary-shifts{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.summary-shifts .shift-chip{background:#faf8fd}.summary-day:last-child{border-bottom:0}@media(max-width:850px){.day-content{grid-template-columns:1fr}.second-turn{border-left:0;border-top:1px solid #eee8f5}.turn-inputs input{max-width:none}.schedule-example>b{width:100%}.summary-day{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.hours-title{flex-wrap:wrap}.hours-title h2{font-size:19px}.schedule-example{padding:17px;gap:10px}.schedule-example .shift-chip{font-size:11px;padding:8px 10px}.schedule-example .break-chip{font-size:9px;order:3;width:100%;text-align:center}.day-title{padding:14px 16px}.first-turn,.second-turn{padding:18px 16px}.turn-inputs{gap:10px}.turn-inputs input{font-size:12px;padding:10px 8px}.schedule-summary{padding-left:18px;padding-right:18px}.summary-shifts{gap:8px}.summary-shifts .break-chip{width:100%;text-align:center}}
/* Fase 2: agenda tipo libro y pacientes */
.agenda-toolbar{display:flex;align-items:end;gap:18px;flex-wrap:wrap;padding:22px;margin-bottom:22px}.agenda-toolbar label{min-width:180px;margin:0}.agenda-toolbar .text-link{padding:12px 0}.book-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 22px}.agenda-book{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:24px;box-shadow:0 12px 38px #2720440b;border:1px solid #e4e0ee;background:#fdfcf9;overflow:hidden;position:relative}.book-page{padding:28px;min-width:0}.book-page:first-child{border-right:1px solid #ddd7e8;box-shadow:inset -9px 0 14px -14px #6555c8}.book-day{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #d5cced;padding-bottom:22px;margin-bottom:20px}.book-day h2{font-size:24px;margin:8px 0}.book-day h2 strong{font-size:34px;color:#6555c8}.book-day small{color:#777080}.day-appointments{display:flex;flex-direction:column;gap:12px;min-height:200px}.appointment-card{display:flex;align-items:center;gap:16px;border:1px solid #e6e0ee;border-left:4px solid #7160cd;background:white;padding:16px;border-radius:12px;text-decoration:none;color:inherit}.appointment-card:hover{border-color:#6555c8;box-shadow:0 5px 15px #6555c811}.appointment-time{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.appointment-time b{font-size:18px;color:#5344a4}.appointment-time small{color:#8b8498}.appointment-person{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}.appointment-person>span{font-size:13px;color:#777080}.appointment-person small{font-size:11px;background:#f0edf9;color:#6555c8;padding:4px 8px;border-radius:6px;align-self:flex-start}.appointment-arrow{margin-left:auto;color:#9387b6}.state-asistio{border-left-color:#17b8ae}.state-asistio .appointment-person small{background:#e4f7f2;color:#167a70}.state-no_asistio{border-left-color:#ce9261}.state-cancelada{opacity:.55;border-left-color:#aaa}.state-cancelada .appointment-time b{text-decoration:line-through}.state-confirmada{border-left-color:#438dcb}.agenda-empty{padding:40px 15px;text-align:center;color:#888094}.agenda-empty>span{font-size:36px;color:#b4a8d4}.agenda-empty h3{font-size:18px;color:#6a6179}.availability{border-top:1px dashed #ddd5e7;margin-top:24px;padding-top:20px}.availability>summary{cursor:pointer;color:#6555c8;font-size:13px;font-weight:600}.provider-slots{padding:18px 0;border-bottom:1px solid #eee9f4}.provider-slots>b{font-size:14px}.shift-ranges,.available-slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.shift-ranges .shift-chip{font-size:11px;padding:6px 10px}.available-slots a{border:1px solid #b7e8e0;background:#f2fcfa;color:#16887b;padding:7px 10px;border-radius:8px;font-size:12px;text-decoration:none}.birthday-panel{margin-top:24px}.birthday-list{padding:0 24px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.birthday{padding:18px;background:#f7f5fb;border-radius:12px;display:flex;flex-direction:column;gap:8px}.birthday span{color:#6555c8}.birthday small{color:#8b809d}.birthday-today{background:#e9faf6;border:1px solid #a6e5db}.patient-search{padding:18px 24px;margin-bottom:20px}.patient-search summary{cursor:pointer;color:#6555c8}.patient-search .search{margin-top:15px;align-items:end}.patient-search label{flex:1}
@media(max-width:1000px){.book-page{padding:20px}.book-navigation>.muted{display:none}.appointment-card{gap:10px;padding:12px}.appointment-time b{font-size:16px}}
@media(max-width:760px){.agenda-book{grid-template-columns:minmax(0,1fr)}.book-page:first-child{border-right:0;border-bottom:2px solid #ddd7e8;box-shadow:none}.agenda-toolbar{align-items:stretch}.agenda-toolbar label{flex:1}.book-navigation a{font-size:12px;padding:10px}.day-appointments{min-height:80px}}
