:root{--bg:#f5f3e8;--surface:#fff;--surface2:#ece9da;--primary:#1f4228;--primary-hover:#163020;--accent:#f4a226;--accent-hover:#d98c10;--text:#1a3322;--text-muted:#6b7b6b;--border:#d8d3c4;--radius:10px;--max-w:1100px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.navbar{background:var(--primary);z-index:200;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000002e}.navbar-brand a{color:var(--bg);align-items:center;display:flex}.navbar-brand a:hover{text-decoration:none}.navbar .woodly-logo{color:var(--bg)}.navbar-desktop{flex-wrap:nowrap;align-items:center;gap:1.25rem;display:flex}.navbar-desktop a{color:#f5f3e8d9;white-space:nowrap;font-size:.95rem}.navbar-desktop a:hover{color:var(--bg);text-decoration:none}.btn-link{color:#f5f3e8d9;cursor:pointer;background:0 0;border:none;font-size:.95rem}.btn-link:hover{color:var(--accent)}.btn-sm{padding:.45rem 1rem;font-size:.9rem}.navbar-mobile-right{align-items:center;gap:.75rem;display:none}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:flex}.hamburger span{background:var(--bg);border-radius:2px;width:22px;height:2px;transition:opacity .2s;display:block}.nav-drawer{z-index:300;background:#00000073;position:fixed;inset:0}.nav-drawer-inner{background:var(--primary);flex-direction:column;gap:1.5rem;width:min(280px,85vw);height:100%;padding:5rem 2rem 2rem;display:flex;position:absolute;top:0;right:0;box-shadow:-4px 0 20px #0000004d}.nav-drawer-inner a,.nav-drawer-inner .btn-link{color:var(--bg);font-size:1.1rem;font-weight:500;text-decoration:none}.nav-drawer-inner a:hover{color:var(--accent)}.nav-drawer-inner .btn-primary{text-align:center;background:var(--accent);color:var(--primary);margin-top:.5rem;font-weight:700}@media (width<=768px){.navbar-desktop{display:none}.navbar-mobile-right{display:flex}}.lang-switch{color:var(--bg);cursor:pointer;letter-spacing:.5px;background:#ffffff26;border:1px solid #ffffff4d;border-radius:4px;padding:.25rem .6rem;font-size:.8rem;font-weight:600}.lang-switch:hover{border-color:var(--accent);color:var(--accent)}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.65rem 1.5rem;font-size:1rem;font-weight:600;transition:background .2s;display:inline-block}.btn-primary:hover{background:var(--primary-hover);text-decoration:none}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:var(--primary);border:2px solid var(--primary);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.65rem 1.5rem;font-size:1rem;font-weight:600;transition:background .2s;display:inline-block}.btn-secondary:hover{background:#1f422814;text-decoration:none}.page{max-width:var(--max-w);margin:0 auto;padding:2rem 1.5rem}.hero{text-align:center;padding:4rem 0 3rem}.hero-tagline{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-size:.78rem;font-weight:700;display:block}.hero h1{margin-bottom:1rem;font-size:2.5rem}.hero p{color:var(--text-muted);max-width:600px;margin:0 auto 2rem;font-size:1.15rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0;display:grid}.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin:2rem 0;display:grid}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem;box-shadow:0 1px 4px #0000000f}.card h3{color:var(--primary);margin-bottom:.5rem}.service-card .price{color:var(--accent);margin-top:1rem;font-size:1.2rem;font-weight:700}.cta{text-align:center;background:var(--primary);border-radius:14px;margin:2rem 0;padding:3rem 2rem}.cta h2{color:var(--bg);margin-bottom:.5rem}.cta p{color:#f5f3e8cc;margin-bottom:1.5rem}.cta .btn-primary{background:var(--accent);color:var(--primary);font-weight:700}.cta .btn-primary:hover{background:var(--accent-hover);text-decoration:none}.auth-page{justify-content:center;padding-top:3rem;display:flex}.auth-form{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;gap:1rem;width:100%;max-width:420px;padding:2rem;display:flex;box-shadow:0 2px 12px #00000014}.auth-form h2{text-align:center;margin-bottom:.5rem}.auth-link{text-align:center;color:var(--text-muted);font-size:.9rem}label{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);width:100%;padding:.65rem .9rem;font-size:1rem}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1f42281a}fieldset{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}legend{color:var(--text);padding:0 .5rem;font-weight:600}.row-3{grid-template-columns:2fr 1fr 1fr;gap:.75rem;display:grid}.alert-error{color:#b42a2a;border-radius:var(--radius);background:#c8282814;border:1px solid #c8282833;padding:.75rem 1rem;font-size:.9rem}.tracking-form{gap:.75rem;max-width:500px;margin:1.5rem 0;display:flex}.tracking-form input{flex:1}.tracking-result{margin-top:1.5rem}.tracking-details p{margin:.35rem 0}.dashboard-actions{flex-wrap:wrap;gap:1rem;margin:1.5rem 0;display:flex}.empty{color:var(--text-muted);text-align:center;padding:2rem 0}.table-wrapper{margin-top:1rem;overflow-x:auto}table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius);width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1rem}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--surface2);font-size:.85rem}.mono{font-family:SF Mono,Fira Code,monospace;font-size:.85rem}[class^=status-]{border-radius:20px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.status-pendiente{color:#5c5a48;background:#eee9d8}.status-recogido{color:#1a5a8a;background:#d8e9f5}.status-en_transito{color:#2a6b1a;background:#e0f0d8}.status-en_destino{color:#8a5a1a;background:#f5edd8}.status-entregado{color:#1a6b4a;background:#d8f0e8}.status-cancelado{color:#8a1a1a;background:#f5d8d8}.info-section{margin-top:2.5rem}.info-section h2{margin-bottom:.5rem}.info-section p,.subtitle{color:var(--text-muted);margin-bottom:1rem}.contact-hero-card{align-items:flex-start;gap:3rem;margin:1.5rem 0 0;padding:2.5rem;display:flex}.contact-hero-left{flex:1}.contact-hero-left h2{color:var(--primary);margin-bottom:.75rem;font-size:1.5rem}.contact-address{color:var(--text);margin-bottom:1.25rem;font-size:1.05rem;line-height:1.7}.contact-methods{flex-direction:column;gap:.6rem;display:flex}.contact-pill{border-radius:30px;align-items:center;gap:.5rem;width:fit-content;padding:.55rem 1rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.contact-pill:hover{opacity:.85;text-decoration:none}.contact-pill-phone{background:var(--primary);color:var(--bg)}.contact-pill-email{background:var(--surface2);color:var(--primary);border:1px solid var(--border)}.contact-hero-right{min-width:240px}.contact-hours-block h3{color:var(--primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem;font-size:.85rem}.contact-hours-block ul{flex-direction:column;gap:.5rem;list-style:none;display:flex}.contact-hours-block li{color:var(--text-muted);font-size:.9rem}.contact-hours-block .highlight247{color:var(--accent);font-weight:600}@media (width<=640px){.contact-hero-card{flex-direction:column;gap:1.5rem;padding:1.5rem}.contact-hero-right{min-width:unset;width:100%}}.shipment-form{flex-direction:column;gap:1.25rem;max-width:700px;margin-top:1rem;display:flex}.loading{text-align:center;color:var(--text-muted);padding:3rem}.site-footer{background:var(--primary);color:#f5f3e8cc;margin-top:auto;padding-top:3rem}.footer-inner{grid-template-columns:2fr 1fr 1fr 1.5fr;gap:2rem;max-width:1100px;margin:0 auto;padding:0 1.5rem 2.5rem;display:grid}.footer-brand .woodly-logo{color:var(--accent)}.footer-tagline{letter-spacing:1.5px;color:#f5f3e88c;text-transform:uppercase;margin:.5rem 0 .75rem;font-size:.85rem}.footer-powered{color:#f5f3e873;margin:0;font-size:.78rem;line-height:1.5}.footer-col h4{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin:0 0 1rem;font-size:.7rem;font-weight:700}.footer-nav{flex-direction:column;gap:.6rem;display:flex}.footer-nav a{color:#f5f3e8bf;font-size:.875rem;text-decoration:none;transition:color .15s}.footer-nav a:hover{color:var(--bg)}.footer-dev p{margin:0 0 .75rem;font-size:.8rem;line-height:1.6}.footer-email{color:var(--accent);font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.footer-email:hover{color:var(--bg)}.footer-bottom{color:#f5f3e866;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:.78rem;display:flex}.footer-powered-by{opacity:.65;align-items:center;gap:.5rem;text-decoration:none;transition:opacity .2s;display:flex}.footer-powered-by:hover{opacity:1}.footer-powered-by-label{color:#f5f3e88c;letter-spacing:.3px;white-space:nowrap;font-size:.7rem}.legal-page{background:var(--bg);min-height:60vh;padding:3rem 1.5rem 5rem}.legal-inner{max-width:780px;margin:0 auto}.legal-inner h1{color:var(--primary);margin-bottom:.25rem;font-size:2rem}.legal-date{color:var(--text-muted);margin-bottom:2.5rem;font-size:.85rem}.legal-inner section{margin-bottom:2rem}.legal-inner h2{color:var(--primary);margin-bottom:.6rem;font-size:1.1rem;font-weight:700}.legal-inner p,.legal-inner li{color:var(--text);font-size:.92rem;line-height:1.75}.legal-inner ul{margin:.4rem 0;padding-left:1.5rem}.legal-inner li{margin-bottom:.4rem}.legal-inner a{color:var(--primary)}.legal-inner a:hover{color:var(--accent)}@media (width<=768px){.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media (width<=640px){.hero h1{font-size:1.75rem}.row-3{grid-template-columns:1fr}.tracking-form{flex-direction:column}.footer-inner{grid-template-columns:1fr}}.admin-tabs{border-bottom:2px solid var(--border);gap:0;margin:1.5rem 0;display:flex}.admin-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:.6rem 1.4rem;font-size:1rem;font-weight:600;transition:color .15s,border-color .15s}.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-tab:hover{color:var(--primary)}.admin-filters{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.admin-filters select{max-width:220px}.estado-select{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;min-width:130px;padding:.3rem .5rem;font-size:.85rem}.badge-paid{color:#1a6b4a;background:#d8f0e8;border-radius:20px;padding:.15rem .6rem;font-size:.78rem;font-weight:700}.badge-unpaid{color:#8a1a1a;background:#f5d8d8;border-radius:20px;padding:.15rem .6rem;font-size:.78rem;font-weight:700}.badge-none{color:var(--text-muted)}.admin-invoice-cell{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.admin-row-expanded td{background:var(--surface2)}.admin-notes-row td{background:var(--surface2);color:var(--text-muted);padding:.5rem 1rem;font-size:.88rem}.admin-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.nowrap{white-space:nowrap}.muted{color:var(--text-muted);font-size:.8rem}.modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border-radius:var(--radius);width:100%;max-width:440px;padding:2rem;box-shadow:0 8px 32px #0000002e}.modal-box h2{margin-bottom:.25rem}.pay-form{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.pay-form label{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600;display:flex}.pay-form input,.pay-form select{font-weight:400}.modal-actions{gap:.75rem;margin-top:.5rem;display:flex}.form-error{color:#8a1a1a;margin-top:.5rem;font-size:.87rem}
