:root{color-scheme:light;--background:#fff;--foreground:#18274b;--muted:rgba(20,36,92,.035);--border:rgba(20,36,92,.17);--selected:#14245c;--orange:#f46b24;font-family:Arial,sans-serif;color:var(--foreground);background:#f5f7fa}*{box-sizing:border-box}body{margin:0}main{max-width:1040px;margin:auto;padding:24px}header{border-bottom:3px solid var(--orange);padding-bottom:14px;margin-bottom:24px}h1{font-size:30px;margin:8px 0}h2{font-size:20px;font-weight:600}.eyebrow{font-size:12px;letter-spacing:.08em}button,input,select{font:inherit}button{padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--foreground);cursor:pointer}button:hover:not(:disabled){background:#eaf1f9}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #eb9c46;outline-offset:3px}#continue,#submit,#access-form button,#toggle{background:var(--selected);color:#fff}label{display:flex;flex-direction:column;gap:7px}input,select{border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--foreground);padding:12px;min-width:0;width:100%}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}#access-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}#access-form label{flex:1;max-width:450px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:16px 0}.map{height:560px;min-height:300px;max-height:75vh;position:relative;overflow:hidden;touch-action:none;user-select:none;cursor:grab;background:var(--muted);border:1px solid var(--border);border-radius:8px}.map:active{cursor:grabbing}[data-plan],#overlay{position:absolute;top:0;left:0;max-width:none;max-height:none;transform-origin:0 0;pointer-events:none}.offer{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;color:#172c4c;border:1px solid #b9c7d6;font-size:20px;padding:4px}.offer.selected{background:#c5e1fa;border:4px solid var(--selected)}.offer.reserved{background:#ffe69b}.hint,footer{font-size:14px;color:#495e74}#detail{padding:12px 0;border-bottom:1px solid var(--border)}#request-form{margin-top:24px;padding:20px;background:#fff;border-radius:8px}#email-error{color:#a32121}.check{flex-direction:row;align-items:start;margin:16px 0}.check input{width:20px;height:20px;flex:none}#message:not(:empty),#result:not(:empty){padding:12px;background:#eaf1f9;border-left:3px solid var(--selected)}footer{margin-top:30px}[hidden]{display:none!important}@media(max-width:480px){main{padding:14px}.fields{grid-template-columns:1fr}.map{height:460px}#request-form{padding:14px}}

textarea{font:inherit;border:1px solid var(--border);border-radius:6px;padding:12px;color:var(--foreground);width:100%}fieldset{border:1px solid var(--border);border-radius:8px;margin:20px 0}.offer.with-logo{display:block;overflow:hidden;padding:0}.logo-code{position:absolute;top:3%;left:0;width:100%;text-align:center}.logo-visible{position:absolute;overflow:hidden}.logo-visible img{position:absolute;max-width:none;max-height:none}

#billing-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6;background:#f4f7fb;border:1px solid var(--border);border-radius:8px;padding:18px}#billing-section{margin-top:28px}

[data-admin-overlay]{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none}.offer.protected:not(.reserved){background:transparent;border:2px solid #315f46}#admin-plan{margin-bottom:32px}

label.check{flex-direction:row;align-items:flex-start;line-height:1.4}.check input[type=checkbox]{width:18px;height:18px;margin:2px 0 0;flex:0 0 18px}#reservation-extend-form,#reservation-release-form{padding:16px;border:1px solid var(--border);border-radius:8px;margin:14px 0}#reservation-extend-days{max-width:180px}

/* Hide the obsolete restaurant title in the shared plan coordinates. */
#overlay::before,[data-admin-overlay]::before{content:"";position:absolute;left:644px;top:77px;width:186px;height:68px;background:#fff;pointer-events:none}

/* Discreet Foro institutional palette: navy and orange on translucent surfaces. */
:root{--foro-navy:#14245c;--foro-orange:#f46b24;--foro-blue-soft:rgba(20,36,92,.045);--foro-orange-soft:rgba(244,107,36,.055);background:#fff}
body{background:linear-gradient(135deg,rgba(20,36,92,.035),transparent 52%),linear-gradient(315deg,rgba(244,107,36,.04),transparent 55%),#fff;min-height:100vh}
main{line-height:1.5}
header{position:relative;border-bottom:1px solid rgba(20,36,92,.14);padding-bottom:20px}
header::after{content:"";position:absolute;left:0;bottom:-1px;width:72px;height:3px;background:var(--foro-orange);border-radius:3px}
h1,h2,h3,legend,summary{color:var(--foro-navy)}
h2{border-left:3px solid rgba(244,107,36,.65);padding-left:10px}.eyebrow{color:rgba(20,36,92,.72)}
button{background:rgba(20,36,92,.045);border-color:rgba(20,36,92,.18);color:var(--foro-navy);transition:background .15s,border-color .15s}
button:hover:not(:disabled){background:rgba(20,36,92,.085);border-color:rgba(20,36,92,.35)}
#continue,#submit,#access-form button,#toggle,#send-ficha,#admin-login button,#commercial-save,#billing-form button,#tracing-form button{background:var(--foro-navy);border-color:var(--foro-navy);color:#fff}
#continue:hover:not(:disabled),#submit:hover:not(:disabled),#toggle:hover:not(:disabled),#send-ficha:hover:not(:disabled){background:#243a7b}
input,select,textarea{background:rgba(255,255,255,.95);border-color:rgba(20,36,92,.2);color:var(--foreground)}
input[type=checkbox],input[type=radio]{accent-color:var(--foro-navy)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(244,107,36,.38);outline-offset:3px}
#request-form,#ficha-form,#admin-login,#commercial-form,#billing-form,#tracing-form,#conditions-form,#privacy-form{padding:22px;border:1px solid rgba(20,36,92,.13);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 3px 18px rgba(20,36,92,.035)}
fieldset{padding:16px;border-color:rgba(20,36,92,.16);background:rgba(20,36,92,.018)}legend{padding:0 8px;font-weight:600}
details{margin:16px 0;border:1px solid rgba(20,36,92,.12);border-radius:9px;background:rgba(255,255,255,.9);overflow:hidden}
summary{padding:12px 14px;background:rgba(20,36,92,.035);cursor:pointer;font-weight:600}
details>div,details>p{margin:12px 14px}details[open]>summary{border-bottom:1px solid rgba(20,36,92,.1)}
#message:not(:empty),#result:not(:empty),#ficha-status:not(:empty),#admin-message:not(:empty){padding:12px 14px;background:rgba(20,36,92,.05);border-left:3px solid rgba(20,36,92,.65);border-radius:0 7px 7px 0}
#commercial-summary,#saved-quote{background:rgba(244,107,36,.045);border-radius:8px}
#reservation-extend-form,#reservation-release-form,#billing-preview{background:rgba(20,36,92,.025);border-color:rgba(20,36,92,.14)}
.hint,footer{color:#52617e}footer{border-top:1px solid rgba(20,36,92,.12);padding-top:16px}
.map{background:rgba(20,36,92,.025)}
@media(max-width:480px){#request-form,#ficha-form,#admin-login,#commercial-form,#billing-form,#tracing-form,#conditions-form,#privacy-form{padding:16px}}

/* Remove the internal module-numbering note from the displayed plan. */
#overlay::after,[data-admin-overlay]::after{content:"";position:absolute;left:638px;top:1827px;width:574px;height:17px;background:#fff;pointer-events:none}

/* Customer guidance immediately before the plan. */
#selection-instructions{color:#b42318;font-size:1rem;line-height:1.5;margin:16px 0 12px}#selection-instructions strong{font-weight:700}

/* Locate the inspected stand before adding it; retain a separate chosen state. */
#overlay .offer.original-logo{background:transparent;border-color:transparent}
#overlay .offer.active:not(.selected){border:5px solid #f46b24;background:rgba(255,232,211,.96);z-index:2}
#overlay .offer.original-logo.active{background:rgba(244,107,36,.12)}
#overlay .offer.selected{border:5px solid #14245c;background:#c5e1fa;z-index:1}
#overlay .offer.selected::after{content:"✓";position:absolute;right:3px;bottom:3px;padding:0 4px;border-radius:3px;background:#14245c;color:#fff;font-size:18px;font-weight:bold;line-height:1.2}
#overlay .offer.active.selected{box-shadow:inset 0 0 0 3px #f46b24;z-index:2}

#offer-price,#selection-price{white-space:pre-line;line-height:1.65}#rates-editor{padding:0 14px 14px}.rates-scroll{overflow-x:auto;max-width:100%}#rates-table{border-collapse:collapse;min-width:900px;width:100%}#rates-table th,#rates-table td{border:1px solid #d9d9d9;padding:8px;text-align:left}#rates-table th{background:#edf0f8}#rates-table input{min-width:105px;padding:8px}

#storage-section{border:1px solid #14245c22;border-radius:12px;padding:16px;margin:16px 0;background:#14245c08}.storage-track{height:16px;background:#14245c15;border-radius:8px;overflow:hidden}#storage-bar{height:100%;background:#25834d;min-width:0}#storage-bar[data-level="warning"]{background:#db851a}#storage-bar[data-level="critical"]{background:#c63832}#storage-updated{font-size:.9em}

.registration-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}#email-verification{padding:16px;border:1px solid #14245c33;background:#14245c08;border-radius:10px}

.participant-language{display:flex;justify-content:flex-end;margin-bottom:16px}.participant-language label{max-width:100%;font-size:.85rem}.participant-language select{min-width:160px;width:auto;max-width:100%}#stands-foro button,#ficha-foro button{white-space:normal;overflow-wrap:anywhere;max-width:100%;height:auto;line-height:1.35}#stands-foro label,#ficha-foro label{overflow-wrap:anywhere}#ficha-foro .check{align-items:flex-start}#ficha-foro input,#ficha-foro select,#stands-foro input,#stands-foro select{min-width:0;max-width:100%}@media(max-width:600px){.participant-language{justify-content:flex-start}.participant-language select{width:100%}#ficha-foro .fields,#stands-foro .fields{grid-template-columns:minmax(0,1fr)}}

/* One-pixel inset outlines avoid doubled adjacent stand borders. */
.offer{border:0;box-shadow:inset 0 0 0 .5px #b9c7d6;font-size:11px;line-height:1.15;padding:2px}.offer.with-logo .logo-code{top:3px;font-size:10px;line-height:12px;white-space:nowrap}.offer.selected{border:0;box-shadow:inset 0 0 0 3px var(--selected)}

#overlay .offer.active:not(.selected){border:0;box-shadow:inset 0 0 0 3px #f46b24}#overlay .offer.original-logo{box-shadow:inset 0 0 0 .5px #b9c7d6}

.offer{white-space:pre-line;overflow:hidden}.offer.with-logo .logo-code{white-space:nowrap}

/* Orange identifies organizer actions that prepare, save or apply changes. */
#organizador #admin-content button[type="submit"],
#organizador :is(#approve-request,#reject-request,#confirm-contract,#issue-link,#ficha-mail-send,#commercial-published-rate,#billing-send-button,#odoo-sync-button,#conditions-new,#conditions-publish,#conditions-copy-history,#privacy-new,#privacy-publish,#privacy-copy-history,#plan-join,#plan-split,#plan-apply){background:var(--foro-orange);border-color:var(--foro-orange);color:var(--foro-navy);font-weight:700}
#organizador #admin-content button[type="submit"]:hover:not(:disabled),
#organizador :is(#approve-request,#reject-request,#confirm-contract,#issue-link,#ficha-mail-send,#commercial-published-rate,#billing-send-button,#odoo-sync-button,#conditions-new,#conditions-publish,#conditions-copy-history,#privacy-new,#privacy-publish,#privacy-copy-history,#plan-join,#plan-split,#plan-apply):hover:not(:disabled){background:#ed5e16;border-color:#d95412}

/* Organizer action feedback and event-wide settings boundary. */
#request-state{display:inline-block;padding:10px 16px;border-radius:8px;background:#eef1f7;font-weight:700;border:1px solid #c8d0df}
#request-state[data-state="held"]{background:#fff0d1;border-color:#d69000;color:#684500}
#request-state[data-state="confirmed"]{background:#e2f3e9;border-color:#278454;color:#145a36}
#reservation-action-status{padding:16px;border-radius:8px;border:2px solid #c8d0df;background:#f4f6fa}
#reservation-action-status[data-result="success"]{border-color:#278454;background:#e2f3e9;color:#145a36}
#reservation-action-status[data-result="error"]{border-color:#bf3434;background:#fff0f0;color:#8a2020}
#general-config-heading{margin-top:48px;padding-top:28px;border-top:3px solid #f46b24}
.general-config-warning{padding:16px 20px;border-left:4px solid #f46b24;background:rgba(244,107,36,.07)}

.config-locked-area{border:0;padding:0;margin:0;min-width:0}.config-locked-area:disabled{opacity:.6}#config-lock-panel{padding:18px;border:2px solid #f46b24;border-radius:8px;margin:16px 0}#config-unlock-form{max-width:500px}

#submitted-ficha{margin:24px 0;padding:20px;border:1px solid #c8d0df;border-radius:10px;background:rgba(20,36,92,.03)}#submitted-ficha-data{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:10px 18px}#submitted-ficha-data dt{font-weight:700}#submitted-ficha-data dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:600px){#submitted-ficha-data{grid-template-columns:1fr;gap:6px}#submitted-ficha-data dd{margin-bottom:12px}}

.client-steps{display:flex;gap:8px;overflow-x:auto;padding:12px 0;margin:12px 0 24px;border-bottom:2px solid rgba(244,107,36,.3)}
.client-steps [role=tab]{flex:1 0 auto;background:#f4f6fa;color:#14245c;border:1px solid #ccd3e0;padding:12px 16px}
.client-steps [role=tab][aria-selected=true]{background:#14245c;color:white;border-bottom:4px solid #f46b24}
.client-step-panel{grid-column:1/-1;min-width:0}.client-step-panel[hidden]{display:none!important}
.step-navigation{grid-column:1/-1;justify-content:space-between;margin-top:24px}
.step-navigation button{background:#f46b24;color:#14245c;font-weight:700}
@media(max-width:600px){.client-steps [role=tab]{font-size:14px;padding:10px 12px}}

#result:not(:empty){background:#e7f5ec;color:#145a36;border:2px solid #278454;border-radius:10px;padding:18px;font-weight:600}
#result:not(:empty)::before{content:'✓ ';font-weight:800}
#request-success-dialog{width:min(600px,92vw);border:2px solid #278454;border-radius:14px;padding:28px;color:#145a36;background:#f4fcf7;box-shadow:0 16px 60px rgba(0,0,0,.2)}
#request-success-dialog::backdrop{background:rgba(20,36,92,.35)}
#request-success-dialog h2{color:#145a36;font-size:24px;margin-top:0}
#request-success-dialog p{line-height:1.6;overflow-wrap:anywhere}
#request-success-dialog button{background:#f46b24;color:#14245c;font-weight:700;margin-top:12px}

.organizer-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0;border-bottom:2px solid #f5b28d;padding-bottom:.75rem}.organizer-tabs [aria-selected="true"]{box-shadow:inset 0 -4px 0 #17265c}.organizer-tabs [aria-selected="false"]{background:#fff3e9}#request-final-actions{border-top:2px solid #f5b28d;margin-top:2rem;padding-top:1rem}#request-final-actions form{margin-top:1.5rem}

.request-stage-tabs{gap:.45rem}.request-stage-tabs button{font-size:.95rem;padding:.65rem .85rem}.request-stage-hint{padding:1rem;background:rgba(244,111,35,.07);border-left:3px solid #f46f23}.request-stage-controls{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #efc9b3}.request-stage-controls span{font-weight:600}@media(max-width:600px){.request-stage-tabs button{flex:1 1 45%}.request-stage-controls{gap:.5rem;flex-wrap:wrap}}

#commercial-feedback{padding:1rem;border:1px solid #e4bb83;border-radius:.6rem;background:#fff6e7;color:#70430c}#commercial-feedback[data-state=success]{background:#e7f5ec;color:#145a36;border-color:#278454}#commercial-feedback[data-state=error]{background:#fff0f0;color:#922424;border-color:#bf4a4a}

#ficha-submit-feedback{padding:1rem;border-radius:.6rem;background:#fff6e7;color:#70430c;border:1px solid #e4bb83}#ficha-submit-feedback[data-state=success]{background:#e7f5ec;color:#145a36;border-color:#278454}#ficha-submit-feedback[data-state=error]{background:#fff0f0;color:#922424;border-color:#bf4a4a}#ficha-success-dialog{max-width:32rem;width:calc(100% - 3rem);border:2px solid #278454;border-radius:1rem;padding:1.5rem;background:#f4fbf6;color:#145a36}#ficha-success-dialog::backdrop{background:rgba(23,38,92,.45)}#ficha-success-dialog button{background:#f46f23;color:#17265c;padding:.7rem 1.2rem;border:0;border-radius:.5rem;font-weight:700}

#trace-feedback{padding:1rem;border:1px solid #e4bb83;border-radius:.6rem;background:#fff6e7;color:#70430c}#trace-feedback[data-state=success]{background:#e7f5ec;color:#145a36;border-color:#278454}#trace-feedback[data-state=error]{background:#fff0f0;color:#922424;border-color:#bf4a4a}

.received-file-row{padding:1rem;border:1px solid #d9dce5;border-radius:.7rem;margin-bottom:1rem}.received-file-row a{display:inline-block;margin:.6rem;font-weight:600}.received-file-row [hidden]{display:none}.received-file-row img{display:block;margin-top:.75rem}

#print-release-feedback{padding:1rem;border-radius:.6rem;background:#fff6e7}#print-release-feedback[data-state=success]{background:#e7f5ec;color:#145a36;border:1px solid #278454}#print-release-feedback[data-state=error]{background:#fff0f0;color:#922424;border:1px solid #bf4a4a}
