/* Cercano + En marcha: shared composition, rhythm and operational hierarchy. */
:root{--cm-radius:18px;--cm-gap:20px;--cm-shadow:0 4px 20px #142d2210;--cm-control:44px}
/* Visibility is a state contract, including dialogs and asynchronous actions. */
html body [hidden]{display:none!important}
html body :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--brand);outline-offset:3px}
html body :is(button,input,textarea,select){font:inherit}
html body :is(input[type=checkbox],input[type=radio]){accent-color:var(--brand);flex-shrink:0}
html body :is(dialog,.dialog){color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--cm-radius);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
html body dialog::backdrop{background:#081a1466;backdrop-filter:blur(3px)}
html body :is(.empty-state,.feed-empty,.activity-empty){padding:24px;color:var(--muted);line-height:1.6;border:1px dashed var(--line);border-radius:14px;background:var(--surface-2)}
html body{font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.5}
html body :is(h1,h2,h3){letter-spacing:-.035em;line-height:1.22}
html body :is(button,.button,input,select,textarea){border-radius:11px}
html body :is(button,.button){transition:background-color .15s,border-color .15s;cursor:pointer}
html body button:disabled{cursor:not-allowed;opacity:.55}
html body :is(input:not([type=checkbox]):not([type=radio]),textarea,select){border:1px solid var(--line);background:var(--surface-2);color:var(--text)}
html body :is(.topbar,.market-header,.business-header,.admin-header){background:var(--surface);border-bottom:1px solid var(--line);box-shadow:none;padding-inline:24px;gap:14px}
html body :is(.brand-mark,.brand-icon,.brand>span:first-child:not(:only-child)){border-radius:14px;background:var(--brand);color:var(--on-brand)}
html body :is(.header-actions,.top-actions){margin-left:auto;display:flex;align-items:center;gap:8px;min-width:0}
html body #notificationButton{border-radius:999px;background:var(--surface-3);border-color:transparent;min-height:40px;font-size:12px}
html body #notificationButton b{background:var(--brand);color:var(--on-brand);top:-3px;right:0}
html body :is(.bottom-nav,.mobile-nav){border-top:1px solid var(--line);background:var(--surface)}
html body :is(.bottom-nav,.mobile-nav) :is(a,button){border-radius:10px}
html body :is(.bottom-nav,.mobile-nav) :is(.is-active,[aria-current=page]){background:var(--surface-3);color:var(--brand)}
/* Home: real services and live work, followed by the neighborhood feed. */
.cm-home{padding:22px 24px 8px;max-width:1040px;margin:auto}
.cm-home-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.cm-home-heading h2{font-size:clamp(24px,3vw,34px);margin:0 0 4px}.cm-home-heading p{margin:0;color:var(--muted);font-size:14px}
.cm-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cm-services a{display:grid;gap:6px;text-decoration:none;color:var(--text);padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;font-size:13px}
.cm-services svg{width:24px;height:24px;stroke:var(--brand);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cm-services small{color:var(--muted);font-size:11px}.cm-services a:hover{background:var(--surface-3)}
#homeLiveOrder{margin-top:18px;padding:18px;border-radius:16px;background:var(--surface-3);border:1px solid var(--line)}
#homeLiveOrder a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;color:var(--text);text-decoration:none}#homeLiveOrder small,#homeLiveOrder p{grid-column:1;margin:0;font-size:13px}#homeLiveOrder strong{font-size:17px}#homeLiveOrder b{grid-column:2;grid-row:1/4;align-self:center;color:var(--brand)}
html body #feedGrid{max-width:1040px;margin:auto;padding:20px 24px;gap:20px}
html body .feed-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;overflow:hidden;box-shadow:var(--cm-shadow)}
html body .feed-post-content{padding:16px}.feed-post-media img{object-fit:cover}
html body #feedQuickbar{max-width:992px;margin:16px auto;padding:0}
html body .feed-topbar{border-bottom:1px solid var(--line);padding:12px 24px}
html body .feed-tabs button{border:0;border-radius:999px;font-size:13px}
/* Mercadito: compact controls, photographic catalog and a persistent summary. */
html body[data-ikatu-app=mercadito] .catalog-heading{padding:18px 24px;background:var(--surface);border-bottom:1px solid var(--line)}
html body[data-ikatu-app=mercadito] .catalog-heading h1{font-size:26px}
html body[data-ikatu-app=mercadito] .catalog-controls{padding:12px 24px;background:var(--surface)}
html body[data-ikatu-app=mercadito] .catalog-scroll{padding:20px 24px;background:var(--bg)}
html body[data-ikatu-app=mercadito] .visual-products{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:16px}
html body[data-ikatu-app=mercadito] .catalog-product{border-radius:18px;background:var(--surface);border:1px solid var(--line);padding:12px;gap:7px;box-shadow:var(--cm-shadow)}
html body[data-ikatu-app=mercadito] .catalog-product .product-visual img{aspect-ratio:1;width:100%;max-height:180px;border-radius:12px;background:var(--surface-2)}
html body[data-ikatu-app=mercadito] .catalog-product h2{font-size:15px;line-height:1.35;margin:0}
html body[data-ikatu-app=mercadito] .catalog-product button{border-radius:10px;min-height:44px;font-size:13px}
html body[data-ikatu-app=mercadito] #orderSummaryButton{padding:12px 18px;min-width:240px;border:0;border-radius:14px;background:var(--brand);color:var(--on-brand);box-shadow:var(--cm-shadow);text-align:left}
html body[data-ikatu-app=mercadito] #orderSummaryButton small{color:inherit;opacity:.9}
html body[data-ikatu-app=mercadito] :is(.editable-row,.stock-row){padding:14px 10px;border-bottom:1px solid var(--line);background:var(--surface)}
html body :is(.checkout-form,.product-form,#quoteForm){padding:20px;border-radius:18px;background:var(--surface)}
html body .quote-line{padding:14px;border:1px solid var(--line);border-radius:12px;margin:0 0 10px}
html body .quote-line:has(input[type=checkbox]:checked){background:var(--surface-3);border-color:var(--brand)}
html body #quoteSummary{padding:14px;background:var(--surface-3);border-radius:12px;font-weight:600}
/* Inbox: quieter messages, clear actions and restrained state colors. */
html body :is(.concierge-inbox,.staff-list-pane){background:var(--surface);border-right:1px solid var(--line)}
html body :is(.concierge-chat,.staff-chat-pane){background:var(--bg)}
html body :is(.concierge-message,.staff-bubble){border-radius:16px;line-height:1.55;max-width:min(84%,620px);padding:12px 16px;border:1px solid var(--line);box-shadow:none}
html body :is(.concierge-message.is-user,.staff-bubble.is-own){background:var(--surface-3)}
html body :is(.concierge-message.is-system,.staff-bubble.is-event){max-width:94%;background:transparent;border:0;font-size:12px;color:var(--muted)}
html body .coordination-event{background:var(--surface);border-radius:12px;padding:12px;gap:4px}
html body :is(.concierge-plan-panel,#staffLiveCoordination){background:var(--surface);border-left:1px solid var(--line)}
html body .coordination-next{padding:18px;background:var(--surface-3);border:0;border-radius:16px;gap:10px}
html body .coordination-next h3{font-size:20px}.coordination-next .coordination-primary{font-size:14px;text-align:center}
html body .coordination-section{padding-block:4px}.coordination-section-body>article{padding:12px;border:1px solid var(--line);border-radius:12px}
html body :is(.concierge-card-choices,.client-work-options){gap:8px}html body .concierge-card-choices label{border-radius:10px;padding:12px}
html body #globalNotificationCenter{width:min(440px,100vw);background:var(--surface);box-shadow:-12px 0 40px #10282018}
html body #globalNotificationCenter .activity-task{border-bottom:1px solid var(--line);padding:18px 0}
html body #globalNotificationCenter .activity-task.needs-action>a>small:first-child{color:var(--brand);font-weight:600}
html body #ikatuActivityToast{border:1px solid var(--line);border-left:4px solid var(--brand);box-shadow:0 12px 32px #142d2226;border-radius:16px}
/* Merchant, driver, money and profile use the same panels and spacing. */
html body :is(.admin-main,.business-shell>main){max-width:1240px;margin-inline:auto;padding:28px}
html body :is(.request-feed,.organization-grid>article,.module-grid>a,.driver-available,.driver-active,.driver-coordination,.transfer-order,.profile-grid>article,.profile-grid>a){border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--cm-shadow);padding:20px}
html body :is(.request-feed>header,.driver-heading){margin-bottom:18px}
html body #requestFeedRows>article{border-bottom:1px solid var(--line);padding:16px 0}
html body :is(.request-stages,.transfer-filters){display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
html body :is(.request-stages,.transfer-filters) button{border-radius:999px;padding:8px 14px}
html body :is(.request-stages,.transfer-filters) button[aria-pressed=true]{background:var(--brand);color:var(--on-brand);border-color:transparent}
html body .transfer-total{padding:20px;border-radius:14px;background:var(--surface-3);font-size:14px}
html body .transfer-total>strong{font-size:22px;border-top:1px solid var(--line);padding-top:12px}
html body .transfer-legs>article{padding:18px;border:1px solid var(--line);border-radius:14px}
html body .transfer-order dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;padding:14px;background:var(--surface-2);border-radius:12px}
html body .transfer-order dd{margin:0;overflow-wrap:anywhere}.transfer-order dt{color:var(--muted)}
html body [data-upload]>label{display:grid;gap:12px;padding:20px;border:2px dashed var(--line);border-radius:14px;text-align:center;background:var(--surface-2)}
html body [data-upload] input[type=file]{border:0;width:100%;max-width:100%;padding:8px;font-size:13px}
html body :is(.transfer-next,.driver-coordination>p[role=status]){padding:14px;border-radius:12px;background:var(--surface-3);line-height:1.5}
html body table{border-collapse:collapse;width:100%;font-size:14px}html body th{text-align:left;font-size:12px;color:var(--muted);background:var(--surface-2)}html body :is(td,th){padding:12px;border-bottom:1px solid var(--line)}
html body .driver-primary-action{font-size:16px;text-align:center}
html body :is(.guest-access-notice,.role-tools>a){border-radius:12px;background:var(--surface-2)}
@media(max-width:760px){
 html body :is(.topbar,.market-header,.business-header,.admin-header){padding-inline:12px;gap:8px;min-height:56px}
 html body .top-actions{gap:6px;flex-wrap:nowrap}html body #homeCreateButton{min-width:40px;width:40px;border-radius:12px;background:var(--brand);color:var(--on-brand)}
 .cm-home{padding:18px 12px 8px}.cm-home-heading h2{font-size:25px}.cm-home-heading p{font-size:13px}.cm-services{gap:6px}.cm-services a{padding:10px 6px;align-items:center;text-align:center;font-size:11px;border-radius:12px}.cm-services small{display:none}.cm-services svg{margin:auto}
 html body #feedGrid{padding:12px;gap:14px}.cm-home-heading{margin-bottom:12px}#homeLiveOrder{padding:14px;margin-top:12px}
 html body[data-ikatu-app=mercadito] .catalog-heading{padding:12px}.catalog-heading h1{font-size:21px!important}
 html body[data-ikatu-app=mercadito] .catalog-controls{padding:8px 12px}
 html body[data-ikatu-app=mercadito] #catalogPanel{position:relative;display:flex;flex-direction:column;overflow:hidden}
 html body[data-ikatu-app=mercadito] .catalog-heading{position:static;flex:none}
 html body[data-ikatu-app=mercadito] .catalog-controls,html body[data-ikatu-app=mercadito] .catalog-status{flex:none}
 html body[data-ikatu-app=mercadito] .catalog-scroll{padding:12px 12px 116px;flex:1 1 auto;min-height:0;overflow:auto}
 html body[data-ikatu-app=mercadito] .visual-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
 html body[data-ikatu-app=mercadito] .catalog-product{padding:9px;border-radius:14px}
 html body[data-ikatu-app=mercadito] .catalog-product .product-visual img{max-height:140px}
 html body[data-ikatu-app=mercadito] #orderSummaryButton{position:absolute;bottom:12px;left:12px;right:12px;width:calc(100% - 24px);max-width:none;min-width:0;z-index:25;display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:12px 16px}
 html body[data-ikatu-app=mercadito] #orderSummaryButton small{grid-column:1/-1}
 html body :is(.admin-main,.business-shell>main){padding:16px 12px}
 html body :is(.request-feed,.organization-grid>article,.driver-available,.driver-active,.driver-coordination,.transfer-order){padding:16px;border-radius:14px}
 html body .transfer-legs{grid-template-columns:1fr}
 html body #globalNotificationCenter{width:100%;border-radius:20px 20px 0 0}
 html body .concierge-message{max-width:94%;padding:10px 12px}
 html body :is(.profile-grid,.organization-grid){grid-template-columns:1fr}
}
@media(max-height:550px){.cm-home-heading p,.cm-services small{display:none}.cm-home{padding-top:10px}.cm-home-heading h2{font-size:20px}.cm-services a{padding:8px}.cm-services svg{width:20px;height:20px}html body[data-ikatu-app=mercadito] .catalog-heading h1{font-size:18px!important}html body[data-ikatu-app=mercadito] .catalog-product .product-visual img{max-height:95px}}
@media(prefers-reduced-motion:reduce){html body :is(button,.button){transition:none}}
html body .transfer-queue-row{border:1px solid var(--line);border-radius:14px;background:var(--surface);margin:12px 0;overflow:hidden}
html body .transfer-queue-row>summary{display:grid;grid-template-columns:1fr 1fr auto;gap:8px 20px;padding:18px;cursor:pointer;list-style:none}
html body .transfer-queue-row>summary small{grid-column:1/-1;color:var(--brand);font-weight:600}
html body .transfer-queue-row>summary::after{content:'Ver detalle ↓';font-size:12px;color:var(--muted)}
html body .transfer-queue-row[open]>summary::after{content:'Cerrar detalle ↑'}
html body .transfer-queue-row .transfer-order{border:0;box-shadow:none;border-radius:0;border-top:1px solid var(--line);margin:0}
html body [data-copy-alias]{display:block;margin-top:8px;padding:6px 12px;color:var(--brand);background:var(--surface);border:1px solid var(--line);font-size:12px}
@media(max-width:600px){html body .transfer-queue-row>summary{grid-template-columns:1fr auto;padding:14px}html body .transfer-queue-row>summary>span{grid-column:1;grid-row:2;font-size:13px}html body .transfer-queue-row>summary>b{grid-column:2;grid-row:1}}

/* RC22 shell: one row of actions, with room reserved for the question. */
html body #ikatuApp:has(#feedView)>.topbar{display:flex;align-items:center;flex-flow:row nowrap;height:64px;min-height:64px;padding:10px 20px;gap:16px}
html body #ikatuApp:has(#feedView)>.topbar>.brand{flex:none;margin:0;min-width:0}
html body #ikatuApp:has(#feedView)>.topbar>.global-search{position:static;transform:none;margin:0 auto;min-width:0;max-width:540px;flex:1;height:44px;border-radius:12px;background:var(--surface-2)}
html body #ikatuApp:has(#feedView)>.topbar>.top-actions{display:flex;align-items:center;flex-flow:row nowrap;flex:none;gap:8px;margin-left:auto}
html body #ikatuApp:has(#feedView)>.topbar>.ikatu-history-nav{display:none}
html body :is(.topbar,.market-header,.business-header,.admin-header) :is(.round-button,.avatar,.ikatu-appearance-trigger,.account-link){border-radius:12px;min-height:44px;min-width:44px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
html body #notificationButton.ikatu-notification-bell{width:auto;min-width:76px;height:44px;padding:8px 12px;border-radius:12px;font-weight:650;color:var(--brand);background:var(--surface-3)}
html body #ikatuApp:has(#feedView)>.topbar .auth-links{display:flex;gap:8px;flex:none}
html body #ikatuApp:has(#feedView)>.topbar .auth-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border-radius:12px;white-space:nowrap}
html body #ikatuApp:has(#feedView)>.topbar .auth-links a:first-child{background:var(--brand);color:var(--on-brand)}
html body #ikatuApp:has(#feedView)>.topbar .auth-links a{min-height:44px!important}
html body .merchant-availability>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:12px;font-weight:650}
html body .merchant-availability>summary::before{content:'+';font-size:22px;color:var(--brand)}
html body .merchant-availability[open]>summary::before{content:'−'}
html body .ikatu-global-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}
html body .cm-home-heading .eyebrow{display:block;color:var(--brand);font-size:11px;letter-spacing:.1em;margin-bottom:8px;font-weight:700}
html body #homeLiveOrder a:focus-visible{border-radius:8px}
html body #homeLiveOrder .cm-work-label{display:flex;align-items:center;gap:8px;color:var(--brand);font-size:11px;font-weight:700;letter-spacing:.06em}
html body #homeLiveOrder .cm-work-label::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
html body #homeLiveOrder .cm-work-count{font-size:12px;color:var(--muted);margin-top:8px}
html body #homeCreateDialog [data-choices]{display:grid;gap:12px}
html body #homeCreateDialog [data-choices]>button{display:grid;gap:6px;text-align:left;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);color:var(--text)}
html body #homeCreateDialog [data-choices]>button strong{font-size:18px;color:var(--brand)}
html body #homeCreateDialog [data-choices]>button span{color:var(--muted);font-size:14px}
html body #homeCreateDialog [data-choices]>button:hover{background:var(--surface-3)}
html body #homeCreateDialog h2{font-size:23px}
html body #homeCreateDialog [data-close]{min-height:44px;min-width:44px}
html body #globalNotificationCenter{margin:12px 12px 12px auto;max-height:calc(100dvh - 24px);height:auto;border-radius:20px;padding:22px}
html body #globalNotificationCenter>header{position:sticky;top:-22px;background:var(--surface);z-index:1;padding-block:12px}
html body #globalNotificationCenter .activity-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:var(--surface-2);border-radius:14px}
html body #globalNotificationCenter .activity-tabs button{border:0;background:transparent;font-size:13px}
html body #globalNotificationCenter .activity-tabs button[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}
html body #globalNotificationCenter .activity-task>a>strong{font-size:17px}
html body #globalNotificationCenter .activity-task>a>span:last-child{justify-self:start;padding:8px 12px;background:var(--surface-3);color:var(--brand);border-radius:10px;font-weight:650}
html body #globalNotificationCenter .activity-task.needs-action{border-left:3px solid var(--brand);padding-left:14px}
@media(min-width:1100px){
 html body.is-feed-app #ikatuApp:has(#feedView)>.topbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,480px) minmax(0,1fr)}
 html body.is-feed-app #ikatuApp:has(#feedView)>.topbar>.global-search{width:100%;box-sizing:border-box}
 html body.is-feed-app #ikatuApp:has(#feedView)>.topbar>.top-actions{justify-self:end}
}
@media(max-width:899px){
 html body #ikatuApp:has(#feedView)>.topbar{height:60px;min-height:60px;padding:8px 12px;gap:8px}
 html body #ikatuApp:has(#feedView)>.topbar>.global-search{display:none}
 html body #ikatuApp:has(#feedView)>.topbar .auth-links .auth-create{display:none}
 html body #ikatuApp:has(#feedView)>.topbar .brand-name{font-size:16px}
 html body #ikatuApp:has(#feedView)>.topbar>.top-actions{gap:6px}
 html body.is-feed-app #homeCreateButton{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;order:10}
 html body.is-feed-app #feedView #feedQuickbar>.feed-ask-ikatu,
 html body.is-feed-app #feedView #feedPublishSection{display:none}
 html body.is-feed-app #feedView #feedQuickbar{display:block;margin:8px 12px;padding:0}
 html body #notificationButton.ikatu-notification-bell{min-width:70px;padding:8px;font-size:12px}
 html body #globalNotificationCenter{margin:auto 0 0;width:100%;max-width:100%;max-height:85dvh;border-radius:20px 20px 0 0;box-sizing:border-box;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}
 html body #globalNotificationCenter>header{top:-18px}
 html body .request-stages{flex-wrap:nowrap;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:thin}
 html body .request-stages button{flex:none;white-space:nowrap;min-height:44px}
}
@media(max-width:380px){html body #ikatuApp:has(#feedView)>.topbar .brand-name{display:none}}
@media(max-height:550px) and (max-width:899px){
 html body[data-ikatu-app=mercadito] .catalog-heading>div{display:none}
 html body[data-ikatu-app=mercadito] .catalog-heading{padding:0;border:0;min-height:0}
 html body[data-ikatu-app=mercadito] #orderSummaryButton{padding:8px 12px}
 html body[data-ikatu-app=mercadito] #orderSummaryButton small{font-size:11px}
 html body[data-ikatu-app=mercadito] .visual-products{grid-template-columns:1fr!important}
}

/* RC25: optional wide-screen exploration; DOM and mobile reading order stay intact. */
html body #feedView .feed-layout-picker{display:none}
@media(min-width:900px){
 html body #feedView .feed-layout-picker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 20px}
 html body #feedView .feed-layout-picker>span{margin-right:auto;color:var(--muted);font-size:13px}
 html body #feedView .feed-layout-picker button{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}
 html body #feedView .feed-layout-picker button[aria-pressed=true]{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,var(--surface));font-weight:700}
 html body #feedView[data-layout=explore] #feedGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;padding:16px;box-sizing:border-box;align-items:start}
 html body #feedView[data-layout=explore] #feedGrid>.feed-card{min-width:0;margin:0;padding:20px 16px;border:1px solid var(--line);border-radius:18px;overflow-wrap:anywhere}
 html body #feedView[data-layout=explore] #feedGrid>.feed-loading{grid-column:1/-1}
}

/* RC26 · Catalog and proposal surfaces, scoped to business controls. */
html body #businessPanel{max-width:1280px;margin-inline:auto;width:100%;box-sizing:border-box}
html body #businessPanel .pane-heading p,html body .business-catalog-heading p{color:var(--muted);font-size:14px;line-height:1.5}
html body[data-business-section=catalog] #businessCatalogSection{display:flex;flex-direction:column;gap:18px}
html body #businessCatalogSection>#storeSettings{align-self:flex-start;width:auto;order:3}
html body #productDetails{margin:0;padding:16px 20px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
html body #productDetails summary{gap:10px;color:var(--brand)}
html body #productForm{max-width:none;margin-inline:auto;padding-top:24px;gap:24px}
html body .catalog-form-intro{color:var(--muted);line-height:1.5;margin:0}
html body .business-catalog-heading{margin-bottom:18px}
html body .business-catalog-heading h2{margin:6px 0;font-size:26px}
html body .business-catalog-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:end}
html body #businessCatalogCount{font-size:13px;color:var(--muted);margin:14px 0}
html body #businessCatalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}
html body #businessCatalog .stock-row{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:14px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);margin:0}
html body #businessCatalog .stock-row>img,html body #businessCatalog .stock-row>.product-visual{width:72px;height:72px;object-fit:cover;border-radius:12px}
html body #businessCatalog .catalog-product-info{display:grid;gap:7px;min-width:0}
html body #businessCatalog .catalog-product-info>strong{font-size:16px;line-height:1.4}
html body #businessCatalog .catalog-product-info small{color:var(--muted);line-height:1.5}
html body #businessCatalog .catalog-product-price{margin-top:5px}
html body #businessCatalog .stock-row>button{grid-column:1/-1;justify-self:stretch;min-height:44px}
html body .catalog-publication{justify-self:start;border:1px solid var(--line);border-radius:8px;padding:3px 8px;font-size:11px;color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface))}
html body [data-publication=paused] .catalog-publication{color:var(--muted);background:var(--surface-2)}
html body .catalog-empty{grid-column:1/-1;padding:28px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted)}
html body .quote-line{border-radius:16px;padding:16px;background:var(--surface)}
html body .quote-line-summary{gap:14px;align-items:center}
html body .quote-line-summary .check-row{min-height:44px}
html body .quote-edit{border-top:1px solid var(--line);padding-top:16px;background:var(--surface-2);border-radius:12px;padding:16px}
@media(max-width:600px){
 html body .business-catalog-filters{grid-template-columns:1fr;gap:12px}
 html body #businessCatalog{grid-template-columns:minmax(0,1fr)}
 html body #productDetails{padding:14px}
 html body #businessPanel .intake-actions{display:flex;flex-wrap:wrap;gap:8px}
 html body #businessPanel .intake-actions>button{flex:1 1 140px;min-height:44px}
 html body #productForm .two-cols{grid-template-columns:minmax(0,1fr)}
}

