*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eeeae5;color:#292725;font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:13px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,[role=button]:focus-visible{outline:3px solid #bb9b7e;outline-offset:2px}.page{max-width:1550px;margin:22px auto 34px;background:#faf8f5;border:1px solid #e7ded4;border-radius:15px;overflow:hidden;box-shadow:0 9px 45px #2e25230d}.headtop{background:white;padding:16px 27px;border-bottom:1px solid #ebe4dd;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.logos{display:flex;align-items:center;gap:19px}.logowrap{display:flex;align-items:center;justify-content:center;min-width:70px;height:43px}.logowrap img{max-height:40px;max-width:110px;object-fit:contain}.logowrap.puig img{max-height:37px;max-width:86px}.logowrap.seis img{max-width:90px}.sep{height:25px;width:1px;background:#e5ddd5}.brandnote{font-size:10px;font-weight:800;letter-spacing:1.7px;color:#9e7b6a}.hero{padding:28px 28px 18px}.eyebrow{display:flex;align-items:center;gap:10px;color:#ac7e68;text-transform:uppercase;font-size:10px;letter-spacing:1.9px;font-weight:850}.audience{background:#efe8e0;padding:5px 9px;border-radius:5px;letter-spacing:.5px;font-size:10px;color:#866353}.hero h1{font:400 clamp(26px,3.5vw,39px)/1.13 Georgia,'Times New Roman',serif;letter-spacing:-.8px;margin:12px 0 6px}.hero p{color:#897e73;line-height:1.5;margin:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 28px;flex-wrap:wrap}.actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.btn{border:1px solid #dcd3c9;border-radius:8px;background:white;color:#55463e;padding:9px 12px;font-size:12px;font-weight:700;line-height:1.2}.btn:hover{background:#f1ece5}.btn.dark{background:#34302d;color:white;border-color:#34302d}.btn.dark:hover{background:#514841}.btn.gold{background:#e8d5bb;border-color:#e8d5bb;color:#644b3a}.btn.sm{font-size:10.5px;padding:7px 9px}.btn.warn{color:#b04e43}.metahelp{font-size:11px;color:#97887c;line-height:1.5}.savemsg{font-size:11px;color:#738877;font-weight:700}.search{border:1px solid #e2d9cf;background:white;border-radius:8px;padding:9px 11px;max-width:210px;min-width:120px;width:185px;outline-color:#ab806a}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 28px 20px}.metric{border:1px solid #eae2d9;background:white;border-radius:12px;padding:15px 17px;min-height:85px}.metricname{font-size:11px;color:#96887e}.metricvalue{font:400 29px Georgia,serif;margin-top:8px}.metricname small{font-size:10px;color:#a79a8f}.panel{margin:0 28px 19px;background:#fff;border:1px solid #e6ded5;border-radius:13px;overflow:hidden}.panelhead{padding:15px 17px;border-bottom:1px solid #ede5df;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.panelhead b{font-size:13px}.panelhead .hint{font-size:10.5px;color:#a29489;margin-top:6px;line-height:1.5}.key{display:flex;gap:13px;font-size:10px;color:#94857b;flex-wrap:wrap}.key i{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:5px}.timeline{overflow:auto;max-height:780px;position:relative;scrollbar-color:#c9b8a8 #fbfaf8}.chart{width:max-content;min-width:100%}.hrow,.group,.trow{display:flex;position:relative}.hrow{position:sticky;top:0;z-index:20;background:#f8f2ec}.left{width:289px;flex:0 0 289px;position:sticky;left:0;z-index:5;background:white;border-right:1px solid #e9e1d8}.hrow .left{z-index:25;background:#f8f2ec;padding:19px 16px;font-size:10px;color:#8a7365;letter-spacing:.7px;font-weight:800}.monthline{height:28px;display:flex;border-bottom:1px solid #e5dacf}.monthline span{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#927561;border-right:1px solid #e3d6ca}.dayline{display:flex;height:40px}.day{display:flex;flex:none;flex-direction:column;justify-content:center;align-items:center;font-weight:800;font-size:12px;color:#75665a;border-right:1px solid #eee5dd}.day small{font-weight:500;color:#ac9e92;font-size:9px}.day.weekend{background:#f0eae4;color:#aaa096}.day.today{background:#e8d5c7;color:#825943}.group{min-height:32px;background:#f6f0e9;border-top:1px solid #e9ded4;border-bottom:1px solid #e9ded4}.group .left{background:#f6f0e9;padding:9px 16px;font-weight:850;letter-spacing:1.1px;text-transform:uppercase;font-size:10px;color:#9e7868}.group .rest{background:#f6f0e9}.trow{height:63px;border-bottom:1px solid #f0eae5}.tasklabel{padding:10px 12px;display:flex;gap:10px;align-items:center;min-width:0}.tasklabel.clickable{cursor:pointer}.tasklabel.clickable:hover{background:#fbf6f0}.taskicon{width:29px;height:29px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#efe8e1;color:#8e6a5b;font-size:15px;flex:none}.tasklabel .names{min-width:0}.taskname{font-size:12px;font-weight:750;max-width:222px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tasksub{font-size:10px;color:#a09183;max-width:222px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}.lane{height:63px;position:relative;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--dw) - 1px),#eee7df calc(var(--dw) - 1px),#eee7df var(--dw))}.weekshade{position:absolute;top:0;bottom:0;background:#f8f5f2;pointer-events:none}.todayline{width:2px;position:absolute;top:0;bottom:0;background:#b77e68;z-index:2;pointer-events:none}.taskbar{position:absolute;top:17px;height:29px;display:flex;align-items:center;padding:0 9px;border:none;border-radius:7px;color:white;z-index:4;box-shadow:0 1px 4px #3427221a;font-size:10px;font-weight:700;overflow:visible;touch-action:none;user-select:none;cursor:grab}.taskbar.editable:hover{outline:2px solid #513e33;outline-offset:2px}.taskbar.dragging{z-index:50;cursor:grabbing;outline:2px solid #45352c;outline-offset:3px;box-shadow:0 5px 18px #4233264a}.taskbar .barname{position:relative;z-index:2;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;text-align:left;pointer-events:none}.taskbar .barprogress{position:absolute;top:0;bottom:0;left:0;pointer-events:none;background:#ffffff34;border-radius:7px}.handle{position:absolute;top:0;bottom:0;width:12px;z-index:5;touch-action:none;cursor:ew-resize;opacity:.3;background:#fff9}.taskbar:hover .handle,.taskbar.dragging .handle{opacity:.65}.handle.start{left:0;border-radius:7px 0 0 7px;border-right:2px solid #ffffffaa}.handle.end{right:0;border-radius:0 7px 7px 0;border-left:2px solid #ffffffaa}.taskbar.milestone{width:20px!important;height:20px;top:21px;padding:0;border-radius:4px;transform:rotate(45deg);box-shadow:0 0 0 3px white;cursor:grab}.taskbar.milestone.dragging{cursor:grabbing}.taskbar.milestone:hover{outline:2px solid #3c2b35;outline-offset:4px}.dragtooltip{position:fixed;z-index:999;background:#342a25;color:white;padding:8px 11px;border-radius:8px;font-size:11px;font-weight:750;box-shadow:0 6px 20px #0003;pointer-events:none;transform:translate(-50%,-120%);white-space:nowrap}.types{display:flex;gap:14px;padding:12px 16px;flex-wrap:wrap;border-top:1px solid #efe8e0}.types span{font-size:11px;color:#877c72;display:flex;gap:6px;align-items:center}.types i{width:9px;height:9px;border-radius:3px;display:inline-block}.note{margin:0 28px 24px;background:#f0eae3;border-radius:8px;border-left:3px solid #b48d75;padding:15px 17px;color:#7d6e62;line-height:1.6;font-size:12px;position:relative}.note b{color:#866552;margin-right:9px}.note .editnotice{float:right;margin-left:12px}.agenda{padding:0 16px 13px}.agenda-row{display:grid;grid-template-columns:112px minmax(150px,1fr) minmax(150px,1.4fr) 95px;gap:11px;align-items:center;padding:14px 5px;border-bottom:1px solid #f1eae3;cursor:pointer}.agenda-row:hover{background:#fcf8f4}.agenda-row:last-child{border-bottom:0}.agendadate{font-size:12px;color:#7c5c4f;font-weight:800}.agenda-time{font-size:10px;color:#9c8f84;margin-top:5px}.place{font-weight:750}.addr{font-size:11px;color:#9b8b80;line-height:1.45}.chip{background:#f2e8df;color:#95725f;padding:5px 7px;border-radius:5px;font-size:10px;font-weight:700;display:inline-block}.modalcover{position:fixed;inset:0;background:#1f1915a8;display:flex;align-items:center;justify-content:center;padding:15px;z-index:1000}.modal{background:white;border-radius:17px;padding:24px;width:min(715px,100%);max-height:93vh;overflow:auto;box-shadow:0 24px 100px #2c211c66}.modal h2{font:400 29px Georgia,serif;margin:0 0 6px}.modal p{color:#988a7f;font-size:12px;margin:0 0 18px;line-height:1.5}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;font-weight:800;color:#8c7567}.field input,.field textarea,.field select{border:1px solid #e3d8ce;border-radius:8px;background:#fcfaf7;padding:10px 11px;min-width:0;outline-color:#b19079;color:#302924;width:100%}.field textarea{min-height:77px;resize:vertical}.modalactions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:21px}.swatchgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.swatch{height:34px;width:100%;border:2px solid transparent;border-radius:8px;position:relative;cursor:pointer}.swatch.selected{outline:2px solid #3a302b;outline-offset:1px}.swatch.selected::after{content:'✓';color:#fff;text-shadow:0 1px 3px #0007;font-weight:800}.iconpicker{display:grid;grid-template-columns:repeat(12,1fr);gap:5px}.iconpick{font-size:18px;background:#f8f3ed;border:1px solid #e7dcd3;border-radius:8px;padding:7px 0;text-align:center;cursor:pointer}.iconpick.selected{background:#e7d6c5;border-color:#a27e65}.fieldhelp{font-size:10px;color:#a09185;line-height:1.4}.sectionbox{border-top:1px solid #eee6de;margin-top:19px;padding-top:15px}.sectiontitle{font-weight:800;margin:0 0 9px;font-size:13px}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px 20px}.detailitem{min-width:0}.dlabel{font-size:10px;font-weight:850;color:#9f806d;text-transform:uppercase;letter-spacing:.9px;margin-bottom:5px}.dvalue{font-size:13px;color:#342e2b;line-height:1.5;word-break:break-word}.detailstatus{display:inline-flex;background:#f3e9e0;border-radius:5px;padding:5px 8px;color:#846755;font-size:11px;font-weight:750}.readnote{background:#f8f4ef;border-left:3px solid #c0a18b;border-radius:6px;padding:12px 14px;line-height:1.6}.logosettings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.logoitem{border:1px solid #eee5dc;padding:10px;border-radius:9px}.logopreview{height:53px;display:flex;align-items:center;justify-content:center}.logopreview img{max-width:110px;max-height:47px;object-fit:contain}.logoitem input{font-size:10px;width:100%}.info{background:#f4eee8;border-radius:8px;padding:10px 12px;color:#846e5f;font-size:11px;line-height:1.5}.progressrow{display:flex;align-items:center;gap:10px}.progressrow>span{font-size:11px;min-width:38px;color:#896b5b;font-weight:800}.progressrow input[type=range]{flex:1;accent-color:#aa8973}.quicksettings{display:flex;align-items:center;gap:10px}.error{color:#ad5b4b}.hidden{display:none!important}@media(max-width:760px){.page{margin:0;border-radius:0}.headtop{padding:12px 14px}.logos{gap:8px}.logowrap{min-width:45px}.logowrap img{max-width:75px;max-height:34px}.brandnote{font-size:8px}.hero{padding:22px 16px 15px}.toolbar{padding:11px 15px}.metrics{padding:0 15px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.panel{margin:0 14px 15px}.left{width:205px;flex-basis:205px}.taskname,.tasksub{max-width:160px}.taskicon{display:none}.note{margin:0 14px 18px}.fields,.detailgrid,.logosettings{grid-template-columns:1fr}.field.full{grid-column:auto}.swatchgrid{grid-template-columns:repeat(7,1fr)}.iconpicker{grid-template-columns:repeat(8,1fr)}.agenda-row{grid-template-columns:100px 1fr}.agenda-row .addr{grid-column:2}.modal{padding:17px}.modal h2{font-size:25px}}@media print{body{background:white}.page{margin:0;border:0;box-shadow:none}.toolbar,.note .editnotice,.handle{display:none!important}.timeline{overflow:visible;max-height:none}}


