:root{font-family:Arial,Helvetica,sans-serif;color:#173c32;background:#f3f5ee}*{box-sizing:border-box}body{margin:0}a{color:#214f3d}button,input,select,textarea{font:inherit}button,a{cursor:pointer}header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d8e1d2;padding:10px 5%;background:#fbfcf7}.logo{width:94px;height:94px;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;align-items:center;gap:24px}nav a{text-decoration:none;font-size:14px}.account{display:flex;align-items:center;gap:15px;font-size:12px}.account form{margin:0}.account button{padding:10px 16px}main{max-width:1250px;margin:auto;padding:35px 5%;min-height:65vh}h1{font-size:40px;letter-spacing:-1.5px;line-height:1.15;margin:20px 0}h2{font-size:24px;margin:15px 0 22px}h3{font-size:20px}p{font-size:14px;line-height:1.8;color:#667b6b}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#6e826e}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:14px 20px;font-size:13px;font-weight:700;text-decoration:none;border:0;gap:10px}.primary{background:#d6f491;color:#173c32}.secondary{background:#fff;border:1px solid #cddac8;color:#173c32}button:hover,.primary:hover{filter:brightness(.95)}.card{background:white;border:1px solid #dbe3d5;border-radius:10px;padding:28px;margin:20px 0}.auth{max-width:560px;margin:30px auto}.auth h1{font-size:34px}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:45px;padding:40px 0 65px}.hero h1{font-size:clamp(50px,6vw,78px);letter-spacing:-4px}.hero em{color:#749268;font-style:normal}.hero p{font-size:18px;max-width:550px;margin-bottom:28px}.hero .secondary{margin-left:10px}.hero-brand{background:#e0e8d4;padding:35px;border-radius:12px;text-align:center}.hero-brand img{width:100%;max-width:360px;mix-blend-mode:multiply}.hero-brand p{font-size:14px}.grid{display:grid;gap:20px}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.three .card{margin:0}.stat strong{display:block;font-size:48px;margin-top:20px}.stat span{font-size:13px;color:#667b6b}form{display:grid;gap:16px}label{display:block;font-size:13px;font-weight:600}input,select,textarea{display:block;width:100%;border:1px solid #cbd8c5;border-radius:5px;padding:12px;background:#fff;margin-top:8px;color:#173c32}textarea{min-height:110px;resize:vertical}.checks{display:flex;flex-wrap:wrap;gap:20px}.checks label,.check{display:flex;align-items:center;gap:10px}.checks input,.check input{width:auto;margin:0}fieldset{border:1px solid #d5dfcf;border-radius:6px;padding:20px}legend{font-size:13px;font-weight:bold}.item-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:15px;margin:12px 0}.tag{font-size:11px;background:#e8f1de;color:#47643d;border-radius:25px;padding:6px 12px;display:inline-block}.notice,.success,.error{padding:18px 20px;border-radius:6px;margin:20px 0;font-size:14px;line-height:1.7}.notice{background:#eaf0dc}.success{background:#e6f3df}.error{background:#ffe9e0;color:#934530}.row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #e2e8dd}.row form{margin:0}.row p{margin:8px 0}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.table-wrap{overflow:auto;margin:20px 0}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{background:#f1f5eb;color:#5d765e;font-size:11px}td,th{padding:13px;border-bottom:1px solid #e2e8dd;white-space:nowrap}.proposal{border:1px solid #d2deca;padding:25px;margin:25px 0;border-radius:8px}.totals{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;font-size:14px}.muted,small{font-size:12px;color:#72866f}.empty{padding:35px;text-align:center}details{padding:20px 0;border-bottom:1px solid #e2e8dd}summary{cursor:pointer;font-weight:600}.store-logo{width:130px;max-height:130px;object-fit:contain}footer{padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #d5dfcf}footer p{font-size:12px}button[type=button]{justify-self:start}:focus-visible{outline:3px solid #77975d;outline-offset:3px}@media(max-width:760px){header{flex-wrap:wrap;gap:10px}nav{gap:14px;flex-wrap:wrap}.account{width:100%;justify-content:space-between}.logo{width:74px;height:74px}main{padding:22px 5%}.hero,.two,.three{grid-template-columns:1fr}.hero{gap:30px;padding-top:10px}.hero h1{font-size:58px}.hero .primary,.hero .secondary{margin:6px 0}.card{padding:22px}.item-row{grid-template-columns:1.5fr 1fr 1fr;gap:8px}.item-row input,.item-row select{padding:10px 7px}.row{flex-wrap:wrap}.section-top{align-items:flex-start;flex-direction:column}.proposal{padding:16px}footer{flex-wrap:wrap}.hero-brand{padding:20px}.hero-brand img{max-width:230px}h1{font-size:32px}}

.order-steps{display:flex;flex-wrap:wrap;gap:1rem;padding-left:1.5rem;margin:1.5rem 0;color:var(--green,#174b35)}.order-steps li{padding-right:1rem}.invoice-page main{max-width:1000px;margin:auto}.invoice-tools{margin-bottom:2rem}.invoice-page .logo{max-width:220px}@media print{.invoice-tools{display:none!important}.invoice-page{background:white}.invoice-page main{padding:0}.invoice-page .card{box-shadow:none;border:0;padding:0}table{font-size:11px}tr{break-inside:avoid}.totals{break-inside:avoid}}

.invoice-heading{display:flex;align-items:center;gap:28px;border-bottom:2px solid #173c32;padding-bottom:24px;margin-bottom:24px}.invoice-company-logo{width:160px;height:130px;object-fit:contain;flex-shrink:0}.invoice-company-name{margin:0;font-size:26px}.invoice-nif{color:#173c32;font-size:16px;margin:8px 0}.invoice-heading h1{font-size:30px;margin:12px 0}.invoice-page td,.invoice-page th{white-space:normal;overflow-wrap:anywhere}.invoice-page td:first-child{min-width:120px}.invoice-page .table-wrap{overflow:visible}@media(max-width:600px){.invoice-heading{flex-wrap:wrap}.invoice-company-logo{width:130px;height:110px}}@media print{@page{size:A4;margin:14mm}.invoice-page .two{grid-template-columns:1fr 1fr}.invoice-heading{flex-wrap:nowrap;break-inside:avoid}.invoice-page p{color:#222}.invoice-company-logo{width:140px;height:100px}.invoice-page .card{margin:0}.invoice-page table{table-layout:fixed}.invoice-page td,.invoice-page th{padding:8px 4px;min-width:0}.invoice-page thead{display:table-header-group}}

.directory-search{display:grid;grid-template-columns:2fr 1fr auto;align-items:end;margin:24px 0}.business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.business-card{display:block;border:1px solid #dbe3d5;border-radius:10px;padding:20px;text-decoration:none;min-width:0;background:#fbfcf7}.business-card img,.brand-empty{width:100%;height:160px;object-fit:contain;background:white;border-radius:6px}.brand-empty{display:flex;align-items:center;justify-content:center;color:#72866f}.business-card h3{margin-bottom:8px}.business-card p{overflow-wrap:anywhere}.business-card span{font-size:13px;font-weight:bold}.business-heading{display:flex;align-items:center;gap:24px;margin:24px 0}.business-brand{width:160px;height:150px;object-fit:contain}.business-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.business-gallery figure{margin:0}.business-gallery img{width:100%;height:190px;object-fit:cover;border-radius:8px}.business-gallery figcaption{font-size:13px;margin:8px 0;overflow-wrap:anywhere}.chat-messages{display:flex;flex-direction:column;gap:16px;margin:24px 0}.chat-bubble{max-width:85%;background:#f0f4eb;border-radius:14px;padding:18px;align-self:flex-start;overflow-wrap:anywhere}.chat-bubble.mine{background:#dff0c9;align-self:flex-end}.chat-bubble p{color:#173c32;white-space:normal}.chat-bubble small{display:block;font-size:11px}@media(max-width:760px){.business-grid{grid-template-columns:1fr}.business-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-search{grid-template-columns:1fr}.business-heading{flex-wrap:wrap}.business-gallery img{height:150px}.chat-bubble{max-width:95%}}

.mfa-secret{display:block;padding:16px;background:#eef5ec;border-radius:10px;overflow-wrap:anywhere;font-size:1.1rem;letter-spacing:.1em}.auth code{overflow-wrap:anywhere}

/* Administration sidebar: layout is limited to authenticated administrative pages. */
.admin-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;max-width:1580px;margin:0 auto;padding:26px 30px;align-items:start}.admin-shell main{width:100%;max-width:none;margin:0;padding:0;min-width:0}.admin-sidebar{position:sticky;top:20px;background:#123e31;color:#fff;border-radius:16px;box-shadow:0 12px 32px #123e3112;overflow:hidden}.admin-menu{margin:0;border:0;padding:0}.admin-menu>summary{padding:18px 22px;font-size:13px;font-weight:700;border-bottom:1px solid #ffffff25;cursor:pointer;color:#e9f4e8}.admin-sidebar-heading{display:grid;gap:9px;padding:23px 22px 18px}.admin-sidebar-heading strong{font-size:23px}.admin-sidebar-heading>span:last-child{font-size:12px;color:#cfdecf;overflow-wrap:anywhere}.admin-sidebar-kicker{font-size:10px;letter-spacing:2px;color:#c4ee62}.admin-sidebar-nav{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:0 12px 14px}.admin-sidebar-nav a{display:flex;align-items:center;gap:10px;padding:12px 11px;color:#e7f0e5;text-decoration:none;font-size:13px;border-radius:9px;line-height:1.35}.admin-sidebar-nav a:hover{background:#ffffff15}.admin-sidebar-nav a[aria-current]{background:#c4ee62;color:#123e31;font-weight:700}.admin-nav-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.admin-sidebar-tools{display:grid;gap:14px;border-top:1px solid #ffffff25;padding:20px 22px}.admin-sidebar-tools a{font-size:12px;color:#d9edc9;text-decoration:none}.admin-sidebar a:focus-visible,.admin-menu summary:focus-visible{outline:3px solid #c4ee62;outline-offset:-3px}.admin-shell [id^="admin-"]{scroll-margin-top:24px}.admin-shell .table-wrap{max-width:100%}@media(max-width:1000px){.admin-shell{grid-template-columns:220px minmax(0,1fr);padding:20px 18px;gap:18px}}@media(max-width:760px){.admin-shell{display:block;padding:16px}.admin-sidebar{position:static;margin-bottom:20px;border-radius:12px}.admin-sidebar-heading{padding:14px 18px}.admin-sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.admin-sidebar-nav a{font-size:12px;min-height:44px}.admin-sidebar-tools{grid-template-columns:1fr 1fr;padding:16px}.admin-shell h1{font-size:30px}}@media print{.admin-sidebar{display:none}.admin-shell{display:block;padding:0}}

@media(min-width:761px){.admin-sidebar{max-height:calc(100vh - 40px);overflow-y:auto}}

.admin-page>header nav{display:none}.admin-nav-icon{width:20px;height:20px;flex-shrink:0}.admin-summary-card{text-decoration:none;display:flex;flex-direction:column;gap:12px;transition:box-shadow .15s,transform .15s}.admin-summary-card:hover{box-shadow:0 8px 24px #173c3215;transform:translateY(-2px)}.admin-summary-card small{font-size:12px;color:#3c694f}.admin-summary-card:focus-visible{outline:3px solid #679e22;outline-offset:2px}.admin-sidebar-heading strong{letter-spacing:-.5px}.admin-shell .section-top h1{margin-bottom:8px}

.admin-sidebar-brand{display:flex;align-items:center;gap:12px}.admin-sidebar-brand img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:10px;padding:3px}

/* Shared public and account footer. */
.site-footer{margin-top:40px;padding:30px 20px;background:#123e31;color:#edf5e9;text-align:center;border-top:3px solid #c4ee62;display:flex;flex-direction:column;align-items:center;gap:14px;overflow-wrap:anywhere}.site-footer .site-footer-copyright{margin:0;color:#edf5e9;font-size:14px}.site-footer a{color:#edf5e9;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer a:focus-visible{outline:2px solid #c4ee62;outline-offset:5px;border-radius:3px}.site-footer .site-footer-email{color:#c4ee62;font-weight:600}.site-footer-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px}.site-footer-links a{font-size:14px;font-weight:600;padding:5px 0}.site-footer-links span{color:#b9cbbb}.site-footer .site-footer-commission{font-size:12px;color:#d4e4cc}.site-footer .site-footer-credit{color:#c4d5bc;font-size:12px}@media(max-width:540px){.site-footer{padding:25px 16px}.site-footer-links{display:grid;grid-template-columns:1fr;gap:4px}.site-footer-links span{display:none}.site-footer-links a{padding:9px 0}}@media print{.site-footer{display:none!important}}

.rating-stars{color:#bd8500;font-size:1.1rem;letter-spacing:1px}.reputation{display:block;font-size:13px;line-height:1.6;color:#173c32}.review-empty{display:block;font-size:13px;color:#536953}.directory-search{grid-template-columns:2fr 1fr 1fr;gap:16px}.company-strip{max-width:1400px;margin:36px auto;padding:28px;background:#f2f6ee;border-radius:16px;border:1px solid #d9e5d2}.company-strip-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.company-strip-heading h2{margin:0}.company-strip-controls{display:flex;gap:8px}.company-strip-controls button{min-width:44px;min-height:44px}.company-strip-controls [hidden]{display:none}.company-strip-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:16px 2px;overscroll-behavior-x:contain}.company-strip-card{flex:0 0 265px;display:flex;flex-direction:column;gap:12px;scroll-snap-align:start;border:1px solid #d9e5d2;border-radius:12px;background:#fff;padding:18px;text-decoration:none;overflow-wrap:anywhere}.company-strip-card img,.company-strip-placeholder{width:100%;height:110px;object-fit:contain;background:#f7faf5;border-radius:8px}.company-strip-placeholder{display:flex;align-items:center;justify-content:center;color:#62705f}.company-strip-card>strong{font-size:18px;color:#173c32}.company-strip-card>span{font-size:13px}.company-strip a:focus-visible,.company-strip-track:focus-visible{outline:3px solid #679e22;outline-offset:2px}@media(max-width:760px){.directory-search{grid-template-columns:1fr}.company-strip{margin:24px 16px;padding:18px}.company-strip-heading{align-items:start;flex-wrap:wrap}.company-strip-card{flex-basis:240px}}@media print{.company-strip{display:none}}

.institutional-page{max-width:940px;margin:0 auto}.institutional-page>.eyebrow{display:block;margin-top:24px}.institutional-page h2{margin-top:30px}.institutional-page p{line-height:1.75}.institutional-page a{overflow-wrap:anywhere}

.institutional-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.institutional-tabs [aria-current]{background:#123e31;color:#fff}.institutional-editor{min-height:400px;font-family:monospace;line-height:1.6}.institutional-editor-actions{display:flex;gap:12px;flex-wrap:wrap}
