:root{--ink:#17201d;--ink-2:#202a26;--cream:#f2f0e9;--paper:#faf9f5;--lime:#c7f33f;--green:#234b3e;--sage:#a9b7ad;--line:#d8d9d2;--muted:#66706b;--white:#fff;--font-head:'Manrope',sans-serif;--font-body:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1180px,calc(100% - 48px));margin:auto}.topbar{height:34px;background:#111714;color:#b8c0bc;font-size:11px;letter-spacing:.08em}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.topbar-inner div{display:flex;gap:30px}.nav-wrap{height:82px;background:rgba(250,249,245,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(0,0,0,.08)}.nav{height:100%;display:flex;align-items:center;gap:42px}.brand{display:flex;align-items:center;gap:11px;margin-right:auto}.brand-mark{width:42px;height:42px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-family:var(--font-head);font-weight:800;letter-spacing:-.08em;clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}.brand b{display:block;font:800 20px/1 var(--font-head);letter-spacing:.06em}.brand small{display:block;margin-top:4px;font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:var(--muted)}.nav-links{display:flex;align-items:center;gap:29px}.nav-links a{font-size:13px;font-weight:600}.nav-links a:hover{color:#47734d}.btn{border:0;padding:15px 22px;font-weight:700;display:inline-flex;gap:18px;align-items:center;justify-content:center}.btn-dark{background:var(--ink);color:#fff}.btn-accent{background:var(--lime);color:var(--ink)}.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}.menu-toggle{display:none;border:0;background:none;font-size:23px}.hero{height:calc(100vh - 116px);min-height:650px;position:relative;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,11,.94) 0%,rgba(8,13,11,.68) 42%,rgba(8,13,11,.12) 72%),url('assets/industrial-recycling-hero.png') center/cover}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 65%)}.hero-content{position:relative;padding-top:11vh}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:#50635a;display:flex;align-items:center;gap:10px}.eyebrow span{width:26px;height:2px;background:var(--lime)}.eyebrow.light{color:#c5cec9}.hero h1,.section h2{font:600 clamp(44px,5.7vw,79px)/1.04 var(--font-head);letter-spacing:-.055em;margin:22px 0}.hero h1{max-width:780px}.hero h1 em,.section h2 em{font-style:normal;color:var(--lime)}.hero-copy{max-width:610px;color:#c8ceca;font-size:17px;line-height:1.7}.hero-actions{display:flex;gap:12px;margin-top:31px}.hero-stats{display:flex;gap:65px;margin-top:7vh}.hero-stats div{border-left:1px solid rgba(255,255,255,.25);padding-left:15px}.hero-stats strong{font:600 25px var(--font-head);display:block}.hero-stats span{color:#abb4af;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.scroll-label{position:absolute;right:28px;bottom:37px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.22em;color:#bdc5c0}.scroll-label span{margin-top:15px}.trust-strip{background:var(--lime);height:76px}.trust-inner{height:100%;display:flex;align-items:center;justify-content:space-between;font:700 12px var(--font-head);letter-spacing:.08em}.trust-inner>span{font-size:9px;opacity:.6}.trust-inner i{width:4px;height:4px;background:var(--ink);border-radius:50%;opacity:.4}.section{padding:115px 0}.intro{background:var(--paper)}.split,.section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:100px}.section h2{font-size:clamp(38px,4vw,60px)}.intro h2 em,.process h2 em,.impact h2 em{color:#5a7568}.intro-copy{padding-top:48px;font-size:16px;line-height:1.75;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:30px;margin-top:20px;padding-bottom:7px;border-bottom:1px solid var(--ink);font-weight:700;color:var(--ink)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px}.feature-grid article{min-height:300px;border:1px solid var(--line);border-right:0;padding:25px;position:relative}.feature-grid article:last-child{border-right:1px solid var(--line)}.feature-num{font-size:10px;color:#8b938f}.line-icon{font-size:48px;margin:50px 0 28px;font-weight:300}.feature-grid h3{font:700 18px var(--font-head)}.feature-grid p{font-size:13px;line-height:1.6;color:var(--muted)}.feature-grid .feature-dark{background:var(--green);color:#fff;border-color:var(--green)}.feature-dark p{color:#bdc9c2}.materials{background:var(--ink);color:#fff}.section-head{align-items:end}.section-head>p{color:#aab4af;line-height:1.7;padding-bottom:20px}.material-list{margin-top:55px}.material-item{display:grid;grid-template-columns:60px 1fr 130px 55px;align-items:center;min-height:132px;border-top:1px solid #3b4541;transition:.3s}.material-item:last-child{border-bottom:1px solid #3b4541}.material-item>span{color:#78837e;font-size:10px;align-self:start;margin-top:34px}.material-item h3{font:600 28px var(--font-head);margin:0}.material-item p{display:none;color:#aab4af;font-size:13px;max-width:550px}.material-item.active{min-height:190px}.material-item.active p,.material-item.active .tags{display:block}.tags{display:none}.tags b{font-size:8px;border:1px solid #59635f;padding:5px 8px;margin-right:5px;color:#b9c2bd}.material-symbol{width:72px;height:72px;border:1px solid #58635e;display:grid;place-items:center;font:500 18px var(--font-head);color:var(--lime);transform:rotate(5deg)}.material-item button{width:48px;height:48px;border:1px solid #4b5651;background:transparent;color:#fff;font-size:19px}.material-item.active button{background:var(--lime);color:var(--ink);border-color:var(--lime)}.material-cta{margin-top:35px;display:flex;justify-content:flex-end;gap:40px;font-size:13px;color:#98a29d}.material-cta a{color:var(--lime);font-weight:700}.process{background:#eeece5}.dark-head .eyebrow{color:#50635a}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border-top:1px solid #c8cbc4}.process-grid article{padding:25px 30px 40px;border-right:1px solid #c8cbc4}.process-grid article:first-child{border-left:1px solid #c8cbc4}.process-grid>article>span{font-size:10px;color:#7d8681}.process-icon{font-size:42px;margin:45px 0 25px}.process-grid h3{font:700 18px var(--font-head)}.process-grid p{font-size:13px;line-height:1.65;color:var(--muted)}.service-banners{display:grid;grid-template-columns:1fr 1fr;margin-top:40px}.service-banners a,.service-banners button{border:0;text-align:left;min-height:160px;padding:32px 38px;background:var(--green);color:#fff;display:flex;flex-direction:column}.service-banners button{background:var(--lime);color:var(--ink)}.service-banners span{font-size:9px;letter-spacing:.15em}.service-banners strong{font:600 24px var(--font-head);margin:22px 0 12px}.service-banners i{font-style:normal;font-size:12px}.impact{background:var(--lime)}.impact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:center}.impact-grid>div>p{max-width:560px;line-height:1.7}.impact-numbers{display:grid;grid-template-columns:1fr 1fr;gap:25px}.impact-numbers div{border-top:1px solid rgba(0,0,0,.4);padding-top:25px}.impact-numbers strong{font:700 55px var(--font-head);display:block}.impact-numbers span{font-size:12px;line-height:1.5}.impact-numbers small{grid-column:1/-1;font-size:9px;opacity:.6}.contact{background:var(--green);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.contact-grid>div>p{color:#b8c6bf;line-height:1.7}.contact-data{display:flex;flex-direction:column;gap:8px;margin-top:40px;font:600 17px var(--font-head)}form label{display:flex;flex-direction:column;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#bdc8c2}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{width:100%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.04);color:inherit;padding:15px;outline:none;text-transform:none;letter-spacing:0}select option{color:var(--ink)}textarea{height:110px;resize:vertical}form{display:flex;flex-direction:column;gap:18px}form .btn{align-self:flex-start;margin-top:5px}footer{background:#111714;color:#fff;padding:70px 0 25px}.brand-light small{color:#8d9993}.footer-main{display:grid;grid-template-columns:1fr 1fr .55fr .55fr;gap:50px}.footer-main>p{font:500 18px/1.5 var(--font-head);color:#c3cbc7}.footer-main>div{display:flex;flex-direction:column;gap:10px;font-size:12px;color:#a4aea9}.footer-main>div>b{color:#fff;font-size:9px;letter-spacing:.14em;margin-bottom:8px}.footer-main button{border:0;background:none;color:#a4aea9;text-align:left;padding:0}.footer-bottom{border-top:1px solid #303834;margin-top:50px;padding-top:25px;display:flex;justify-content:space-between;color:#69736e;font-size:9px}.toast{position:fixed;right:24px;bottom:24px;background:var(--lime);color:var(--ink);padding:16px 22px;font-weight:700;transform:translateY(100px);opacity:0;transition:.3s;z-index:100}.toast.show{transform:none;opacity:1}
/* Portal */.portal{display:none;min-height:100vh;background:#f1f2ed}.portal.open{display:flex}.site-shell.hidden{display:none}.portal-sidebar{width:240px;min-height:100vh;background:#16201c;color:#fff;padding:25px 18px;display:flex;flex-direction:column;position:fixed}.portal-sidebar .brand{margin:0 10px 45px}.portal-sidebar nav{display:flex;flex-direction:column;gap:4px}.portal-nav{border:0;background:transparent;color:#8fa099;padding:13px 16px;text-align:left;border-radius:3px}.portal-nav span{margin-left:13px}.portal-nav:hover,.portal-nav.active{background:#293c34;color:#fff}.portal-nav.active{border-left:3px solid var(--lime)}.portal-help{margin-top:auto;background:#22332c;padding:18px;display:flex;flex-direction:column;gap:7px}.portal-help b{font-size:12px}.portal-help span{font-size:10px;color:#9aaba3}.portal-help a{font-size:10px;color:var(--lime);margin-top:5px}.back-site{border:0;background:transparent;color:#8fa099;text-align:left;padding:18px 5px 0}.portal-main{margin-left:240px;min-height:100vh;width:calc(100% - 240px)}.portal-header{height:72px;background:#fff;border-bottom:1px solid #dfe2dd;display:flex;align-items:center;justify-content:space-between;padding:0 35px}.portal-header>div{display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;background:#70bd65;border-radius:50%}.portal-header b{font-size:11px}.icon-btn{border:0;background:#f0f2ee;width:37px;height:37px;position:relative}.icon-btn i{position:absolute;width:5px;height:5px;background:#e85843;border-radius:50%;right:7px;top:7px}.user-chip{border:0;background:none;display:flex;align-items:center;gap:10px;text-align:left}.user-chip>span{width:38px;height:38px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:11px}.user-chip b{font-size:11px}.user-chip small{display:block;color:#8a938f;font-weight:400;margin-top:3px}.portal-menu{display:none}.portal-content{padding:38px;max-width:1450px;margin:auto}.dash-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.dash-head h1{font:700 30px var(--font-head);margin:0 0 5px}.dash-head p{color:#7a8580;font-size:13px;margin:0}.dash-head .btn{font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.metric{background:#fff;border:1px solid #dfe2dd;padding:20px}.metric span{font-size:10px;color:#79847f;text-transform:uppercase;letter-spacing:.08em}.metric strong{font:700 31px var(--font-head);display:block;margin:13px 0 5px}.metric small{font-size:10px;color:#6e7a74}.metric small.up{color:#4f8c5a}.dash-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:18px;margin-top:18px}.panel{background:#fff;border:1px solid #dfe2dd;padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.panel-head h3{font:700 15px var(--font-head);margin:0}.panel-head button,.panel-head a{border:0;background:none;font-size:10px;color:#547366}.bar-chart{height:205px;display:flex;align-items:end;gap:18px;border-bottom:1px solid #dde0db;padding:0 10px}.bar-wrap{flex:1;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:end;gap:8px}.bar{background:#d9e5db;min-height:10px}.bar.highlight{background:var(--green)}.bar-wrap span{font-size:9px;color:#8a938f;margin-bottom:-18px}.activity-list{display:flex;flex-direction:column}.activity{display:grid;grid-template-columns:35px 1fr auto;gap:10px;padding:13px 0;border-top:1px solid #edf0ec}.activity-icon{width:30px;height:30px;background:#eef3ed;display:grid;place-items:center;color:#547366}.activity b{font-size:11px;display:block}.activity span{font-size:9px;color:#87918c}.activity>small{font-size:9px;color:#87918c}.market-controls{display:flex;gap:10px;margin-bottom:20px}.market-controls input,.market-controls select{color:var(--ink);background:#fff;border:1px solid #d9ddd8}.market-controls input{flex:1}.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.listing{background:#fff;border:1px solid #dfe2dd;padding:20px;position:relative}.listing .type{font-size:8px;padding:5px 7px;background:#eaf2e8;color:#3e6949}.listing .type.buy{background:#fff2d6;color:#835f17}.listing h3{font:700 17px var(--font-head);margin:20px 0 7px}.listing>p{font-size:11px;color:#78827d;line-height:1.5;min-height:50px}.listing-meta{display:flex;justify-content:space-between;border-top:1px solid #edf0ec;padding-top:14px;margin-top:15px}.listing-meta b{font-size:11px}.listing-meta span{font-size:9px;color:#8a938f}.listing button{margin-top:18px;width:100%;border:1px solid var(--green);color:var(--green);background:none;padding:10px;font-size:10px;font-weight:700}.table-wrap{background:#fff;border:1px solid #dfe2dd;overflow:auto}table{border-collapse:collapse;width:100%;min-width:700px}th,td{text-align:left;padding:15px;border-bottom:1px solid #edf0ec;font-size:11px}th{font-size:9px;color:#7d8782;text-transform:uppercase}.badge{padding:5px 8px;background:#e9f2e7;color:#487052;font-size:9px}.empty{text-align:center;padding:65px 20px;background:#fff;border:1px solid #dfe2dd}.empty strong{display:block;font:700 20px var(--font-head);margin-bottom:8px}.empty p{color:#7d8782;font-size:12px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-card{background:#fff;border:1px solid #dfe2dd;padding:25px}.profile-card h3{font:700 16px var(--font-head)}.profile-card dl{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-card dt{font-size:9px;color:#85908a;text-transform:uppercase}.profile-card dd{font-size:12px;margin:5px 0}.modal{display:none;position:fixed;inset:0;background:rgba(8,14,11,.75);z-index:200;place-items:center;padding:20px}.modal.open{display:grid}.modal-card{background:var(--paper);width:min(560px,100%);padding:35px;position:relative}.modal-close{position:absolute;right:18px;top:15px;border:0;background:none;font-size:25px}.modal-card h2{font:700 30px var(--font-head);margin:15px 0 25px}.modal-card label{color:#66706b}.modal-card input,.modal-card select,.modal-card textarea{border-color:#cdd1cb;color:var(--ink);background:#fff}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column}.nav-links.open{display:flex}.menu-toggle{display:block}.nav-portal{display:none}.hero{min-height:700px}.hero-content{padding-top:80px}.split,.section-head,.impact-grid,.contact-grid{grid-template-columns:1fr;gap:20px}.feature-grid,.process-grid{grid-template-columns:1fr 1fr}.material-item{grid-template-columns:40px 1fr 70px 50px}.trust-inner div:nth-of-type(n+3),.trust-inner i:nth-of-type(n+3){display:none}.portal-sidebar{transform:translateX(-100%);transition:.3s;z-index:50}.portal-sidebar.open{transform:none}.portal-main{margin:0;width:100%}.portal-menu{display:block;border:0;background:none}.metric-grid{grid-template-columns:1fr 1fr}.listing-grid{grid-template-columns:1fr 1fr}.dash-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.container{width:min(100% - 30px,1180px)}.topbar{display:none}.nav-wrap{height:68px}.nav-links{top:68px}.section{padding:75px 0}.hero{height:calc(100vh - 68px);min-height:720px}.hero h1{font-size:46px}.hero-copy{font-size:15px}.hero-actions{flex-direction:column;align-items:stretch}.hero-stats{gap:20px;margin-top:45px}.hero-stats strong{font-size:20px}.feature-grid,.process-grid,.service-banners,.impact-numbers,.form-row,.profile-grid{grid-template-columns:1fr}.material-item{grid-template-columns:30px 1fr 45px}.material-symbol{display:none}.material-item h3{font-size:22px}.footer-main{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:10px}.portal-content{padding:22px 15px}.portal-header{padding:0 14px}.portal-header>div:first-child b,.user-chip b{display:none}.metric-grid,.listing-grid{grid-template-columns:1fr}.dash-head{align-items:flex-start;gap:18px;flex-direction:column}.market-controls{flex-direction:column}}

/* CRM extendido */
.auth-screen{display:none;position:fixed;inset:0;background:linear-gradient(120deg,rgba(10,17,14,.97),rgba(25,52,42,.94)),url('assets/industrial-recycling-hero.png') center/cover;z-index:300;place-items:center;padding:24px}.auth-screen.open{display:grid}.auth-card{position:relative;width:min(570px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--paper);padding:42px}.auth-brand{display:flex;align-items:center;gap:13px;margin-bottom:38px}.auth-brand b{display:block;font:800 20px var(--font-head)}.auth-brand small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.auth-card h2{font:700 34px/1.1 var(--font-head);letter-spacing:-.035em;margin:15px 0 10px}.auth-copy{font-size:13px;color:var(--muted);margin-bottom:25px}.auth-card form label,.modal-card form label{color:#65706a}.auth-card input,.auth-card select{background:#fff;color:var(--ink);border-color:#ced3cd}.auth-card form .btn{width:100%}.demo-access{margin-top:22px;padding:17px;background:#e9ece6;display:grid;grid-template-columns:1fr 1fr;gap:8px}.demo-access span{grid-column:1/-1;font-size:8px;letter-spacing:.14em;color:#77827c}.demo-access button,.auth-switch button{border:0;background:var(--green);color:#fff;padding:10px;font-size:10px;font-weight:700}.demo-access button:last-child{background:var(--ink)}.auth-switch{text-align:center;font-size:11px;color:var(--muted);margin:20px 0 0}.auth-switch button{background:none;color:var(--green);padding:0}.check-label{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;text-transform:none!important;letter-spacing:0!important;line-height:1.45}.check-label input{width:auto;margin:2px 0 0}.portal-sidebar nav{overflow-y:auto}.portal-nav{position:relative}.portal-nav i{position:absolute;right:12px;top:10px;background:var(--lime);color:var(--ink);font-style:normal;font-size:8px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center}.portal-help button{border:0;background:none;padding:0;text-align:left;color:var(--lime);font-size:10px}.head-actions{display:flex;gap:8px}.btn-outline{background:transparent;color:var(--green);border:1px solid var(--green)}.notice{margin:-10px 0 22px;padding:15px 18px;font-size:11px}.notice.warning{background:#fff4d8;border-left:3px solid #db9c20;color:#6e5318}.admin-metrics .metric:first-child{border-top:3px solid var(--green)}.market-controls{display:grid;grid-template-columns:2fr repeat(4,1fr)}.listing-top{display:flex;align-items:center;justify-content:space-between}.material-icon{width:38px;height:38px;display:grid;place-items:center;background:var(--green);color:var(--lime);font:700 11px var(--font-head)}.listing-location{border-top:1px solid #edf0ec;margin-top:13px;padding-top:11px;color:#7f8a84;font-size:10px}.listing-meta b{display:block;margin-top:4px}.listing-meta>div:last-child{text-align:right}.table-actions{white-space:nowrap}.table-actions button{border:0;background:#edf1ec;color:#3f6650;padding:6px 8px;margin:2px;font-size:9px}.badge.status-en-revisión{background:#fff2d8;color:#845f17}.badge.status-pausada{background:#ebedef;color:#596169}.badge.status-rechazada,.badge.status-cerrada{background:#fae7e4;color:#9a493e}.badge.status-vendida,.badge.status-verificada{background:#e0f1e4;color:#3d7549}.match-list{display:flex;flex-direction:column;gap:12px}.match-card{display:grid;grid-template-columns:100px 1fr 45px 1fr auto;gap:22px;align-items:center;background:#fff;border:1px solid #dfe2dd;padding:20px}.match-score{text-align:center;border-right:1px solid #e5e8e3}.match-score strong{display:block;font:700 25px var(--font-head);color:var(--green)}.match-score span{font-size:8px;color:#86918b;text-transform:uppercase}.match-side{display:flex;flex-direction:column;gap:5px}.match-side small{font-size:8px;letter-spacing:.14em;color:#87918b}.match-side b{font:700 13px var(--font-head)}.match-side span{font-size:10px;color:#7b8580}.match-link{font-size:20px;color:#789086}.match-card .btn{font-size:10px;padding:11px 14px}.messages-layout{height:590px;display:grid;grid-template-columns:270px 1fr;border:1px solid #dfe2dd;background:#fff}.conversation-list{border-right:1px solid #e1e4df;padding:10px}.conversation-list button{display:flex;width:100%;border:0;background:none;text-align:left;gap:10px;padding:13px}.conversation-list button.active{background:#edf2ec}.conversation-list button>span{width:34px;height:34px;display:grid;place-items:center;background:var(--green);color:#fff;font-size:9px}.conversation-list b{font-size:11px}.conversation-list small{display:block;margin-top:5px;color:#87918c;font-weight:400}.conversation{display:flex;flex-direction:column}.conversation-head{padding:18px 22px;border-bottom:1px solid #e4e7e2}.conversation-head b{display:block;font-size:12px}.conversation-head span{font-size:9px;color:#738079}.chat{flex:1;padding:25px;display:flex;flex-direction:column;gap:12px;overflow:auto;background:#f7f8f5}.bubble{max-width:65%;font-size:11px;line-height:1.5;padding:12px 15px;background:#fff;border:1px solid #e0e3de}.bubble.mine{align-self:flex-end;background:var(--green);color:#fff;border-color:var(--green)}.conversation form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px}.conversation form input{color:var(--ink);border-color:#d5d9d3;background:#fff}.conversation form .btn{margin:0}.notification-list{padding:0}.notification{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:20px;border-bottom:1px solid #e8ebe6}.notification>span{width:40px;height:40px;display:grid;place-items:center;background:#edf2ec;color:var(--green)}.notification.unread{border-left:3px solid var(--lime);background:#fbfcf8}.notification b{font-size:12px}.notification p{font-size:11px;color:#748079;margin:6px 0}.notification small{font-size:9px;color:#959e99}.privacy-note,.privacy-banner{font-size:11px;line-height:1.6;color:#6f7b75}.privacy-banner{background:#edf2ec;border-left:3px solid var(--green);padding:16px;margin:25px 0}.privacy-banner b{color:var(--ink)}.privacy-banner p{margin:5px 0 0}.moderation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.review-card{background:#fff;border:1px solid #dfe2dd;padding:24px}.review-card>div:first-child{display:flex;justify-content:space-between}.review-card h3{font:700 20px var(--font-head);margin:20px 0 8px}.review-card>p{font-size:11px;color:#748079;line-height:1.6}.review-card dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.review-card dt{font-size:8px;color:#84908a;text-transform:uppercase}.review-card dd{margin:4px 0;font-size:11px}.review-actions{display:flex;gap:7px;border-top:1px solid #e9ece7;padding-top:17px}.review-actions .btn{flex:1;padding:10px;font-size:9px}.review-actions .reject{background:#f5e7e4;color:#91483e}.admin-filters{display:flex;gap:10px;margin-bottom:15px}.admin-filters select{max-width:240px;color:var(--ink);background:#fff;border-color:#d9ddd8}.horizontal-bars{display:flex;flex-direction:column;gap:17px}.horizontal-bars>div{display:grid;grid-template-columns:75px 1fr 55px;gap:12px;align-items:center;font-size:9px}.horizontal-bars i{height:8px;background:#edf0ec}.horizontal-bars i b{display:block;height:100%;background:var(--green)}.horizontal-bars strong{text-align:right;font-size:9px}.stats-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:17px}.wide-panel{grid-column:1/-1}.rank-list>div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e8ebe6}.rank-list span{font-size:10px;color:#7e8983}.rank-list b{font-size:11px}.location-stats{display:grid;grid-template-columns:repeat(5,1fr)}.location-stats div{padding:25px;border-right:1px solid #e4e7e2}.location-stats div:last-child{border:0}.location-stats strong{display:block;font:700 27px var(--font-head)}.location-stats span{font-size:9px;color:#7e8983}.modal-wide{width:min(820px,100%);max-height:calc(100vh - 40px);overflow:auto}.form-progress{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:25px;border-bottom:1px solid #d9ddd7}.form-progress span{font-size:9px;text-transform:uppercase;color:#8a948e;padding:10px 0}.form-progress .active{color:var(--green);border-bottom:2px solid var(--lime)}.form-section{padding:8px 0 23px;border-bottom:1px solid #dde0db}.form-section h3{font:700 13px var(--font-head);margin:12px 0 18px}.form-section input[type=file]{padding:11px}.form-section label small{font-size:8px;text-transform:none;letter-spacing:0}.form-submit{display:flex;align-items:center;justify-content:space-between;padding-top:22px}.form-submit p{font-size:10px;color:#76817b;max-width:330px}.detail-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.detail-head h2{margin:12px 0 8px}.detail-head p{font-size:12px;color:#6f7b75;line-height:1.6;max-width:570px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dfe2dd;border:1px solid #dfe2dd;margin-top:25px}.detail-grid>div{background:#fff;padding:18px}.detail-grid span{display:block;font-size:8px;text-transform:uppercase;color:#87918c;margin-bottom:7px}.detail-grid b{font-size:11px}
@media(max-width:1100px){.market-controls{grid-template-columns:1fr 1fr 1fr}.market-controls input:first-child{grid-column:1/-1}.match-card{grid-template-columns:75px 1fr 30px 1fr}.match-card .btn{grid-column:2/5}.moderation-grid{grid-template-columns:1fr}}
@media(max-width:760px){.auth-card{padding:28px 22px}.head-actions{width:100%;flex-direction:column}.head-actions .btn{width:100%}.market-controls{grid-template-columns:1fr}.market-controls input:first-child{grid-column:auto}.match-card{grid-template-columns:70px 1fr}.match-link{display:none}.match-card .match-side:nth-of-type(2){grid-column:2}.match-card .btn{grid-column:1/-1}.messages-layout{grid-template-columns:1fr;height:auto}.conversation-list{display:none}.conversation{min-height:520px}.stats-grid{grid-template-columns:1fr}.wide-panel{grid-column:auto}.location-stats{grid-template-columns:1fr 1fr}.location-stats div{border-bottom:1px solid #e4e7e2}.detail-grid{grid-template-columns:1fr 1fr}.form-submit{align-items:stretch;flex-direction:column}.form-submit .btn{width:100%}.admin-filters{flex-direction:column}.admin-filters select{max-width:none}}
@media(max-width:480px){.auth-card h2{font-size:27px}.demo-access{grid-template-columns:1fr}.demo-access span{grid-column:auto}.match-card{grid-template-columns:1fr}.match-score{text-align:left;border:0;border-bottom:1px solid #e5e8e3;padding-bottom:10px}.match-card .match-side:nth-of-type(2),.match-card .btn{grid-column:auto}.detail-grid,.review-card dl{grid-template-columns:1fr}.modal-card{padding:27px 20px}.location-stats{grid-template-columns:1fr}}
.file-preview{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.file-preview img{width:54px;height:54px;object-fit:cover;border:1px solid #cdd2cc}.danger-action{color:#934a40!important;background:#f8e9e6!important}.brand small{font-size:8px;letter-spacing:.12em;white-space:nowrap}.auth-screen{background:linear-gradient(120deg,rgba(10,17,14,.97),rgba(25,52,42,.94)),url('assets/industrial-recycling-hero.png') center/cover}.crm-body{background:#f1f2ed}.back-site{display:block;font-size:11px}
.brand-emblem{display:block;width:52px;height:52px;flex:0 0 52px}.brand-emblem img{width:100%;height:100%;object-fit:contain}.crm-sidebar-brand{align-items:center;margin-left:0!important;margin-right:0!important}.crm-sidebar-brand b{font-size:14px;letter-spacing:.02em}.crm-sidebar-brand small{white-space:normal;line-height:1.3}.auth-wordmark{width:100%;margin-bottom:28px;text-align:center;padding:20px 18px;border:1px solid #dfe6dc;background:linear-gradient(135deg,#f8fbf4,#eef7e8)}.auth-wordmark img{display:block;width:100%;height:130px;object-fit:contain}.auth-wordmark span{display:block;margin-top:12px;color:#52605a;font-size:8px;letter-spacing:.11em;text-transform:uppercase}@media(max-width:600px){.auth-wordmark{padding:18px 12px}.auth-wordmark img{height:100px}.crm-sidebar-brand .brand-emblem{width:46px;height:46px;flex-basis:46px}}
#publishModal .modal-card{color:#111}
#publishModal .modal-card h2{color:#111}
#publishModal .form-progress span{font-size:11px;color:#303532;font-weight:600}
#publishModal .form-progress .active{color:#173f31}
#publishModal .form-section h3{font:700 16px var(--font-head);color:#111;margin:14px 0 20px}
#publishModal form label{font-size:12px;font-weight:700;color:#111;letter-spacing:.05em}
#publishModal form input,
#publishModal form select,
#publishModal form textarea{font-size:14px;color:#111;background:#fff;border-color:#aeb5af}
#publishModal form input::placeholder,
#publishModal form textarea::placeholder{color:#555d58;opacity:1}
#publishModal form select option{color:#111;background:#fff}
#publishModal .form-section label small{font-size:10px;color:#222;font-weight:500}
#publishModal .check-label{font-size:12px!important;color:#111!important;font-weight:500;line-height:1.55}
#publishModal .form-submit p{font-size:12px;color:#111;line-height:1.5}

/* Contraste tipográfico de la interfaz principal del CRM */
.portal-main{color:#111714}
.portal-header b,
.user-chip b{color:#111714;font-size:12px}
.user-chip small{color:#39433e;font-size:10px}
.portal-header>div:first-child b{color:#24322c}
.dash-head h1{color:#111714}
.dash-head p{color:#39433e;font-size:14px}
.metric span{color:#303a35;font-size:11px;font-weight:700}
.metric strong{color:#111714}
.metric small{color:#3e4843;font-size:11px}
.panel-head h3{color:#111714;font-size:16px}
.panel-head button,
.panel-head a{color:#234b3e;font-size:11px;font-weight:700}
.activity b{color:#111714;font-size:12px}
.activity span,
.activity>small{color:#414b46;font-size:10px}
.bar-wrap span{color:#343e39;font-size:10px;font-weight:600}
.market-controls input,
.market-controls select,
.admin-filters select{color:#111714;font-size:12px;border-color:#aeb6b0}
.market-controls input::placeholder{color:#4d5752;opacity:1}
.listing h3{color:#111714;font-size:18px}
.listing>p{color:#35403b;font-size:12px}
.listing-meta span{color:#39433e;font-size:10px;font-weight:600}
.listing-meta b{color:#111714;font-size:12px}
.listing-location{color:#35403b;font-size:11px}
th{color:#26312c;font-size:10px;font-weight:700}
td{color:#111714;font-size:12px}
td small{color:#3f4944;font-size:10px}
.empty strong{color:#111714}
.empty p{color:#3d4742;font-size:13px}
.profile-card h3,
.profile-card dd{color:#111714}
.profile-card dt{color:#35403b;font-size:10px;font-weight:700}
.privacy-note,
.privacy-banner{color:#35403b;font-size:12px}
.match-side small{color:#35403b;font-size:9px;font-weight:700}
.match-side b{color:#111714;font-size:14px}
.match-side span{color:#39433e;font-size:11px}
.notification b{color:#111714;font-size:13px}
.notification p{color:#35403b;font-size:12px}
.notification small{color:#46504b;font-size:10px}
.review-card h3,
.review-card dd{color:#111714}
.review-card>p{color:#35403b;font-size:12px}
.review-card dt{color:#35403b;font-size:9px;font-weight:700}
.rank-list span,
.location-stats span{color:#35403b;font-size:11px}
.rank-list b,
.horizontal-bars strong{color:#111714;font-size:11px}
.horizontal-bars>div{color:#26312c;font-size:10px}
.detail-head p{color:#35403b;font-size:13px}
.detail-grid span{color:#35403b;font-size:9px;font-weight:700}
.detail-grid b{color:#111714;font-size:12px}
.portal-nav{color:#d6dfda;font-size:12px;font-weight:600}
.portal-nav:hover,
.portal-nav.active{color:#fff}
.portal-help span{color:#d0dad5;font-size:11px}
.back-site{color:#d6dfda;font-size:12px}
.admin-email-note{display:inline-flex;align-items:center;padding:11px 14px;background:#e8f0e9;color:#173f31;border-left:3px solid var(--green);font-size:11px;font-weight:700}
.interest-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.interest-summary article{background:#fff;border:1px solid #cfd5d0;padding:20px}
.interest-summary span{display:block;color:#303a35;font-size:10px;font-weight:700;letter-spacing:.08em}
.interest-summary strong{display:block;margin-top:10px;color:#111714;font:700 28px var(--font-head)}
.interest-list{display:flex;flex-direction:column;gap:12px}
.interest-card{display:grid;grid-template-columns:1.25fr 1fr .7fr 180px;gap:22px;align-items:center;background:#fff;border:1px solid #cfd5d0;border-left:4px solid var(--green);padding:22px}
.interest-card span{display:block;margin-bottom:7px;color:#35403b;font-size:9px;font-weight:700;letter-spacing:.09em}
.interest-card h3{margin:0 0 7px;color:#111714;font:700 17px var(--font-head)}
.interest-card p{margin:0;color:#35403b;font-size:11px}
.interest-company b,.interest-intent b{display:block;color:#111714;font-size:13px}
.interest-company small,.interest-intent small{display:block;margin-top:5px;color:#3f4944;font-size:10px}
.interest-status{color:#111714!important;font-size:10px!important;font-weight:700!important}
.interest-status select{margin-top:7px;color:#111714;background:#fff;border:1px solid #9da7a0;padding:10px;font-size:11px}
@media(max-width:1100px){.interest-card{grid-template-columns:1fr 1fr}.interest-status{grid-column:1/-1}}
@media(max-width:700px){.interest-summary,.interest-card{grid-template-columns:1fr}.interest-status{grid-column:auto}}
.auth-reset{display:block;margin:12px auto 0;border:0;background:none;color:var(--green);font-size:11px;font-weight:700;text-decoration:underline}
.auth-message{min-height:18px;margin:12px 0 0;color:#a13f35;font-size:11px;line-height:1.45;text-align:center}
.auth-message.success{color:#356f42}
.firebase-setup{display:flex;flex-direction:column;gap:10px;margin-top:24px;padding:20px;background:#e8eee8;border-left:3px solid var(--green);color:#26352e;font-size:12px}
.firebase-setup b{font:700 15px var(--font-head)}
.firebase-setup span:before{content:'\2713';margin-right:8px;color:#44764d;font-weight:700}
.btn:disabled,.portal-nav:disabled{cursor:wait;opacity:.58}
.detail-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}
.detail-gallery img{width:100%;height:150px;object-fit:cover;border:1px solid #d5d9d4;background:#eef0ec}
@media(max-width:600px){.detail-gallery{grid-template-columns:1fr 1fr}.detail-gallery img{height:120px}}
.admin-contact-card{margin-top:20px;padding:20px;background:#17201d;color:#fff;border-top:4px solid var(--lime)}
.admin-contact-card>span{display:block;color:var(--lime);font-size:9px;font-weight:700;letter-spacing:.12em}
.admin-contact-card h3{margin:10px 0 16px;font:700 18px var(--font-head)}
.admin-contact-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.admin-contact-card p{margin:0;padding:12px;background:rgba(255,255,255,.07);font-size:12px;overflow-wrap:anywhere}
.admin-contact-card p b{display:block;margin-bottom:6px;color:#bfc9c3;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:600px){.admin-contact-card>div{grid-template-columns:1fr}}

/* Paleta ECO-System: azul industrial + verde reciclaje */
:root{
  --ink:#06213f;
  --ink-2:#09345f;
  --cream:#eef5f7;
  --paper:#f7fafb;
  --lime:#7ed957;
  --green:#1f8f55;
  --blue:#078bd3;
  --cyan:#16b7e8;
  --sage:#9db8c4;
  --line:#d5e3e8;
  --muted:#536879;
}
.crm-body,
.portal{background:linear-gradient(180deg,#f8fbfc 0%,#eef6f7 100%)}
.portal-sidebar{background:linear-gradient(180deg,#03182f 0%,#052b4f 62%,#06435e 100%)}
.portal-sidebar .brand small,
.back-site,
.portal-help span{color:#d7e9ef}
.portal-help{background:rgba(22,183,232,.1);border:1px solid rgba(22,183,232,.18)}
.portal-nav{color:#d7e9ef}
.portal-nav:hover,
.portal-nav.active{background:rgba(22,183,232,.15)}
.portal-nav.active{border-left-color:var(--cyan)}
.portal-nav i{background:linear-gradient(135deg,var(--lime),var(--cyan));color:#03182f}
.portal-header{background:#fff;border-bottom-color:rgba(6,33,63,.12);box-shadow:0 10px 26px rgba(3,24,47,.05)}
.status-dot{background:var(--lime);box-shadow:0 0 0 4px rgba(126,217,87,.18)}
.icon-btn{background:#edf6f8;color:var(--ink)}
.user-chip>span,
.material-icon{background:linear-gradient(135deg,#052b4f,var(--blue));color:#fff}
.btn-dark{background:linear-gradient(135deg,#03182f,#07345f);color:#fff}
.btn-accent{background:linear-gradient(135deg,var(--lime),#37b86b);color:#06213f}
.btn-outline{border-color:var(--blue);color:var(--blue)}
.btn-outline:hover{background:rgba(7,139,211,.08)}
.metric,
.panel,
.listing,
.table-wrap,
.profile-card,
.review-card,
.match-card,
.interest-summary article,
.interest-card{border-color:rgba(6,33,63,.12);box-shadow:0 12px 28px rgba(3,24,47,.045)}
.metric:first-child,
.admin-metrics .metric:first-child{border-top:3px solid var(--blue)}
.metric:nth-child(2){border-top:3px solid var(--green)}
.metric:nth-child(3){border-top:3px solid var(--cyan)}
.metric:nth-child(4){border-top:3px solid var(--lime)}
.panel-head button,
.panel-head a,
.listing button,
.auth-switch button,
.auth-reset{color:var(--blue)}
.listing button{border-color:var(--blue)}
.listing button:hover{background:rgba(7,139,211,.08)}
.bar.highlight,
.horizontal-bars i b{background:linear-gradient(90deg,var(--green),var(--cyan))}
.activity-icon,
.notification>span{background:#eaf7f8;color:var(--blue)}
.listing .type{background:#e8f6ee;color:#147444}
.listing .type.buy{background:#e8f5ff;color:#075d97}
.badge.status-vendida,
.badge.status-verificada{background:#e5f8ed;color:#136c3f}
.badge.status-en-revisión{background:#e7f6ff;color:#075d97}
.notification.unread{border-left-color:var(--cyan);background:#f6fcff}
.privacy-banner{background:#eef8fb;border-left-color:var(--blue)}
.match-score strong{color:var(--blue)}
.match-link{color:var(--green)}
.auth-screen{background:linear-gradient(120deg,rgba(3,18,35,.98),rgba(5,43,79,.94),rgba(31,143,85,.78)),url('assets/industrial-recycling-hero.png') center/cover}
.auth-card{border-top:5px solid var(--cyan);box-shadow:0 26px 70px rgba(3,24,47,.32)}
.form-progress .active{color:var(--blue);border-bottom-color:var(--cyan)}
.modal{background:rgba(3,18,35,.78)}
.admin-email-note{background:#eaf7f8;color:#052b4f;border-left-color:var(--cyan)}
.interest-card{border-left-color:var(--blue)}
.admin-contact-card{background:linear-gradient(135deg,#03182f,#052b4f);border-top-color:var(--cyan)}
.admin-contact-card>span{color:var(--cyan)}
.admin-contact-card.blocked{border-top-color:#ffcf70}
.admin-contact-card .private-contact-warning{margin:0 0 14px;padding:12px 14px;background:rgba(255,207,112,.14);border:1px solid rgba(255,207,112,.35);color:#ffe5ae;font-size:11px;line-height:1.5}
.toast{background:linear-gradient(135deg,var(--lime),var(--cyan));color:#03182f}

/* Marketplace en listado */
.market-controls-list{grid-template-columns:2fr 1fr 1.15fr .9fr 1fr 1.25fr 1.25fr 1fr}
.market-results-head{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 16px;color:#35403b}
.market-results-head span{font:700 13px var(--font-head);color:#06213f}
.market-results-head small{font-size:11px;color:#536879}
.listing-list{display:flex;flex-direction:column;gap:12px}
.listing-row{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(520px,1.8fr) 150px;gap:22px;align-items:center;padding:18px 20px;border-left:4px solid var(--blue)}
.listing-row .listing-row-main{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:start}
.listing-row .listing-top{display:flex;flex-direction:column;gap:9px;align-items:flex-start;justify-content:flex-start}
.listing-row .material-icon{width:44px;height:44px}
.listing-title h3{margin:0 0 8px;font-size:17px}
.listing-title p{margin:0;color:#35403b;font-size:12px;line-height:1.45;min-height:0}
.listing-row-data{display:grid;grid-template-columns:.75fr .9fr 1.25fr .9fr;gap:12px}
.listing-row-data>div{padding-left:14px;border-left:1px solid #d9e6ea}
.listing-row-data span{display:block;margin-bottom:5px;color:#536879;font-size:9px;font-weight:800;letter-spacing:.08em}
.listing-row-data b{display:block;color:#06213f;font-size:12px}
.listing-row-data small{display:block;margin-top:4px;color:#536879;font-size:10px}
.listing-row>button{margin:0;width:100%;align-self:stretch;border-color:var(--blue);color:var(--blue);background:#fff}
.listing-row>button:hover{background:#eef9ff}
@media(max-width:1250px){.market-controls-list{grid-template-columns:1fr 1fr 1fr 1fr}.listing-row{grid-template-columns:1fr}.listing-row-data{grid-template-columns:repeat(4,1fr)}.listing-row>button{min-height:44px}}
@media(max-width:760px){.market-controls-list{grid-template-columns:1fr}.market-results-head{align-items:flex-start;flex-direction:column;gap:4px}.listing-row-data{grid-template-columns:1fr 1fr}.listing-row .listing-row-main{grid-template-columns:1fr}.listing-row .listing-top{flex-direction:row;align-items:center}.listing-row>button{width:100%}}
@media(max-width:480px){.listing-row-data{grid-template-columns:1fr}.listing-row-data>div{padding-left:0;border-left:0;border-top:1px solid #d9e6ea;padding-top:10px}}

/* Navegación móvil del CRM */
.portal-backdrop{display:none}
.portal-sidebar-close{display:none}
@media(max-width:900px){
  .portal-sidebar{width:min(84vw,310px);max-width:310px;z-index:90;box-shadow:28px 0 60px rgba(3,24,47,.28);overflow-y:auto}
  .portal-backdrop.open{display:block;position:fixed;inset:0;z-index:70;border:0;background:rgba(3,18,35,.46);backdrop-filter:blur(2px)}
  .portal-sidebar-close{display:grid;position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid rgba(211,238,247,.25);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:24px;line-height:1;place-items:center}
  .portal-menu[aria-expanded="true"]{background:#06213f;color:#fff}
  .crm-sidebar-brand{padding-right:42px}
}
@media(max-width:760px){
  .messages-layout{min-height:calc(100vh - 150px)}
  .conversation{min-height:calc(100vh - 150px)}
  .chat{min-height:260px}
  .conversation form{position:sticky;bottom:0;background:#fff;border-top:1px solid #e4e7e2}
}
