:root{--navy:#0D2240;--gold:#C8960C;--bg:#FAFAF8;--surface:#F4F6F8;--border:#E2E7EF;--ink:#122033;--muted:#687386;--shadow:0 18px 50px rgba(13,34,64,.07);--shadow2:0 8px 28px rgba(13,34,64,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.topbar{position:sticky;top:0;z-index:5;background:rgba(250,250,248,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:16px clamp(18px,4vw,56px)}.brand,.access-brand{display:flex;align-items:center;gap:14px}.bruna-logo{width:112px;height:auto;display:block}.cross{color:var(--gold);font-family:"Instrument Sans",Inter,system-ui,sans-serif;font-size:26px}.alicorp-wordmark{letter-spacing:.22em;font-weight:800;font-size:14px;color:#27313f}.topbar nav{display:flex;align-items:center;gap:18px;font-size:14px;color:var(--muted)}.topbar nav a:hover{color:var(--navy)}.user-pill{border:1px solid var(--border);border-radius:999px;padding:8px 12px;background:white;color:var(--navy)}.page{max-width:1220px;margin:0 auto;padding:46px clamp(18px,4vw,56px) 80px}.hero{padding:50px 0 30px}.hero-grid,.summary-head{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--gold);margin:0 0 14px}h1,h2,h3{font-family:"Instrument Sans",Inter,system-ui,sans-serif;color:var(--navy);line-height:1.02;margin:0}h1{font-size:clamp(38px,6vw,68px);letter-spacing:.015em;max-width:920px;text-transform:uppercase;font-weight:800}h2{font-size:clamp(26px,3.5vw,38px);letter-spacing:.025em;text-transform:uppercase;font-weight:800}h3{font-size:22px;letter-spacing:.02em;text-transform:uppercase;font-weight:800}.lead{font-size:20px;line-height:1.55;color:#42506a;max-width:760px}.lead.small{font-size:17px}.muted{color:var(--muted);line-height:1.45}.mono,.kpi strong{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:var(--navy);color:white;font-weight:700;padding:13px 19px;box-shadow:var(--shadow2);transition:.2s ease-out;cursor:pointer}.button:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(13,34,64,.11)}.button.ghost{background:#fff;color:var(--navy);border:1px solid var(--border)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:8px 0 56px}.kpi{background:#fff;border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:var(--shadow2)}.kpi span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.kpi strong{display:block;margin-top:8px;color:var(--navy);font-family:"Instrument Sans",Inter,system-ui,sans-serif;font-size:42px}.round-block{margin:48px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card,.panel,.access-card{background:white;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:24px}.project-card{display:flex;flex-direction:column;gap:16px;min-height:360px}.card-top,.chips,.actions,.prev-next{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.card-top{justify-content:space-between}.id{font-weight:800;color:var(--muted);font-size:13px}.chip{display:inline-flex;border-radius:999px;padding:7px 10px;background:var(--surface);border:1px solid var(--border);font-size:12px;font-weight:800;letter-spacing:.04em}.cat-sourcing{background:#eef4ff;color:#1e4d91}.cat-comercial{background:#fef5df;color:#855f00}.cat-desarrollo{background:#eefbf4;color:#15734d}.cat-operación,.cat-operacion{background:#f1edff;color:#5036a2}.priority{color:#8a6100}.state{color:#264061}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto}.meta-grid div{border-top:1px solid var(--border);padding-top:11px}.meta-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.meta-grid strong{display:block;margin-top:5px;font-size:14px}.sample:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#97a0ad}.sample-en-preparacion:before{background:#d99b12}.sample-enviada:before{background:#2f79d6}.sample-en-evaluacion:before{background:#7b55d6}.sample-aprobada:before{background:#1f9d64}.empty{padding:26px;border:1px dashed var(--border);border-radius:20px;color:var(--muted);background:var(--surface)}.breadcrumb{display:flex;gap:10px;color:var(--muted);margin-bottom:24px}.detail-hero{padding:26px 0 34px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.detail-list{display:grid;gap:0;margin:22px 0 0}.detail-list div{display:grid;grid-template-columns:150px 1fr;padding:14px 0;border-top:1px solid var(--border)}dt{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--muted)}dd{margin:0}.timeline{list-style:none;padding:0;margin:18px 0 0}.timeline li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--border)}.docs{list-style:none;padding:0;margin:18px 0 0}.docs li{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid var(--border)}.prev-next{justify-content:space-between;margin-top:24px}.summary-table{background:white;border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.row{display:grid;grid-template-columns:110px 2.2fr 110px 190px 145px 130px;gap:12px;padding:13px 16px;border-bottom:1px solid var(--border);font-size:13px;align-items:center}.row.head{background:var(--navy);color:white;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:800}.access-body .topbar{display:none}.access-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.access-card{max-width:680px;padding:52px}.access-logo{width:150px}.access-brand{margin-bottom:42px}.access-brand span{color:var(--gold);font-size:28px}.access-foot{margin-top:32px;padding-top:22px;border-top:1px solid var(--border);color:var(--muted)}.notice{border:1px solid #f0d595;background:#fff7df;border-radius:16px;padding:14px 16px;color:#745200}.notice.ok{border-color:#acd9c4;background:#effaf4;color:#17633d}.admin-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}.admin-list{display:grid;gap:14px;margin-top:22px}.admin-project{display:grid;grid-template-columns:1.4fr repeat(4,1fr) auto;gap:12px;align-items:end}label{display:grid;gap:7px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}input,select{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px;background:white;color:var(--navy);font:inherit;text-transform:none;letter-spacing:0}
@media(max-width:900px){.hero-grid,.summary-head,.detail-grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.row{grid-template-columns:90px 1.8fr 100px 120px}.row span:nth-child(4),.row span:nth-child(5){display:none}.admin-form,.admin-project{grid-template-columns:1fr}}
@media(max-width:700px){.topbar{position:relative;align-items:flex-start;gap:14px;flex-direction:column}.topbar nav{width:100%;overflow:auto}.page{padding-top:28px}.bruna-logo{width:96px}h1{font-size:42px}.lead{font-size:17px}.kpis,.cards{grid-template-columns:1fr}.project-card{min-height:auto}.meta-grid{grid-template-columns:1fr}.detail-list div,.timeline li{grid-template-columns:1fr;gap:4px}.summary-table{overflow:auto}.row{min-width:760px}.access-card{padding:28px;border-radius:20px}.access-logo{width:118px}}
@media print{body{background:white}.no-print,.topbar,.actions{display:none!important}.page{max-width:none;padding:0}.kpis{grid-template-columns:repeat(4,1fr);margin:14px 0}.kpi{box-shadow:none;padding:12px}.kpi strong{font-size:26px}.summary-table{box-shadow:none}.row{grid-template-columns:85px 2fr 90px 140px 115px 105px;font-size:10px;padding:8px}h1{font-size:34px}.lead{font-size:13px}}

.alicorp-logo{height:28px;width:auto;display:block}.access-brand .alicorp-logo{height:34px}.footer{max-width:1220px;margin:0 auto 32px;padding:0 clamp(18px,4vw,56px);display:flex;gap:10px;color:var(--muted);font-size:13px}.mini{padding:7px 10px;font-size:12px}.admin-project-block{display:block}.attachment-admin{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.upload-form,.email-grid{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:end}.email-grid{grid-template-columns:1fr 1.5fr;align-items:start}.email-grid>button{grid-column:1/-1;justify-self:start}.check{display:block;color:var(--muted);font-size:14px;line-height:1.7}.admin-docs li{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}.admin-docs form{display:inline}.docs a.button{color:var(--navy)}
@media(max-width:900px){.upload-form,.email-grid{grid-template-columns:1fr}.alicorp-logo{height:24px}}


/* Portal v2 refinements */
.cross{font-family:"Instrument Sans",Inter,system-ui,sans-serif;font-weight:800}.chip.sec-quimicos{background:#e8eef7;color:var(--navy);border-color:#cbd6e6}.chip.sec-empaques{background:#fff5dc;color:#7d5a00;border-color:#f0d48c}.chip.sec-otros{background:#eef0f3;color:#4b5563;border-color:#d7dce3}.section-count{color:var(--muted);font-weight:800}.detail-title-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end}.tabs{position:sticky;top:73px;z-index:4;display:flex;gap:10px;margin:18px 0;padding:10px;border:1px solid var(--border);border-radius:999px;background:rgba(250,250,248,.92);backdrop-filter:blur(14px)}.tab{padding:10px 14px;border-radius:999px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.tab:hover{background:#fff;color:var(--navy);box-shadow:var(--shadow2)}.tab-panel{scroll-margin-top:120px}.admin-inline{margin:0 0 18px}.owner-form{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}.docs-download li{align-items:center}.docs-download li div{display:grid;gap:4px}.docs-download li span{color:var(--muted);font-size:13px}.empty-doc{display:grid!important;justify-content:start!important;background:var(--surface);border:1px dashed var(--border)!important;border-radius:16px;padding:18px!important}.project-email-form{display:grid;gap:18px;max-width:840px}.recipient-list{display:grid;gap:6px;border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--surface)}textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px;background:white;color:var(--navy);font:inherit;text-transform:none;letter-spacing:0;resize:vertical}.access-card h1{font-size:clamp(34px,5vw,54px)}
@media(max-width:900px){.detail-title-row,.owner-form{grid-template-columns:1fr}.tabs{top:0;overflow:auto;border-radius:18px}}
/* Access token entry */
.access-token-form{display:flex;gap:10px;margin-top:20px;max-width:520px}
.access-token-form input{flex:1;padding:12px 14px;border:1px solid var(--border);border-radius:12px;font:inherit;background:#fff}
.access-token-form input:focus{outline:2px solid var(--gold);outline-offset:1px}


/* Portal v3 executive scoping */
.exec-block{margin:34px 0 46px;padding:26px;border:1px solid var(--border);border-radius:28px;background:linear-gradient(180deg,#fff,rgba(255,255,255,.72));box-shadow:var(--shadow)}
.exec-head{border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:22px}.exec-kpis{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.exec-kpis span,.line-head span{border:1px solid var(--border);border-radius:999px;padding:8px 12px;background:var(--surface);color:var(--muted);font-weight:800;font-size:13px}.line-block{margin-top:24px}.line-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}.line-head h3{font-size:17px;color:var(--gold)}.pending-alicorp{border:2px solid var(--gold);background:#fff9e8}.pending-alicorp h2{font-size:26px}.chip.sec-laundry{background:#e8f3ff;color:#16466f;border-color:#b9d9f6}.chip.sec-home-care{background:#eef7e9;color:#2e6730;border-color:#cde6c5}.chip.sec-oral-care{background:#f3eefe;color:#5a3a91;border-color:#d9caf7}.chip.sec-personal-care{background:#fff0f4;color:#8a3150;border-color:#f3c9d7}.chip.sec-envases{background:#fff5dc;color:#7d5a00;border-color:#f0d48c}.chip.sec-procurement{background:#eef0f3;color:#4b5563;border-color:#d7dce3}.admin-filter{display:flex;gap:14px;align-items:end;justify-content:flex-start}.admin-filter label{max-width:340px}.admin-project{grid-template-columns:1.4fr repeat(6,minmax(120px,1fr)) auto}
@media(max-width:900px){.exec-kpis,.line-head,.admin-filter{justify-content:flex-start}.admin-project{grid-template-columns:1fr}.exec-block{padding:18px;border-radius:22px}}
/* Upload inline + pending actions */
.upload-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.pending-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
