:root{--bg:#fffdf7;--card:#fff;--bd:#f0e3c0;--tx:#3a1420;--mu:#7d6a60;--pr:#9b2c4a;--pr2:#b8466a;--go:#e6b422;--go2:#f7d774;--soft:#fdf3d6}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Inter,Arial,sans-serif;background:var(--bg);color:var(--tx);line-height:1.5}
a{color:inherit;text-decoration:none}h1,h2,h3{margin:.2em 0 .5em;line-height:1.15}.muted{color:var(--mu)}.small{font-size:13px}.err{color:#b00020}
.hidden{display:none!important}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{border:1px solid var(--bd);background:#fff;color:var(--tx);padding:10px 16px;border-radius:10px;font-weight:600;cursor:pointer;font-size:14px}
.btn.primary{background:var(--pr);color:#fff;border-color:var(--pr)}.btn.gold{background:var(--go);color:#3a1420;border-color:var(--go)}.btn.light{background:rgba(255,255,255,.15);color:#fff;border-color:#fff}
.btn.wa{background:#25D366;color:#fff;border-color:#25D366}.btn.small{padding:6px 10px;font-size:13px}.btn.danger{color:#b00020}
.top{display:flex;justify-content:space-between;align-items:center;padding:14px 5vw;background:#fff;border-bottom:3px solid var(--go);position:sticky;top:0;z-index:5}
.top nav{display:flex;gap:18px;align-items:center}.brand{display:flex;gap:10px;align-items:center}.brand small{display:block;color:var(--mu);font-size:12px}
.logo{width:46px;height:46px;display:block}
.hero{min-height:72vh;background-size:cover;background-position:center;display:flex;align-items:center;padding:0 5vw}
.hero-in{max-width:620px;color:#fff}.hero h1{font-size:clamp(32px,5vw,56px)}.hero p{font-size:18px;opacity:.95}
.tag{display:inline-block;background:var(--go);color:#3a1420;padding:5px 12px;border-radius:99px;font-weight:700;font-size:13px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--pr);color:#fff;text-align:center}.stats div{padding:22px}.stats b{display:block;font-size:28px;color:var(--go2)}
.wrap{padding:50px 5vw}.grid5{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.bcard{background:#fff;border:1px solid var(--bd);border-radius:14px;overflow:hidden}.bcard img{width:100%;height:220px;object-fit:cover;object-position:center 15%}.bcard div{padding:12px}
.tabs{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.tabs button{border:1px solid var(--bd);background:#fff;padding:8px 14px;border-radius:99px;cursor:pointer}.tabs button.on{background:var(--pr);color:#fff}
.gal{width:100%;max-width:900px;border-radius:14px;display:block}
.contact{display:flex;justify-content:space-between;align-items:center;background:var(--soft)}footer{text-align:center;padding:20px;color:var(--mu)}
.modal{position:fixed;inset:0;background:rgba(40,10,20,.55);display:grid;place-items:center;z-index:50;padding:16px}
.card{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:20px}.login{width:min(400px,100%)}.wide{width:min(900px,100%);max-height:92vh;overflow:auto}
label{display:block;font-size:13px;font-weight:600;margin:8px 0}input,select,textarea{width:100%;padding:9px;border:1px solid var(--bd);border-radius:8px;font:inherit;margin-top:4px;background:#fff}
#app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#fff;border-right:1px solid var(--bd);padding:16px;display:flex;flex-direction:column;gap:16px;position:sticky;top:0;height:100vh}
#menu{display:flex;flex-direction:column;gap:4px;flex:1;overflow:auto}#menu button{text-align:left;border:0;background:none;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--tx)}
#menu button.on{background:var(--soft);color:var(--pr);font-weight:700;border-left:3px solid var(--go)}main{padding:24px;overflow:auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--bd);border-radius:12px;padding:14px;border-top:4px solid var(--pr)}.kpi b{font-size:22px;display:block}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--bd);border-radius:10px;overflow:hidden;font-size:14px}th,td{padding:8px 10px;border-bottom:1px solid #f4ecd6;text-align:left;vertical-align:top}th{background:var(--soft)}
.pill{padding:2px 8px;border-radius:99px;font-size:12px;font-weight:700}.ok{background:#e3f5e8;color:#1b6b36}.late{background:#fde2e6;color:#9b2c4a}.wait{background:#fff3cd;color:#7a5a00}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 14px}.bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
/* Documents */
.doc{font-family:Georgia,serif;color:#222;background:#fff;padding:18mm 16mm;max-width:210mm;margin:auto;font-size:12.5pt}
.doc h1{color:#9b2c4a;text-align:center;font-size:20pt;border-bottom:3px solid #e6b422;padding-bottom:6px}.doc .hd{display:flex;justify-content:space-between;margin-bottom:12px}
.doc table{border:1px solid #ccc}.doc .sig{display:flex;justify-content:space-between;margin-top:30px;align-items:flex-end}.doc p{margin:.5em 0;text-align:justify}.doc h3{color:#9b2c4a;margin-top:14px;page-break-after:avoid}
#printArea{display:none}
@media print{@page{size:A4;margin:0}#home,#app,.modal,#login{display:none!important}body{background:#fff}#printArea{display:block}.doc{padding:14mm;max-width:none}.doc p,.doc tr{page-break-inside:avoid}}
@media(max-width:800px){#app{grid-template-columns:1fr}aside{position:static;height:auto}.stats{grid-template-columns:repeat(2,1fr)}.top nav a{display:none}}