/* LAIA V3 · Ordenar filas de la columna izquierda */
.tasklabel.reorderable{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.tasklabel.reorderable:active{cursor:grabbing}
.row-grip{height:28px;width:17px;flex:0 0 17px;display:flex;align-items:center;justify-content:center;border-radius:5px;color:#b8a79b;line-height:1;font-size:19px;letter-spacing:-2px;transition:background .15s,color .15s;cursor:grab}
.tasklabel.reorderable:hover .row-grip,.row-grip:focus-visible{color:#796156;background:#eee3d9}
.row-grip:focus-visible{outline:2px solid #b59586;outline-offset:1px}
.trow.row-source{opacity:.43}
.trow.row-source .tasklabel{background:#eee8e1}
.trow.drop-before::before,.trow.drop-after::after{content:'';position:absolute;left:0;right:0;height:4px;background:#aa806e;z-index:15;pointer-events:none;box-shadow:0 0 0 2px #fff,0 2px 5px #73594b3b}
.trow.drop-before::before{top:-2px}
.trow.drop-after::after{bottom:-2px}
.laia-row-ghost{position:fixed;z-index:1001;pointer-events:none;max-width:280px;min-width:195px;background:#fffefa;border:1px solid #c8ac9b;border-radius:10px;box-shadow:0 13px 38px #30231b35;padding:11px 14px;color:#4b3934;font-size:12px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.laia-row-ghost small{display:block;color:#978275;font-weight:500;margin-top:3px;font-size:10px}
@media (prefers-reduced-motion:reduce){.row-grip{transition:none}}


/* Online / navegacion Firebase */
.cloudbar{max-width:1550px;margin:14px auto -8px;padding:12px 18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;background:#fff;border:1px solid #e7ded4;border-radius:11px;color:#6d6058;font-size:12px}
.cloudbar nav{display:flex;gap:8px;flex-wrap:wrap}.cloudbar a{padding:7px 11px;border:1px solid #e2d9ce;border-radius:7px;color:#745d50;text-decoration:none;font-weight:700}.cloudbar a.on{background:#eee6db;color:#342c28}.cloudbar .right{display:flex;gap:9px;align-items:center}.cloudbar button{padding:7px 10px;border:1px solid #d9cbbe;background:#f9f6f2;border-radius:7px;color:#5b4a40;font-weight:700}.cloudbar button:hover{background:#eee8e1}.cloudbar .sync{display:inline-flex;align-items:center;gap:6px;color:#75675d}.cloudbar .sync::before{content:"";height:7px;width:7px;border-radius:50%;background:#c29c6d}.cloudbar .sync.ok::before{background:#718d78}.cloudbar .sync.error{color:#b14646}.cloudbar .sync.error::before{background:#b14646}
.setup,.bootcard{max-width:870px;margin:40px auto;background:#faf8f5;border-radius:13px;border:1px solid #e8ddd3;padding:25px;line-height:1.6;color:#574a42}.setup h2,.bootcard h2{font:normal 26px Georgia,serif;color:#2c2420}.setup button,.bootcard button{padding:10px 15px;border:0;background:#594b44;color:white;border-radius:7px;cursor:pointer}.setup input{display:block;margin:14px 0}.setup .warn{background:#f9eae5;border-left:3px solid #b47965;padding:12px}.cloudbar .sync.wait::before{background:#c29c6d}.cloudbar .sync.busy::before{background:#7193a4}
@media(max-width:650px){.cloudbar{margin:0;border-radius:0}.page{margin-top:8px}}

/* Confirmación visible para acciones manuales; no interrumpe el trabajo. */
#laia-toast-container{position:fixed;top:22px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;width:min(388px,calc(100vw - 28px));pointer-events:none}
.laia-toast{pointer-events:auto;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e0d1c3;border-left:5px solid #907665;border-radius:12px;box-shadow:0 14px 50px #241d1d33;padding:15px 13px;animation:laia-toast-in .22s ease-out}
.laia-toast.error{border-left-color:#b95d58}.laia-toast .toast-icon{flex:0 0 33px;width:33px;height:33px;background:#e9e0d5;border-radius:50%;display:grid;place-items:center;font-size:18px;color:#695146;font-weight:800}.laia-toast.error .toast-icon{background:#f9e2df;color:#aa514c}.toast-copy{min-width:0;flex:1;display:grid;gap:4px}.toast-copy strong{font-size:14px;color:#40332b}.toast-copy small{font-size:11px;line-height:1.5;color:#827269}.toast-close{border:0;background:transparent;color:#99847a;font-size:23px;line-height:1;padding:2px 4px;align-self:flex-start}.laia-toast.vanish{opacity:0;transform:translateX(10px);transition:opacity .3s,transform .3s}@keyframes laia-toast-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
.cloudbar .private-admin-link{color:#9e8c80;opacity:.8;background:transparent!important;border-color:transparent!important;font-size:11px}
@media(max-width:600px){#laia-toast-container{right:12px;top:12px}}


/* Espera de procesamiento y guardado. */
.btn:disabled{opacity:.55;cursor:wait}