html body[data-business-mode=true] #locationTrigger{display:none!important}
html body[data-business-mode=true] .market-header{grid-template-columns:minmax(0,1fr) auto}
html body[data-business-mode=true] #businessCatalog .product-visual img{width:72px;height:72px;object-fit:cover}
@media(max-width:600px){
 html body[data-business-mode=true] .market-header .ikatu-history-nav{display:none!important}
 html body[data-business-mode=true] .market-header .header-actions{margin-left:auto;gap:8px;min-width:0}
}

/* RC27 · Driver workspace: the next action and the working day. */
html body.driver-workspace .driver-heading small{color:var(--brand);font-size:11px;font-weight:700;letter-spacing:.12em}
html body.driver-workspace .driver-heading p{color:var(--muted);line-height:1.6}
html body.driver-workspace .driver-day-summary{display:grid;grid-template-columns:1fr 1fr 2fr;gap:1px;padding:0;overflow:hidden;border:1px solid var(--line);background:var(--line);border-radius:18px;margin-bottom:24px}
html body.driver-workspace .driver-day-summary>div{display:grid;align-content:center;gap:8px;padding:18px;background:var(--surface)}
html body.driver-workspace .driver-day-summary span{font-size:12px;color:var(--muted)}
html body.driver-workspace .driver-day-summary strong{font-size:22px;overflow-wrap:anywhere}
html body.driver-workspace .driver-day-summary>div:last-child strong{font-size:16px}
html body.driver-workspace .driver-active,html body.driver-workspace .driver-available{background:var(--surface);border:1px solid var(--line);border-radius:20px}
html body.driver-workspace :is(.driver-active,.driver-available)>h2{font-size:20px;margin:0 0 10px}
html body.driver-workspace :is(.driver-active,.driver-available)>p{font-size:13px;color:var(--muted);line-height:1.6}
html body.driver-workspace .driver-job-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);margin-top:14px}
html body.driver-workspace .driver-job-card[data-selected=true]{border-color:var(--brand);box-shadow:inset 3px 0 var(--brand)}
html body.driver-workspace .driver-card-label{font-size:11px;font-weight:700;letter-spacing:.07em;color:var(--brand)}
html body.driver-workspace .driver-job-card h3{font-size:18px;margin:8px 0}
html body.driver-workspace .driver-job-card p{line-height:1.6;font-size:14px}
html body.driver-workspace .driver-job-card button{width:100%;margin-top:8px}
html body.driver-workspace .driver-coordination{border:1px solid var(--line);border-radius:20px;max-height:none;overflow:visible}
html body.driver-workspace .driver-coordination[data-state=empty]{background:var(--surface-2);color:var(--muted)}
html body.driver-workspace .driver-coordination p{line-height:1.6}
html body.driver-workspace .driver-payment-note{border:1px solid var(--line);background:var(--surface-2);padding:12px;border-radius:12px;font-size:13px}
html body.driver-workspace .driver-payment-note[data-waiting=true]{border-inline-start:4px solid var(--brand);font-weight:600}
html body.driver-workspace #driverInboxFeedback:empty{display:none}
html body.driver-workspace #driverInboxFeedback:not(:empty){padding:14px;border:1px solid var(--brand);border-radius:12px;background:var(--surface)}
html body.driver-workspace .driver-history{background:var(--surface);border:1px solid var(--line)}
html body.driver-workspace .driver-history article{padding:12px 0;border-top:1px solid var(--line)}
@media(max-width:760px){
 html body.driver-workspace .driver-day-summary{grid-template-columns:1fr 1fr}
 html body.driver-workspace .driver-day-summary>div:last-child{grid-column:1/-1}
 html body.driver-workspace .driver-day-summary>div{padding:14px}
 html body.driver-workspace .driver-coordination{max-height:none;overflow:visible}
 html body.driver-workspace .driver-shift-action{white-space:normal}
 html body.driver-workspace .driver-coordination[data-state=empty]{grid-row:auto}
}

