:root{--navy:#071d38;--dark:#06284b;--blue:#068ec9;--cyan:#30c7f7;--ink:#102f4f;--muted:#627993;--pale:#f0f8fc;--line:#dfeaf2;--white:#fff;--radius:15px;--shadow:0 12px 42px #10395c0c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f7fafc;font-family:Inter,'Segoe UI',-apple-system,BlinkMacSystemFont,Arial,sans-serif;font-size:15px;line-height:1.58}a{color:#067faf;text-decoration:none}a:hover{color:#014f82}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input,textarea,select{border:1px solid #d6e3ee;border-radius:9px;padding:12px;color:var(--ink);background:#fff;max-width:100%;width:100%;outline:0}input:focus,select:focus,textarea:focus{border-color:#0faee2;box-shadow:0 0 0 3px #19b8f522}textarea{resize:vertical;min-height:60px}input[type=checkbox]{width:17px;height:17px;accent-color:#0aa5d9;flex:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.038em;line-height:1.18}h1{font-size:clamp(32px,4vw,55px);font-weight:800}h2{font-size:24px}h3{font-size:18px}.wrap{max-width:1200px;margin:auto;padding-left:25px;padding-right:25px}main.wrap{min-height:calc(100vh - 168px);padding-top:36px;padding-bottom:82px}.header{background:#fff;border-bottom:1px solid #e7eff5;box-shadow:0 3px 15px #163a5710}.header-in{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:20px}.logo{width:212px;max-width:100%;height:auto;display:block}.toplinks{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:650}.toplinks form{margin:0}.toplinks a:not(.btn){color:#425b72}.top-identity{color:#8497a9;font-size:12px}.link-btn{border:0;background:transparent;color:var(--blue);font-weight:800;padding:0}.footer{border-top:1px solid var(--line);min-height:83px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#8ba0af;font-size:12px}.eyebrow{font-weight:800;font-size:11px;color:var(--blue);letter-spacing:.16em;text-transform:uppercase;margin:0 0 13px}.titlebar{margin:22px 0 35px}.titlebar h1{margin:0 0 13px;color:var(--navy)}.subtitle{font-size:16px;color:var(--muted);max-width:850px}.muted{font-size:13px;color:var(--muted)}.block{display:block}.mt{margin-top:26px}.mt-sm{margin-top:18px}.small-gap{gap:8px!important}.panel,.card,.stat{background:#fff;border:1px solid #e1eaf2;border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:30px}.panel h2{font-size:22px;margin-bottom:14px}.panel h3{margin:20px 0 12px}.panel p{color:#51697f}.card{padding:27px;display:flex;flex-direction:column;gap:12px;min-height:250px}.card h3{font-size:22px;margin:6px 0 0}.card p{color:#637b91;font-size:14px;line-height:1.7}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.card-foot{border-top:1px solid #edf2f6;margin-top:auto;padding-top:18px;display:flex;align-items:center;gap:12px;justify-content:space-between;font-size:12px;color:#71869b}.spread{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#069fdd;color:#fff!important;padding:13px 21px;border-radius:8px;border:1px solid #079ddd;font-weight:800;font-size:13px;transition:.2s}.btn:hover:not(:disabled){background:#007cb5;transform:translateY(-1px)}.btn-sm{font-size:12px;padding:9px 12px}.btn-wide{width:100%;margin-top:16px}.btn-ghost{border-color:#ffffff4a;background:transparent;color:white!important}.btn-outline{background:white;color:var(--ink)!important;border-color:#c9ddea}.btn-outline:hover{background:#f0f9fe!important;color:#072e53!important}.tag{font-size:10px;line-height:1.3;border-radius:22px;border:1px solid #e1e7ed;color:#62798c;padding:5px 10px;display:inline-flex;font-weight:750;letter-spacing:.02em;white-space:nowrap}.tag-blue{color:#00699b;background:#eaf7ff;border-color:#bde9fc}.tag-green{color:#136e58;background:#e3f8f0;border-color:#a9e7d3}.tag-gold{color:#95671c;background:#fff7e2;border-color:#f6dfab}.tag-group{display:flex;gap:8px;flex-wrap:wrap}.notice{background:#ecf5fd;border:1px solid #cce8f6;color:#0c5682;border-radius:10px;padding:14px 17px;margin:14px 0 23px;line-height:1.6}.notice p{margin:5px 0 0}.notice.error{color:#8a2837;background:#fff1f2;border-color:#ffd8de}.notice.success{color:#086b58;background:#e8faf4;border-color:#bce6d8}.notice.warning{background:#fff8eb;border-color:#f6dba5;color:#805c18}.note{background:#f0f8fc;padding:15px 17px;border-left:3px solid #0da6d9;border-radius:4px;color:#537189;font-size:13px;line-height:1.7;margin:20px 0}.hero{border-radius:22px;background:linear-gradient(110deg,#061a33 7%,#083b62 70%,#116191);color:#fff;position:relative;min-height:435px;overflow:hidden;padding:59px 58px;display:grid;grid-template-columns:1.17fr .83fr;gap:25px;align-items:center}.hero:before{content:"";position:absolute;inset:0;opacity:.14;background:radial-gradient(#53b9eb 1px,transparent 2px);background-size:20px 20px;mask-image:linear-gradient(90deg,transparent 47%,#000)}.hero-copy,.hero-visual{position:relative;z-index:1}.hero h1{font-size:clamp(42px,4.3vw,63px);line-height:1.07;letter-spacing:-.055em;color:#fff;margin:20px 0}.hero em{font-style:normal;color:#44cbff}.hero p{color:#c5d8e9;font-size:16px;line-height:1.8;max-width:600px}.kicker-light{color:#8ddbf9;font-weight:800;font-size:11px;letter-spacing:.18em}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-visual{display:flex;justify-content:center;align-items:center}.metric-card{background:#fff;color:#092b49;width:305px;max-width:100%;padding:27px;border-radius:17px;box-shadow:0 24px 70px #0004;transform:rotate(4deg)}.metric-card>b{font-size:23px;letter-spacing:-.04em}.metric-card p{color:#7b90a4;font-size:11px}.metric-card strong{font-size:13px;display:inline-block;width:42px;color:#12a7d9}.metric-card small{font-size:12px;color:#33506c;display:inline-block}.metric-card .mini-line{height:1px;background:#e4edf3;margin:18px 0}.metric-card .dot{display:inline-block;width:10px;height:10px;background:#29beee;border-radius:50%;margin-right:8px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:65px 0 22px}.section-title h2{font-size:35px;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:48px 0 0}.steps article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px}.steps article span{font-size:23px;color:#21aedb;font-weight:800}.steps h3{margin:12px 0}.steps p{color:#67819a;font-size:13px;margin-bottom:0}.layout-2{display:grid;grid-template-columns:1.55fr .9fr;align-items:start;gap:25px}.layout-2 .aside{position:relative}.aside-dark{background:#07274a;color:white;padding:23px;border-radius:12px;margin-bottom:24px}.aside-dark p{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9cc8e4}.aside-dark strong{font-size:22px;display:block}.aside-dark small{display:block;margin-top:10px;color:#b9cedf}.aside .btn{margin-bottom:7px}.list-row{display:flex;align-items:flex-start;gap:17px;border-bottom:1px solid #edf2f6;padding:17px 0}.list-row:last-child{border:0}.list-row p{margin:5px 0 0}.lot-marker{width:34px;height:34px;min-width:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#e0f5ff;color:#008bbd;font-weight:900;font-size:16px}.login-wrap{max-width:520px;margin:0 auto}.login-wrap .control{margin-bottom:15px}.form-max{max-width:825px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid>.control,.form-grid>label{min-width:0}.control{display:flex;flex-direction:column;gap:7px;margin-bottom:17px;font-size:12px;font-weight:750;color:#516d81}.control input,.control textarea,.control select{font-size:14px;font-weight:450}.field-group{padding:12px 0 20px}.label{font-weight:800;font-size:13px;color:#183d58;margin-bottom:9px}.checks{display:flex;flex-direction:column;gap:12px}.checks label{font-size:14px;display:flex;align-items:center;gap:9px}.check-row{font-size:13px;line-height:1.6;display:flex;align-items:flex-start;gap:10px;margin:12px 0;color:#27465f}.tag-group .tag{margin:0}.status-band{margin:0 0 25px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:white}.status-band span{margin-left:8px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:25px}.stat{padding:20px 21px}.stat small{display:block;font-size:11px;color:#668098;letter-spacing:.03em}.stat strong{font-size:34px;font-weight:820;letter-spacing:-.045em;display:block;color:#063252;margin-top:8px}.stat strong.smaller{font-size:19px;line-height:1.4}.tabs{display:flex;overflow-x:auto;gap:7px;border-bottom:1px solid var(--line);margin:0 0 24px;padding-bottom:9px}.tabs a{color:#637b91;white-space:nowrap;font-size:13px;font-weight:750;padding:11px 15px;border-radius:8px}.tabs a:hover,.tabs a.active{background:#e5f6fd;color:#027eaf}.lot-tabs{display:flex;gap:10px;margin:0 0 20px}.lot-tabs a{padding:9px 15px;border:1px solid #cfdfea;background:white;color:#4d6d85;border-radius:8px;font-size:13px;font-weight:800}.lot-tabs a.active{background:#067eb7;color:white}.grid-links{margin:23px 0;display:grid;gap:9px}.grid-links a{border:1px solid #e0edf5;border-radius:9px;padding:12px;display:flex;align-items:center;gap:13px;justify-content:space-between}.grid-links strong{flex:1;color:#133e5c}.grid-links a>span:last-child{font-size:12px}.submit-box{border-top:1px solid var(--line);margin-top:22px;padding-top:15px}.doc-link{display:block;border-bottom:1px solid #e7eef4;padding:13px 0;color:#0a75a9;font-size:13px;font-weight:750}.doc-link small{display:block;color:#8ca0af;font-size:11px;font-weight:500;margin-top:3px}.question{padding:23px 0;border-top:1px solid #e8eef3}.question:first-of-type{border-top:0}.question>label:not(.muted){display:block;color:#1a3b55;font-weight:750;margin:10px 0}.question textarea{min-height:92px}.question .muted{display:flex;flex-direction:column;gap:7px;margin-top:11px}.question .muted input{font-size:13px}.q-code{font-size:12px;color:#0498ce;letter-spacing:.04em}.table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin-top:22px}.data-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.data-table th,.data-table td{border-bottom:1px solid #e8eef2;padding:11px 12px;vertical-align:top}.data-table th{background:#f4f8fb;color:#38556e;font-weight:800;white-space:nowrap}.data-table thead th{background:#062b4d;color:white}.data-table tbody tr:nth-child(even){background:#fbfdff}.economic{min-width:1250px}.economic th:first-child{min-width:170px}.economic td input{width:115px;min-height:39px;padding:8px;font-size:12px}.economic td textarea{min-width:150px;font-size:12px}.economic th,.economic td{padding:9px}.economic strong{white-space:nowrap}.new-row-box{display:flex;gap:10px;margin-top:20px}.new-row-box input{flex:1}.upload-form{max-width:440px;margin-top:26px}.upload-form input[type=file]{padding:12px;background:#f6fbff}.round{padding:24px 0;border-bottom:1px solid var(--line)}.round:last-child{border-bottom:0}.bid-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:21px}.bid-card{background:#f8fbfd;padding:22px;border:1px solid #dceaf3;border-radius:12px}.bid-card>strong{display:block;margin-bottom:20px}.bid-card .check-row{align-items:start}.admin-rfp{display:flex;gap:15px;justify-content:space-between;padding:16px;border:1px solid #e6eff5;border-radius:10px;color:#102f4f;align-items:center}.admin-rfp strong{display:block;margin-top:8px}.admin-rfp small{display:block}.top-actions{margin:0 0 25px}.inline-form{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.inline-form select{width:auto;min-width:135px}.inline-form label{font-size:13px}.eval-row{display:grid;grid-template-columns:140px 1fr;gap:15px;align-items:end;margin-top:18px}.eval-row label{font-size:12px;font-weight:700;color:#667f94}.eval-row .control{margin:0}.question blockquote{border-left:3px solid #a7d8ed;color:#476983;padding:13px 19px;background:#f3f9fc;margin:13px 0;white-space:pre-line}.legal-body{line-height:1.8;font-size:13px;color:#36536b;max-height:350px;overflow:auto;padding:20px;background:#f8fbfe;border:1px solid #e4edf4;border-radius:10px;margin:15px 0}.stack{display:flex;flex-direction:column;gap:23px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}hr{border:0;border-top:1px solid #e4edf3;margin:28px 0}a,button{transition:background-color .18s,color .18s}a:focus-visible,button:focus-visible{outline:3px solid #22bde9;outline-offset:2px}
@media(max-width:950px){.hero{grid-template-columns:1fr;gap:25px}.metric-card{transform:none}.layout-2{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toplinks{gap:12px}.top-identity{display:none}.header-in{min-height:75px}.logo{width:180px}}
@media(max-width:660px){.wrap{padding-left:18px;padding-right:18px}.hero{padding:38px 24px;min-height:auto;border-radius:15px}.hero h1{font-size:39px}.hero-visual{display:none}.hero-actions>.btn{width:100%}.section-title{align-items:start;flex-direction:column;margin:43px 0 18px}.card-grid,.steps,.form-grid,.bid-grid{grid-template-columns:1fr}.panel{padding:19px}.toplinks a:not(.btn):first-child{display:none}.toplinks{font-size:12px;gap:11px}.toplinks .btn{padding:8px 10px}.logo{width:138px}.footer{flex-direction:column;justify-content:center;align-items:start;padding-top:15px;padding-bottom:15px}.stat-grid{gap:10px}.stat{padding:14px}.stat strong{font-size:26px}.tabs a{padding:9px 11px}.new-row-box{flex-direction:column}.card-foot{flex-direction:column;align-items:start}.admin-rfp{flex-direction:column;align-items:start}.eval-row{grid-template-columns:1fr}}

/* Portal de proveedores v1.2: estado y footer de marca */
.compact-title{margin:35px 0 18px}.compact-title h2{font-size:clamp(22px,2.4vw,30px)}.footer small{display:inline-block;margin-top:6px;font-size:11px;line-height:1.55;color:#66829b}.footer span:first-child{max-width:72%}@media(max-width:660px){.footer span:first-child{max-width:100%}}

/* v1.3: homologación / invitaciones / documentos */
.doc-admin{padding:1rem;border:1px solid #dce8f0;border-radius:12px;margin:1rem 0;background:#f8fbff}.doc-admin form{margin:.65rem 0}.btn-danger{background:#fff0f0;color:#9f2d3c;border:1px solid #f0b2bb}.btn-danger:hover{background:#ffe0e0}.chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.4rem 1rem}.invitation-card{border:1px solid #cfe2f1;border-radius:12px;padding:1rem;margin:.7rem 0;background:#fbfdff}.subsection{margin:1.5rem 0}.tiny{font-size:.8rem}.field-help{color:#536981;font-size:.85rem}.form-section{padding:1rem 0;border-top:1px solid #dbe6ed}.spread.wrap-row{flex-wrap:wrap;gap:.65rem}

/* v1.4 · selección múltiple y filtros administrativos */
.bulk-bar{display:flex;gap:1.25rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:1rem;background:#eef7fd;border:1px solid #cce7f7;border-radius:10px;margin-bottom:1rem}
.directory-filters-actions{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap}
.directory-pagination{display:flex;gap:.65rem;flex-wrap:wrap}
[data-bulk-id]{min-width:20px;min-height:20px;accent-color:#0b9ed2;cursor:pointer}
@media(max-width:650px){.bulk-bar{align-items:flex-start;flex-direction:column}.directory-filters-actions{grid-column:1/-1}}

/* B2Win RFP v1.5 · Supplier Relationship Management */
.legal-body{white-space:normal}.panel .table-scroll{max-width:100%;overflow-x:auto}
.top-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.srm-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}
.srm-tabs a{display:inline-flex;padding:9px 14px;border:1px solid #d4e5f0;border-radius:8px;color:#073c67;text-decoration:none}
.legal small.block,.note small.block{display:block}
@media(max-width:700px){.top-actions{display:flex;flex-direction:column;align-items:stretch}.top-actions .btn{width:100%;justify-content:center}}
