:root{--ink:#17312e;--muted:#6e7d7a;--teal:#087a70;--teal-dark:#055f58;--mint:#e8f4f1;--line:#dbe5e2;--canvas:#f4f7f6;--white:#fff;--amber:#b47c1d;--danger:#9a4a40}*{box-sizing:border-box}html{min-height:100%;background:var(--canvas)}body{margin:0;min-height:100vh;background:var(--canvas);color:var(--ink);font-family:Inter,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.shell{min-height:100vh}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:20px;font-weight:800;text-decoration:none}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--teal);color:#fff;font:21px Georgia,serif}.top-nav{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,255,255,.9);border-bottom:1px solid var(--line)}.nav-note{color:var(--muted);font-size:12px}.page{width:min(1240px,calc(100% - 40px));margin:auto;padding:42px 0 115px}.eyebrow{color:var(--teal);font-size:10px;font-weight:800;letter-spacing:1.4px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.page-head h1{margin:7px 0 0;font:36px Georgia,serif;letter-spacing:-1px}.deadline{padding:12px 15px;border:1px solid #e9e2d2;border-radius:11px;background:#fbfaf5}.deadline small,.deadline strong{display:block}.deadline small{color:#8d8067;font-size:8px;font-weight:800;letter-spacing:1px}.deadline strong{margin-top:4px;font-size:11px}.info{display:flex;gap:12px;align-items:center;margin-bottom:20px;padding:13px 16px;border-left:3px solid var(--teal);border-radius:7px;background:var(--mint);color:var(--muted);font-size:12px}.info span{display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--teal);border-radius:50%;color:var(--teal);font-family:Georgia,serif}.info strong{color:var(--ink);margin-right:7px}.period{text-align:center;margin-bottom:13px;font:17px Georgia,serif}.schedule{overflow:auto;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 12px 40px rgba(35,74,67,.06)}.schedule-grid{display:grid;grid-template-columns:130px repeat(var(--days,5),minmax(155px,1fr));min-width:900px}.schedule-head{border-bottom:1px solid var(--line)}.schedule-head>span{align-self:end;padding:0 14px 14px;color:#879592;font-size:8px;font-weight:800;letter-spacing:1px}.day-head{text-align:center;padding:9px;border-left:1px solid var(--line)}.day-head small,.day-head strong,.day-head i{display:block}.day-head small{color:var(--muted);font-size:8px;letter-spacing:1px}.day-head strong{font:23px Georgia,serif}.day-head i{color:var(--muted);font-size:8px;font-style:normal}.schedule-body{min-height:405px}.schedule-guide{padding:18px 14px;border-right:1px solid var(--line)}.schedule-guide strong,.schedule-guide small{display:block}.schedule-guide strong{font-size:10px}.schedule-guide small{margin-top:5px;color:var(--muted);font-size:9px;line-height:1.4}.day-column{padding:11px 8px;border-right:1px solid var(--line);background:repeating-linear-gradient(to bottom,#fff 0,#fff 60px,#f1f4f3 61px)}.day-column:last-child{border:0}.slot{position:relative;width:100%;min-height:51px;margin-bottom:9px;padding:8px 7px 7px 31px;border:1px dashed #b6c8c4;border-radius:8px;background:#f9fbfa;color:#60736f;text-align:left}.slot strong,.slot small{display:block}.slot strong{font-size:10px}.slot small{margin-top:4px;font-size:8px}.slot b{position:absolute;left:8px;top:8px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#e6efec}.slot.selected{border-style:solid;border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:0 5px 13px rgba(8,122,112,.18)}.slot.selected b{background:rgba(255,255,255,.2)}.identity{display:flex;align-items:center;gap:11px;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}.avatar{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:50%;background:var(--mint);color:var(--teal);font-size:11px;font-weight:800}.identity p,.identity strong,.identity small{display:block;margin:0}.identity p{font-size:11px}.identity small{margin-top:4px;color:var(--muted)}.identity button{margin-left:auto;border:0;background:none;color:var(--teal);font-size:11px;font-weight:800}.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:8;display:flex;justify-content:space-between;align-items:center;min-height:82px;padding:14px 5vw;border-top:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 -8px 28px rgba(36,70,64,.06)}.selection-summary{display:flex;align-items:center;gap:12px}.selection-count{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:var(--mint);color:var(--teal);font:19px Georgia,serif}.selection-summary strong,.selection-summary small{display:block}.selection-summary strong{font-size:12px}.selection-summary small{margin-top:3px;color:var(--muted);font-size:9px}.primary,.secondary{border:0;border-radius:9px;padding:13px 18px;font-size:11px;font-weight:800}.primary{background:var(--teal);color:#fff;box-shadow:0 6px 14px rgba(8,122,112,.18)}.primary:hover{background:var(--teal-dark)}.primary:disabled{opacity:.55;cursor:not-allowed}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:18px;background:linear-gradient(135deg,rgba(18,39,36,.67),rgba(8,122,112,.48));backdrop-filter:blur(5px)}.modal{position:relative;width:min(560px,100%);padding:34px;border-radius:19px;background:#fff;box-shadow:0 25px 80px rgba(17,48,43,.24)}.modal.center{text-align:center;padding:43px 38px}.bubble{display:flex;align-items:center;justify-content:center;gap:5px;width:58px;height:45px;margin:0 auto 20px;border-radius:16px 16px 16px 5px;background:var(--mint);color:var(--teal)}.modal h2{margin:8px 0;font:30px Georgia,serif}.modal>p{margin:0 0 22px;color:var(--muted);font-size:12px;line-height:1.55}.steps{display:flex;align-items:center;justify-content:center;margin:26px 0}.steps span{display:grid;justify-items:center;gap:7px}.steps b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--mint);color:var(--teal);font:16px Georgia,serif}.steps small{color:var(--muted);font-size:9px}.steps i{width:40px;height:1px;margin:0 7px 20px;background:var(--line)}.modal label{display:block;margin-top:14px;color:#526460;font-size:10px;font-weight:800;text-align:left}.modal input,.modal select{display:block;width:100%;height:43px;margin-top:7px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);outline:none}.modal input:focus,.modal select:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--mint)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full-button{width:100%;margin-top:23px}.text-button{border:0;background:none;color:var(--muted);font-size:10px}.back{margin-bottom:17px}.error{margin-top:14px;padding:11px;border-radius:8px;background:#fff0ed;color:var(--danger);font-size:10px}.toast{position:fixed;right:22px;bottom:100px;z-index:40;padding:13px 16px;border-radius:10px;background:#173b35;color:#fff;font-size:11px;box-shadow:0 12px 35px rgba(0,0,0,.16)}.confirmation{width:min(680px,calc(100% - 36px));margin:55px auto;padding:40px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center;box-shadow:0 18px 55px rgba(36,70,64,.08)}.success{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 17px;border-radius:50%;background:var(--teal);color:#fff;font-size:28px}.confirmation h1{margin:8px 0;font:37px Georgia,serif}.confirmation>p{color:var(--muted);font-size:12px}.mail-result{display:flex;align-items:center;gap:12px;margin:22px 0;padding:14px 16px;border-radius:11px;background:var(--mint);text-align:left}.mail-result strong,.mail-result small{display:block}.mail-result strong{font-size:11px}.mail-result small{margin-top:4px;color:var(--muted);font-size:9px}.mail-result.failed{background:#fff0ed}.mail-result.not_configured{background:#fbf4e4}.chosen-list{text-align:left;border-top:1px solid var(--line);padding-top:17px;margin-bottom:22px}.chosen-list h3{font:18px Georgia,serif}.chosen-item{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f0}.date-tile{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border:1px solid var(--line);border-radius:8px}.date-tile strong{font:18px Georgia,serif}.date-tile small{color:var(--teal);font-size:7px}.chosen-item p,.chosen-item strong,.chosen-item small{display:block;margin:0}.chosen-item p strong{font-size:10px}.chosen-item p small{margin-top:4px;color:var(--muted);font-size:9px}
.admin-layout{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;padding:27px 20px;background:#fafcfb;border-right:1px solid var(--line)}.sidebar nav{display:grid;gap:6px;margin-top:31px}.sidebar nav button{display:flex;gap:11px;width:100%;padding:12px;border:0;border-radius:9px;background:none;color:var(--muted);font-size:12px;font-weight:700;text-align:left}.sidebar nav button.active{background:var(--mint);color:var(--teal)}.sidebar-foot{position:absolute;left:20px;right:20px;bottom:24px}.admin-main{grid-column:2;padding:37px 40px}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.admin-head h1{margin:7px 0 0;font:34px Georgia,serif}.admin-actions{display:flex;gap:8px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:15px}.metric{padding:17px;border:1px solid var(--line);border-radius:12px;background:#fff}.metric small,.metric strong,.metric span{display:block}.metric small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:1px}.metric strong{margin:8px 0 3px;font:26px Georgia,serif}.metric span{color:var(--muted);font-size:9px}.panel{margin-bottom:15px;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font:18px Georgia,serif}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:9px}.filters{display:flex;gap:8px}.filters input,.filters select{height:33px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:9px}.table{padding:0 18px 9px}.table-row{display:grid;grid-template-columns:1.5fr 1fr .8fr 60px 90px;align-items:center;min-height:53px;border-bottom:1px solid #edf1f0;font-size:9px}.table-row.header{min-height:37px;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.person{display:flex;gap:9px;align-items:center}.person strong,.person small{display:block}.person small{margin-top:3px;color:var(--muted)}.table-row button{border:0;background:none;color:var(--teal);font-size:9px;font-weight:800}.block-list{padding:0 18px}.block-row{display:grid;grid-template-columns:50px 1fr 115px 35px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf1f0}.block-row p,.block-row strong,.block-row small{display:block;margin:0}.block-row p strong{font-size:10px}.block-row p small{margin-top:4px;color:var(--muted);font-size:9px}.icon-button{width:29px;height:29px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--danger)}.empty{padding:45px;text-align:center;color:var(--muted);font-size:11px}.setup{max-width:650px;margin:70px auto;padding:32px;border:1px solid var(--line);border-radius:15px;background:#fff}.setup h1{font:30px Georgia,serif}.setup code{display:block;padding:12px;border-radius:8px;background:#eff4f2;color:var(--teal-dark)}
@media(max-width:900px){.metrics{grid-template-columns:1fr 1fr}.admin-layout{display:block}.sidebar{position:static;width:100%;padding:15px 18px}.sidebar nav{display:flex;margin-top:14px;overflow:auto}.sidebar-foot{position:static;margin-top:10px}.admin-main{padding:26px 18px}.admin-head{align-items:flex-start}.table{overflow:auto}.table-row{min-width:650px}}@media(max-width:620px){.top-nav{height:64px;padding:0 18px}.nav-note{display:none}.page{width:calc(100% - 28px);padding-top:27px}.page-head h1{font-size:29px}.deadline{display:none}.modal{padding:28px 20px}.modal.center{padding:34px 20px}.modal h2{font-size:27px}.form-grid{grid-template-columns:1fr}.steps i{width:20px}.action-bar{padding:12px 15px}.selection-summary small{display:none}.confirmation{padding:30px 18px}.confirmation h1{font-size:30px}.admin-head{display:block}.admin-actions{margin-top:14px}.metrics{grid-template-columns:1fr 1fr}.metric strong{font-size:22px}.panel-head{display:block}.filters{margin-top:12px}.block-row{grid-template-columns:45px 1fr 30px}.block-row>span{display:none}}

/* Identidad visual ACHEO */
:root{--ink:#161616;--muted:#6d6d73;--teal:#563bcf;--teal-dark:#195fd3;--mint:#f0effd;--line:#e7e5ee;--canvas:#fbfbfc;--white:#fff;--amber:#47bcea;--danger:#a83f54;--acheo-blue:#0869dc;--acheo-purple:#5b36ca;--acheo-cyan:#4bc1ed}
html,body{font-family:Arial,Helvetica,sans-serif}
.brand{gap:13px;color:var(--ink)}
.acheo-logo{display:block;width:142px;height:auto}
.brand-label{padding-left:12px;border-left:1px solid var(--line);color:#6f6f73;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
.top-nav{height:88px;background:#fff;border-bottom:2px solid #dff4fc;box-shadow:0 8px 28px rgba(31,35,55,.04)}
.nav-note{font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
.page-head>div:first-child,.admin-head>div:first-child{padding-left:14px;border-left:5px solid var(--acheo-purple)}
.page-head h1,.admin-head h1,.modal h2,.confirmation h1,.panel-head h2,.setup h1,.chosen-list h3,.day-head strong,.metric strong,.date-tile strong,.period{font-family:Arial,Helvetica,sans-serif;font-weight:800}
.page-head h1,.admin-head h1{letter-spacing:-1.2px}
.eyebrow{color:var(--acheo-purple);letter-spacing:1.7px}
.info{border-left:4px solid var(--acheo-purple);background:linear-gradient(90deg,#f0effd,#f7fbff)}
.schedule,.panel,.metric,.identity,.confirmation,.setup{border-color:var(--line);box-shadow:0 12px 34px rgba(33,35,65,.07)}
.schedule{border-top:3px solid var(--acheo-cyan)}
.slot.selected,.success{border-color:transparent;background:linear-gradient(135deg,var(--acheo-blue),var(--acheo-purple));box-shadow:0 7px 18px rgba(73,60,190,.24)}
.primary{background:linear-gradient(135deg,var(--acheo-blue),var(--acheo-purple));box-shadow:0 7px 18px rgba(73,60,190,.24)}
.primary:hover{background:linear-gradient(135deg,#075cc2,#4c2db3);transform:translateY(-1px)}
.secondary{border-color:#d9d6e8}
.action-bar{border-top:3px solid #dff4fc;box-shadow:0 -10px 28px rgba(41,39,82,.07)}
.selection-count,.avatar,.steps b,.bubble{background:linear-gradient(135deg,#eaf6fd,#efebfd);color:var(--acheo-purple)}
.overlay{background:linear-gradient(135deg,rgba(7,62,137,.72),rgba(86,45,180,.64));backdrop-filter:blur(7px)}
.modal{overflow:hidden;border:1px solid rgba(255,255,255,.5);box-shadow:0 28px 90px rgba(23,25,64,.3)}
.modal:before{position:absolute;top:0;left:0;right:0;height:5px;content:"";background:linear-gradient(90deg,var(--acheo-blue),var(--acheo-purple),var(--acheo-cyan))}
.modal-logo{display:block;width:126px;height:auto;margin:0 auto 18px}
.modal-logo.compact{width:105px;margin:0 0 21px}
.modal h2{padding-left:12px;border-left:4px solid var(--acheo-purple);text-align:left}
.modal.center h2{max-width:430px;margin:8px auto;padding-left:0;border-left:0;text-align:center}
.sidebar{background:#fff;border-right:1px solid var(--line);box-shadow:7px 0 30px rgba(28,30,55,.035)}
.sidebar .brand{display:flex;flex-wrap:wrap}
.sidebar .acheo-logo{width:150px}
.sidebar nav button.active{background:linear-gradient(90deg,#efecfd,#edf8fd);color:var(--acheo-purple);box-shadow:inset 3px 0 var(--acheo-purple)}
.metric{border-top:3px solid var(--acheo-purple)}
.metric:nth-child(2),.metric:nth-child(4){border-top-color:var(--acheo-cyan)}
.toast{background:linear-gradient(135deg,#123f8e,#5437bd)}
.setup code{background:#f0effd;color:#4431a5}
@media(max-width:620px){.acheo-logo{width:116px}.brand-label{font-size:9px;letter-spacing:1.4px}.top-nav{height:72px}.page-head>div:first-child,.admin-head>div:first-child{padding-left:11px}.modal-logo{width:112px}.sidebar .acheo-logo{width:126px}}
