:root{--coral:#ff5b4d;--dark:#242424;--navy:#15314a;--blue:#d9eef7;--line:#dfe3e7;--bg:#f5f7f9;--green:#e4f5e8;--red:#ffe5e3;--yellow:#fff3d7}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;color:#252a30;background:var(--bg)}a{color:#1265b0}header{height:62px;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.brand img{height:43px;max-width:240px;object-fit:contain}.brand{display:flex;align-items:center}header a{color:#fff}nav{display:flex;gap:3px;flex-wrap:wrap;padding:7px 10px;background:#fff;border-bottom:1px solid var(--line)}nav a{padding:9px 10px;text-decoration:none;color:#292d31;border-radius:7px}nav a.on{background:var(--coral);color:#fff}main{max-width:1440px;margin:auto;padding:22px}h1{margin:0 0 8px;font-size:32px}h2{margin-top:28px}.sub{margin:0;color:#65707b}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.hint{background:#fff;border-left:5px solid var(--coral);padding:12px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}.card strong{display:block;font-size:32px;margin-top:8px}.quick,.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.button,button,.smallbtn{background:var(--coral);color:#fff!important;border:0;border-radius:7px;padding:10px 14px;text-decoration:none;cursor:pointer}.smallbtn{padding:7px 10px;font-size:13px}.secondary{background:#777!important}button:disabled{opacity:.5}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top}th{background:var(--dark);color:#fff}.needs-action{background:var(--blue)}.edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;background:var(--blue);padding:12px;margin-bottom:14px;border-radius:8px}.edit input,.edit select,.actions input,.modalform input,.modalform select{padding:9px;border:1px solid #bbb;border-radius:5px}.login{display:grid;place-items:center;min-height:100vh;background:var(--dark)}.login-card{width:min(420px,92vw);background:#fff;padding:28px;border-radius:12px}.login-card label,.modalform label{display:block;margin:12px 0}.login-card input,.modalform input,.modalform select{width:100%;margin-top:5px}.alert{background:#ffe4e1;padding:9px;border-radius:5px}.badge,.status{display:inline-block;background:#eef1f3;border-radius:999px;padding:5px 9px}.statushero{background:#fff;border-left:5px solid var(--coral);padding:16px;display:flex;justify-content:space-between;gap:15px;margin-bottom:12px}.timeline{display:flex;gap:5px;overflow:auto;margin:14px 0 20px}.timeline span{white-space:nowrap;background:#e9edf0;padding:8px 12px;border-radius:20px}.timeline .current{background:var(--coral);color:#fff}.actions{position:relative}.actions summary{cursor:pointer;background:#f0f2f4;border-radius:6px;padding:7px 9px;white-space:nowrap}.actions form,.actions[open]>a{display:block}.actions form{position:absolute;right:0;z-index:5;background:#fff;border:1px solid var(--line);padding:10px;min-width:190px;box-shadow:0 8px 25px #0002}.actions form button{display:block;width:100%;margin:5px 0}.actions.inline{display:inline-block}.tabsline{display:flex;gap:4px;overflow:auto;margin:12px 0 18px}.tabsline span{white-space:nowrap;padding:8px 11px;background:#fff;border:1px solid var(--line);border-radius:7px}.tabsline .on{background:var(--coral);color:#fff}.tab{padding:9px 13px;background:#fff;border:1px solid var(--line);border-radius:7px;text-decoration:none;color:#333}.tab.on{background:#2d91e5;color:#fff}.agenda-cards{margin-bottom:18px}.weekgrid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);overflow:auto}.weekgrid section{background:#fff;min-height:430px;padding:10px}.weekgrid h3{margin:0 0 10px;text-align:center}.weekgrid h3 small{display:block;font-weight:normal;color:#777;margin-top:4px}.event{border-left:4px solid #58aaf0;background:#edf6ff;border-radius:6px;padding:9px;margin-bottom:9px;display:flex;flex-direction:column;gap:4px;font-size:13px}.event.confirmada{border-color:#5ebf7a;background:var(--green)}.event.en-riesgo{border-color:#f15b54;background:var(--red)}.event time{font-size:12px;color:#59636d}.modalform{min-width:min(480px,80vw)}dialog{border:0;border-radius:12px;box-shadow:0 20px 70px #0004}footer{text-align:center;padding:20px;color:#777}@media(max-width:800px){main{padding:12px}table{display:block;overflow:auto}nav{overflow:auto;flex-wrap:nowrap}.edit{grid-template-columns:1fr}.weekgrid{grid-template-columns:repeat(7,210px)}.pagehead,.statushero{flex-direction:column}.brand img{height:36px}}
.quick a{background:var(--coral);color:#fff;text-decoration:none;padding:10px 14px;border-radius:7px}.empty{background:#fff;border:1px dashed #bcc5cc;border-radius:10px;padding:24px;text-align:center;color:#5f6973;margin:14px 0}.agenda-nav{background:#fff;padding:10px;border:1px solid var(--line);border-radius:8px;margin-bottom:14px}.agenda-nav select,.filterbar input,.formgrid input,.formgrid select{padding:9px;border:1px solid #bbb;border-radius:5px}.daygrid{grid-template-columns:1fr}.actionmenu{position:absolute;right:0;z-index:10;background:#fff;border:1px solid var(--line);padding:8px;min-width:200px;box-shadow:0 8px 25px #0002;border-radius:7px}.actionmenu a,.actionmenu span{display:block;padding:8px;text-decoration:none}.actionmenu a:hover{background:#f3f5f7}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;margin:12px 0}.formgrid label{display:flex;flex-direction:column;gap:5px}.formgrid .span2{grid-column:span 2}.sectionhead{margin-top:26px}.projecttabs{display:flex;gap:4px;overflow:auto;margin:12px 0 18px;padding-bottom:3px}.projecttabs a{white-space:nowrap;padding:8px 11px;background:#fff;border:1px solid var(--line);border-radius:7px;text-decoration:none;color:#333}.projecttabs a.on{background:var(--coral);color:#fff}.status.good{background:#e4f5e8}.status.warn{background:#fff3d7}.status.bad{background:#ffe5e3}.filterbar{margin-bottom:14px}.filterbar input{min-width:320px}.brand img{height:45px;width:auto;max-width:55px;object-fit:contain}
