/* NEMI UX10 — interaction/icon system. Visual + accessibility only.
   No pricing, handlers, APIs, persistence or proposal semantics are changed. */
:root{
 --u10-ink:#0b1626;--u10-ink-2:#14243a;--u10-paper:#ffffff;--u10-soft:#f5f8fb;
 --u10-line:#dce4ec;--u10-muted:#6c7b8d;--u10-cyan:#08b9e8;--u10-magenta:#ee0b79;
 --u10-yellow:#ffd21a;--u10-green:#18a66b;--u10-danger:#d92c4a;
 --u10-focus:0 0 0 3px rgba(8,185,232,.22);--u10-shadow:0 9px 24px rgba(17,36,58,.10);
}

/* Every decorated action uses flow layout. No icon or pseudo-element can sit on the label. */
.n10-button{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
 position:relative!important;isolation:isolate!important;overflow:hidden!important;white-space:nowrap!important;
 line-height:1.1!important;text-decoration:none!important;vertical-align:middle!important;
 transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease,color .14s ease!important;
}
.n10-button>.n10-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 18px!important;width:18px!important;height:18px!important;position:static!important;inset:auto!important;margin:0!important;padding:0!important;pointer-events:none!important;line-height:0!important}
.n10-button>.n10-icon svg{display:block!important;width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.n10-button>.n10-label{display:block!important;min-width:0!important;position:static!important;inset:auto!important;margin:0!important;padding:0!important;line-height:1.15!important;text-align:center!important;overflow:visible!important;text-overflow:clip!important}
.n10-button>.n10-chevron{display:inline-flex!important;flex:0 0 15px!important;width:15px!important;height:15px!important;margin-left:2px!important;position:static!important;pointer-events:none!important}
.n10-button>.n10-chevron svg{width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important}
.n10-button:before,.n10-button:after{pointer-events:none!important}
.n10-button:hover:not(:disabled){transform:translateY(-1px)!important;box-shadow:var(--u10-shadow)!important}
.n10-button:active:not(:disabled){transform:translateY(0)!important;box-shadow:none!important}
.n10-button:focus-visible{outline:0!important;box-shadow:var(--u10-focus)!important}
.n10-button:disabled{cursor:not-allowed!important;transform:none!important;box-shadow:none!important;opacity:.46!important}

/* Global button hierarchy inside the real quote flow. */
body.work-mode .workspace-add-btn,
body.work-mode .cfg-submit,
body.work-mode #quoteBtn,
#review .modal-foot .primary{
 background:var(--u10-ink)!important;color:#fff!important;border:1px solid var(--u10-ink)!important;
 min-height:44px!important;border-radius:12px!important;padding:0 15px!important;font-weight:850!important;
}
body.work-mode .cfg-finish,
body.work-mode .cfg-save,
body.work-mode #focusEditBtn,
body.work-mode .workspace-next .ghost,
#review .modal-foot .ghost{
 background:#fff!important;color:#1c2a3c!important;border:1px solid var(--u10-line)!important;
 min-height:42px!important;border-radius:11px!important;padding:0 14px!important;font-weight:800!important;
}
body.work-mode .cfg-submit{background:linear-gradient(135deg,#0d1a2c,#172b46)!important}
body.work-mode .cfg-finish{border-color:#a9dff0!important;color:#073b52!important;background:#f0fbff!important}
body.work-mode #focusRejectBtn{background:#fff7f8!important;color:#a61d38!important;border:1px solid #f2cbd3!important;min-height:42px!important;border-radius:11px!important;padding:0 13px!important}
body.work-mode #focusRejectBtn:hover{background:#fff0f3!important;border-color:#e9aab7!important;box-shadow:none!important}
body.work-mode #waBtn,#review .modal-foot .n10-wa{background:#fff!important;color:#08784c!important;border:1px solid #8bd7b6!important;min-height:44px!important;border-radius:12px!important;padding:0 14px!important}
body.work-mode .journey-complete-pending{background:linear-gradient(135deg,#ffe175,#ffd21a)!important;color:#121820!important;border:0!important;min-height:44px!important;border-radius:12px!important;padding:0 14px!important;font-weight:900!important}
body.work-mode .nemi-side-edit{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:0!important;background:#eefaff!important;color:#087396!important;border:1px solid #bfe8f5!important;border-radius:9px!important;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;font-weight:850!important}body.work-mode .nemi-side-edit .n10-label{display:none!important}

/* Partida actions: calm controls, clear destructive separation. */
body.work-mode .focus-actions{gap:8px!important;align-items:center!important}
body.work-mode .focus-actions .danger{margin-left:auto!important}
body.work-mode .cfg-action-row{gap:8px!important;align-items:center!important}
body.work-mode .workspace-next button{min-height:42px!important}
body.work-mode .nemi-line-add{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;white-space:normal!important;line-height:1.2!important;border:1px dashed #b9c8d6!important;background:#fbfdff!important;color:#213147!important;transition:border-color .14s ease,background .14s ease,transform .14s ease!important}
body.work-mode .nemi-line-add:hover{border-color:#6ebed7!important;background:#f1fbfe!important;transform:translateY(-1px)!important}
body.work-mode .nemi-line-add .n10-icon{width:24px!important;height:24px!important;flex-basis:24px!important;border-radius:50%!important;border:1px solid #c9d5df!important;background:#fff!important}
body.work-mode .nemi-line-add .n10-icon svg{width:15px!important;height:15px!important}

/* Proposal actions: one dominant action at a time, no visual collision. */
body.work-mode #propuesta .quote-actions{gap:8px!important}
body.work-mode #propuesta .quote-actions button{width:100%!important;justify-content:flex-start!important;padding-inline:14px!important}
body.work-mode #propuesta .quote-actions button .n10-chevron{margin-left:auto!important}
body.work-mode #propuesta #quoteBtn{background:linear-gradient(135deg,#ed0b78,#d8076b)!important;border-color:#d8076b!important}
body.work-mode #propuesta #waBtn{background:#fff!important}
body.work-mode #propuesta .journey-complete-pending{justify-content:flex-start!important}
body.work-mode #propuesta .journey-complete-pending .n10-chevron{margin-left:auto!important}

/* Review dialog buttons and item actions. */
#review .review-head .ghost.n10-button{background:#fff!important;color:#37475a!important;border:1px solid #dce4ec!important;min-width:auto!important}
#review .nemi-review-actions{gap:7px!important}
#review .nemi-review-actions button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:36px!important;border-radius:9px!important;padding:0 10px!important;white-space:nowrap!important}
#review .nemi-review-actions button .n10-icon{width:15px!important;height:15px!important;flex-basis:15px!important}
#review .nemi-review-actions button .n10-icon svg{width:15px!important;height:15px!important}
#review .nemi-review-actions button[data-n10-danger="1"]{color:#a61d38!important;background:#fff7f8!important;border-color:#f2cbd3!important}
#review .modal-foot{gap:8px!important}
#review .modal-foot button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}

/* Header action buttons, keeping labels readable at all sizes. */
.top .right button.n10-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}
.top .right button.n10-button:after{content:none!important}

/* Home: important CTA gets a real icon but keeps its label. */
body.home-mode #send.n10-button{display:inline-flex!important;gap:8px!important;font-size:9px!important;width:auto!important;height:auto!important;min-height:48px!important}
body.home-mode #send.n10-button:after{content:none!important}

/* Mobile taskbar: icon + concise text, no overlap. */
.nemi-taskbar #nemiTaskAction.n10-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-width:122px!important}
.nemi-taskbar #nemiTaskAction.n10-button .n10-icon{width:17px!important;height:17px!important;flex-basis:17px!important}

/* Mobile navigation gets real icon blocks instead of text glyphs. */
.nemi-mobile-nav button.n10-mobile-nav{display:grid!important;grid-template-rows:20px auto!important;place-items:center!important;gap:4px!important;line-height:1.05!important;padding:6px 3px!important;white-space:normal!important}
.nemi-mobile-nav button.n10-mobile-nav .n10-icon{width:20px!important;height:20px!important;display:inline-flex!important}
.nemi-mobile-nav button.n10-mobile-nav .n10-icon svg{width:19px!important;height:19px!important}
.nemi-mobile-nav button.n10-mobile-nav .n10-label{font-size:8.5px!important;line-height:1.05!important}
.nemi-mobile-nav button.n10-mobile-nav .proposal-count{position:absolute!important;top:3px!important;right:7px!important;margin:0!important}

/* Ensure no legacy pseudo-label can overlay the actual button label. */
body.work-mode .top .right .primary:after,
body.work-mode .composer button:after,
body.work-mode .workspace-add-btn:after,
body.work-mode .cfg-submit:after,
body.work-mode .cfg-save:after,
body.work-mode .cfg-finish:after,
body.work-mode #quoteBtn:after,
body.work-mode #waBtn:after,
body.work-mode #focusEditBtn:after,
body.work-mode #focusRejectBtn:after{content:none!important}

@media(max-width:760px){
 body.work-mode .top .right .primary.n10-button{font-size:9px!important;min-width:auto!important;max-width:none!important;padding:0 10px!important}
 body.work-mode .top .right .primary.n10-button .n10-label{display:block!important}
 body.work-mode .workspace-toolbar{gap:9px!important}
 body.work-mode .workspace-toolbar .workspace-add-btn{min-height:44px!important;padding:0 12px!important;font-size:9px!important;width:auto!important;max-width:100%!important}
 body.work-mode .n10-button{gap:7px!important}
 body.work-mode .n10-button>.n10-icon{width:17px!important;height:17px!important;flex-basis:17px!important}
 body.work-mode .n10-button>.n10-icon svg{width:17px!important;height:17px!important}
 body.work-mode .configurator-form>.cfg-submit{display:flex!important;width:100%!important;min-width:0!important;grid-column:1/-1!important;justify-content:flex-start!important}
 body.work-mode .configurator-form>.cfg-submit .n10-chevron{margin-left:auto!important}
 body.work-mode .cfg-action-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
 body.work-mode .cfg-action-row>.n10-button{display:flex!important;width:100%!important;min-width:0!important;max-width:none!important;justify-content:flex-start!important;min-height:46px!important}
 body.work-mode .cfg-action-row>.n10-button .n10-chevron{margin-left:auto!important}
 body.work-mode .focus-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
 body.work-mode .focus-actions>.n10-button{width:100%!important;min-width:0!important;padding-inline:10px!important}
 body.work-mode .focus-actions .danger{margin-left:0!important}
 body.work-mode .workspace-next>div:last-child{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
 body.work-mode .workspace-next>div:last-child>.n10-button{width:100%!important;justify-content:flex-start!important}
 body.work-mode .workspace-next>div:last-child>.n10-button .n10-chevron{margin-left:auto!important}
 body.work-mode .nemi-taskbar{position:static!important;inset:auto!important;margin:10px 0 2px!important;width:100%!important;box-shadow:none!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:8px 9px!important}
 .nemi-taskbar #nemiTaskAction.n10-button{min-width:114px!important;min-height:44px!important;padding:0 10px!important;font-size:9px!important}
 #review .modal-foot{display:grid!important;grid-template-columns:1fr!important}
 #review .modal-foot button{width:100%!important;min-height:46px!important}
 #review .nemi-review-actions{display:grid!important;grid-template-columns:1fr 1fr!important;padding-left:0!important}
 #review .nemi-review-actions button{width:100%!important;min-width:0!important}
}
@media(max-width:430px){
 body.work-mode .workspace-toolbar{grid-template-columns:minmax(0,1fr)!important}
 body.work-mode .workspace-toolbar .workspace-add-btn{width:100%!important;justify-content:center!important}
 body.work-mode .focus-actions{grid-template-columns:1fr!important}
 .nemi-taskbar{left:8px!important;right:8px!important;bottom:8px!important}
 .nemi-taskbar .task-meta b{font-size:13px!important}
 .nemi-taskbar #nemiTaskAction.n10-button{min-width:106px!important;font-size:8.5px!important}
}

/* Fallback icons remain in flow even if an older copy layer rewrites button text. */
body.work-mode .cfg-finish.n10-button:not(:has(>.n10-icon))::before,
body.work-mode #focusEditBtn.n10-button:not(:has(>.n10-icon))::before,
body.work-mode .workspace-next .primary.n10-button:not(:has(>.n10-icon))::before,
body.work-mode .workspace-next .ghost.n10-button:not(:has(>.n10-icon))::before{
 display:inline-flex!important;position:static!important;align-items:center!important;justify-content:center!important;flex:0 0 17px!important;width:17px!important;height:17px!important;margin:0!important;font-weight:900!important;line-height:1!important;color:currentColor!important
}
body.work-mode .cfg-finish.n10-button:not(:has(>.n10-icon))::before{content:'◉'!important}
body.work-mode #focusEditBtn.n10-button:not(:has(>.n10-icon))::before{content:'✎'!important}
body.work-mode .workspace-next .primary.n10-button:not(:has(>.n10-icon))::before{content:'◉'!important}
body.work-mode .workspace-next .ghost.n10-button:not(:has(>.n10-icon))::before{content:'+'!important}
body.work-mode .workspace-next .primary{background:linear-gradient(135deg,#ee0b79,#d8076b)!important;color:#fff!important;border-color:#d8076b!important}
body.work-mode .workspace-next .primary *{color:inherit!important}
body.work-mode .workspace-next .ghost{background:#fff!important;color:#243247!important;border-color:#d7e0e8!important}
body.work-mode .rc81h-mini.n10-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:42px!important;background:#fff!important;color:#243247!important;border:1px solid #cfd9e4!important;border-radius:10px!important;padding:0 13px!important;white-space:nowrap!important;box-shadow:none!important}
@media(prefers-reduced-motion:reduce){.n10-button,.nemi-line-add{transition:none!important}.n10-button:hover,.nemi-line-add:hover{transform:none!important}}
