/* Shared containment rules: flexible children must shrink within their panels. */
:is(.app-owner-shell,.app-admin-shell) #main-content{min-width:0}
:is(.app-owner-shell,.app-admin-shell) :is(.app-panel,.owner-visual-panel,article,form,fieldset){min-width:0;max-width:100%}
:is(.app-owner-shell,.app-admin-shell) :is(input,select,textarea){max-width:100%;min-width:0}
:is(.app-owner-shell,.app-admin-shell) :is(h1,h2,h3,p,dd){overflow-wrap:anywhere}
.app-navigation-menu{display:none}
.owner-plan-dialog{width:min(460px,calc(100vw - 40px))}
.owner-plan-card{position:relative;padding:24px}
.owner-plan-summary{display:grid;gap:16px}
.owner-plan-summary h2{font-size:23px;font-weight:700;padding-right:30px}
.owner-plan-price{font-size:28px;font-weight:700;color:var(--app-accent);margin:0}
.owner-plan-price small{font-size:13px;font-weight:400;color:var(--app-muted)}
.owner-plan-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;background:var(--app-canvas);border-radius:10px}
.owner-plan-summary dt{font-size:12px;color:var(--app-muted);margin-bottom:5px}
.owner-plan-summary dd{font-size:14px;overflow-wrap:anywhere}
.owner-plan-actions{display:flex;gap:8px}
.owner-plan-actions>a{flex:1;justify-content:center}
.owner-plan-summary form>button{width:100%;padding:10px;border-radius:10px;font-size:13px;font-weight:600}
.owner-plan-details{font-size:13px;text-align:center;color:var(--app-muted);text-decoration:underline}
.owner-cancel-subscription{background:#C8643F;border-color:#C8643F;color:var(--app-text)}
.owner-cancel-subscription:hover{background:#A8322D;border-color:#A8322D;color:var(--app-text)}
.app-navigation-menu nav{max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}
.app-navigation-menu nav :is(a,button){display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;width:100%;font-size:16px;line-height:1.4;text-align:left;border-radius:8px;white-space:normal}
.app-navigation-menu nav :is(a,button):hover,.app-navigation-menu a[aria-current="page"]{background:var(--app-success-soft);color:var(--app-accent)}
.app-navigation-menu nav i{width:20px;flex-shrink:0;text-align:center}
[data-commerce-channel-state]{display:block;font-size:13px;font-weight:400;line-height:1.5;color:var(--app-muted);white-space:normal}
[data-channel-state="connected"]{color:var(--app-accent)}
[data-channel-state="connecting"],[data-channel-state="disconnected"]{color:var(--app-warning)}
@media(max-width:1450px){
 .app-owner-shell .owner-main-nav,.app-owner-shell .owner-nav-identity,.app-owner-shell .owner-nav-profile summary>.fa-chevron-down{display:none}
 .app-owner-shell .owner-nav-avatar{width:40px;height:40px;font-size:13px}
 .app-owner-shell .app-navigation-menu{display:block}
 .app-owner-shell .owner-header-inner{grid-template-columns:minmax(0,1fr) auto;padding-top:8px;padding-bottom:8px;gap:10px}
 .app-owner-shell .owner-header-account{grid-column:2;grid-row:1;gap:10px}
}
@media(max-width:1023px){
 .app-admin-shell>.admin-sidebar{display:none}
 .app-admin-shell .app-navigation-menu{display:block}
 .app-admin-shell>#main-content{margin-left:0;width:100%}
 .app-admin-shell:not(.app-chat-layout)>#main-content{padding:16px}
 .app-admin-shell>footer{margin-left:0}
 .app-admin-shell .app-header>div{padding:8px 16px;height:auto;min-height:64px;gap:10px}
}
@media(max-width:700px){
 :is(.app-owner-shell,.app-admin-shell) .app-brand-link{gap:8px;min-width:0}
 :is(.app-owner-shell,.app-admin-shell) .app-brand-logo{width:36px;height:40px;object-fit:contain;flex-shrink:0}
 :is(.app-owner-shell,.app-admin-shell) .app-brand-link>span{font-size:18px}
 .app-navigation-menu nav{position:fixed;top:70px;right:12px;width:min(340px,calc(100vw - 24px));min-width:0;max-width:calc(100vw - 24px);padding:8px}
 .app-owner-shell:not(.app-chat-layout) #main-content{padding:16px}
 .owner-assistant-search form{min-width:0;gap:8px}
 .owner-assistant-search input{width:100%;min-width:0}
 .owner-assistant-search button{flex-shrink:0}
 .owner-assistant-search>div{flex-wrap:wrap}
 .owner-kpi-strip{grid-template-columns:1fr;gap:12px}
 .owner-visual-kpi{min-height:120px;max-width:100%;gap:14px;padding:18px}
 .owner-visual-kpi>div{min-width:0}
 .owner-visual-kpi strong,.owner-cash-kpi>strong{font-size:clamp(22px,6vw,30px);overflow-wrap:break-word;max-width:100%}
 .owner-team-kpi a{white-space:normal}
 .owner-payment-breakdown{max-height:170px;overflow-x:hidden}
 .owner-payment-breakdown>div{flex-wrap:wrap;gap:4px 12px}
 .owner-payment-breakdown span{white-space:normal;overflow:visible;text-overflow:clip;flex:1 1 130px}
 .owner-payment-breakdown b{max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .owner-quota-row,.owner-quota-footer{flex-wrap:wrap;gap:6px}
 .owner-quota-footer>small,.owner-quota-footer>a,.owner-quota-row>span{white-space:normal}
 .owner-visual-heading{flex-wrap:wrap;gap:12px}
 .owner-stock-panel .owner-stock-summary{min-width:0}
 .owner-chart-toolbar{flex-wrap:wrap;gap:10px}
 .owner-workspace-toolbar>label{min-width:0;flex:1 1 100%;width:100%}
 .admin-page-heading,.admin-section-heading{flex-wrap:wrap;gap:14px}
 .admin-profitability{grid-template-columns:minmax(0,1fr)}
 .admin-margin-gauge{max-width:260px;width:100%;margin:auto}
 .admin-chart-layout{max-width:100%}
 .admin-infrastructure-toolbar label{min-width:0;flex:1 1 100%;max-width:100%}
 .admin-connection-grid{grid-template-columns:minmax(0,1fr)}
 .admin-connection-grid article{padding:18px}
 .admin-connection-grid dd{min-width:0}
 .admin-period select{min-width:0;max-width:100%}
 .admin-overview-content .admin-network-body{min-width:0;grid-template-columns:minmax(0,1fr);gap:12px}
 .admin-root-connectors{display:none}
 .admin-network-root{display:flex;justify-self:stretch;align-items:center;gap:10px;padding:12px 14px}
 .admin-network-root small{margin-left:auto;font-size:12px}
 .admin-network-root:after{content:"";position:absolute;left:20px;bottom:-15px;height:14px;border-left:2px solid #7FAE90}
 .admin-network-branches{gap:16px;padding-left:12px;margin-left:20px;border-left:2px solid #7FAE90}
 .admin-overview-content .admin-network-row{height:auto;grid-template-columns:minmax(0,1fr);gap:14px;padding:12px;border:1px solid var(--app-border);border-radius:12px;align-items:stretch;background:var(--app-surface)}
 .admin-overview-content .admin-network-row:before{display:block;content:"";position:absolute;left:-14px;top:38px;width:13px;border-top:2px solid #7FAE90}
 .admin-overview-content .admin-network-row>div{height:auto;min-height:0;padding:10px 12px;line-height:1.4;gap:5px 8px}
 .admin-overview-content .admin-network-row>div:not(:last-child):after{display:block;content:"";position:absolute;left:20px;right:auto;top:100%;width:2px;height:15px;background:#7FAE90}
 .admin-network-mobile-label{display:block;flex-basis:100%;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--app-muted)}
 .admin-overview-content .admin-network-row .admin-agent-node{justify-content:flex-start;padding:10px 12px}
 .admin-overview-content .admin-network-row .admin-network-billing{flex-wrap:wrap}
 .admin-overview-content .admin-network{padding:16px}
 .admin-cost-details summary{flex-wrap:wrap;gap:8px}
 .app-panel .ai-activity-filter-label{flex:1 1 100%}
 .app-panel .ai-activity-filter-label select{max-width:none;width:100%}
 .app-panel .ai-activity-filter-label.ai-activity-date{flex:1 1 calc(50% - .4rem)}
 .app-panel .ai-activity-filter-label.ai-activity-date .form-control{width:100%}
 .app-panel .ai-activity-filter-actions{margin-left:0;width:100%}
 .app-panel .ai-activity-filter-actions>*{flex:1 1 0}
 .app-panel .ai-activity-filter-label{min-width:0}
 .app-modal .app-dialog-card{min-width:0;max-width:100%}
 [data-tenant-panels] :is(form,fieldset,.app-panel){min-width:0;max-width:100%}
 [data-tenant-panels] :is(input,select,textarea){max-width:100%;min-width:0}
 [data-tenant-panels] :is(h1,h2,h3,p,span){overflow-wrap:anywhere}
 .tenant-panel-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .tenant-panel-nav a{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:500px){
 .app-owner-shell .owner-nav-plan{display:none}
 :is(.app-owner-shell,.app-admin-shell) .app-header>div>div:first-child>span{display:none}
 .owner-chart-toolbar>span{white-space:normal}
}
.app-install-notice{position:fixed;bottom:max(1rem,env(safe-area-inset-bottom));left:1rem;right:1rem;z-index:60;max-width:36rem;margin-inline:auto;padding:1rem;background:var(--app-panel);color:var(--app-text);border:1px solid var(--app-border);border-radius:1rem;box-shadow:0 8px 32px #0003}
.app-install-notice[hidden]{display:none}
.app-install-notice p{font-size:.875rem;margin-top:.4rem}
.app-install-notice-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.team-form-heading,.team-row-actions,.team-member-meta,.employee-account-actions,.email-reminder-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.team-form-heading{justify-content:space-between;margin-bottom:1.25rem;font-weight:700}
.team-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.team-fields label,.team-phone legend{font-size:.8rem;font-weight:600}
.team-fields .form-control{width:100%;margin-top:.35rem}
.team-fields small,.team-toggle small,.team-member-meta,.team-notification-badges small{display:block;color:var(--app-muted);font-size:.75rem;font-weight:400}
.team-phone .argentina-phone-fields{display:grid;grid-template-columns:3.2rem 4.5rem minmax(5rem,1fr);gap:.4rem}
.team-phone .argentina-phone-fields input{width:100%;min-width:0;padding:.6rem .5rem}
.team-phone .argentina-phone-status{font-size:.7rem;line-height:1.4;margin-top:.4rem;min-height:0}
.team-workspace fieldset>legend{font-size:.85rem;font-weight:700;margin-bottom:.5rem}
.team-options,.team-notification-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.team-choice{position:relative;display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border:1px solid var(--app-border);border-radius:.65rem;font-size:.8rem;cursor:pointer}
.team-choice:has(:checked),.team-toggle:has(:checked){border-color:var(--app-accent);background:var(--app-success-soft)}
.team-choice:focus-within,.team-toggle:focus-within{outline:2px solid var(--app-accent);outline-offset:2px}
.team-notifications{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.team-toggle{display:flex;gap:.7rem;align-items:center;padding:.8rem;border:1px solid var(--app-border);border-radius:.75rem;cursor:pointer}
.team-toggle input,.team-choice input{width:1.1rem;height:1.1rem;accent-color:var(--app-accent);flex:none}
.team-toggle:has(:disabled){opacity:.55;cursor:default}
.team-toggle strong{font-size:.85rem}.team-toggle small{margin-top:.2rem}
.team-member-meta{margin-top:.35rem}.team-row-actions{flex-wrap:nowrap}.team-row-actions form{margin:0}
.team-notification-badges span{padding:.25rem .5rem;border-radius:.5rem;background:var(--app-success-soft);font-size:.75rem}
.team-permissions summary{font-size:.85rem;font-weight:600;cursor:pointer}
.email-reminder{padding:.85rem 1rem;margin:.75rem 1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;border-color:var(--app-accent)}
.email-reminder[hidden]{display:none}.email-reminder p{font-size:.8rem;color:var(--app-muted)}
.app-chat-layout .email-reminder{flex:none;width:calc(100% - 2rem)}
.app-owner-shell:has(.employee-account-actions) .owner-header-inner{grid-template-columns:minmax(0,1fr) auto;padding-bottom:8px}
@media(max-width:900px){.team-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.team-fields,.team-notifications{grid-template-columns:minmax(0,1fr)}.email-reminder{align-items:start;flex-direction:column}.employee-account-actions{gap:.3rem}.employee-account-actions .app-secondary-action{padding:.65rem}.employee-account-actions span{display:none}}

/* One review card shared by owner and admin chat. */
.chat-catalog-review{margin:1rem 0;padding:1rem;border:1px solid var(--app-border,var(--pal-soft));border-radius:1rem;background:var(--app-panel,var(--app-surface));color:var(--app-text,var(--app-text));max-width:100%;min-width:0}
.chat-catalog-review h3{font-size:1rem;margin:0 0 .35rem}.chat-review-count{font-weight:600}.chat-review-hint{font-size:.8rem;color:var(--app-muted,var(--app-muted));margin:.5rem 0}
.chat-review-row{padding:.85rem 0;border-bottom:1px solid var(--app-border,var(--pal-soft))}.chat-review-row label{display:block;font-weight:600;overflow-wrap:anywhere}
.chat-review-row select,.chat-review-search input{display:block;width:100%;min-width:0;padding:.65rem;border:1px solid var(--app-border,var(--app-border));border-radius:.5rem;background:var(--app-panel,var(--app-surface));color:inherit;font:inherit;font-weight:400}
.chat-review-row select{margin-top:.5rem;text-overflow:ellipsis}.chat-review-search{display:flex;gap:.5rem;margin-top:.5rem}.chat-review-search input{flex:1}
.chat-catalog-review button{padding:.6rem .85rem;border:1px solid var(--app-border,var(--app-border));border-radius:.5rem;font:inherit;background:var(--app-panel,var(--app-surface));color:inherit;cursor:pointer}.chat-catalog-review button:disabled{opacity:.55;cursor:default}.chat-catalog-review [data-review-action=save]{background:var(--app-accent,#1F6A9A);color:white}
.chat-review-memory{display:flex;gap:.6rem;align-items:start;margin-top:1rem;font-size:.85rem}.chat-review-memory input{margin-top:.2rem;width:1rem;height:1rem;flex:none}.chat-review-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.chat-catalog-review [data-review-status]{font-size:.85rem;margin-top:.7rem;overflow-wrap:anywhere}.chat-catalog-review [role=alert]{color:var(--app-danger,var(--pal-red))}
.chat-catalog-review :focus-visible{outline:2px solid var(--app-accent,#1F6A9A);outline-offset:3px}
@media(max-width:540px){.chat-catalog-review{padding:.75rem}.chat-review-actions{flex-direction:column}.chat-review-actions button{width:100%}.chat-review-search{flex-wrap:wrap}.chat-review-search input{flex-basis:100%}.chat-review-search button{width:100%}}

.chat-review-source{font-weight:600;margin:0 0 .5rem;overflow-wrap:anywhere}
.chat-review-picker{border:1px solid var(--app-border,var(--app-border));border-radius:.6rem;min-width:0;max-width:100%;overflow:hidden}
.chat-review-picker summary{padding:.75rem;min-height:44px;font-weight:500;cursor:pointer;overflow-wrap:anywhere;white-space:normal}
.chat-review-options{border:0;border-top:1px solid var(--app-border,var(--app-border));margin:0;padding:.35rem;min-width:0}
.chat-review-options legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.chat-review-options .chat-review-option{display:flex;gap:.65rem;align-items:flex-start;padding:.65rem;min-height:44px;cursor:pointer;border-radius:.45rem;white-space:normal;font-weight:400}
.chat-review-option input{flex:none;width:1.15rem;height:1.15rem;margin:.15rem 0 0;accent-color:var(--app-accent,#1F6A9A)}
.chat-review-option span{min-width:0;overflow-wrap:anywhere}.chat-review-option small{display:block;margin-top:.3rem;font-size:.8rem;color:var(--app-muted,var(--app-muted))}
.chat-review-option:has(input:checked){background:var(--app-accent-soft,var(--pal-blue-soft))}
.chat-review-option:has(input:disabled){opacity:.65;cursor:default}
.chat-catalog-review button,.chat-review-search input{min-height:44px}
@media(max-width:540px){.chat-catalog-review{font-size:16px}.chat-review-search input{font-size:16px}.chat-review-picker summary{padding:.75rem .6rem}.chat-review-actions{gap:.65rem}}

.chat-message-assistant:has(.chat-catalog-review){max-width:min(100%,48rem);width:100%}
.chat-message-assistant:has(.chat-catalog-review) .chat-msg-content{flex:1 1 auto}
.chat-review-search-disclosure{margin:.4rem 0 .85rem}.chat-review-search-disclosure>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:.85rem;color:var(--app-accent,var(--pal-blue));text-decoration:underline;text-underline-offset:.15rem}
.chat-review-search-disclosure>summary::before{content:'+';margin-right:.4rem;font-size:1rem}.chat-review-search-disclosure[open]>summary::before{content:'−'}

.chat-review-incompatible{margin-top:.45rem;border-left:3px solid var(--app-border,var(--app-border));padding-left:.6rem;color:var(--app-muted,var(--app-muted))}
.chat-review-incompatible summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:.8rem;overflow-wrap:anywhere}
.chat-review-incompatible p{font-size:.85rem;overflow-wrap:anywhere;margin:.5rem 0}.chat-review-incompatible small{display:block;margin-top:.25rem;font-size:.8rem}
.chat-review-create,.chat-review-incompatible form{display:grid;gap:.65rem;margin-top:.65rem;padding:.75rem;border:1px solid var(--app-border,var(--pal-soft));border-radius:.5rem}
.chat-review-create input:not([type=checkbox]){display:block;width:100%;min-width:0;padding:.65rem;border:1px solid var(--app-border,var(--app-border));border-radius:.5rem;background:var(--app-panel,var(--app-surface));color:inherit;font:inherit}
.chat-review-incompatible input[type=checkbox]{display:inline;width:auto;margin-right:.5rem}

/* Review card: state per row, chosen article first, compact secondary actions. */
.chat-review-row{padding:.9rem .75rem;margin:0 -.75rem;border-bottom:1px solid var(--app-border,var(--pal-soft));border-left:4px solid transparent}
.chat-review-row[data-row-state=chosen]{border-left-color:var(--app-success,var(--pal-green-line))}
.chat-review-row[data-row-state=incomplete],.chat-review-row[data-row-state=pending]{border-left-color:var(--app-warning,#B8801A)}
.chat-review-row[data-row-state=discarded],.chat-review-row[data-row-state=supply],.chat-review-row[data-row-state=done]{opacity:.75}
.chat-review-row-head{display:flex;flex-wrap:wrap;gap:.3rem .6rem;align-items:flex-start;justify-content:space-between}
.chat-review-row-head .chat-review-source{margin:0 0 .4rem;flex:1 1 12rem;min-width:0;overflow-wrap:break-word}
.chat-review-source-quantity{display:block;margin-top:.15rem;font-size:.8rem;font-weight:400;color:var(--app-muted)}
.chat-review-row{container-type:inline-size}
@container (max-width:26rem){.chat-review-row-head .chat-review-source{flex-basis:100%;margin-bottom:0}.chat-review-row-head .chat-review-badge{margin-bottom:.4rem}}
.chat-review-badge{flex:none;font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;background:var(--app-border,var(--pal-soft));white-space:nowrap}
.chat-review-badge.is-chosen{background:var(--pal-mint);color:var(--pal-green-text)}
.chat-review-badge.is-incomplete,.chat-review-badge.is-pending{background:var(--pal-gold-soft);color:var(--pal-red)}
.chat-review-badge.is-supply{background:var(--pal-blue-soft);color:var(--pal-blue)}
.chat-review-chosen{display:flex;flex-direction:column;gap:.2rem;padding:.6rem .75rem;margin:.2rem 0 .3rem;border-radius:.6rem;background:var(--app-surface-raised);border:1px solid var(--pal-sage-2);color:var(--pal-green-text)}
.chat-review-chosen small{font-size:.8rem;color:inherit;opacity:.85}
.chat-review-row small.chat-review-repeated{display:block;margin-top:.2rem;font-weight:600;opacity:1;color:var(--app-warning,#B8801A)}
.chat-review-row small.chat-review-repeated::before{content:'⚠ '}
.chat-review-category{display:inline-block;margin-left:.4rem;padding:.05rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;line-height:1.4;vertical-align:middle;background:var(--pal-blue-soft);color:var(--pal-blue);white-space:nowrap}
.chat-review-incompatible{border-left:0;padding-left:0;color:inherit}
.chat-review-incompatible>summary,.chat-review-more>summary{font-size:.85rem;color:var(--app-accent,var(--pal-blue));font-weight:600}
.chat-review-incompatible .chat-review-candidate{display:flex;gap:.75rem;align-items:center;justify-content:space-between;margin:.35rem 0;padding:.5rem .65rem;border:1px solid var(--app-border,var(--pal-soft));border-radius:.55rem}
.chat-review-candidate>span{min-width:0;flex:1;overflow-wrap:anywhere;font-weight:600}
.chat-review-candidate>span small{display:block;font-weight:400;color:var(--app-muted,var(--app-muted))}
.chat-review-candidate>button{flex:none;min-width:5.5rem}
.chat-review-candidate.is-chosen{background:var(--app-surface-raised);border-color:var(--pal-sage-2)}
.chat-review-candidate.is-chosen>button{background:var(--app-success,var(--pal-green));color:#fff;border-color:transparent;opacity:1}
.chat-review-pack{margin:.5rem 0;padding:.65rem .75rem;border-radius:.6rem;background:var(--pal-gold-soft);border:1px solid #EBCB85}
.chat-review-pack-options{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.45rem;align-items:center}
.chat-review-pack-custom{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem;margin-top:.65rem}
.chat-review-pack-label{display:flex;flex-direction:column;gap:.25rem;max-width:100%;font-size:.85rem;color:var(--app-text)}
.chat-review-pack-label input{width:10rem;max-width:100%;min-height:44px;padding:.5rem;border:1px solid var(--app-border);border-radius:.5rem;background:var(--app-surface);color:var(--app-text);font:inherit}
.chat-review-row-actions{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin-top:.35rem}
.chat-review-quantity{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .6rem;flex-basis:100%;container-type:inline-size;margin-top:.35rem;color:var(--app-text)}
.chat-review-quantity[hidden]{display:none}
.chat-review-quantity-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.6rem;max-width:100%}
.chat-review-quantity .chat-review-pack-label{display:flex;flex-direction:row;align-items:center;gap:.6rem;min-width:0;padding:.25rem 0}
.chat-review-quantity .chat-review-pack-label>span{font-weight:600;white-space:nowrap;margin-right:.15rem}
.chat-review-quantity .chat-review-pack-label input{width:5rem;min-width:4.5rem;flex:0 1 5rem}
@container (max-width:14.5rem){.chat-review-quantity .chat-review-pack-label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.chat-review-quantity-row{width:100%}.chat-review-quantity .chat-review-pack-label{flex:1}.chat-review-quantity .chat-review-pack-label input{width:100%;flex:1}}
.chat-review-quantity input:focus-visible{outline:2px solid var(--app-accent,var(--pal-green-line));outline-offset:2px;box-shadow:none}
.chat-review-quantity button[type=submit]{flex:none;min-height:44px;padding:0 1rem}
.chat-review-chosen>.chat-review-link{align-self:flex-start}
.chat-catalog-review button.chat-review-link{border:0;background:none;padding:.35rem 0;min-height:36px;color:var(--app-accent,var(--pal-blue));text-decoration:underline;text-underline-offset:.15rem;font-size:.85rem}
.chat-catalog-review [data-review-action].is-primary{background:var(--app-accent,#1F6A9A);color:#fff;border-color:transparent;font-weight:600}
.chat-resume-review{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;min-height:40px;margin:.5rem 0 0;padding:.5rem .9rem;border-radius:999px;border:1px solid var(--app-accent,#1F6A9A);background:var(--app-surface-raised,var(--app-surface));color:var(--app-accent,#1F6A9A);font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12);transition:background-color .15s,color .15s}
.chat-resume-review[hidden]{display:none}
.chat-resume-review:hover,.chat-resume-review:focus-visible{background:var(--app-accent,#1F6A9A);color:#fff}
.chat-resume-count{min-width:1.4rem;padding:0 .4rem;border-radius:999px;background:var(--app-accent,#1F6A9A);color:#fff;font-size:.75rem;line-height:1.4rem;text-align:center}
.chat-resume-review:hover .chat-resume-count,.chat-resume-review:focus-visible .chat-resume-count{background:#fff;color:var(--app-accent,#1F6A9A)}
.chat-pending-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.chat-pending-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:-.35rem -.45rem -.35rem 0;border:0;border-radius:999px;background:none;color:var(--app-muted);font-size:1rem;cursor:pointer}
.chat-pending-close:hover,.chat-pending-close:focus-visible{background:color-mix(in srgb,currentColor 12%,transparent);color:inherit}
.chat-pending-list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.5rem}
.chat-pending-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border:1px solid var(--app-border);border-radius:.6rem;background:var(--app-surface-raised,var(--app-surface))}
.chat-pending-list small{display:block;color:var(--app-muted)}
.chat-pending-actions{display:flex;flex-wrap:wrap;gap:.4rem}
.chat-pending-actions button{min-height:40px;padding:.4rem .9rem;border-radius:.5rem;border:1px solid var(--app-border);background:none;color:inherit;font-size:.85rem;cursor:pointer}
.chat-pending-actions .chat-pending-open{background:color-mix(in srgb,var(--app-accent,#1F6A9A) 70%,#000);border-color:transparent;color:#fff;font-weight:700}
.chat-pending-actions .chat-pending-open:hover,.chat-pending-actions .chat-pending-open:focus-visible{background:color-mix(in srgb,var(--app-accent,#1F6A9A) 55%,#000)}
.chat-pending-confirm{flex-basis:100%;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:.6rem .7rem;border-radius:.5rem;border:1px solid var(--app-danger,#B3261E);background:color-mix(in srgb,var(--app-danger,#B3261E) 10%,var(--app-panel,var(--app-surface)))}
.chat-pending-confirm[hidden],.chat-pending-actions[hidden]{display:none}
.chat-pending-confirm p{flex-basis:100%;margin:0 0 .2rem;font-size:.88rem}
.chat-pending-confirm button{min-height:40px;padding:.4rem .9rem;border-radius:.5rem;font-size:.85rem;font-weight:600;cursor:pointer}
.chat-pending-confirm .chat-pending-yes{background:var(--app-danger,#B3261E);border:1px solid transparent;color:#fff}
.chat-pending-confirm .chat-pending-no{background:none;border:1px solid var(--app-border);color:inherit}
.chat-pending-confirm button:disabled{opacity:.6;cursor:default}
.chat-review-kept{margin:.5rem 0;padding:.65rem .8rem;border-radius:.6rem;border-left:6px solid var(--app-accent,#1F6A9A);background:color-mix(in srgb,var(--app-accent,#1F6A9A) 12%,var(--app-panel,var(--app-surface)));font-size:.88rem}
.chat-review-kept p{margin:.2rem 0 0}
@media(max-width:540px){.chat-review-incompatible .chat-review-candidate{flex-direction:column;align-items:stretch}.chat-review-candidate>button{width:100%}}
.chat-review-row[data-row-state=supply] .chat-review-link,.chat-review-row[data-row-state=discarded] .chat-review-link{display:block}
.chat-review-incompatible .chat-review-candidate{cursor:pointer;transition:border-color .15s,background-color .15s}
.chat-review-incompatible .chat-review-candidate:hover{border-color:var(--app-accent,var(--pal-green-line));background:var(--app-surface-raised)}
.chat-review-incompatible .chat-review-candidate.is-chosen{cursor:default}
.chat-review-pack{color:var(--app-text)}.chat-review-pack strong{display:block;color:var(--app-text)}.chat-review-pack small{display:block;margin-top:.25rem;color:var(--pal-gold-text)}
.chat-review-pack-options button{background:var(--app-surface);color:var(--pal-ink-2)}
@media(max-width:640px){
.chat-message-assistant:has(.chat-catalog-review){max-width:100%}
.chat-catalog-review{margin:.4rem 0;padding:.75rem .65rem;border-radius:.75rem;border-color:var(--pal-soft)}
.chat-review-row{margin:0 -.65rem;padding:.8rem .65rem}
}
.chat-review-row-error{margin:.25rem 0 .5rem;padding:.5rem .65rem;border-radius:.5rem;background:var(--pal-red-soft);border:1px solid var(--pal-red-soft);color:var(--pal-red);font-size:.85rem}
.chat-review-cancel{margin-top:.5rem;padding:.4rem .9rem;border-radius:.5rem;border:1px solid var(--pal-red);background:transparent;color:var(--pal-red);font-size:.85rem;cursor:pointer}.chat-review-cancel:disabled{opacity:.6;cursor:default}
.chat-review-candidate.is-recommended{position:relative;margin-top:.9rem;border-color:var(--app-accent,var(--pal-green-line))}.chat-review-candidate>.chat-review-recommended{position:absolute;top:0;right:.65rem;transform:translateY(-55%);flex:none;min-width:0;padding:.05rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.4;background:var(--app-success,var(--pal-green));color:#fff;white-space:nowrap;overflow-wrap:normal}
.chat-review-automatic{margin:.4rem 0;border:1px solid var(--pal-sage-2);border-radius:.6rem;background:var(--app-surface-raised)}
.chat-review-automatic>summary{cursor:pointer;padding:.6rem .75rem;font-size:.88rem;font-weight:600;color:var(--pal-green-text);min-height:44px;display:flex;align-items:center}
.chat-review-automatic>div{padding:0 .75rem;background:var(--app-surface);border-top:1px solid var(--pal-sage-2)}
.chat-review-missing{margin:.6rem 0 .8rem;padding:.8rem .9rem;border-radius:.6rem;background:color-mix(in srgb,var(--app-warning,#B8801A) 16%,var(--app-panel,var(--app-surface)));border:1px solid color-mix(in srgb,var(--app-warning,#B8801A) 55%,transparent);border-left:6px solid var(--app-warning,#B8801A);color:inherit;font-size:.92rem;box-shadow:0 2px 8px color-mix(in srgb,var(--app-warning,#B8801A) 22%,transparent)}
.chat-review-missing p{margin:.25rem 0 .45rem}
.chat-catalog-review .chat-review-missing{color:var(--app-text,var(--pal-ink-2))}.chat-review-missing-title{display:flex;align-items:center;gap:.45rem;font-size:1rem;margin-bottom:.2rem;color:var(--app-danger,var(--pal-red))}
.chat-review-missing-title::before{content:'!';display:inline-grid;place-items:center;flex:none;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--app-warning,#B8801A);color:#fff;font-weight:700;font-size:.9rem}
.chat-review-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem;align-items:end}
.chat-review-header label{display:grid;gap:.2rem;font-size:.8rem;font-weight:600}
.chat-review-header input{min-height:40px;padding:.45rem .55rem;border:1px solid var(--pal-soft);border-radius:.45rem;font:inherit;background:var(--app-surface)}

/* Public plans stay out of the installed app. */
.app-standalone .app-browser-only { display: none !important; }
