/* PISTORA v62 — AI recipe advisor panel and POS sales import. Uses the v54 tokens from design-v54.css. */
.ai-consult{margin-top:-10px}
.ai-badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--lime);color:var(--green);font-size:11px;font-weight:700;vertical-align:2px}
.ai-consult [hidden]{display:none!important}
.ai-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ai-setup{display:grid;gap:10px}
.ai-keyrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}
.ai-keyrow label{font-size:13px;font-weight:600}
.ai-keyrow input{min-width:0;width:100%}
.ai-check{display:flex;gap:8px;align-items:center;font-size:13px}
.ai-chat{display:grid;gap:12px}
.ai-bar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:13px}
.ai-bar label{display:flex;gap:6px;align-items:center;font-weight:600}
.ai-bar select{max-width:100%}
.ai-cost{color:var(--muted);font-size:12px}
.ai-bar-actions{margin-left:auto;display:flex;gap:4px}
.ai-feed{display:grid;gap:14px;max-height:min(70vh,640px);overflow:auto;padding:4px 2px;overscroll-behavior:contain}
.ai-turn{display:grid;gap:8px}
.ai-q{justify-self:end;max-width:85%;margin:0;padding:9px 13px;border-radius:14px 14px 4px 14px;background:var(--green);color:#fff;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-a{max-width:100%;padding:12px 14px;border-radius:14px 14px 14px 4px;background:var(--bg);border:1px solid var(--line);font-size:14px;line-height:1.6;display:grid;gap:8px;overflow-wrap:anywhere}
.ai-a p,.ai-a ul,.ai-a ol{margin:0}
.ai-a ul,.ai-a ol{padding-left:20px;display:grid;gap:3px}
.ai-a code{font-size:12px;background:#ecede4;padding:0 4px;border-radius:4px}
.ai-a.is-error{background:var(--warn-bg);border-color:#efd8b3;color:var(--warn)}
.ai-wait{color:var(--muted);font-size:13px}
.ai-wait:not(:empty)::before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--green);vertical-align:1px;animation:ai-pulse 1s ease-in-out infinite}
@keyframes ai-pulse{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.ai-wait:not(:empty)::before{animation:none}}
.ai-usage{color:var(--muted);font-size:12px;margin:0}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px}
.ai-chips button{border-radius:999px;padding:7px 12px;font-size:13px}
.ai-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.ai-form textarea{width:100%;min-width:0;resize:vertical;min-height:48px;font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.ai-send{display:flex;flex-direction:column;gap:6px}
.ai-proposal{display:grid;gap:10px;padding:12px 14px;border-radius:12px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}
.ai-proposal header{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.ai-proposal header b{font-size:15px}
.ai-tag{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--orange);text-transform:uppercase}
.ai-proposal.is-stale{opacity:.75}
.ai-proposal.is-applied{border-color:#cfe3bf}
.ai-reason{color:var(--ink);font-size:14px}
.ai-changes{list-style:none;padding:0!important;display:flex!important;flex-wrap:wrap;gap:6px}
.ai-changes li{padding:3px 10px;border-radius:999px;background:#ecede4;font-size:13px;font-variant-numeric:tabular-nums}
.ai-changes li span{font-weight:600}
.ai-table{overflow-x:auto}
.ai-table table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.ai-table th,.ai-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.ai-table th[scope=row],.ai-table thead th:first-child{text-align:left;font-weight:600}
.ai-table thead th{font-size:12px;color:var(--muted);font-weight:600}
.ai-table td:last-child{text-align:left}
.ai-range{color:var(--muted)}
@media (max-width:640px){
 .ai-keyrow{grid-template-columns:minmax(0,1fr) auto}.ai-keyrow label{grid-column:1/-1}
 .ai-form{grid-template-columns:minmax(0,1fr)}.ai-send{flex-direction:row}
 .ai-bar-actions{margin-left:0}
 .ai-q{max-width:92%}
 .ai-consult .dt-body{padding:0 12px 14px}
 .ai-a{padding:10px 10px}
 .ai-proposal{padding:10px}
 .ai-table th,.ai-table td{padding:5px 6px}
}
/* POS sales dialog (next-production page) */
.pos-dialog{width:min(980px,calc(100vw - 24px));max-height:calc(100vh - 32px);padding:0;border:1px solid var(--line,#dfe2d5);border-radius:16px;background:var(--paper,#fffefa);color:var(--ink,#253a2e);box-shadow:0 20px 60px #0003}
.pos-dialog::backdrop{background:#1d2b2266}
.pos-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line,#dfe2d5);background:var(--paper,#fffefa)}
.pos-head h2{margin:0;font-size:18px}
.pos-close{border:0;background:transparent;font-size:24px;line-height:1;min-height:40px;min-width:40px;cursor:pointer;color:var(--muted,#66705f)}
.pos-body{padding:14px 18px 20px;display:grid;gap:16px;overflow:auto;max-height:calc(100vh - 110px)}
.pos-lead{margin:0;font-size:14px;line-height:1.55;color:var(--muted,#66705f)}
.pos-msg{margin:0;padding:10px 12px;border-radius:10px;background:var(--warn-bg,#f7ead6);color:var(--warn,#8f5410);font-size:14px}
.pos-step{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line,#dfe2d5)}
.pos-step h3{margin:0;font-size:15px}
.pos-hint{margin:0;font-size:13px;color:var(--muted,#66705f);line-height:1.5}
.pos-ok{margin:0;font-size:13px;color:var(--ok,#2f6b45);font-weight:600}
.pos-warn{margin:0;font-size:14px;color:var(--warn,#8f5410)}
.pos-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.pos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.pos-grid label{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--muted,#66705f);min-width:0}
.pos-grid select{width:100%;min-width:0}
.pos-scroll{overflow:auto;max-height:420px;border:1px solid var(--line,#dfe2d5);border-radius:10px}
.pos-table{width:100%;border-collapse:collapse;font-size:13px}
.pos-table th{position:sticky;top:0;background:#f3f3ea;text-align:left;font-size:12px;color:var(--muted,#66705f);padding:8px}
.pos-table td{padding:7px 8px;border-top:1px solid var(--line,#dfe2d5);vertical-align:top}
.pos-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.pos-label{font-weight:600;overflow-wrap:anywhere;min-width:120px}
.pos-part{display:flex;gap:6px;align-items:center;margin-bottom:4px}
.pos-part input[type=text]{flex:1 1 150px;min-width:0}
.pos-part input[type=number]{width:80px}
.pos-link.pos-ok td:first-child{box-shadow:inset 3px 0 var(--ok,#2f6b45)}
.pos-link.pos-incomplete td:first-child{box-shadow:inset 3px 0 var(--warn,#8f5410)}
.pos-link.pos-skip{color:var(--muted,#66705f)}
.pos-skip{font-size:12px}
.pos-check{display:flex;gap:6px;align-items:center;white-space:nowrap;font-size:12px}
.pos-notes{margin:0;padding-left:18px;font-size:13px;color:var(--muted,#66705f);display:grid;gap:3px}
.pos-errors summary{cursor:pointer;font-size:13px;color:var(--warn,#8f5410)}
.pos-errors ul{margin:6px 0 0;padding-left:18px;font-size:12px;color:var(--muted,#66705f)}
.pos-stored p{margin:0;font-size:13px}
@media (max-width:640px){.pos-part{flex-wrap:wrap}.pos-label{min-width:90px}}
.pos-dialog .text-button{min-height:32px;border:0;background:transparent;padding:4px 6px;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;color:var(--green,#284d37)}
.pos-dialog button.outline,.pos-dialog button.primary{min-height:40px;padding:8px 14px;border-radius:8px;border:1px solid var(--line,#dfe2d5);cursor:pointer}
.pos-dialog button.primary{background:#365b42;color:#fff;border-color:#365b42}
.pos-dialog button.primary[disabled]{opacity:.5;cursor:not-allowed}