/* RC28 · Administration: areas, deliberate configuration and readable forms. */
html body.commerce-administration .administration-heading{margin:12px 0 24px}
html body.commerce-administration .administration-heading h1{margin:8px 0;font-size:clamp(28px,4vw,40px)}
html body.commerce-administration .administration-heading p{color:var(--muted)}
html body.commerce-administration .administration-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
html body.commerce-administration .administration-shortcuts a{display:grid;align-content:start;gap:10px;padding:20px;border:1px solid var(--line);background:var(--surface);border-radius:18px;text-decoration:none;min-width:0}
html body.commerce-administration .administration-shortcuts strong{font-size:16px}
html body.commerce-administration .administration-shortcuts span{font-size:13px;color:var(--muted);line-height:1.5}
html body.commerce-administration .admin-main>section{border-radius:20px;padding:24px;scroll-margin-top:24px}
html body.commerce-administration #commerceConfiguration{display:flex;flex-direction:column;gap:20px}
html body.commerce-administration #commerceConfiguration fieldset{min-width:0;padding:20px;border:1px solid var(--line);border-radius:14px;margin:0}
html body.commerce-administration #commerceConfiguration legend{padding:0 8px;font-size:14px;font-weight:700}
html body.commerce-administration .admin-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
html body.commerce-administration #commissionExample{display:block;padding:18px;border-left:4px solid var(--brand);background:var(--surface-2);border-radius:10px;line-height:1.6}
html body.commerce-administration #commerceConfiguration>button{align-self:flex-start;width:auto;min-width:180px}
html body.commerce-administration :is(#contractedDrivers,#adminSettlements) article{padding:18px;margin-top:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
html body.commerce-administration :is(#contractedDrivers,#adminSettlements) article button{width:auto;max-width:100%}
html body.commerce-administration .admin-project summary{font-weight:700;min-height:44px;cursor:pointer;display:flex;align-items:center}
html body.commerce-administration #projectTasks article{padding:16px 0}
@media(max-width:900px){html body.commerce-administration .administration-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}html body.commerce-administration .admin-fields{grid-template-columns:1fr}}
@media(max-width:600px){html body.commerce-administration .admin-main>section{padding:16px}html body.commerce-administration #commerceConfiguration fieldset{padding:14px}html body.commerce-administration .administration-shortcuts a{padding:14px}html body.commerce-administration #contractDriver{grid-template-columns:minmax(0,1fr)}}

/* RC29: use the administration shell on transfers; secondary actions stay secondary. */
html body:is(.commerce-administration,.driver-workspace) .admin-header{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:12px 24px;min-height:76px}
html body:is(.commerce-administration,.driver-workspace) .admin-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);margin-right:auto}
html body:is(.commerce-administration,.driver-workspace) .admin-brand .brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--brand);color:var(--on-brand);border-radius:13px;font-size:23px;font-weight:800}
html body:is(.commerce-administration,.driver-workspace) .admin-brand strong{display:block;font-size:17px;letter-spacing:.05em}
html body:is(.commerce-administration,.driver-workspace) .admin-brand small{display:block;font-size:12px;color:var(--muted)}
html body:is(.commerce-administration,.driver-workspace) .admin-header nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
html body:is(.commerce-administration,.driver-workspace) .admin-header nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--text);font-size:14px}
html body:is(.commerce-administration,.driver-workspace) .admin-header nav a:hover{background:var(--surface-2)}
html body.transfer-workspace .administration-heading{max-width:780px}
html body.transfer-workspace #refreshTransfers{width:auto;min-width:160px;background:var(--surface);color:var(--text);border:1px solid var(--line);padding:10px 16px}
html body.transfer-workspace .transfer-filters{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-top:24px}
html body.transfer-workspace .transfer-filters button{width:auto;flex:0 1 auto;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:10px;outline:none;padding:10px 16px}
html body.transfer-workspace .transfer-filters button[aria-pressed=true]{background:var(--surface-3);color:var(--brand);border-color:var(--line);font-weight:700}
html body.transfer-workspace .transfer-filters button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
html body.transfer-workspace #transferOrders>p{padding:28px;border:1px dashed var(--line);border-radius:18px;background:var(--surface);color:var(--muted);text-align:center}
html body.transfer-workspace .transfer-pagination{justify-content:flex-end;border-top:1px solid var(--line);padding-top:18px}
html body.transfer-workspace .transfer-pagination button{width:auto;background:var(--surface);color:var(--text);min-width:100px}
html body.transfer-workspace :is(#transferCount,#transferStatus){font-size:13px;color:var(--muted)}
@media(max-width:600px){
 html body:is(.commerce-administration,.driver-workspace) .admin-header{padding:12px 16px;flex-direction:row;gap:8px}
 html body:is(.commerce-administration,.driver-workspace) .admin-header nav{order:3;flex-basis:100%;border-top:1px solid var(--line);padding-top:6px}
 html body.commerce-administration .admin-main{padding:20px 16px}
 html body.transfer-workspace .transfer-filters button{flex:1 1 130px;padding:10px 8px}
 html body.transfer-workspace .transfer-pagination{justify-content:space-between;gap:8px}
 html body.transfer-workspace .transfer-pagination button{min-width:0;flex:1}
}

/* RC30: driver forms and controls use one readable column and restrained secondary actions. */
html body.driver-workspace .driver-coordination form{grid-template-columns:minmax(0,1fr)}
html body.driver-workspace .driver-coordination label{min-width:0}
html body.driver-workspace .driver-coordination .role-tools a{overflow-wrap:anywhere}
html body.driver-workspace .driver-shift-action{background:var(--surface);border:1px solid var(--line);color:var(--text);text-decoration:none;font-weight:600}
html body.driver-workspace .driver-job-card [data-coordinate]{background:var(--surface);color:var(--text);border-color:var(--line)}
html body.driver-workspace .driver-job-card[data-selected=true] [data-coordinate]{background:var(--surface-3);color:var(--brand)}
html body.driver-workspace .driver-history summary{min-height:44px;display:flex;align-items:center}

/* RC31 · Publicación guiada, basada en referencia ImageGen. */
html body #productForm .publish-heading h2{font-size:24px;margin:0 0 8px;line-height:1.25}
html body #productForm p{margin:0;color:var(--muted);line-height:1.5}
html body .publish-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:start}
html body .publish-fields{display:grid;gap:24px;min-width:0}
html body .publish-section{display:grid;gap:16px;min-width:0;margin:0;padding:24px;border:1px solid var(--line);border-radius:14px}
html body .publish-section legend{padding:0 8px;font-size:18px;font-weight:700;color:var(--text)}
html body #productForm label{gap:8px;line-height:1.4}
html body #productForm input:not([type=checkbox]){min-height:48px;width:100%;box-sizing:border-box}
html body #productForm small{color:var(--muted);line-height:1.5}
html body .publish-preview{display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);overflow-wrap:anywhere}
html body .publish-preview h3{margin:0;font-size:20px}
html body #publishPreviewPrice{font-size:24px;color:var(--brand)}
html body #publishPreviewCategory{font-size:13px}
html body #publishPreviewImage .product-visual{width:100%;margin:0;aspect-ratio:auto}
html body #publishPreviewImage img{width:100%;height:180px;object-fit:contain}
html body .publish-advanced{margin:0;border:1px solid var(--line);border-radius:14px;padding:18px}
html body .publish-advanced .publish-section{border:0;padding:20px 0 0}
html body .publish-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--line)}
html body .publish-footer button{min-height:48px;min-width:220px}
html body #definitionResults:empty{display:none}
html body #definitionResults{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:900px){html body .publish-layout{grid-template-columns:minmax(0,1fr)}html body .publish-preview{grid-template-columns:100px minmax(0,1fr);gap:10px 16px}html body #publishPreviewImage{grid-column:1;grid-row:2/7}html body #publishPreviewImage img{height:100px}html body .publish-preview> :not(#publishPreviewImage){grid-column:2}html body .publish-preview>.eyebrow{grid-column:1/-1}}
@media(max-width:600px){html body .publish-section{padding:18px 14px}html body .publish-footer{flex-direction:column;align-items:stretch}html body .publish-footer button{width:100%}html body #productForm .publish-heading h2{font-size:21px}html body .publish-layout,html body .publish-fields{gap:20px}}
/* RC32 · Fotos desde el dispositivo, sin enlaces ni códigos obligatorios. */
html body .publish-photo{display:grid;gap:12px;min-width:0}
html body #productForm .publish-photo-picker{position:relative;display:grid;justify-items:center;text-align:center;gap:8px;padding:24px 18px;border:1px dashed var(--brand);border-radius:14px;background:var(--surface-2);cursor:pointer;overflow:hidden}
html body .publish-photo-picker>span:first-child{font-size:30px;color:var(--brand)}
html body .publish-photo-picker>span:last-of-type{font-size:14px;color:var(--muted)}
html body #productForm .publish-photo-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
html body .publish-photo-picker:focus-within{outline:3px solid var(--brand);outline-offset:3px}
html body #publishPhotoThumbnail{width:100%;height:180px;object-fit:contain;border-radius:12px;background:var(--surface-2)}
html body #publishPhotoThumbnail[hidden],html body #removePublishPhoto[hidden]{display:none}
html body #removePublishPhoto{justify-self:start;min-height:44px}
html body #publishPhotoError:empty{display:none}
