/* Assistent del client i sommelier del personal. Usa els colors de la carta de sala. */

/* Entrada sota el títol: botó propi, fora del paràgraf, sense posició fixa. */
.assistant-entry{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 14px;padding:10px 18px;border:1px solid var(--gold);border-radius:999px;background:transparent;color:var(--gold);font:650 15px var(--sans);letter-spacing:.01em;cursor:pointer}
.assistant-entry::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--gold)}
.assistant-entry:hover,.assistant-entry:focus-visible{background:rgba(210,170,103,.12);outline:none}
.assistant-entry[hidden]{display:none}
.assistant-empty-entry{margin-top:16px;min-height:44px;padding:10px 18px;border:1px solid var(--gold);border-radius:999px;background:var(--gold);color:#16120c;font:700 15px var(--sans);cursor:pointer}
/* El botó ocupa l'espai de la frase que substitueix: la cerca, els filtres i les vistes no es mouen. */
.client-hero.has-assistant{margin-bottom:-24px}
@media (max-width:760px){.client-hero.has-assistant{margin-bottom:-28px}}
@media (orientation:landscape) and (max-height:700px){
  /* En horitzontal la frase s'amaga; el botó es queda, compacte, dins del marge inferior de la capçalera. */
  .client-hero.has-assistant{margin-bottom:-36px}
  .assistant-entry{min-height:36px;margin:0;padding:6px 14px;font-size:13px}
}
body.staff-mode .assistant-entry,body.staff-mode .assistant-empty-entry{display:none}

/* Panell de l'assistent */
.assistant-dialog,.sala-login,.sala-picker{width:min(96vw,640px);max-height:92dvh;padding:0;border:1px solid var(--gold);border-radius:16px;background:#0d0d0d;color:var(--cream);box-shadow:0 22px 80px #000;overflow:hidden}
.assistant-dialog::backdrop,.sala-login::backdrop,.sala-picker::backdrop,.sala-editor::backdrop,.sala-table::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(4px)}
.assistant-box{display:flex;flex-direction:column;max-height:92dvh}
.assistant-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}
.assistant-head h2{margin:0;color:var(--gold);font:400 1.45rem var(--serif)}
.assistant-close{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--gold-soft);border-radius:50%;background:transparent;color:var(--cream);font:28px/1 var(--sans);cursor:pointer}
.assistant-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 18px calc(18px + env(safe-area-inset-bottom) + var(--teclat,0px))}
.assistant-intro{margin:0 0 12px;color:var(--cream-dim);font-size:14px}
.assistant-form{display:grid;gap:8px}
.assistant-label{color:var(--cream);font-size:14px;font-weight:650}
.assistant-label.small{margin-top:6px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.assistant-privacy{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.assistant-form textarea,.assistant-form input,.assistant-form select,.assistant-refine-input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#151515;color:var(--cream);font:16px var(--sans)}
.assistant-form textarea{resize:vertical;min-height:64px}
.assistant-criteria{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px}
.assistant-budget{display:grid;grid-template-columns:1fr 1.2fr;gap:6px}
@media (max-width:560px){.assistant-criteria{grid-template-columns:1fr}}
.assistant-examples{display:flex;flex-wrap:wrap;gap:7px}
.assistant-examples .chip{white-space:normal;text-align:left;min-height:40px}
.assistant-actions,.assistant-option-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:6px}
.assistant-primary,.assistant-secondary{min-height:44px;padding:10px 18px;border-radius:999px;font:700 15px var(--sans);cursor:pointer}
.assistant-primary{border:1px solid var(--gold);background:var(--gold);color:#16120c}
.assistant-secondary{border:1px solid var(--gold-soft);background:transparent;color:var(--cream-dim)}
.assistant-primary:disabled{opacity:.55;cursor:default}
.assistant-result{display:grid;gap:12px;margin-top:16px}
.assistant-options{display:grid;gap:12px}
.assistant-option{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.assistant-option-top{display:flex;justify-content:space-between;gap:14px}
.assistant-option h3{margin:0;color:var(--cream);font:400 1.25rem var(--serif)}
.assistant-option-winery{color:var(--cream-dim);font-size:13px}
.assistant-option-format{margin-top:4px;color:var(--gold-soft);font-size:13px;font-weight:650}
.assistant-option-price{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.assistant-option-price strong{color:var(--gold);font:400 1.3rem var(--serif)}
.assistant-option-price small{color:var(--muted);font-size:12px}
.assistant-option-why{margin:10px 0 0;color:var(--cream-dim);font-size:14px}
.assistant-option-message{color:var(--gold);font-size:13px}
.assistant-option-message:empty{display:none}
.assistant-question{margin:0;color:var(--cream);font:400 1.15rem var(--serif)}
.assistant-note{margin:0;color:var(--cream-dim);font-size:14px}
.assistant-error{margin:0;padding:10px 12px;border:1px solid var(--agot);border-radius:10px;color:#f1b4b4;font-size:14px}
.assistant-refine{display:grid;gap:8px}
.assistant-refine-row{display:grid;grid-template-columns:1fr auto;gap:8px}

/* Entrada del personal */
.sala-login{width:min(92vw,420px)}
.sala-login-box{display:grid;gap:8px;padding:20px}
.sala-login-box h2{margin:0;color:var(--gold);font:400 1.4rem var(--serif)}
.sala-login-box p{margin:0 0 6px;color:var(--cream-dim);font-size:14px}
.sala-login-box label{color:var(--muted);font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.05em}
.sala-login-box input{min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#151515;color:var(--cream);font:20px var(--sans);letter-spacing:.12em}
.sala-login-error{min-height:20px;color:#f1b4b4;font-size:14px}
.sala-login-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sala-login-actions button{min-height:46px;border:1px solid var(--gold-soft);border-radius:10px;background:transparent;color:var(--cream-dim);font:700 15px var(--sans)}
.sala-login-actions .primary{background:var(--gold);border-color:var(--gold);color:#16120c}
#salaOpenEditor{padding:2px 8px;border:0;border-radius:999px;background:var(--gold);color:#16120c;font-size:10px;font-weight:750;cursor:pointer}
#salaOpenEditor[hidden]{display:none}

/* Editor del sommelier: pantalla completa */
.sala-editor{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#0f0d0a;color:var(--cream)}
.sala-editor[open]{display:flex;flex-direction:column}
.sala-box{display:flex;flex-direction:column;flex:1;min-height:0}
.sala-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:#16130e}
.sala-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.sala-title h2{margin:0;color:var(--gold);font:400 1.5rem var(--serif)}
.sala-person{color:var(--cream-dim);font-size:13px}
.sala-badge{padding:3px 9px;border:1px solid #63b98a;border-radius:999px;color:#83d4a5;font-size:12px}
.sala-badge.warn{border-color:var(--agot);color:#f1b4b4}
.sala-nav{display:flex;flex-wrap:wrap;gap:6px}
.sala-nav button,.sala-editor button,.sala-picker button,.sala-table button{min-height:44px;padding:8px 14px;border:1px solid var(--gold-soft);border-radius:10px;background:transparent;color:var(--cream-dim);font:650 14px var(--sans);cursor:pointer}
.sala-nav button.on{border-color:var(--gold);color:var(--gold)}
.sala-editor button.primary,.sala-picker button.primary{border-color:var(--gold);background:var(--gold);color:#16120c}
.sala-editor button.danger,.sala-editor .link.danger{color:#f1b4b4;border-color:rgba(176,74,74,.7)}
.sala-editor button.link{min-height:40px;border-color:transparent;padding:6px 4px;color:var(--gold);text-decoration:underline}
.sala-editor button:disabled{opacity:.45;cursor:default}
.sala-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px max(16px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom) + var(--teclat,0px)) max(16px,env(safe-area-inset-left))}
.sala-body>*{max-width:980px;margin-left:auto;margin-right:auto}
.sala-section{margin:0 auto 16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(246,238,223,.035)}
.sala-section h3{margin:0 0 10px;color:var(--gold);font:400 1.2rem var(--serif)}
.sala-section h4{margin:12px 0 6px;color:var(--cream);font-size:15px}
.sala-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.sala-field{display:grid;gap:4px;color:var(--muted);font-size:12px;font-weight:650}
.sala-field input,.sala-field textarea,.sala-field select,.sala-picker input,.sala-confirm select{width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#151515;color:var(--cream);font:16px var(--sans)}
.sala-field textarea{min-height:54px;resize:vertical}
.sala-dish{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:10px;align-items:end;padding:8px 0;border-bottom:1px solid var(--line)}
@media (max-width:700px){.sala-dish{grid-template-columns:1fr}}
.sala-dish-wines{padding:6px 0 10px;border-bottom:1px solid var(--line)}
.sala-service{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;padding:10px 0}
@media (max-width:760px){.sala-service{grid-template-columns:1fr}}
.sala-service-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}
.sala-service-fields .sala-row{grid-column:1/-1}
.sala-state{display:inline-block;margin:4px 6px 0 0;padding:2px 8px;border:1px solid var(--gold-soft);border-radius:999px;color:var(--gold);font-size:11px}
.sala-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sala-row.spread{justify-content:space-between}
.sala-actions{margin:0 auto 16px}
.sala-message{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px}
.sala-message.ok{border-color:#63b98a;color:#a7e3bf}
.sala-message.warn{border-color:var(--gold);color:var(--gold)}
.sala-message.error,.sala-message.demo{border-color:var(--agot);color:#f1b4b4}
.sala-message.info{color:var(--cream-dim)}
.sala-note{margin:6px 0;color:var(--gold);font-size:14px}
.sala-note.bad,.sala-figures dd.bad{color:#f1b4b4}
.sala-figures dd.good{color:#a7e3bf}
.muted{color:var(--muted);font-size:13px}
.sala-figures{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:6px 0;font-size:14px}
.sala-figures dt{color:var(--muted)}
.sala-figures dd{margin:0;color:var(--cream)}
.sala-figures.compact{grid-template-columns:repeat(auto-fit,minmax(120px,max-content) minmax(60px,1fr));font-size:13px}
.sala-stock,.sala-planning,.sala-financial{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.sala-stock-wine,.sala-allocation{padding:6px 0}
.sala-financial.neutral h4{color:var(--cream-dim)}
.sala-empty{padding:30px 16px;text-align:center}
.sala-empty .sala-row{justify-content:center}
.sala-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.sala-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.sala-plan{display:grid;gap:10px}
.sala-plan-entry{padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.sala-plan-entry.cancelled,.sala-plan-entry.served{opacity:.65}
.sala-confirm{margin-top:10px}
.sala-confirm summary{color:var(--gold);cursor:pointer;min-height:40px}
.sala-locked{display:grid;place-content:center;gap:12px;flex:1;padding:24px;text-align:center}
.sala-locked h2{margin:0;color:var(--gold);font:400 1.6rem var(--serif)}
.sala-error{color:#f1b4b4}

/* Triar vi */
.sala-picker-box{display:grid;gap:10px;padding:16px;max-height:88dvh}
.sala-picker-box h3{margin:0;color:var(--gold);font:400 1.25rem var(--serif)}
.sala-picker-box .sala-row input{flex:1}
.sala-picker-list{display:grid;gap:6px;overflow-y:auto;max-height:60dvh;padding-bottom:var(--teclat,0px)}
.sala-candidate{display:block;width:100%;text-align:left;line-height:1.35}
.sala-candidate strong{color:var(--cream)}

/* Vista de taula: el que es pot ensenyar al client */
.sala-table{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#f5efe2;color:#29261f}
.sala-table-box{max-width:820px;margin:0 auto;padding:calc(36px + env(safe-area-inset-top)) 24px calc(30px + env(safe-area-inset-bottom));text-align:center}
.sala-table-box h2{margin:0;color:#29261f;font:400 2.4rem var(--serif)}
.sala-table-sub{margin:6px 0 26px;color:#6e593a;font-size:16px}
.sala-table-box ol{display:grid;gap:22px;margin:0 0 30px;padding:0;list-style:none}
.sala-table-dish{color:#6e593a;font:600 13px var(--sans);letter-spacing:.14em;text-transform:uppercase}
.sala-table-wine{margin-top:4px;color:#29261f;font:400 1.7rem var(--serif)}
.sala-table-meta{margin-top:2px;color:#524b40;font-size:15px}
.sala-table button{border-color:#a59373;color:#524b40}
