/* NVagenda — estilos de la app (dirección visual del boceto v2, docs/mockups). */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(../common/fonts/DMSans-latin.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400 800;font-display:swap;src:url(../common/fonts/Manrope-latin.woff2) format("woff2")}
:root{
 --bg:#f5f4ef;--surface:#fffefa;--ink:#253c38;--ink2:#5f7069;--ink3:#738079;--line:#dcded5;--accent:#246354;--accent2:#e8efe7;--cian:#697dae;--navy:#eceee6;
 --ok:#386749;--ok2:#e9f0e4;--warn:#886422;--warn2:#f5edda;--bad:#a64f3d;--bad2:#f7e9e3;
 --white:#fffefa;--nav-ink:#30463e;--nav-muted:#6e7b71;--hover:#e2e7dc;--provider:#242e3e;--provider-ink:#edf0f5;--provider-muted:#b2becf;--provider-accent:#d0dcb4;--overlay:#17251f80;
 --display:"Manrope",sans-serif;--body:"DM Sans",sans-serif;color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
 --bg:#191f1c;--surface:#212925;--ink:#e3e9df;--ink2:#b0bcb0;--ink3:#9aa69a;--line:#39453d;--accent:#a8cfb4;--accent2:#2c4035;--cian:#a8b8df;--navy:#1e2821;
 --ok:#b1cf9b;--ok2:#2c3c28;--warn:#dfc589;--warn2:#3f3827;--bad:#e7a28d;--bad2:#432e29;--white:#18271e;--nav-ink:#dce5d8;--nav-muted:#a0ae9e;--hover:#303d32;--provider:#151b26;--provider-ink:#edf0f5;--provider-muted:#b2becf;--provider-accent:#d0dcb4;--overlay:#07100bc0;color-scheme:dark;
}}
:root[data-theme="dark"]{
 --bg:#191f1c;--surface:#212925;--ink:#e3e9df;--ink2:#b0bcb0;--ink3:#9aa69a;--line:#39453d;--accent:#a8cfb4;--accent2:#2c4035;--cian:#a8b8df;--navy:#1e2821;
 --ok:#b1cf9b;--ok2:#2c3c28;--warn:#dfc589;--warn2:#3f3827;--bad:#e7a28d;--bad2:#432e29;--white:#18271e;--nav-ink:#dce5d8;--nav-muted:#a0ae9e;--hover:#303d32;--provider:#151b26;--provider-ink:#edf0f5;--provider-muted:#b2becf;--provider-accent:#d0dcb4;--overlay:#07100bc0;color-scheme:dark;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 var(--body)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--accent)}[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display)}h1{font-size:32px;letter-spacing:-1.3px;font-weight:750;line-height:1.2}h2{letter-spacing:-.4px}h3{font-weight:700}svg{width:19px;height:19px;flex:none}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}
nav.side{background:var(--navy);border-right:1px solid var(--line);padding:28px 16px 20px;display:flex;flex-direction:column;gap:5px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 7px 30px}.logo{width:35px;height:35px;display:grid;place-items:center;background:var(--accent);color:var(--white);font:800 22px var(--display);border-radius:4px}.brand b{display:block;font:750 17px var(--display);letter-spacing:-.7px}.brand small{font-size:10px;letter-spacing:.07em;color:var(--nav-muted)}.workspace{font-size:11px;color:var(--nav-muted);padding:0 11px 10px;letter-spacing:.08em;text-transform:uppercase}nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;color:var(--nav-ink);text-decoration:none;border-radius:4px;font-weight:500;font-size:13px}nav a:hover{background:var(--hover)}nav a.on{background:var(--surface);color:var(--accent);font-weight:700;box-shadow:inset 3px 0 var(--accent)}nav.side a[data-v="nuevo"]{margin-bottom:17px;border:1px solid var(--line)}.nav-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:15px}.nav-bottom small{display:block;padding:12px;color:var(--nav-muted);font-size:11px}.badge{margin-left:auto;background:var(--warn2);color:var(--warn);padding:0 6px;font-size:11px;border-radius:3px}.account{display:flex;align-items:center;gap:9px;padding:14px 9px 0;border-top:1px solid var(--line);margin-top:10px}.account b,.account small{display:block;padding:0}.account b{font-size:12px}.account small{font-size:11px}
main{min-width:0;padding-top:0;padding-bottom:50px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.wrap{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:28px}.utility{height:70px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px;color:var(--ink2);font-size:12px}.utility strong{color:var(--ink);font-weight:550}.utility-actions{display:flex;align-items:center;gap:12px}.theme{border:1px solid var(--line);background:var(--surface);color:var(--ink2);padding:5px 8px;border-radius:4px;font-size:11px;max-width:110px}.note{font-size:11px;color:var(--ink3);display:flex;align-items:center;gap:8px}.note::before{content:"";width:5px;height:5px;background:var(--warn);border-radius:50%;flex:none}.top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}.top p{color:var(--ink2);margin-top:9px;max-width:620px;font-size:13px}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--ink3);margin-bottom:10px;text-transform:uppercase}.card{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:24px;min-width:0}.grid2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}.form{display:flex;flex-direction:column;gap:18px}.form[data-step]::before{content:attr(data-step);font:700 11px var(--display);letter-spacing:.07em;text-transform:uppercase;padding-bottom:16px;border-bottom:1px solid var(--line);color:var(--ink2)}.form h2{font-size:18px!important}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.f{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:600;color:var(--ink2);letter-spacing:.035em;text-transform:uppercase}input[type=text],input[type=tel],input[type=email],input[type=date],input[type=time],input[type=file],select,textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--ink);padding:10px 11px;font-size:13px;letter-spacing:0;text-transform:none;line-height:1.5}input:hover,select:hover,textarea:hover{border-color:var(--ink3)}textarea{min-height:94px;resize:vertical}.seg{display:flex;gap:5px;flex-wrap:wrap}.seg button,.chip{font-size:12px;padding:7px 11px;border:1px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:3px}.seg button.on,.chip.on{background:var(--accent2);border-color:var(--accent);color:var(--accent)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;font-weight:600;font-size:13px;border:1px solid var(--accent);border-radius:3px;padding:10px 15px;background:var(--accent);color:var(--white);text-decoration:none}.btn:hover{filter:brightness(.95)}.btn.ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn.danger{background:var(--bad);border-color:var(--bad);color:var(--white)}.found{display:flex;align-items:center;gap:11px;background:var(--accent2);border-left:2px solid var(--accent);padding:12px}.found div{min-width:0;flex:1}.found b{display:block;font-size:13px}.found small{display:block;color:var(--ink2);font-size:11px}.found .btn{padding:5px 9px;font-size:11px}.av{width:33px;height:33px;flex:none!important;display:grid;place-items:center;border-radius:4px;background:var(--accent2);border:1px solid var(--line);color:var(--accent);font-size:11px;font-weight:700}.found .av{border-color:var(--accent)}.sub{display:block;font-size:11px;color:var(--ink3);line-height:1.6}.check{display:flex;align-items:flex-start;gap:9px;border-top:1px solid var(--line);padding:15px 0 0;font-size:12px}.check input{accent-color:var(--accent);flex:none;width:15px;height:15px;margin:2px 0 0}.check small{display:block;color:var(--ink3);font-size:10px;margin-top:5px}.check.rgpd{color:var(--ok)}.check.off{color:var(--ink3)}.list{display:flex;flex-direction:column}.item{display:flex;align-items:center;gap:14px;padding:21px 0;border-top:1px solid var(--line)}.item:first-child{border:0}.item .m{flex:1;min-width:0}.item .m small{display:block;color:var(--ink3);font-size:12px;margin-top:3px}.pill{display:inline-block;font-size:10px;font-weight:600;border-radius:3px;padding:4px 8px;white-space:nowrap}.p-blue{background:var(--accent2);color:var(--accent)}.p-ok{background:var(--ok2);color:var(--ok)}.p-warn{background:var(--warn2);color:var(--warn)}.p-bad{background:var(--bad2);color:var(--bad)}.scrollx{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}.week{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));min-height:390px}.day{border-right:1px solid var(--line);padding:0 9px}.day:last-child{border:0}.day h3{font:600 12px var(--body);padding:0 0 20px;color:var(--ink2);border-bottom:1px solid var(--line);margin-bottom:20px}.day h3.today{color:var(--accent)}.slot{border-left:2px solid var(--accent);background:var(--accent2);padding:10px;margin-bottom:12px;font-size:12px;border-radius:2px;line-height:1.6}.slot b{display:block;font-variant-numeric:tabular-nums;font-size:13px;margin-bottom:4px}.slot.c2{border-color:var(--cian);background:var(--bg)}.slot.c3{border-color:var(--warn);background:var(--warn2)}.kan{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:16px;min-height:440px}.col{display:flex;flex-direction:column;gap:10px;background:var(--navy);padding:10px;border-top:2px solid var(--line);border-radius:2px}.col:nth-child(2){border-color:var(--accent)}.col:nth-child(4){border-color:var(--ok)}.col h3{display:flex;justify-content:space-between;align-items:center;font:600 12px var(--body);padding:4px 0 12px}.col h3 span{font-size:11px;color:var(--ink3)}.kc{padding:14px 12px;border:1px solid var(--line);background:var(--surface);border-radius:3px}.kc b{display:block;font-size:12px;margin-bottom:7px}.kc small{display:block;color:var(--ink2);font-size:11px;margin-top:3px}.kc .late{color:var(--bad);font-size:10px;padding-top:8px;margin-top:10px;border-top:1px solid var(--line)}.alert{padding:12px;font-size:12px;border-left:2px solid var(--bad)}.alert.bad{background:var(--bad2);color:var(--bad)}.tl{border-left:1px solid var(--line);margin:20px 0 0 5px;padding-left:23px;display:flex;flex-direction:column;gap:30px}.tl div{position:relative;font-size:13px;max-width:480px}.tl div::before{content:"";position:absolute;left:-28px;top:6px;width:9px;height:9px;border:2px solid var(--surface);border-radius:50%;background:var(--accent)}.tl small{display:block;color:var(--ink3);font-size:10px;margin-bottom:7px}.kv{display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px;font-size:12px;margin:0 0 10px}.kv dt{color:var(--ink3)}.kv dd{margin:0;overflow-wrap:anywhere}.cfg{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cfg h3{font-size:15px;margin-bottom:6px}.tag-edit{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.tag-edit span{border:1px solid var(--line);border-radius:3px;padding:5px 9px;font-size:12px}.tag-edit span:last-child{color:var(--accent);border-style:dashed}.rename{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:16px;font-size:12px;color:var(--ink2)}.rename input{width:150px}.tabbar{display:none}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:30;max-width:calc(100% - 32px);padding:13px 20px;border:1px solid var(--accent);background:var(--surface);color:var(--ink);border-radius:4px;font-size:13px;box-shadow:0 8px 30px var(--overlay)}
.provider-head{background:var(--provider);color:var(--provider-ink);padding:28px;border-radius:4px;margin-bottom:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.provider-head .eyebrow,.provider-head p{color:var(--provider-muted)}.provider-head h1{font-size:29px}.provider-head p{font-size:12px;margin-top:8px}.provider-head .btn{background:var(--provider-accent);border-color:var(--provider-accent);color:var(--provider)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin-bottom:25px}.metric{padding:0 22px 22px;border-right:1px solid var(--line)}.metric:first-child{padding-left:0}.metric:last-child{border:0}.metric b{font:700 28px var(--display);display:block}.metric span{font-size:11px;color:var(--ink2)}.table-tools{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:16px}.table-tools input{max-width:280px}.table-tools span{color:var(--ink3);font-size:11px}table{border-collapse:collapse;width:100%;min-width:800px;text-align:left;font-size:12px}th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);font-weight:500;background:var(--navy)}th,td{padding:16px 14px;border-bottom:1px solid var(--line)}td strong{display:block}td small{display:block;color:var(--ink3);font-size:10px}.company-name{display:flex;gap:10px;align-items:center}.company-logo{width:32px;height:32px;object-fit:contain;border-radius:3px}.table-actions{display:flex;gap:5px}.table-actions button{background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:5px 8px;font-size:10px;color:var(--ink)}.table-actions button:last-child{color:var(--bad)}.provider-foot{font-size:11px;color:var(--ink3);margin-top:18px}.provider-mode nav.side{border-top:4px solid var(--provider)}.provider-mode .workspace{color:var(--accent)}dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:5px;width:min(540px,calc(100% - 32px));max-height:85vh;padding:26px}dialog::backdrop{background:var(--overlay)}.dialog-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:22px}.dialog-head h2{font-size:22px}.close{border:0;background:var(--bg);color:var(--ink);width:30px;height:30px;font-size:20px;border-radius:3px}.dialog-form{display:flex;flex-direction:column;gap:15px}.dialog-form h3{font-size:13px;padding-top:12px;border-top:1px solid var(--line)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.dialog-description{font-size:13px;color:var(--ink2)}.impersonation{background:var(--warn2);color:var(--warn);padding:10px 12px;display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:12px}.impersonation a{color:inherit}
@media(min-width:1100px){main{padding-left:44px;padding-right:44px}}
@media(max-width:1000px){.shell{grid-template-columns:200px minmax(0,1fr)}nav.side{padding-inline:10px}.brand{gap:7px}.brand b{font-size:16px}.grid2{gap:16px}.card{padding:20px}.found{flex-wrap:wrap}.found small{font-size:11.5px}}
@media(max-width:820px){.shell{grid-template-columns:minmax(0,1fr)}nav.side{display:none}.grid2,.cfg{grid-template-columns:1fr}.wrap{gap:22px}.utility{height:60px}.utility strong{font:750 16px var(--display)}.utility .desktop-detail{display:none}main{padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:6px max(4px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(4px,env(safe-area-inset-left,0px));z-index:10;justify-content:space-around}.tabbar a{flex-direction:column;font-size:10.5px;gap:4px;padding:7px 3px;min-width:0;position:relative}.tabbar a.on{box-shadow:inset 0 2px var(--accent);background:var(--accent2)}.tabbar svg{width:18px;height:18px}.tabbar .badge{position:absolute;right:0;top:0;font-size:8px;padding:0 3px}.note{font-size:11.5px}.top{margin-bottom:20px}h1{font-size:28px}.top p{font-size:12px}.toast{bottom:90px}.provider-head{padding:20px;align-items:flex-start;flex-direction:column}.metric{padding-inline:14px}.metric b{font-size:24px}.metric span{font-size:11.5px}.table-tools{align-items:flex-start;flex-direction:column}.utility-actions{gap:7px}.utility-actions a{font-size:11.5px;white-space:nowrap}.theme{font-size:11.5px;padding:5px}.provider-head h1{font-size:26px}}
@media(max-width:460px){.row{grid-template-columns:1fr}.card{padding:18px}.form{gap:17px}.found{flex-wrap:nowrap;gap:8px}.found .av{display:none}.seg button{padding:7px 9px}.item{align-items:flex-start;gap:10px}.alert b{display:inline}.metric span{display:block;line-height:1.5}.utility{gap:5px}.utility strong{font-size:14px}.utility-actions{gap:5px}}
@media(prefers-reduced-motion:no-preference){.view{animation:appear .2s ease-out}@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
/* ---- Añadidos de la app real (sobre el boceto) ---- */
.lbl{margin-bottom:7px}
.stack{display:flex;flex-direction:column;gap:14px}
.stack-s{display:flex;flex-direction:column;gap:6px}
.sec{font:700 12px var(--display);letter-spacing:.07em;text-transform:uppercase;color:var(--ink2);margin:22px 0 10px}
.sec:first-of-type{margin-top:0}
.agenda-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.week.week7{grid-template-columns:repeat(7,minmax(140px,1fr))}
button.slot{display:block;width:100%;text-align:left;color:var(--ink);border-top:0;border-right:0;border-bottom:0;font:inherit;font-size:12px}
.slot.c4{border-color:var(--warn);background:var(--warn2)}
.slot.c5{border-color:var(--bad);background:var(--bad2)}
.slot.hecha{opacity:.7}
.slot.no_vino{opacity:.55;text-decoration:line-through}
.slot em{font-style:normal;font-size:10px;color:var(--ink3)}
.day .empty{display:block;color:var(--ink3)}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.linklike{background:none;border:0;padding:0;color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.tl b{font-weight:600}
.tl small{display:block;color:var(--ink3);font-size:11px;margin-bottom:3px;font-variant-numeric:tabular-nums}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters select{width:auto;max-width:100%}
.table-tools input[type=search]{max-width:340px}
input[type=search],input[type=number],input[type=password]{width:100%;min-width:0;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--ink);padding:10px 11px;font-size:13px;letter-spacing:0;text-transform:none;line-height:1.5}
a.item,button.item{color:inherit;text-decoration:none;background:none;border-left:0;border-right:0;border-bottom:0;width:100%;text-align:left;font:inherit;cursor:pointer}
a.item:hover,button.item:hover,a.kc:hover{background:var(--bg)}
.list .item{padding:14px 6px}
a.kc{color:inherit;text-decoration:none;display:block}
.tag{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:3px;padding:5px 10px;font-size:12px}
.tag:hover{border-color:var(--accent)}
.tag.off{color:var(--ink3);text-decoration:line-through}
.tag.add{border-style:dashed;color:var(--accent)}
.dialog-links{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
td small{display:block}
.mobile-only{display:none}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:11px 16px;border-radius:4px;font-size:13px;z-index:50;max-width:calc(100% - 32px)}
#toast.error{background:var(--bad);color:var(--white)}
dialog{overflow:auto}
@media(max-width:820px){.mobile-only{display:inline-block}#toast{bottom:calc(90px + env(safe-area-inset-bottom,0px))}.agenda-tools{width:100%}.tabbar a{color:var(--nav-ink);text-decoration:none;display:flex;align-items:center}}
.alert{margin-bottom:18px}
@media(max-width:600px){.week.week7{grid-template-columns:1fr;min-height:0}.week7 .day{border-right:0;border-bottom:1px solid var(--line);padding:12px 4px}.week7 .day:last-child{border:0}.week7 .day h3{padding-bottom:8px;margin-bottom:10px}.week7 .slot{margin-bottom:8px}}
.cfg-wide{grid-column:1/-1}
.smtp h3{font-size:15px}
.sa-tabs{align-self:flex-end}
.provider-head .sa-tabs .btn.ghost{background:transparent;color:var(--provider-ink);border-color:var(--provider-muted)}
.provider-head .sa-tabs .btn:not(.ghost){background:var(--provider-accent);border-color:var(--provider-accent);color:var(--provider)}
.table-tools{flex-wrap:wrap}
