/* Smart Agencia: calendario, piezas, portal del cliente y página de la agencia */
.semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.dia{background:#f7f8fa;border:1px solid var(--bd);border-radius:8px;padding:6px;min-height:110px;display:flex;flex-direction:column;gap:4px;min-width:0}
.dia.hoy{border-color:var(--ac);box-shadow:inset 0 0 0 1px var(--ac)}
.dn{font-size:12px;color:var(--mu);font-weight:700}
.dia .pz{display:block;background:#fff;border:1px solid var(--bd);border-left:4px solid #999;border-radius:6px;padding:4px 6px;font-size:12px;text-decoration:none;color:var(--tx);overflow:hidden;text-overflow:ellipsis}
.dia .pz small{display:block;color:var(--mu);font-size:11px}
.dia .pz.ev{background:#2b2f38;color:#fff;border-color:#2b2f38}
.dia .pz.e-por_aprobar{background:#fff8e6}.dia .pz.e-cambios{background:#fdecea}.dia .pz.e-aprobada,.dia .pz.e-publicada{background:#eaf6ef}
@media(max-width:800px){.semana{grid-template-columns:1fr}.dia{min-height:0}}
.mesgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.mesgrid .dia{min-height:86px}.mesgrid .dia.fuera{opacity:.45}
.vprev{width:100%;max-width:420px;border-radius:10px;display:block;background:#eef1f5}
.vprev.vvacio,.vprev.vlink{height:180px;display:flex;align-items:center;justify-content:center;color:var(--mu);text-decoration:none;border:1px dashed #c5ced8}
.mini .vprev{width:120px;height:120px;object-fit:cover;flex:none;font-size:12px}
.pzl{display:flex;gap:14px;align-items:flex-start;padding:12px;border:1px solid var(--bd);border-radius:10px;margin-bottom:10px;background:#fff}
.pzl .tx{flex:1;min-width:0}.pzl .tx p{margin:6px 0;white-space:pre-line}
.dotc{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
.barh{display:flex;align-items:center;gap:8px;font-size:12.5px;margin:3px 0}.barh i{display:block;height:10px;border-radius:5px;background:var(--ac)}
.alerta{background:#fdf1ec;border:1px solid #f1c4b3;color:#8c3414;border-radius:8px;padding:9px 12px;margin-bottom:6px;font-size:13.5px}
.repo{max-width:900px}.repo h2{margin:0 0 4px}
@media print{.noimp{display:none!important}}

/* Portal del cliente (público) */
body.portal{background:#0b0b0b;color:#e9e9e9;--os:#0b0b0b}
body.portal .ph{background:#0b0b0b;border-bottom:1px solid #222}
body.portal .card,body.portal .paso,body.portal .pzl{background:#161616;border-color:#262626;color:#e9e9e9}
body.portal .note,body.portal .mu,body.portal .sub{color:#9a9a9a}
body.portal a{color:var(--ag2,#e9ff4f)}
body.portal .btn{background:#222;color:#eee;border-color:#333}
body.portal .btn.p{background:var(--ag2,#e9ff4f);color:#111;border-color:var(--ag2,#e9ff4f)}
body.portal .btn.x{border-color:var(--ag3,#d8521f);color:var(--ag3,#d8521f);background:transparent}
body.portal .k .v{color:var(--ag2,#e9ff4f)}
body.portal input,body.portal textarea,body.portal select{background:#0f0f0f;color:#eee;border-color:#333}
body.portal table td,body.portal table th{border-color:#262626}
body.portal .dia{background:#121212;border-color:#262626}body.portal .dia .pz{background:#1d1d1d;color:#eee;border-color:#2c2c2c}
body.portal .dia .pz.e-por_aprobar{background:#2a2410}body.portal .dia .pz.e-cambios{background:#2b1610}body.portal .dia .pz.e-aprobada,body.portal .dia .pz.e-publicada{background:#17241a}
body.portal .timeline .tl{border-color:#333}
body.portal .ptabs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 14px}
body.portal .ptabs a{padding:8px 16px;border-radius:30px;border:1px solid #333;color:#ddd;text-decoration:none;font-size:14px}
body.portal .ptabs a.on{background:var(--ag2,#e9ff4f);color:#111;border-color:var(--ag2,#e9ff4f);font-weight:700}
body.portal h1{color:#fff;margin:4px 0}body.portal h1 span{color:var(--ag2,#e9ff4f)}
body.portal .graf rect{fill:var(--ag2,#e9ff4f)}body.portal .graf text{fill:#aaa}
body.portal .aviso{background:#17241a;border-color:#2c4a33;color:#bfe6c9}
body.portal .tag.t-y{background:#3a3110;color:#ffd75e}body.portal .tag.t-r{background:#3b1a10;color:#ff9b77}body.portal .tag.t-g{background:#173020;color:#8fe0a8}

/* Página pública de la agencia */
body.ag{margin:0;background:var(--ag1,#0b0b0b);color:#e9e9e9;font-family:Arial,Helvetica,sans-serif}
.ag *{box-sizing:border-box}
.ag a{text-decoration:none}
.ag-nav{position:sticky;top:14px;z-index:9;margin:14px auto 0;max-width:1180px;width:calc(100% - 24px);display:flex;align-items:center;gap:14px;background:rgba(20,20,20,.88);backdrop-filter:blur(6px);border-radius:40px;padding:10px 12px 10px 22px}
.ag-nav .lg{font-weight:800;font-size:26px;color:var(--ag2,#e9ff4f)}.ag-nav .lg img{height:36px;display:block}
.ag-nav nav{display:flex;gap:22px;margin:0 auto;flex-wrap:wrap}.ag-nav nav a{color:#ddd;font-size:15px}
.ag-nav .ent{color:#aaa;font-size:14px}
.ag-btn{display:inline-block;border-radius:40px;padding:13px 26px;font-weight:700;font-size:16px;border:2px solid var(--ag2,#e9ff4f)}
.ag-btn.am{background:var(--ag2,#e9ff4f);color:var(--ag3,#d8521f)}.ag-btn.li{color:#fff;background:transparent}
.ag-hero{position:relative;min-height:640px;margin-top:-76px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.ag-fotos{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:#111}
.ag-fotos div{background:#222 center/cover no-repeat;filter:grayscale(1)}
.ag-hero:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}
.ag-hc{position:relative;z-index:2;padding:120px 18px 60px;max-width:1100px}
.ag-marca{font-size:clamp(48px,11vw,150px);font-weight:800;color:var(--ag2,#e9ff4f);line-height:1;letter-spacing:2px}
.ag-marca b{color:var(--ag3,#d8521f)}
.ag-sub{font-size:clamp(14px,2.4vw,28px);letter-spacing:.4em;color:var(--ag2,#e9ff4f);margin-top:6px}
.ag-lema{color:#c9c9c9;font-size:18px;margin:28px auto;max-width:860px;line-height:1.5}
.ag-serv{background:var(--ag2,#e9ff4f);background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px);background-size:28px 28px;color:var(--ag3,#d8521f);padding:70px 18px 90px}
.ag-in{max-width:1180px;margin:0 auto}
.ag-chip{display:inline-block;border:1px solid currentColor;border-radius:20px;padding:4px 14px;font-size:12px;letter-spacing:2px;font-weight:700;text-transform:uppercase}
.ag h2{font-size:clamp(30px,5vw,58px);margin:12px 0 10px;line-height:1.1}
.ag-cards{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;margin-top:44px}
.ag-card{width:270px;min-height:380px;background:#0b0b0b;border-radius:18px;padding:30px 26px;position:relative;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.ag-card:nth-child(4n+1){transform:rotate(-2deg)}.ag-card:nth-child(4n+2){transform:rotate(2deg)}.ag-card:nth-child(4n+3){transform:rotate(-1.5deg)}.ag-card:nth-child(4n){transform:rotate(2.5deg)}
.ag-card h3{font-size:25px;color:var(--ag2,#e9ff4f);margin:0 0 16px;line-height:1.2}.ag-card p{color:var(--ag2,#e9ff4f);font-size:16px;line-height:1.6;margin:0}
.ag-card:nth-child(even) h3,.ag-card:nth-child(even) p{color:var(--ag3,#d8521f)}
.ag-card .fl{position:absolute;bottom:26px;left:26px;width:44px;height:44px;border-radius:50%;border:2px solid var(--ag3,#d8521f);display:flex;align-items:center;justify-content:center;color:var(--ag3,#d8521f)}
.ag-sec{padding:80px 18px}.ag-sec h2{color:var(--ag2,#e9ff4f)}.ag-sec .ag-chip{color:var(--ag3,#d8521f)}
.ag-casos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:30px}
.ag-caso{min-height:280px;border-radius:18px;background:#222 center/cover no-repeat;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:24px}
.ag-caso:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.85))}
.ag-caso>*{position:relative}.ag-caso span{color:var(--ag2,#e9ff4f);font-size:14px}.ag-caso b{color:#fff;font-size:22px;margin-top:4px}
.ag-num{display:flex;gap:50px;flex-wrap:wrap;margin-top:40px}.ag-num div{color:#aaa}.ag-num b{display:block;font-size:56px;color:var(--ag3,#d8521f)}
.ag-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:30px}
.ag-re{background:#1a1a1a;border-radius:18px;padding:26px;font-size:17px;line-height:1.6}.ag-re .es{color:var(--ag2,#e9ff4f)}.ag-re b{display:block;margin-top:14px;color:var(--ag3,#d8521f)}
.ag-unete{background:var(--ag3,#d8521f);border-radius:28px;padding:50px;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:30px}
.ag-unete h2{color:var(--ag2,#e9ff4f)}
.ag-unete input,.ag-unete select,.ag-unete textarea{width:100%;border:0;border-radius:10px;padding:12px;margin:5px 0;font-size:15px}
.ag-unete button{background:#0b0b0b;color:var(--ag2,#e9ff4f);border:0;border-radius:30px;padding:13px 26px;font-weight:700;font-size:16px;cursor:pointer;margin-top:6px}
@media(max-width:800px){.ag-unete{grid-template-columns:1fr;padding:28px}.ag-nav nav{display:none}.ag-fotos{grid-template-columns:repeat(3,1fr)}}
.ag-foot{border-top:1px solid #222;padding:36px 18px;color:#888}.ag-foot .ag-in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}.ag-foot a{color:#bbb}
.ag-wa{position:fixed;right:18px;bottom:18px;width:60px;height:60px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 9px rgba(37,211,102,.2);z-index:9}
.ag-wa svg{width:30px;height:30px;fill:#fff}
.ag-ok{background:#0b0b0b;color:var(--ag2,#e9ff4f);border-radius:12px;padding:14px;margin-bottom:10px}
body.portal .op{border-color:#2c2c2c}
body.portal .vacio{background:#121212;color:#9a9a9a;border-color:#262626}
body.portal .vprev.vvacio,body.portal .vprev.vlink{background:#121212;border-color:#333;color:#9a9a9a}
body.portal .card .h{color:#fff}
