:root {
  --navy: #102b43;
  --navy-2: #071827;
  --blue: #e9466d;
  --blue-soft: #fce9ef;
  --red: #ef3948;
  --yellow: #f4c430;
  --green: #14924c;
  --ink: #14213a;
  --muted: #718096;
  --line: #e7ebf2;
  --canvas: #f4f7fb;
  --white: #fff;
  --shadow: 0 12px 35px rgba(9, 43, 99, .08);
  --radius: 20px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: "DM Sans", sans-serif; font-size: 14px; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
svg { width: 20px; height: 20px; fill: currentColor; }
[hidden] { display: none !important; }

.auth-pending { overflow: hidden; }
.auth-pending .app-shell, .auth-required .app-shell { display: none; }
.login-screen { position: fixed; inset: 0; z-index: 500; display: none; place-items: center; overflow: auto; padding: 28px 18px; background: radial-gradient(circle at 15% 15%, rgba(233,70,109,.2), transparent 35%), linear-gradient(135deg, #071827, #102b43 58%, #603048); }
.auth-pending .login-screen, .auth-required .login-screen { display: grid; }
.login-decoration { position: fixed; border-radius: 50%; pointer-events: none; }
.login-decoration-one { top: -130px; right: -110px; width: 390px; height: 390px; border: 65px solid rgba(255,255,255,.06); }
.login-decoration-two { bottom: -140px; left: -90px; width: 330px; height: 330px; border: 55px solid rgba(255,199,27,.12); }
.login-card { position: relative; width: min(440px, 100%); padding: 34px 38px 28px; border: 1px solid rgba(255,255,255,.72); border-radius: 26px; background: rgba(255,255,255,.98); box-shadow: 0 28px 90px rgba(0,15,47,.36); }
.login-brand { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 23px; border-bottom: 1px solid var(--line); }
.login-brand img { width: 126px; height: 126px; object-fit: contain; border-radius: 18px; background: #061c32; }
.login-brand span { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-align: right; }
.login-heading { padding: 26px 0 18px; }
.login-welcome { color: var(--red); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.login-heading h1 { margin: 5px 0 3px; color: var(--navy); font: 800 30px/1.1 "Baloo 2", sans-serif; }
.login-heading p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.login-form { display: grid; gap: 15px; }
.login-form label > span:first-child { display: block; margin-bottom: 6px; color: #33445c; font-size: 10px; font-weight: 800; }
.login-input-wrap { display: flex; align-items: center; height: 50px; overflow: hidden; border: 1px solid #dce3ec; border-radius: 12px; background: #f9fbfd; transition: .2s ease; }
.login-input-wrap:focus-within { border-color: var(--blue); background: #fff; box-shadow: 0 0 0 3px rgba(8,121,232,.11); }
.login-input-wrap svg { flex: 0 0 19px; width: 19px; height: 19px; margin-left: 15px; color: #7d8ca0; }
.login-input-wrap input { min-width: 0; flex: 1; height: 100%; padding: 0 13px; border: 0; outline: 0; color: var(--navy); background: transparent; font-size: 13px; font-weight: 600; }
.password-toggle { flex: 0 0 48px; width: 48px; height: 100%; display: grid; place-items: center; padding: 0; border: 0; color: #738198; background: transparent; border-radius: 10px; transition: color .2s ease, background .2s ease; }
.password-toggle:hover { color: var(--blue); background: rgba(8,121,232,.07); }
.password-toggle:focus-visible { outline: 2px solid var(--blue); outline-offset: -4px; }
.login-input-wrap .password-toggle svg { flex: none; width: 20px; height: 20px; margin: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.login-error { min-height: 17px; margin: -3px 0 -4px; color: var(--red); font-size: 10px; font-weight: 700; }
.login-submit { display: flex; align-items: center; justify-content: space-between; height: 51px; padding: 0 19px; border: 0; border-radius: 12px; color: #fff; background: linear-gradient(90deg, var(--blue), #0755b6); box-shadow: 0 10px 23px rgba(8,121,232,.25); font-weight: 800; transition: .2s ease; }
.login-submit:hover { transform: translateY(-1px); box-shadow: 0 13px 28px rgba(8,121,232,.32); }
.login-submit:disabled { cursor: wait; opacity: .68; transform: none; }
.login-submit b { font-size: 20px; }
.login-security { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 21px 0 0; color: #8190a4; font-size: 9px; }
.login-security span { display: grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; color: #fff; background: var(--green); font-size: 9px; font-weight: 800; }
.logout-button { color: var(--red) !important; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: 238px; display: flex; flex-direction: column; padding: 22px 17px 16px; color: #fff; background: linear-gradient(180deg, #102b43 0%, #071827 100%); }
.brand { display: flex; align-items: center; gap: 10px; height: 70px; padding: 3px 8px; color: #fff; text-decoration: none; }
.brand img { width: 59px; height: 59px; object-fit: cover; border-radius: 14px; background: #071827; filter: drop-shadow(0 5px 8px rgba(0,0,0,.2)); }
.brand span { display: flex; flex-direction: column; }
.brand strong { font: 800 22px/1 "Baloo 2", sans-serif; }
.brand small { margin-top: 4px; color: #9fc6ef; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.main-nav { display: grid; gap: 6px; margin-top: 30px; }
.nav-item { position: relative; display: flex; align-items: center; gap: 14px; width: 100%; padding: 13px 14px; border: 0; border-radius: 12px; color: #b9cce5; background: transparent; font-weight: 600; text-align: left; transition: .2s ease; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.07); }
.nav-item.active { color: #fff; background: #e9466d; box-shadow: 0 8px 22px rgba(233,70,109,.24); }
.nav-item.active::after { position: absolute; right: -17px; width: 4px; height: 24px; border-radius: 3px 0 0 3px; background: var(--yellow); content: ""; }
.nav-item svg { width: 21px; height: 21px; }
.sidebar-foot { display: flex; align-items: center; gap: 7px; margin-top: auto; padding: 17px 6px 0; color: #7fa0c8; font-size: 9px; }
.logout-button { margin-left: auto; padding: 5px 8px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; color: #fff; background: transparent; font-size: 10px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #36d67c; box-shadow: 0 0 0 4px rgba(54,214,124,.1); }
.status-dot.syncing { background: var(--yellow); box-shadow: 0 0 0 4px rgba(255,199,27,.12); animation: sync-pulse 1s ease infinite alternate; }
.status-dot.offline { background: #ff696e; box-shadow: 0 0 0 4px rgba(255,105,110,.12); }
@keyframes sync-pulse { to { opacity: .45; } }

.main-content { min-height: 100vh; margin-left: 238px; padding: 0 32px 50px; }
.topbar { display: flex; align-items: center; justify-content: space-between; min-height: 108px; gap: 24px; }
.topbar h1 { margin: 2px 0 0; font: 700 25px/1.2 "Baloo 2", sans-serif; letter-spacing: -.02em; }
.eyebrow, .section-kicker { margin: 0; color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.top-actions, .hero-actions, .month-navigation, .calendar-legend { display: flex; align-items: center; gap: 10px; }
.top-actions > .btn { flex-shrink: 0; white-space: nowrap; }
.toolbar-actions { display: flex; align-items: center; gap: 8px; }
.today-pill { display: flex; align-items: center; gap: 8px; color: #66758c; font-size: 12px; }
.today-pill svg { color: var(--blue); }
.mobile-brand { display: none; }
.icon-button { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--line); border-radius: 11px; color: #53657d; background: #fff; transition: .2s; }
.icon-button:hover { color: var(--blue); border-color: #acd2fa; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 41px; padding: 0 17px; border: 0; border-radius: 11px; font-weight: 700; transition: transform .15s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: var(--blue); box-shadow: 0 8px 20px rgba(8,121,232,.2); }
.btn-primary:hover { background: #006bd2; }
.btn-form-copy { color: var(--navy); background: var(--yellow); box-shadow: 0 8px 20px rgba(255,199,27,.2); }
.btn-form-copy:hover { background: #ffd84f; }
.form-copy-short { display: none; }
.btn-whatsapp { color: #fff; background: #1fa855; box-shadow: 0 8px 20px rgba(31,168,85,.18); }
.btn-whatsapp:hover { background: #178b45; }
.btn-soft { color: var(--navy); background: #edf2f8; }
.btn-danger { color: var(--red); background: #fff0f0; }
.btn-white, .btn-light { color: var(--navy); background: #fff; }
.btn-light { width: 100%; }
.btn-ghost-white { color: #fff; border: 1px solid rgba(255,255,255,.42); background: transparent; }
.btn-small { min-height: 34px; padding: 0 13px; font-size: 12px; }

.page-section { display: none; animation: page-in .25s ease; }
.page-section.active { display: block; }
@keyframes page-in { from { opacity: 0; transform: translateY(5px); } }
.hero-card { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; min-height: 278px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; color: #fff; background: linear-gradient(105deg, transparent 45%, rgba(233,70,109,.12) 69%, transparent 91%), linear-gradient(118deg, #102b43 0%, #173b57 56%, #071827 100%); box-shadow: 0 20px 48px rgba(7,24,39,.24), inset 0 1px 0 rgba(255,255,255,.12); }
.hero-card::before { display: none; }
.hero-copy { position: relative; z-index: 2; padding: 36px 42px; }
.hero-badge { display: inline-block; padding: 6px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 20px; color: #d8ebff; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.hero-copy h2 { margin: 13px 0 5px; font: 800 35px/1.05 "Baloo 2", sans-serif; letter-spacing: -.02em; }
.hero-copy p { max-width: 430px; margin: 0 0 20px; color: #d7e8fb; font-size: 13px; line-height: 1.5; }
.hero-art { position: relative; display: grid; place-items: center; min-height: 270px; perspective: 900px; }
.hero-art::before { position: absolute; z-index: 4; top: -20%; left: -18%; width: 68px; height: 140%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255,255,255,.08) 20%, rgba(255,255,255,.58) 50%, rgba(255,255,255,.1) 78%, transparent); filter: blur(5px); opacity: 0; transform: translateX(-160%) rotate(19deg); animation: logo-light-sweep 6.5s ease-in-out infinite; content: ""; }
.hero-art::after { display: none; }
.hero-art img { position: relative; z-index: 2; width: min(280px, 80%); height: 240px; object-fit: contain; filter: drop-shadow(0 22px 22px rgba(0,0,0,.28)); transform-style: preserve-3d; transform-origin: center; animation: logo-float-3d 5.8s ease-in-out infinite; }
@keyframes logo-float-3d { 0%,100% { transform: perspective(900px) rotateY(-7deg) rotateX(2deg) translateY(0); } 50% { transform: perspective(900px) rotateY(7deg) rotateX(-1deg) translateY(-6px); } }
@keyframes logo-light-sweep { 0%,58% { opacity: 0; transform: translateX(-160%) rotate(19deg); } 64% { opacity: .78; } 82% { opacity: .45; transform: translateX(620%) rotate(19deg); } 88%,100% { opacity: 0; transform: translateX(620%) rotate(19deg); } }
@media (prefers-reduced-motion: reduce) { .hero-art img,.hero-art::before { animation: none; } .hero-art img { transform: none; } }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin: 19px 0; }
.stat-card { display: flex; align-items: center; min-width: 0; min-height: 107px; padding: 18px; border: 1px solid #edf0f5; border-radius: 17px; background: #fff; box-shadow: 0 6px 20px rgba(21,51,90,.04); }
.stat-icon { display: grid; place-items: center; flex: 0 0 46px; width: 46px; height: 46px; margin-right: 14px; border-radius: 14px; }
.stat-card.blue .stat-icon { color: var(--blue); background: #e8f3ff; }
.stat-card.red .stat-icon { color: var(--red); background: #ffebec; }
.stat-card.yellow .stat-icon { color: #bd8700; background: #fff5cd; }
.stat-card.green .stat-icon { color: var(--green); background: #e5f7ed; }
.stat-card div:last-child { min-width: 0; }
.stat-card span, .stat-card small { display: block; color: var(--muted); white-space: nowrap; }
.stat-card span { overflow: hidden; font-size: 10px; font-weight: 700; text-overflow: ellipsis; }
.stat-card strong { display: block; margin: 2px 0 -1px; font: 800 24px/1.15 "Baloo 2", sans-serif; }
.stat-card small { font-size: 9px; }
.dashboard-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 19px; }
.panel { border: 1px solid #edf0f5; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.agenda-panel, .activity-panel { min-height: 285px; padding: 24px; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.panel-heading h3, .day-agenda h3 { margin: 2px 0 0; font: 700 20px/1.2 "Baloo 2", sans-serif; }
.text-button { border: 0; color: var(--blue); background: none; font-size: 11px; font-weight: 700; }
.event-list, .recent-list { display: grid; gap: 9px; }
.event-row { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 13px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 13px; }
.event-row, .recent-row, .day-event-card { width: 100%; color: inherit; background: #fff; text-align: left; }
.event-row:hover, .recent-row:hover { border-color: #cfe2f7; background: #fbfdff; }
.event-date-box { display: grid; place-items: center; height: 47px; border-radius: 11px; color: var(--navy); background: #eef5fd; }
.event-date-box b { font: 800 20px/1 "Baloo 2", sans-serif; }
.event-date-box span { margin-top: -7px; font-size: 8px; font-weight: 800; }
.event-info strong, .recent-row strong { display: block; font-size: 12px; }
.event-info span, .recent-row small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.event-value { color: var(--green); font-size: 12px; font-weight: 800; }
.recent-row { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 11px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--line); }
.recent-row:last-child { border: 0; }
.recent-avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--navy); background: #eaf4ff; font-weight: 800; }
.status-pill { display: inline-flex; align-items: center; gap: 5px; width: fit-content; padding: 5px 8px; border-radius: 20px; font-size: 9px; font-weight: 800; }
.status-pill::before { width: 5px; height: 5px; border-radius: 50%; content: ""; }
.status-pill.approved { color: #0b7b3c; background: #e6f7ed; }
.status-pill.approved::before { background: #23aa62; }
.status-pill.pending { color: #956c00; background: #fff6d8; }
.status-pill.pending::before { background: #e1a900; }
.status-pill.draft { color: #68768b; background: #eef1f5; }
.status-pill.draft::before { background: #99a5b6; }
.status-pill.read { color: #c83359; background: #fce9ef; }
.status-pill.read::before { background: #e9466d; }
.status-pill.unread { color: #a23816; background: #fff0e8; }
.status-pill.unread::before { background: #e46432; }
.empty-state { display: grid; place-items: center; min-height: 170px; padding: 20px; border: 1px dashed #dce3ec; border-radius: 14px; text-align: center; }
.empty-state .empty-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 9px; border-radius: 50%; color: var(--blue); background: var(--blue-soft); font-size: 22px; }
.empty-state strong { font-size: 13px; }
.empty-state p { max-width: 280px; margin: 3px 0 11px; color: var(--muted); font-size: 10px; line-height: 1.45; }

.section-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 2px 0 18px; }
.section-description { margin: 0; color: var(--muted); }
.inventory-summary { display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)) minmax(220px, 1.35fr); gap: 1px; margin-bottom: 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--line); }
.inventory-summary > div { padding: 15px 20px; background: #fff; }
.inventory-summary span { display: block; color: var(--muted); font-size: 9px; font-weight: 700; }
.inventory-summary strong { display: block; margin-top: 2px; font: 800 19px/1.2 "Baloo 2", sans-serif; }
.search-field { display: flex; align-items: center; gap: 8px; padding: 0 17px; background: #fff; }
.search-field svg { width: 17px; color: #93a0b1; }
.search-field input { width: 100%; height: 100%; min-height: 44px; border: 0; outline: 0; color: var(--ink); background: transparent; }
.search-field.compact { width: 240px; border: 1px solid var(--line); border-radius: 11px; }
.toy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.toy-card { overflow: hidden; border: 1px solid #e8edf3; border-radius: 18px; background: #fff; box-shadow: 0 8px 25px rgba(16,48,88,.06); transition: .2s ease; }
.toy-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(16,48,88,.1); }
.toy-photo { position: relative; height: 180px; overflow: hidden; background: linear-gradient(135deg, #e9f4ff, #f8fbff); }
.toy-photo img { width: 100%; height: 100%; object-fit: cover; }
.toy-no-photo { display: grid; place-items: center; height: 100%; color: #aac1dc; font: 800 20px "Baloo 2", sans-serif; }
.stock-badge { position: absolute; top: 12px; left: 12px; padding: 5px 8px; border-radius: 20px; color: #126e3b; background: rgba(255,255,255,.92); font-size: 9px; font-weight: 800; box-shadow: 0 3px 10px rgba(0,0,0,.08); }
.stock-badge.out { color: #b51f29; }
.toy-card-body { padding: 17px; }
.toy-category { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.toy-card h3 { margin: 4px 0; font: 700 18px/1.15 "Baloo 2", sans-serif; }
.toy-card p { display: -webkit-box; min-height: 34px; margin: 0 0 14px; overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.toy-card-foot { display: flex; align-items: center; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--line); }
.toy-price strong { display: block; color: var(--green); font: 800 18px/1.1 "Baloo 2", sans-serif; }
.toy-price small { color: var(--muted); font-size: 9px; }
.toy-actions { display: flex; gap: 5px; }
.toy-actions button, .row-menu { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 9px; color: #6d7c90; background: #fff; }
.toy-actions button:hover { color: var(--blue); }

.client-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(145px, 1fr)) minmax(240px, 1.4fr); gap: 1px; margin-bottom: 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--line); }
.client-summary-grid > article { padding: 15px 20px; background: #fff; }
.client-summary-grid article span { display: block; color: var(--muted); font-size: 9px; font-weight: 700; }
.client-summary-grid article strong { display: block; margin-top: 2px; font: 800 19px/1.2 "Baloo 2", sans-serif; }
.client-search { min-height: 55px; }
.client-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.client-card { padding: 19px; border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 8px 25px rgba(16,48,88,.05); transition: .2s ease; }
.client-card:hover { transform: translateY(-2px); border-color: #cbdff5; box-shadow: 0 13px 30px rgba(16,48,88,.09); }
.client-card-head { display: flex; align-items: center; gap: 11px; }
.client-avatar { display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #1491f5, #0751b9); font-weight: 800; text-transform: uppercase; }
.client-avatar.medium { width: 45px; height: 45px; font-size: 16px; }
.client-avatar.small { width: 36px; height: 36px; font-size: 12px; }
.client-avatar.large { width: 72px; height: 72px; border: 4px solid rgba(255,255,255,.25); font: 800 28px "Baloo 2", sans-serif; box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.client-card-title { min-width: 0; flex: 1; }
.client-card-title strong { display: block; overflow: hidden; font: 700 16px/1.15 "Baloo 2", sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.client-card-title small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.client-card-actions { display: flex; gap: 4px; }
.client-card-actions button { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 1px solid var(--line); border-radius: 8px; color: #66758a; background: #fff; }
.client-card-contact { display: grid; gap: 7px; margin: 16px 0; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.client-card-contact span { display: flex; align-items: center; gap: 7px; overflow: hidden; color: #58677b; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.client-card-contact b { color: var(--blue); font-size: 11px; }
.client-card-foot { display: flex; align-items: center; justify-content: space-between; }
.client-card-foot p { display: flex; flex-direction: column; margin: 0; }
.client-card-foot strong { font-size: 11px; }
.client-card-foot small { color: var(--muted); font-size: 8px; }
.client-card-foot .text-button { padding: 7px 0; }

.quote-filterbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 15px; }
.filter-tabs { display: flex; align-items: center; gap: 6px; }
.filter-tab { padding: 9px 12px; border: 0; border-radius: 9px; color: #6f7d91; background: transparent; font-size: 11px; font-weight: 700; }
.filter-tab span { display: inline-grid; place-items: center; min-width: 19px; height: 19px; margin-left: 3px; border-radius: 10px; background: #e9edf3; font-size: 9px; }
.filter-tab.active { color: var(--blue); background: #eaf4ff; }
.filter-tab.active span { color: #fff; background: var(--blue); }
.table-card { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow); }
.quote-table-head, .quote-row { display: grid; grid-template-columns: .85fr 1.25fr 1fr .72fr .85fr .9fr 40px; align-items: center; gap: 12px; }
.quote-table-head { min-height: 44px; padding: 0 18px; color: #8a97a9; background: #f8fafc; font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.quote-row { min-height: 70px; padding: 11px 18px; border-top: 1px solid var(--line); cursor: pointer; }
.quote-row:hover { background: #fbfdff; }
.quote-row strong { font-size: 11px; }
.quote-row small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.quote-row .money { color: var(--green); font-weight: 800; }
.quote-status-cell { display:grid; gap:3px; justify-items:start; }
.quote-status-cell .payment-paid-label { color:var(--green); font-weight:800; }
.quote-status-cell .contract-signed-label { color:var(--blue); font-weight:800; }

.calendar-toolbar { margin-bottom: 15px; }
.month-navigation h2 { min-width: 190px; margin: 0; font: 700 23px/1 "Baloo 2", sans-serif; text-align: center; text-transform: capitalize; }
.calendar-legend { color: var(--muted); font-size: 10px; }
.calendar-legend span { display: flex; align-items: center; gap: 6px; }
.legend-dot { width: 8px; height: 8px; border-radius: 50%; }
.legend-dot.approved { background: var(--blue); }
.legend-dot.busy { background: var(--red); }
.calendar-layout { display: grid; grid-template-columns: minmax(620px, 1fr) 285px; gap: 17px; }
.calendar-card { overflow: hidden; }
.calendar-weekdays, .calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.calendar-weekdays { border-bottom: 1px solid var(--line); }
.calendar-weekdays span { padding: 13px 8px; color: #8b98aa; font-size: 8px; font-weight: 800; text-align: center; }
.calendar-day { position: relative; min-height: 112px; padding: 9px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; text-align: left; }
.calendar-day:nth-child(7n) { border-right: 0; }
.calendar-day.other-month { color: #bdc4cf; background: #fbfcfe; }
.calendar-day.selected { box-shadow: inset 0 0 0 2px var(--blue); }
.calendar-day.today .day-number { color: #fff; background: var(--blue); }
.day-number { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; font-size: 10px; font-weight: 800; }
.calendar-event-chip { display: block; margin-top: 5px; overflow: hidden; padding: 5px 6px; border-left: 3px solid var(--blue); border-radius: 5px; color: var(--navy); background: #eaf4ff; font-size: 8px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event-chip.busy { border-left-color: var(--red); background: #fff0f0; }
.more-events { display: block; margin-top: 4px; color: var(--blue); font-size: 8px; font-weight: 800; }
.day-agenda { padding: 22px; }
.day-agenda h3 { margin-bottom: 18px; text-transform: capitalize; }
.day-events { display: grid; gap: 10px; }
.day-event-card { padding: 13px; border: 0; border-left: 3px solid var(--blue); border-radius: 10px; background: #f3f8fe; }
.day-event-card time { color: var(--blue); font-size: 9px; font-weight: 800; }
.day-event-card strong { display: block; margin: 4px 0; font-size: 12px; }
.day-event-card small { display: block; color: var(--muted); font-size: 9px; line-height: 1.45; }

.modal { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; padding: 24px; }
.modal.is-open { display: flex; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(5,24,54,.64); backdrop-filter: blur(4px); }
.modal-dialog { position: relative; z-index: 1; width: min(650px, 100%); max-height: calc(100vh - 48px); overflow: auto; border-radius: 20px; background: #fff; box-shadow: 0 30px 80px rgba(3,22,51,.3); animation: modal-in .2s ease; }
@keyframes modal-in { from { opacity: 0; transform: translateY(10px) scale(.99); } }
.modal-header { display: flex; align-items: center; justify-content: space-between; padding: 23px 26px 18px; border-bottom: 1px solid var(--line); }
.modal-header h2 { margin: 3px 0 0; font: 700 23px/1.1 "Baloo 2", sans-serif; }
.modal-close { width: 36px; height: 36px; border: 0; border-radius: 50%; color: #66768b; background: #f1f4f8; font-size: 23px; line-height: 1; }
.toy-dialog form, .settings-dialog form { padding: 22px 26px 25px; }
.settings-dialog { width: min(760px, 100%); }
.settings-section { margin-bottom: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #f8fbff; }
.settings-section h3 { margin: 0 0 13px; color: var(--blue); font-size: 13px; }
.settings-section .form-help { margin-bottom: 0; }
.upload-box { position: relative; display: grid; place-items: center; min-height: 180px; margin-bottom: 20px; overflow: hidden; border: 1.5px dashed #b9cce2; border-radius: 15px; color: var(--muted); background: #f8fbff; cursor: pointer; }
.upload-box:hover { border-color: var(--blue); }
.upload-box img { width: 100%; height: 210px; object-fit: cover; }
#uploadPrompt { display: grid; justify-items: center; }
.upload-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 8px; border-radius: 50%; color: var(--blue); background: #e5f2ff; font-size: 22px; }
#uploadPrompt strong { color: var(--ink); font-size: 12px; }
#uploadPrompt small { margin-top: 3px; font-size: 9px; }
.change-photo { position: absolute; right: 10px; bottom: 10px; padding: 7px 10px; border: 0; border-radius: 8px; background: rgba(255,255,255,.92); font-size: 9px; font-weight: 800; }
.form-grid { display: grid; gap: 14px; }
.form-grid.two { grid-template-columns: repeat(2, 1fr); }
.form-grid.three { grid-template-columns: 1.3fr 1fr 1fr; }
.form-grid.four { grid-template-columns: 1.25fr 1.25fr 1fr 1fr; }
.field { display: grid; gap: 6px; margin-bottom: 14px; }
.field > span { color: #526176; font-size: 10px; font-weight: 700; }
.field-hint { margin-top: -3px; color: var(--muted); font-size: 8px; }
.field input, .field textarea, .field select { width: 100%; border: 1px solid #dfe5ec; border-radius: 10px; outline: 0; color: var(--ink); background: #fff; transition: .2s; }
.field input, .field select { height: 42px; padding: 0 12px; }
.field textarea { padding: 11px 12px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(8,121,232,.09); }
.client-dialog form { padding: 22px 26px 25px; }
.addresses-field { margin-bottom: 14px; }
.addresses-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.addresses-heading > span { color: #526176; font-size: 10px; font-weight: 700; }
.client-address-list { display: grid; gap: 8px; }
.client-address-row { display: grid; grid-template-columns: 125px 1fr 34px; align-items: center; gap: 7px; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; }
.client-address-row input { width: 100%; height: 38px; padding: 0 10px; border: 1px solid #dfe5ec; border-radius: 8px; outline: 0; background: #fff; }
.client-address-row input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(8,121,232,.08); }
.remove-address { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 8px; color: var(--red); background: #ffebec; font-size: 17px; }
.address-empty-note { padding: 14px; border: 1px dashed #ccd7e5; border-radius: 9px; color: var(--muted); font-size: 9px; text-align: center; }
.client-select-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.client-select-row select { width: 100%; height: 42px; padding: 0 12px; border: 1px solid #dfe5ec; border-radius: 10px; color: var(--ink); background: #fff; outline: 0; }
.selected-client-summary { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 10px 12px; border: 1px solid #dfe7f0; border-radius: 10px; background: #f7faff; }
.selected-client-summary p { display: flex; flex-direction: column; min-width: 0; margin: 0; }
.selected-client-summary strong { font-size: 10px; }
.selected-client-summary small { margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.custom-address-field { margin-top: -6px; }

.client-profile-dialog { width: min(760px, 100%); }
.profile-cover { position: relative; display: flex; align-items: center; gap: 16px; min-height: 145px; padding: 25px 30px; color: #fff; background: linear-gradient(125deg, #102b43, #071827 72%, #69334b); }
.profile-cover::after { position: absolute; right: 55px; width: 120px; height: 120px; border: 20px solid rgba(255,255,255,.07); border-radius: 50%; content: ""; }
.profile-cover > * { position: relative; z-index: 1; }
.profile-cover h2 { margin: 2px 0 0; font: 800 27px/1.1 "Baloo 2", sans-serif; }
.profile-cover p { margin: 3px 0 0; color: #bcd9f6; font-size: 9px; }
.section-kicker.light { color: #ffdc62; }
.profile-close { position: absolute; top: 16px; right: 16px; color: #fff; background: rgba(255,255,255,.15); }
.profile-body { padding: 20px 26px 26px; }
.profile-actions { display: flex; justify-content: flex-end; gap: 7px; margin-bottom: 14px; }
.profile-contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.profile-contact-item { display: flex; align-items: flex-start; gap: 9px; min-height: 54px; padding: 10px 12px; border-radius: 10px; background: #f5f8fb; }
.profile-contact-item > span { color: var(--blue); font-size: 14px; }
.profile-contact-item p { display: flex; flex-direction: column; min-width: 0; margin: 0; }
.profile-contact-item small { color: var(--muted); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.profile-contact-item strong { margin-top: 2px; overflow-wrap: anywhere; font-size: 10px; }
.profile-contact-item.full { grid-column: 1 / -1; }
.profile-metrics { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin: 15px 0 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.profile-metrics div { padding: 13px 15px; background: #fff; }
.profile-metrics span { display: block; color: var(--muted); font-size: 8px; }
.profile-metrics strong { display: block; margin-top: 2px; font: 800 17px "Baloo 2", sans-serif; }
.profile-history-head h3 { margin: 2px 0 10px; font: 700 19px "Baloo 2", sans-serif; }
.client-history { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; }
.history-row { display: grid; grid-template-columns: 1fr 1.1fr .8fr .8fr 28px; align-items: center; gap: 8px; width: 100%; min-height: 56px; padding: 9px 12px; border: 0; border-top: 1px solid var(--line); color: inherit; background: #fff; text-align: left; }
.history-row:first-child { border-top: 0; }
.history-row:hover { background: #f9fbfe; }
.history-row strong { font-size: 9px; }
.history-row small { display: block; color: var(--muted); font-size: 8px; }
.history-row .money { color: var(--green); font-size: 9px; font-weight: 800; }
.history-open { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid var(--line); border-radius: 7px; color: var(--blue); background: #fff; }
.contract-history-head { margin-top: 22px; }
.contract-history-row { display: grid; grid-template-columns: 1fr 1.2fr auto; align-items: center; gap: 12px; min-height: 66px; padding: 10px 12px; border-top: 1px solid var(--line); background: #fff; }
.contract-history-row:first-child { border-top: 0; }
.contract-history-row strong { display: block; font-size: 9px; }
.contract-history-row small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
.contract-history-actions { display: flex; justify-content: flex-end; gap: 6px; }
.input-prefix, .input-suffix { display: flex; align-items: center; height: 42px; overflow: hidden; border: 1px solid #dfe5ec; border-radius: 10px; }
.input-prefix b, .input-suffix b { padding: 0 11px; color: #6c7a8e; font-size: 11px; }
.input-prefix input, .input-suffix input { height: 40px; padding-left: 0; border: 0; }
.modal-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 5px; }
.form-help { margin: -4px 0 18px; color: var(--muted); font-size: 10px; }

.quote-modal { padding: 0; }
.quote-dialog { width: 100%; max-width: none; height: 100vh; max-height: none; border-radius: 0; }
.quote-modal-header { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; min-height: 74px; padding: 10px 25px; border-bottom: 1px solid var(--line); background: #fff; }
.quote-modal-header > div { display: flex; align-items: center; gap: 13px; }
.quote-modal-header small { color: var(--blue); font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.quote-modal-header h2 { margin: 1px 0 0; font: 700 21px/1.1 "Baloo 2", sans-serif; }
.back-button { width: 37px; height: 37px; border: 1px solid var(--line); border-radius: 10px; color: var(--navy); background: #fff; font-size: 20px; }
.quote-actions-menu-button { display: none; }
.quote-header-actions { display: flex; gap: 8px !important; }
.quote-workspace { display: grid; grid-template-columns: minmax(470px, .82fr) minmax(610px, 1.18fr); min-height: calc(100vh - 74px); }
.quote-editor { padding: 22px; overflow-y: auto; background: #f5f7fa; }
.editor-section { margin-bottom: 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.editor-title { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 15px 17px; border: 0; color: var(--ink); background: transparent; font-size: 12px; font-weight: 800; text-align: left; }
.editor-title span { display: flex; align-items: center; gap: 10px; }
.editor-title b { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; color: #fff; background: var(--blue); font-size: 10px; }
.editor-title i { color: #8b98a9; font-style: normal; }
.editor-section:not(.open) .editor-content { display: none; }
.editor-section:not(.open) .editor-title i { transform: rotate(180deg); }
.editor-content { padding: 0 17px 17px; }
.quote-toy-picker { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; max-height: 215px; overflow-y: auto; }
.picker-toy { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 8px; padding: 7px; border: 1px solid var(--line); border-radius: 10px; background: #fff; text-align: left; }
.picker-toy:hover { border-color: #a7cff7; }
.picker-toy:disabled { cursor: not-allowed; opacity: .48; }
.picker-toy img, .picker-placeholder { width: 46px; height: 40px; object-fit: cover; border-radius: 7px; }
.picker-placeholder { display: grid; place-items: center; color: var(--blue); background: var(--blue-soft); font-weight: 800; }
.picker-toy strong { display: block; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.picker-toy small { color: var(--green); font-size: 8px; font-weight: 700; }
.picker-toy > b { color: var(--blue); font-size: 17px; }
.selected-quote-items { display: grid; gap: 7px; margin-top: 12px; }
.selected-item { display: grid; grid-template-columns: minmax(90px,1fr) 76px 118px 82px 28px; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 9px; background: #f7f9fc; }
.selected-item > div:first-child strong { display: block; font-size: 9px; }
.selected-item > div:first-child small { color: var(--muted); font-size: 8px; }
.qty-control { display: grid; grid-template-columns: 22px 1fr 22px; align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.qty-control button { height: 26px; padding: 0; border: 0; background: transparent; }
.qty-control input { width: 100%; padding: 0; border: 0; outline: 0; text-align: center; font-size: 9px; }
.item-qty-control small { display: block; margin-bottom: 3px; color: var(--muted); font-size: 7px; font-weight: 700; }
.item-unit-price { font-size: 9px; font-weight: 800; text-align: right; }
.item-unit-price small { display:block; margin-top:3px; color:var(--muted); font-size:7px; font-weight:600; }
.item-price-control small { display: block; margin-bottom: 3px; color: var(--muted); font-size: 7px; font-weight: 700; }
.item-price-control > div { display: flex; align-items: center; height: 32px; overflow: hidden; border: 1px solid #dfe5ec; border-radius: 8px; background: #fff; }
.item-price-control b { padding-left: 7px; color: var(--muted); font-size: 8px; }
.item-price-control input { min-width: 0; height: 30px; padding: 0 6px; border: 0; background: transparent; font-size: 9px; font-weight: 700; }
.payment-options-grid > .field { margin-bottom: 0; }
.quote-value-editor { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 12px; margin: 14px 0; padding: 10px; border: 1px solid #dfe7f0; border-radius: 12px; background: #f3f7fb; }
.quote-calculated-total, .quote-final-total { min-width: 0; padding: 12px; border: 1px solid #e5ebf2; border-radius: 10px; background: #fff; }
.quote-value-editor > div > span, .quote-value-editor > div > small { display: block; color: var(--muted); font-size: 8px; }
.quote-value-editor > div > strong { display: block; margin: 4px 0 2px; color: var(--blue); font-size: 16px; }
.quote-value-editor .field { margin: 0; }
.quote-final-total { align-content: center; }
.quote-final-total .input-prefix { width: 100%; }
.quote-final-total .input-prefix input { flex: 1; min-width: 0; }
.payment-notes-field { margin-bottom: 0; }
.remove-item { width: 28px; height: 28px; border: 0; border-radius: 7px; color: var(--red); background: #ffebec; }
.quote-preview-wrap { padding: 18px 25px 40px; overflow-y: auto; background: #e9edf2; }
.preview-toolbar { display: flex; align-items: center; justify-content: space-between; width: min(610px, 100%); margin: 0 auto 10px; color: #697789; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.preview-toolbar > div { display: flex; gap: 6px; }

.quote-sheet { position: relative; width: min(610px, 100%); min-height: 915px; margin: 0 auto; overflow: hidden; padding: 27px 25px 18px; border: 1.5px solid #123f7a; border-radius: 14px; color: #08295c; background: #fff; box-shadow: 0 16px 45px rgba(27,46,75,.16); font-family: Arial, sans-serif; }
.sheet-top-accent { position: absolute; inset: 0 0 auto; height: 8px; background: linear-gradient(90deg, var(--blue) 0 34%, var(--yellow) 34% 67%, var(--red) 67%); }
.sheet-header { display: grid; grid-template-columns: 45% 55%; align-items: center; min-height: 165px; }
.sheet-header > img { width: 95%; height: 155px; object-fit: contain; }
.sheet-title { padding-left: 17px; }
.sheet-title h2 { margin: 0 0 7px; font-size: 31px; line-height: 1; letter-spacing: -.02em; }
.sheet-title > i { display: block; width: 55px; height: 3px; margin-bottom: 20px; background: var(--red); }
.sheet-title p { display: flex; align-items: center; gap: 6px; margin: 7px 0; color: #17213a; font-size: 11px; }
.sheet-title p span { color: #0a55a7; font-size: 17px; }
.sheet-client { display: flex; align-items: center; gap: 7px; margin: 2px 5px 12px; font-size: 13px; }
.sheet-client-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #fff; background: var(--red); font-size: 11px; }
.sheet-client > b:last-child { margin-left: 3px; text-transform: uppercase; }
.sheet-address { margin: -5px 5px 12px 39px; color: #34425a; font-size: 8px; }
.sheet-table { overflow: hidden; border: 1px solid #c6ccd5; border-radius: 12px; }
.sheet-table-head { display: grid; grid-template-columns: 34% 38% 28%; height: 29px; color: #fff; background: #082d65; font-size: 9px; font-weight: 800; text-align: center; }
.sheet-table-head span { display: grid; place-items: center; border-right: 1px solid rgba(255,255,255,.5); }
.sheet-table-head span:last-child { border: 0; }
.sheet-item { display: grid; grid-template-columns: 34% 38% 28%; min-height: 103px; border-top: 1px solid #c6ccd5; }
.sheet-item:first-child { border-top: 0; }
.sheet-item > div { border-right: 1px solid #c6ccd5; }
.sheet-item > div:last-child { border: 0; }
.sheet-item-photo { padding: 8px; }
.sheet-item-photo img { width: 100%; height: 87px; object-fit: cover; border-radius: 9px; }
.sheet-photo-placeholder { display: grid; place-items: center; width: 100%; height: 87px; border-radius: 9px; color: #90aaca; background: #edf5fd; font-size: 8px; font-weight: 800; }
.sheet-item-desc { display: flex; flex-direction: column; justify-content: center; padding: 10px 13px; }
.sheet-item-desc strong { font-size: 12px; line-height: 1.1; text-transform: uppercase; }
.sheet-item-desc b { margin-top: 3px; color: #28344b; font-size: 8px; }
.sheet-item-desc p { display: -webkit-box; margin: 9px 0 0; overflow: hidden; color: #374052; font-size: 7px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.sheet-item-price { display: grid; place-items: center; color: #168341; font-size: 17px; font-weight: 800; }
.sheet-empty-items { display: grid; place-items: center; min-height: 210px; color: #91a0b4; font-size: 10px; text-align: center; }
.sheet-total-row { display: grid; grid-template-columns: 47% 53%; min-height: 75px; margin-top: 10px; overflow: hidden; border: 1px solid #cbd0d8; border-radius: 12px; }
.sheet-total-row > div:first-child { display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid #cbd0d8; }
.sheet-total-row span { font-size: 14px; font-weight: 800; }
.sheet-total-row strong { color: #cf2025; font-size: 26px; line-height: 1; }
.security-box { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 10px; border-radius: 8px; color: #fff; background: #082d65; }
.security-box > span { font-size: 30px; }
.security-box b { font-size: 10px; }
.security-box em { color: var(--yellow); font-style: normal; }
.sheet-payment-title { position: relative; width: fit-content; margin: 12px 0 7px 20px; font-size: 11px; font-weight: 800; }
.sheet-payment-title::after { position: absolute; bottom: -4px; left: -7px; width: 88px; height: 2px; background: var(--red); content: ""; }
.sheet-payment { display: grid; grid-template-columns: 1fr 1fr; min-height: 83px; border: 1px solid #d0d4db; border-radius: 11px; }
.sheet-payment > div { display: flex; align-items: center; gap: 10px; padding: 10px 18px; }
.pay-icon { display: grid; place-items: center; flex: 0 0 49px; width: 49px; height: 49px; border-radius: 50%; color: #fff; font-size: 23px; font-weight: 800; }
.pay-icon.green { background: var(--green); }
.pay-icon.red { background: #d21f27; }
.sheet-payment p { display: flex; flex-direction: column; margin: 0; }
.sheet-payment p b { font-size: 9px; }
.sheet-payment p strong { color: var(--green); font-size: 18px; }
.sheet-payment > div:last-child p strong { color: #c62227; }
.sheet-payment p small { max-width: 145px; color: #111a2e; font-size: 6px; line-height: 1.25; }
.sheet-notes { margin: 8px 5px; padding: 6px 8px; border-radius: 5px; color: #46536a; background: #f2f5f8; font-size: 7px; }
.sheet-footer { display: grid; grid-template-columns: 1fr 1px 1fr; align-items: center; min-height: 73px; margin: 11px -25px -1px; padding: 9px 35px; color: #fff; background: #072d65; }
.sheet-footer > div { display: flex; align-items: center; gap: 10px; }
.sheet-footer > i { height: 38px; background: rgba(255,255,255,.5); }
.social-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #fff; font-size: 22px; font-weight: 800; }
.social-icon.whatsapp { background: #23b85a; }
.social-icon.instagram { background: linear-gradient(135deg, #6c36c7, #f22d62, #ffb929); }
.sheet-footer p { display: flex; flex-direction: column; margin: 0; }
.sheet-footer b { font-size: 11px; }
.sheet-footer small { margin-top: 3px; color: var(--yellow); font-size: 7px; font-weight: 800; }
.sheet-footer > div:last-child { justify-content: flex-end; }
.sheet-thanks { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-around; min-height: 27px; margin: -4px 35px 0; padding: 0 10px; color: #fff; background: linear-gradient(180deg, #f0443f, #c8232b); clip-path: polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%); font-size: 8px; font-weight: 800; }
.sheet-thanks > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sheet-thanks { color: var(--yellow); }
.sheet-thanks span { color: #fff; }
.sheet-signature { width: fit-content; margin: 0 auto; padding: 3px 18px; border-radius: 0 0 8px 8px; color: #fff; background: #e9466d; font-size: 6px; font-weight: 800; }

.toast-container { position: fixed; right: 22px; bottom: 22px; z-index: 200; display: grid; gap: 8px; }
.context-menu { position: fixed; z-index: 180; display: grid; min-width: 170px; overflow: hidden; padding: 5px; border: 1px solid var(--line); border-radius: 11px; background: #fff; box-shadow: 0 15px 40px rgba(7,32,70,.2); }
.context-menu button { padding: 9px 11px; border: 0; border-radius: 7px; color: var(--ink); background: transparent; font-size: 10px; font-weight: 700; text-align: left; }
.context-menu button:hover { background: #eef5fd; }
.context-menu button.danger { color: var(--red); }
.toast { display: flex; align-items: center; gap: 9px; min-width: 280px; padding: 12px 15px; border-radius: 11px; color: #fff; background: #102b4f; box-shadow: 0 12px 30px rgba(0,0,0,.2); animation: toast-in .25s ease; }
.toast.success::before { color: #45df87; content: "✓"; }
.toast.error::before { color: #ff7378; content: "!"; }
@keyframes toast-in { from { opacity: 0; transform: translateY(10px); } }

@media (max-width: 1120px) {
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .toy-grid, .client-grid { grid-template-columns: repeat(2, 1fr); }
  .quote-workspace { grid-template-columns: minmax(400px, .8fr) minmax(560px, 1.2fr); }
  .calendar-layout { grid-template-columns: 1fr; }
  .day-agenda { min-height: 220px; }
}

@media (max-width: 820px) {
  body { padding-bottom: 70px; }
  .sidebar { inset: auto 0 0; z-index: 50; width: auto; height: 68px; padding: 7px 12px; border-top: 1px solid rgba(255,255,255,.1); }
  .brand, .sidebar-foot { display: none; }
  .main-nav { grid-template-columns: repeat(5, 1fr); gap: 3px; margin: 0; }
  .nav-item { flex-direction: column; justify-content: center; gap: 2px; height: 54px; padding: 4px 7px; font-size: 9px; text-align: center; }
  .nav-item.active::after { display: none; }
  .nav-item svg { width: 18px; height: 18px; }
  .main-content { margin-left: 0; padding: 0 18px 30px; }
  .topbar { min-height: 87px; }
  .topbar h1 { font-size: 20px; }
  .eyebrow { font-size: 8px; }
  .today-pill, .top-actions > .icon-button { display: none; }
  .btn-form-copy { padding: 0 11px; }
  .form-copy-long { display: none; }
  .form-copy-short { display: inline; }
  .top-new { padding: 0 11px; }
  .top-new span { display: none; }
  .hero-card { grid-template-columns: 1fr; }
  .hero-copy { padding: 28px; }
  .hero-copy h2 { font-size: 30px; }
  .hero-art { display: none; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .inventory-summary { grid-template-columns: repeat(3, 1fr); }
  .inventory-summary .search-field { grid-column: 1 / -1; min-height: 50px; }
  .client-summary-grid { grid-template-columns: repeat(3, 1fr); }
  .client-summary-grid .client-search { grid-column: 1 / -1; }
  .quote-table-head { display: none; }
  .quote-row { grid-template-columns: 1.1fr 1.2fr .8fr .9fr 40px; }
  .quote-row > :nth-child(3), .quote-row > :nth-child(4) { display: none; }
  .quote-workspace { display: block; }
  .quote-editor { padding: 14px; }
  .quote-preview-wrap { padding: 18px 10px 40px; }
  .calendar-layout { display: block; }
  .day-agenda { margin-top: 15px; }
  .calendar-day { min-height: 92px; padding: 6px; }
}

@media (max-width: 560px) {
  .login-card { padding: 27px 22px 23px; border-radius: 21px; }
  .login-brand img { width: 102px; }
  .login-heading h1 { font-size: 27px; }
  .main-content { padding-inline: 12px; }
  .topbar { gap: 8px; }
  .topbar > div:first-child { min-width: 0; }
  .topbar h1 { font-size: 17px; }
  .top-new { display: none; }
  .hero-copy { padding: 24px 21px; }
  .hero-copy h2 { font-size: 27px; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .stat-card { min-height: 98px; padding: 13px; }
  .stat-icon { flex-basis: 38px; width: 38px; height: 38px; margin-right: 9px; }
  .stat-card strong { font-size: 19px; }
  .agenda-panel, .activity-panel { padding: 17px; }
  .section-toolbar { align-items: flex-start; }
  .section-toolbar .btn { padding: 0 10px; font-size: 10px; }
  .inventory-summary { grid-template-columns: 1fr 1fr; }
  .inventory-summary > div:nth-child(3) { grid-column: 1 / -1; }
  .toy-grid, .client-grid { grid-template-columns: 1fr; }
  .client-summary-grid { grid-template-columns: 1fr 1fr; }
  .client-summary-grid > article:nth-child(3), .client-summary-grid .client-search { grid-column: 1 / -1; }
  .quote-filterbar { align-items: stretch; flex-direction: column; }
  .filter-tabs { overflow-x: auto; }
  .filter-tab { white-space: nowrap; }
  .search-field.compact { width: 100%; }
  .quote-row { grid-template-columns: 1.2fr .8fr .9fr 34px; }
  .quote-row > :nth-child(2) { display: none; }
  .calendar-toolbar { align-items: stretch; flex-direction: column; }
  .month-navigation { justify-content: center; }
  .month-navigation h2 { min-width: 145px; font-size: 19px; }
  .calendar-legend { justify-content: center; }
  .calendar-card { overflow-x: auto; }
  .calendar-weekdays, .calendar-grid { min-width: 650px; }
  .modal { padding: 10px; }
  .form-grid.two, .form-grid.three, .form-grid.four { grid-template-columns: 1fr; }
  .client-select-row { grid-template-columns: 1fr; }
  .client-address-row { grid-template-columns: 1fr 34px; }
  .client-address-row .address-label { grid-column: 1 / -1; }
  .profile-contact-grid { grid-template-columns: 1fr; }
  .profile-contact-item.full { grid-column: auto; }
  .profile-metrics { grid-template-columns: 1fr 1fr; }
  .profile-metrics div:last-child { grid-column: 1 / -1; }
  .history-row { grid-template-columns: 1fr .9fr .8fr 28px; }
  .history-row > :nth-child(2) { display: none; }
  .contract-history-row { grid-template-columns: 1fr; }
  .contract-history-actions { justify-content: flex-start; }
  .quote-modal { padding: 0; }
  .quote-modal-header { padding: 9px 12px; }
  .quote-header-actions .btn-soft { display: none; }
  .quote-header-actions .btn-whatsapp { padding: 0 9px; font-size: 9px; }
  .quote-header-actions .btn-primary { padding: 0 10px; font-size: 9px; }
  .quote-toy-picker { grid-template-columns: 1fr; }
  .selected-item { grid-template-columns: 1fr 72px 92px 26px; }
  .item-unit-price { display: none; }
  .quote-value-editor { grid-template-columns: 1fr; }
  .quote-sheet { min-width: 570px; }
  .quote-preview-wrap { overflow-x: auto; }
  .preview-toolbar { min-width: 570px; }
}

@media print {
  @page { size: A4 portrait; margin: 0; }
  body { background: #fff; }
  body * { visibility: hidden !important; }
  #quotePreview, #quotePreview * { visibility: visible !important; }
  #quotePreview { position: absolute; inset: 0; width: 210mm; min-height: 297mm; margin: 0; padding: 9mm 8mm 5mm; border: 0; border-radius: 0; box-shadow: none; transform: none; }
  .sheet-header { min-height: 51mm; }
  .sheet-header > img { height: 46mm; }
  .sheet-item { min-height: 34mm; }
  .sheet-item-photo img, .sheet-photo-placeholder { height: 29mm; }
}

/* EBA Kids brand accents */
.login-screen { background: radial-gradient(circle at 15% 15%, rgba(240,72,120,.28), transparent 35%), linear-gradient(135deg, #071827, #103966 58%, #117ad3); }
.sidebar { background: linear-gradient(180deg, #102b43 0%, #071827 100%); }
.nav-item.active { background: #e9466d; box-shadow: 0 8px 22px rgba(233,70,109,.24); }

/* EBA Kids estimate sheet */
.eba-sheet { width:min(610px,100%); min-height:850px; padding:24px 25px 0; border:1px solid #e7e9ed; border-radius:18px; color:#293a4b; background:#fff; font-family:"DM Sans",sans-serif; }
.eba-sheet .sheet-top-accent { height:7px; background:linear-gradient(90deg,#e7466f 0 35%,#f5c74b 35% 68%,#4b9ccb 68%); }
.eba-sheet .sheet-header { grid-template-columns:120px 1fr; gap:18px; min-height:138px; }
.eba-sheet .sheet-header>img { width:112px;height:112px;object-fit:cover;border-radius:20px;background:#071827; }
.eba-sheet .sheet-title { text-align:right; }
.eba-sheet .sheet-title h2 { margin:4px 0 9px;color:#142f45;font:800 30px/1 "Baloo 2",sans-serif; }
.eba-sheet .sheet-kicker { color:#bf4b6a;font-size:9px;font-weight:800;letter-spacing:.12em; }
.eba-sheet .sheet-title p { margin:4px 0;color:#728090;font-size:8px; }
.eba-sheet .sheet-title p b { color:#243b51; }
.eba-sheet .sheet-client { gap:9px;margin:0 0 11px;padding:12px 14px;border-radius:12px;background:#f5f7f9;font-size:9px; }
.eba-sheet .sheet-client-icon { width:30px;height:30px;background:#e7466f; }
.eba-sheet .sheet-client>strong { color:#a64b64;font-size:8px;letter-spacing:.06em; }
.eba-sheet .sheet-client>b:last-child { margin-left:auto;color:#142f45;font-size:12px; }
.eba-sheet .sheet-address { margin:0 0 15px;padding:10px 13px;border:1px solid #edf0f3;border-radius:10px;font-size:9px; }
.eba-sheet .sheet-address strong { color:#a64b64;font-size:8px; }
.eba-sheet .sheet-table-head { border:0;color:#a64b64;background:#fff;font-size:8px; }
.eba-sheet .sheet-items { border-top:1px solid #e9edf0; }
.eba-sheet .eba-sheet-item { grid-template-columns:96px 1fr 95px;min-height:92px;border-top:0;border-bottom:1px solid #edf0f2; }
.eba-sheet .eba-sheet-item>div { border:0; }
.eba-sheet .sheet-item-photo { padding:9px 9px 9px 0; }
.eba-sheet .sheet-item-photo img,.eba-sheet .sheet-photo-placeholder { width:100%;height:72px;object-fit:cover;border-radius:10px; }
.eba-sheet .sheet-item-desc { padding:8px 10px; }
.eba-sheet .sheet-item-desc strong { color:#182f45;font-size:11px; }
.eba-sheet .sheet-item-desc b { color:#bb5067;font-size:8px; }
.eba-sheet .sheet-item-desc p { margin-top:5px;color:#687787;font-size:8px; }
.eba-sheet .sheet-item-price { color:#187b59;font-size:13px; }
.eba-sheet .sheet-total-row { grid-template-columns:1fr 1fr;min-height:78px;margin-top:14px;border:0;border-radius:13px;background:#142f45; }
.eba-sheet .sheet-total-row>div:first-child { align-items:flex-start;padding-left:18px;border:0; }
.eba-sheet .sheet-total-row span { color:#f1c8d2;font-size:9px;letter-spacing:.08em; }
.eba-sheet .sheet-total-row strong { margin-top:5px;color:#fff;font-size:26px; }
.eba-sheet .security-box { justify-content:center;align-items:flex-end;padding:8px 15px;color:#fff;background:transparent;text-align:right; }
.eba-sheet .security-box b { font-size:9px; }
.eba-sheet .security-box em { color:#f4cc59;font-style:normal; }
.eba-sheet .sheet-payment-title { margin:16px 0 7px;color:#bd4e68;font-size:8px;font-weight:800;letter-spacing:.1em; }
.eba-sheet .sheet-payment { border:1px solid #e9edf0;border-radius:12px; }
.eba-sheet .sheet-payment>div { padding:11px; }
.eba-sheet .sheet-payment b { color:#a54b63;font-size:8px; }
.eba-sheet .sheet-payment strong { color:#142f45;font-size:16px; }
.eba-sheet .sheet-payment small { color:#758291;font-size:7px; }
.eba-sheet .sheet-notes { margin-top:11px;padding:11px;border-radius:10px;color:#596a78;background:#fff7e9;font-size:9px; }
.eba-sheet .sheet-notes strong { color:#a64b64;font-size:8px; }
.eba-sheet .sheet-footer { grid-template-columns:1fr 1px 1fr;min-height:66px;margin:15px -25px 0;padding:9px 22px;color:#34485a;background:#f5f7f9; }
.eba-sheet .sheet-footer i { background:#dce1e6; }
.eba-sheet .sheet-footer b { color:#142f45;font-size:9px; }
.eba-sheet .sheet-footer small { color:#b84866;font-size:7px; }
.eba-sheet .social-icon.whatsapp { color:#16805a;background:#e4f4ec; }
.eba-sheet .social-icon.instagram { color:#bd4b68;background:#fbeaf0; }
.eba-sheet .sheet-signature { width:auto;margin:0 -25px;padding:8px;color:#fff;background:#e7466f;font-size:8px;text-align:center; }
@media print { .eba-sheet { min-height:0; } }

/* Transparent EBA Kids logo: no tile behind the artwork. */
.login-brand img,.brand img,.mobile-brand img,.hero-art img,.eba-sheet .sheet-header>img { background:transparent; }
.brand img,.mobile-brand img { object-fit:contain; }

/* Mobile layout refinements. Desktop styles above remain unchanged. */
@media (max-width: 820px) {
  .main-content { width:100%; min-width:0; }
  .topbar { width:100%; align-items:center; }
  .topbar > div:first-child { flex:1; min-width:0; }
  .top-actions { flex:0 0 auto; width:auto; justify-content:flex-end; }
  .btn-form-copy { flex:0 0 auto; width:auto; min-width:0; height:42px; padding:0 12px; justify-content:center; }
  .btn-form-copy .form-copy-long { display:none; }
  .btn-form-copy .form-copy-short { display:inline; }
  .btn-form-copy > span[aria-hidden="true"] { display:inline; font-size:17px; }
  .section-toolbar:not(.calendar-toolbar) { align-items:stretch; flex-direction:column; gap:10px; margin-bottom:14px; }
  .section-toolbar:not(.calendar-toolbar) > .btn,.toolbar-actions > .btn { width:100%; min-height:44px; white-space:nowrap; }
  .toolbar-actions { display:grid; grid-template-columns:1fr; width:100%; }
  #quotesSection .toolbar-actions .btn-soft { display:none; }
  .quote-filterbar { gap:10px; }
  .search-field.compact { width:100%; min-height:46px; }
  .table-card,.quote-table-body { min-width:0; }
  .inventory-summary,.client-summary-grid { min-width:0; }
  .toy-grid,.client-grid,.dashboard-grid,.stats-grid { min-width:0; }
  .calendar-layout { display:grid; grid-template-columns:minmax(0,1fr); }
  .calendar-card { overflow:hidden; }
  .calendar-weekdays,.calendar-grid { width:100%; min-width:0; grid-template-columns:repeat(7,minmax(0,1fr)); }
  .calendar-weekdays span { padding:8px 0; font-size:7px; }
  .calendar-day { min-width:0; min-height:66px; padding:4px 2px; overflow:hidden; }
  .calendar-event-chip { display:inline-block; width:7px; height:7px; min-width:7px; margin:7px 1px 0; padding:0; overflow:hidden; border:0; border-radius:50%; color:transparent; font-size:0; vertical-align:middle; }
  .modal { align-items:flex-start; overflow-y:auto; }
  .modal-dialog { width:100%; max-height:calc(100dvh - 16px); }
  .quote-modal { width:100%; height:100dvh; max-height:none; overflow-y:auto; border-radius:0; }
  .quote-modal-header { position:sticky; top:0; }
  .quote-workspace { display:block; min-height:0; }
  .quote-editor { overflow:visible; }
  .quote-preview-wrap { overflow:visible; }
  .quote-sheet,.eba-sheet { width:100%; min-width:0; min-height:0; }
  .preview-toolbar { width:100%; min-width:0; }
}
@media (max-width: 560px) {
  .main-content { padding-inline:12px; }
  .topbar { min-height:74px; gap:8px; }
  .topbar h1 { max-width:100%; font-size:17px; line-height:1.15; }
  .top-actions { gap:0; }
  .btn-form-copy { gap:5px; min-height:40px; padding:0 10px; border-radius:12px; font-size:10px; }
  .section-toolbar:not(.calendar-toolbar) > div:first-child { min-width:0; }
  .section-description { font-size:13px; line-height:1.45; }
  .quote-filterbar { align-items:stretch; }
  .filter-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; width:100%; overflow:visible; }
  .filter-tab { min-width:0; padding:8px 6px; text-align:center; white-space:nowrap; }
  .filter-tab span { min-width:17px; height:17px; }
  .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stat-card { min-width:0; }
  .calendar-toolbar { gap:10px; }
  .month-navigation { display:grid; grid-template-columns:40px minmax(0,1fr) 40px 54px; gap:5px; width:100%; }
  .month-navigation h2 { min-width:0; font-size:16px; white-space:nowrap; }
  .month-navigation .icon-button { width:38px; height:38px; }
  .calendar-legend { flex-wrap:wrap; gap:8px; font-size:9px; }
  .calendar-day { min-height:58px; }
  .quote-modal-header { min-height:60px; gap:8px; }
  .quote-modal-header h2 { font-size:17px; }
  .quote-header-actions { gap:5px; }
  .quote-header-actions .btn-whatsapp,.quote-header-actions .btn-primary { min-height:36px; font-size:9px; }
  .quote-editor { padding:12px; }
  .quote-preview-wrap { padding:14px 10px 28px; }
  .eba-sheet { padding:18px 11px 0; border-radius:14px; }
  .eba-sheet .sheet-header { grid-template-columns:64px minmax(0,1fr); gap:8px; min-height:80px; }
  .eba-sheet .sheet-header>img { width:60px; height:60px; border-radius:10px; }
  .eba-sheet .sheet-title { padding-left:0; }
  .eba-sheet .sheet-title h2 { font-size:21px; }
  .eba-sheet .sheet-title p { justify-content:flex-end; gap:3px; font-size:7px; }
  .eba-sheet .sheet-client { flex-wrap:wrap; gap:6px; padding:9px; }
  .eba-sheet .sheet-client>b:last-child { flex:1 0 calc(100% - 40px); margin-left:36px; }
  .eba-sheet .sheet-table-head { grid-template-columns:minmax(0,1fr) 70px; }
  .eba-sheet .sheet-table-head span:nth-child(2) { display:none; }
  .eba-sheet .eba-sheet-item { grid-template-columns:56px minmax(0,1fr) 68px; gap:4px; min-height:76px; }
  .eba-sheet .sheet-item-photo { padding:6px 3px 6px 0; }
  .eba-sheet .sheet-item-photo img,.eba-sheet .sheet-photo-placeholder { height:52px; border-radius:8px; }
  .eba-sheet .sheet-item-desc { padding:5px; }
  .eba-sheet .sheet-item-desc strong { font-size:9px; }
  .eba-sheet .sheet-item-desc b { font-size:7px; }
  .eba-sheet .sheet-item-desc p { margin-top:4px; font-size:7px; }
  .eba-sheet .sheet-item-price { font-size:10px; }
  .eba-sheet .sheet-total-row { grid-template-columns:1fr 1fr; min-height:68px; }
  .eba-sheet .sheet-total-row>div:first-child { padding-left:9px; }
  .eba-sheet .sheet-total-row span { font-size:7px; }
  .eba-sheet .sheet-total-row strong { font-size:19px; }
  .eba-sheet .security-box { margin:5px; padding:4px; }
  .eba-sheet .security-box b { font-size:7px; }
  .eba-sheet .sheet-payment>div { gap:5px; padding:8px 5px; }
  .eba-sheet .pay-icon { flex-basis:30px; width:30px; height:30px; font-size:16px; }
  .eba-sheet .sheet-payment p strong { font-size:12px; }
  .eba-sheet .sheet-payment p small { font-size:5px; }
  .eba-sheet .sheet-footer { margin-inline:-11px; padding-inline:8px; }
  .eba-sheet .sheet-footer>div { gap:5px; }
  .eba-sheet .social-icon { width:27px; height:27px; font-size:16px; }
  .eba-sheet .sheet-footer b { font-size:8px; }
  .eba-sheet .sheet-footer small { font-size:6px; }
  .eba-sheet .sheet-signature { margin-inline:-11px; }
}
@media (max-width: 360px) {
  .btn-form-copy { padding-inline:8px; font-size:9px; }
}
@media (max-width: 380px) {
  .stats-grid { grid-template-columns:1fr; }
  .month-navigation { grid-template-columns:36px minmax(0,1fr) 36px 49px; }
  .month-navigation .icon-button { width:34px; height:34px; }
  .month-navigation h2 { font-size:14px; }
  .nav-item { padding-inline:2px; font-size:8px; }
  .quote-header-actions .btn-whatsapp { display:none; }
}

/* Quote composer redesign: system navy blue, coral and yellow and card-based pricing. */
.quote-preview-wrap { background:#f4f7fb; }
.preview-toolbar { color:#61766d; }
.eba-sheet {
  width:min(720px,100%); min-height:0; padding:0; overflow:hidden;
  border:0; border-radius:24px; color:#102b43; background:#ffffff;
  box-shadow:0 18px 46px rgba(9,43,99,.16); font-family:"DM Sans",sans-serif;
}
.eba-sheet .sheet-top-accent { display:none; }
.eba-sheet .sheet-header {
  position:relative; grid-template-columns:116px minmax(0,1fr); gap:22px; min-height:196px;
  padding:27px 30px; color:#fff; background:linear-gradient(122deg,#102b43,#061f49);
}
.eba-sheet .sheet-header::after {
  position:absolute; top:-116px; right:75px; width:290px; height:290px; border:1px solid rgba(255,255,255,.12);
  border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.035),0 0 0 62px rgba(255,255,255,.025); content:""; pointer-events:none;
}
.eba-sheet .sheet-header>img {
  position:relative; z-index:1; width:112px; height:112px; padding:5px; object-fit:contain;
  border-radius:20px; background:#fff; box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.eba-sheet .sheet-title { position:relative; z-index:1; padding:0; text-align:left; }
.eba-sheet .sheet-kicker { color:#f4c430; font-size:8px; font-weight:800; letter-spacing:.15em; }
.eba-sheet .sheet-title h2 { margin:4px 0 9px; color:#fff; font:800 31px/1 "Baloo 2",sans-serif; }
.eba-sheet .sheet-title p { display:grid; grid-template-columns:108px 1fr; justify-content:start; gap:5px; margin:5px 0; color:#bfd4ee; font-size:8px; font-weight:700; letter-spacing:.07em; }
.eba-sheet .sheet-title p b { color:#fff; font-size:9px; letter-spacing:0; }
.eba-sheet .sheet-client {
  display:grid; grid-template-columns:38px auto minmax(0,1fr); gap:11px; align-items:center;
  min-height:66px; margin:18px 24px 12px; padding:12px 16px; border-radius:15px; background:#eaf4ff;
}
.eba-sheet .sheet-client-icon { width:38px; height:38px; color:#102b43; background:rgba(255,255,255,.75); font-size:13px; }
.eba-sheet .sheet-client>strong { color:#e9466d; font-size:8px; font-weight:800; letter-spacing:.12em; }
.eba-sheet .sheet-client>b:last-child { margin-left:auto; color:#102b43; font:800 14px "Baloo 2",sans-serif; text-align:right; }
.eba-sheet .sheet-address { margin:0 24px 16px; padding:10px 13px; border:1px solid #e7ebf2; border-radius:11px; color:#4a5a70; background:#fff; font-size:9px; }
.eba-sheet .sheet-address strong { margin-right:7px; color:#ef3948; font-size:8px; letter-spacing:.08em; }
.eba-sheet .sheet-table { margin:0 24px; overflow:visible; border:0; border-radius:0; }
.eba-sheet .sheet-table-head {
  display:grid; grid-template-columns:96px minmax(0,1fr) 96px; align-items:center; height:auto; min-height:36px;
  padding:0 10px; border:0; border-bottom:1px solid #dfe6df; color:#74877e; background:transparent; font-size:8px; font-weight:800; letter-spacing:.1em;
}
.eba-sheet .sheet-table-head span { display:flex; justify-content:flex-start; border:0; }
.eba-sheet .sheet-table-head span:last-child { justify-content:flex-end; }
.eba-sheet .sheet-items { display:grid; gap:8px; padding-top:10px; border:0; }
.eba-sheet .eba-sheet-item {
  grid-template-columns:96px minmax(0,1fr) 96px; gap:0; min-height:96px; overflow:hidden;
  border:1px solid #e7ebf2; border-radius:14px; background:#fff; box-shadow:0 3px 10px rgba(9,43,99,.035);
}
.eba-sheet .eba-sheet-item>div { border:0; }
.eba-sheet .sheet-item-photo { padding:9px; }
.eba-sheet .sheet-item-photo img,.eba-sheet .sheet-photo-placeholder { width:100%; height:76px; object-fit:cover; border-radius:10px; }
.eba-sheet .sheet-photo-placeholder { color:#718096; background:#f4f7fb; }
.eba-sheet .sheet-item-desc { padding:10px 12px; }
.eba-sheet .sheet-item-desc strong { color:#102b43; font:800 11px "Baloo 2",sans-serif; }
.eba-sheet .sheet-item-desc b { width:max-content; margin-top:5px; padding:3px 7px; border-radius:20px; color:#b34c63; background:#fff0f0; font-size:7px; }
.eba-sheet .sheet-item-desc p { margin-top:5px; color:#718096; font-size:8px; line-height:1.4; }
.eba-sheet .sheet-item-price { align-self:stretch; padding:0 12px; color:#e9466d; background:#eaf4ff; font-size:12px; }
.eba-sheet .sheet-empty-items { min-height:160px; border:1px dashed #d6dfd5; border-radius:14px; color:#74877e; background:#fff; }
.eba-sheet .sheet-total-row {
  grid-template-columns:1fr .82fr; min-height:108px; margin:15px 24px 0; border:0; border-radius:16px;
  background:linear-gradient(115deg,#f4c430,#ffdc68);
}
.eba-sheet .sheet-total-row>div:first-child { align-items:flex-start; padding:15px 18px; border:0; }
.eba-sheet .sheet-total-row span { color:#102b43; font-size:8px; letter-spacing:.12em; }
.eba-sheet .sheet-total-row strong { margin-top:5px; color:#102b43; font:800 28px/1.1 "Baloo 2",sans-serif; }
.eba-sheet .security-box { align-items:center; justify-content:center; margin:12px; padding:12px; border:1px solid rgba(9,43,99,.12); border-radius:12px; color:#102b43; background:rgba(255,255,255,.45); text-align:left; }
.eba-sheet .security-box b { font-size:9px; line-height:1.5; }
.eba-sheet .security-box em { color:#ef3948; font-style:normal; }
.eba-sheet .sheet-payment-title { margin:18px 24px 8px; color:#c25269; font-size:8px; letter-spacing:.14em; }
.eba-sheet .sheet-payment {
  grid-template-columns:1fr 1fr; gap:9px; min-height:0; margin:0 24px; border:0; border-radius:0;
}
.eba-sheet .sheet-payment>div { gap:10px; min-width:0; padding:12px; border:1px solid #e7ebf2; border-radius:13px; background:#fff; }
.eba-sheet .pay-icon { flex-basis:38px; width:38px; height:38px; font-size:17px; }
.eba-sheet .pay-icon.green { color:#fff; background:#14924c; }
.eba-sheet .pay-icon.red { color:#fff; background:#ef3948; }
.eba-sheet .sheet-payment p b { color:#718096; font-size:7px; letter-spacing:.1em; }
.eba-sheet .sheet-payment p strong { color:#102b43; font:800 15px "Baloo 2",sans-serif; }
.eba-sheet .sheet-payment>div:last-child p strong { color:#ef3948; }
.eba-sheet .sheet-payment p small { color:#718096; font-size:6px; }
.eba-sheet .sheet-notes { margin:12px 24px 0; padding:11px 13px; border:1px solid #f0dfaf; border-radius:11px; color:#4a5a70; background:#fff8e8; font-size:8px; }
.eba-sheet .sheet-notes strong { color:#be5066; font-size:8px; letter-spacing:.08em; }
.eba-sheet .sheet-footer {
  grid-template-columns:1fr 1px 1fr; min-height:72px; margin:18px 0 0; padding:10px 26px;
  color:#fff; background:#102b43;
}
.eba-sheet .sheet-footer i { background:rgba(255,255,255,.22); }
.eba-sheet .sheet-footer b { color:#fff; font-size:9px; }
.eba-sheet .sheet-footer small { color:#bfd4ee; font-size:7px; }
.eba-sheet .social-icon.whatsapp { color:#fff; background:#14924c; }
.eba-sheet .social-icon.instagram { color:#fff; background:#ef3948; }
.eba-sheet .sheet-signature { width:auto; margin:0; padding:9px; color:#102b43; background:#f4c430; font-size:8px; font-weight:800; letter-spacing:.1em; }
@media (max-width:700px) {
  .quote-preview-wrap { padding:14px 10px 28px; background:#f4f7fb; }
  .eba-sheet { width:100%; min-height:0; padding:0; border-radius:18px; }
  .eba-sheet .sheet-header { grid-template-columns:61px minmax(0,1fr); gap:11px; min-height:124px; padding:15px 13px; }
  .eba-sheet .sheet-header::after { top:-100px; right:5px; width:210px; height:210px; }
  .eba-sheet .sheet-header>img { width:59px; height:59px; padding:2px; border-radius:12px; }
  .eba-sheet .sheet-kicker { font-size:6px; letter-spacing:.1em; }
  .eba-sheet .sheet-title h2 { margin:4px 0 6px; font-size:21px; }
  .eba-sheet .sheet-title p { grid-template-columns:72px 1fr; gap:3px; margin:4px 0; font-size:6px; }
  .eba-sheet .sheet-title p b { font-size:7px; }
  .eba-sheet .sheet-client { grid-template-columns:30px 1fr; gap:6px 9px; min-height:0; margin:12px 12px 9px; padding:9px; }
  .eba-sheet .sheet-client-icon { grid-row:span 2; width:30px; height:30px; font-size:10px; }
  .eba-sheet .sheet-client>strong { align-self:end; font-size:6px; }
  .eba-sheet .sheet-client>b:last-child { grid-column:2; justify-self:start; margin:0; font-size:11px; text-align:left; }
  .eba-sheet .sheet-address { margin:0 12px 12px; padding:8px 9px; font-size:8px; }
  .eba-sheet .sheet-table { margin:0 12px; }
  .eba-sheet .sheet-table-head { grid-template-columns:52px minmax(0,1fr) 65px; min-height:30px; padding:0 6px; font-size:6px; }
  .eba-sheet .sheet-table-head span:nth-child(2) { display:flex; }
  .eba-sheet .eba-sheet-item { grid-template-columns:52px minmax(0,1fr) 65px; gap:0; min-height:72px; border-radius:11px; }
  .eba-sheet .sheet-item-photo { padding:6px; }
  .eba-sheet .sheet-item-photo img,.eba-sheet .sheet-photo-placeholder { height:58px; border-radius:7px; }
  .eba-sheet .sheet-item-desc { padding:6px; }
  .eba-sheet .sheet-item-desc strong { font-size:8px; }
  .eba-sheet .sheet-item-desc b { margin-top:3px; padding:2px 5px; font-size:6px; }
  .eba-sheet .sheet-item-desc p { margin-top:3px; font-size:6px; }
  .eba-sheet .sheet-item-price { padding:0 5px; font-size:8px; }
  .eba-sheet .sheet-empty-items { min-height:125px; }
  .eba-sheet .sheet-total-row { grid-template-columns:1fr .9fr; min-height:76px; margin:11px 12px 0; border-radius:12px; }
  .eba-sheet .sheet-total-row>div:first-child { padding:11px; }
  .eba-sheet .sheet-total-row span { font-size:6px; }
  .eba-sheet .sheet-total-row strong { font-size:20px; }
  .eba-sheet .security-box { margin:7px; padding:7px; border-radius:9px; }
  .eba-sheet .security-box b { font-size:6px; }
  .eba-sheet .sheet-payment-title { margin:13px 12px 7px; font-size:7px; }
  .eba-sheet .sheet-payment { gap:6px; margin:0 12px; }
  .eba-sheet .sheet-payment>div { gap:5px; padding:7px 5px; border-radius:10px; }
  .eba-sheet .pay-icon { flex-basis:27px; width:27px; height:27px; font-size:13px; }
  .eba-sheet .sheet-payment p b { font-size:6px; }
  .eba-sheet .sheet-payment p strong { font-size:11px; }
  .eba-sheet .sheet-payment p small { font-size:5px; }
  .eba-sheet .sheet-notes { margin:9px 12px 0; padding:8px 9px; font-size:7px; }
  .eba-sheet .sheet-footer { min-height:58px; margin-top:12px; padding:8px 9px; }
  .eba-sheet .sheet-footer>div { gap:5px; }
  .eba-sheet .social-icon { width:27px; height:27px; font-size:15px; }
  .eba-sheet .sheet-footer b { font-size:7px; }
  .eba-sheet .sheet-footer small { font-size:5px; }
  .eba-sheet .sheet-signature { padding:7px; font-size:6px; }
}
@media print {
  .eba-sheet { width:100%; min-height:0; padding:0; border:0; border-radius:0; box-shadow:none; }
  .eba-sheet .sheet-header,.eba-sheet .sheet-total-row,.eba-sheet .sheet-footer,.eba-sheet .sheet-signature { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .eba-sheet .eba-sheet-item,.eba-sheet .sheet-payment>div { break-inside:avoid; }
}

/* New composition for the quote preview: editorial white canvas with the system palette. */
.eba-sheet {
  width:min(720px,100%); min-height:0; padding:0; overflow:hidden; border:1px solid #e7ebf2;
  border-radius:22px; color:#14213a; background:#fff; box-shadow:0 18px 48px rgba(9,43,99,.14);
}
.eba-sheet .sheet-top-accent { display:block; height:7px; background:linear-gradient(90deg,#e9466d 0 47%,#f4c430 47% 72%,#ef3948 72%); }
.eba-sheet .sheet-header {
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) 104px; grid-template-rows:auto auto;
  align-items:center; gap:10px 20px; min-height:0; padding:22px 25px 18px; color:#14213a; background:#fff;
  border-bottom:1px solid #e7ebf2;
}
.eba-sheet .sheet-header::after { display:none; }
.eba-sheet .sheet-title { grid-column:1; grid-row:1 / span 2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; padding:0; text-align:left; }
.eba-sheet .sheet-header>img { grid-column:2; grid-row:1 / span 2; justify-self:end; width:100px; height:100px; padding:5px; object-fit:contain; border:1px solid #e7ebf2; border-radius:20px; background:#eaf4ff; }
.eba-sheet .sheet-kicker { grid-column:1/-1; color:#ef3948; font-size:8px; font-weight:800; letter-spacing:.15em; }
.eba-sheet .sheet-title h2 { grid-column:1/-1; margin:0 0 1px; color:#102b43; font:800 32px/.98 "Baloo 2",sans-serif; }
.eba-sheet .sheet-title p { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:3px; min-width:0; min-height:43px; margin:0; padding:6px 8px; border-left:2px solid #e9466d; border-radius:0 8px 8px 0; color:#718096; background:#f4f7fb; font-size:6px; font-weight:800; letter-spacing:.07em; }
.eba-sheet .sheet-title p b { color:#102b43; font-size:8px; letter-spacing:0; }
.eba-sheet .sheet-client { display:grid; grid-template-columns:40px auto minmax(0,1fr); align-items:center; gap:11px; min-height:66px; margin:16px 22px 12px; padding:12px 16px; border-radius:14px; color:#fff; background:linear-gradient(100deg,#ef3948,#d9253e); }
.eba-sheet .sheet-client-icon { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.45); border-radius:12px; color:#fff; background:rgba(255,255,255,.14); }
.eba-sheet .sheet-client-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.eba-sheet .sheet-client>strong { color:#ffe3e8; font-size:7px; font-weight:800; letter-spacing:.12em; }
.eba-sheet .sheet-client>b:last-child { margin-left:auto; color:#fff; font:800 14px "Baloo 2",sans-serif; text-align:right; }
.eba-sheet .sheet-address { margin:0 22px 15px; padding:9px 12px; border:1px solid #f2dd91; border-radius:10px; color:#53657d; background:#fff9df; font-size:8px; }
.eba-sheet .sheet-address strong { margin-right:7px; color:#102b43; font-size:7px; letter-spacing:.08em; }
.eba-sheet .sheet-items-heading { display:flex; align-items:center; gap:10px; margin:4px 22px 8px; }
.eba-sheet .sheet-section-number { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; border-radius:10px; color:#fff; background:#e9466d; font:800 10px "Baloo 2",sans-serif; }
.eba-sheet .sheet-items-heading>div { display:flex; flex-direction:column; gap:1px; }
.eba-sheet .sheet-items-heading small { color:#ef3948; font-size:6px; font-weight:800; letter-spacing:.12em; }
.eba-sheet .sheet-items-heading strong { color:#102b43; font:800 13px "Baloo 2",sans-serif; }
.eba-sheet .sheet-section-mark { margin-left:auto; color:#718096; font-size:7px; font-weight:800; letter-spacing:.12em; }
.eba-sheet .sheet-table { margin:0 22px; overflow:visible; border:0; border-radius:0; }
.eba-sheet .sheet-table-head { display:grid; grid-template-columns:84px minmax(0,1fr) 94px; align-items:center; height:auto; min-height:29px; padding:0 9px; border:0; border-bottom:1px solid #e7ebf2; color:#718096; background:#fff; font-size:6px; font-weight:800; letter-spacing:.1em; }
.eba-sheet .sheet-table-head span { display:flex; justify-content:flex-start; border:0; }
.eba-sheet .sheet-table-head span:last-child { justify-content:flex-end; }
.eba-sheet .sheet-items { display:grid; gap:8px; padding-top:9px; border:0; }
.eba-sheet .eba-sheet-item { grid-template-columns:84px minmax(0,1fr) 94px; gap:0; min-height:86px; overflow:hidden; border:1px solid #e7ebf2; border-left:3px solid #f4c430; border-radius:12px; background:#fff; box-shadow:0 3px 10px rgba(9,43,99,.045); }
.eba-sheet .eba-sheet-item>div { border:0; }
.eba-sheet .sheet-item-photo { padding:8px; }
.eba-sheet .sheet-item-photo img,.eba-sheet .sheet-photo-placeholder { width:100%; height:68px; object-fit:cover; border-radius:9px; }
.eba-sheet .sheet-photo-placeholder { color:#718096; background:#f4f7fb; }
.eba-sheet .sheet-item-desc { padding:8px 10px; }
.eba-sheet .sheet-item-desc strong { color:#102b43; font:800 10px "Baloo 2",sans-serif; }
.eba-sheet .sheet-item-desc b { width:max-content; margin-top:4px; padding:3px 7px; border-radius:20px; color:#ef3948; background:#fff0f0; font-size:6px; }
.eba-sheet .sheet-item-desc p { margin-top:4px; color:#718096; font-size:7px; line-height:1.4; }
.eba-sheet .sheet-item-price { align-self:stretch; padding:0 10px; border-left:1px solid #e7ebf2!important; color:#e9466d; background:#f4f8fd; font-size:11px; }
.eba-sheet .sheet-empty-items { min-height:140px; border:1px dashed #c9d7e8; border-radius:12px; color:#718096; background:#f4f7fb; }
.eba-sheet .sheet-total-row { grid-template-columns:1fr 1.15fr; min-height:104px; margin:14px 22px 0; overflow:hidden; border:0; border-radius:15px; background:linear-gradient(110deg,#102b43,#e9466d); }
.eba-sheet .sheet-total-row>div:first-child { grid-column:2; grid-row:1; align-items:flex-end; padding:15px 18px; border:0; }
.eba-sheet .sheet-total-row span { color:#c8dcf7; font-size:7px; letter-spacing:.13em; }
.eba-sheet .sheet-total-row strong { margin-top:4px; color:#fff; font:800 26px/1.05 "Baloo 2",sans-serif; }
.eba-sheet .security-box { grid-column:1; grid-row:1; align-items:center; justify-content:flex-start; margin:12px; padding:12px; border-right:1px solid rgba(255,255,255,.25); border-radius:0; color:#fff; background:transparent; text-align:left; }
.eba-sheet .security-box b { font-size:8px; line-height:1.6; letter-spacing:.05em; }
.eba-sheet .security-box em { color:#f4c430; font-style:normal; }
.eba-sheet .sheet-payment-title { margin:16px 22px 7px; color:#e9466d; font-size:7px; letter-spacing:.14em; }
.eba-sheet .sheet-payment { grid-template-columns:1fr 1fr; gap:8px; min-height:0; margin:0 22px; border:0; border-radius:0; }
.eba-sheet .sheet-payment>div { gap:9px; min-width:0; padding:10px; border:1px solid #e7ebf2; border-radius:12px; background:#fff; }
.eba-sheet .pay-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:10px; }
.eba-sheet .pay-icon svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.eba-sheet .pay-icon.green { color:#fff; background:#14924c; }
.eba-sheet .pay-icon.red { color:#fff; background:#ef3948; }
.eba-sheet .sheet-payment p b { color:#718096; font-size:6px; letter-spacing:.1em; }
.eba-sheet .sheet-payment p strong { color:#102b43; font:800 14px "Baloo 2",sans-serif; }
.eba-sheet .sheet-payment>div:last-child p strong { color:#ef3948; }
.eba-sheet .sheet-payment p small { color:#718096; font-size:5px; }
.eba-sheet .sheet-notes { margin:10px 22px 0; padding:9px 11px; border:1px solid #f2dd91; border-left:3px solid #f4c430; border-radius:8px; color:#53657d; background:#fff9df; font-size:7px; }
.eba-sheet .sheet-notes strong { color:#102b43; font-size:7px; letter-spacing:.08em; }
.eba-sheet .sheet-footer { grid-template-columns:1fr 1px 1fr; min-height:66px; margin:16px 0 0; padding:9px 22px; color:#14213a; background:#f4f7fb; border-top:1px solid #e7ebf2; }
.eba-sheet .sheet-footer i { background:#d8e1ed; }
.eba-sheet .sheet-footer b { color:#102b43; font-size:8px; }
.eba-sheet .sheet-footer small { color:#718096; font-size:6px; }
.eba-sheet .social-icon { display:grid; place-items:center; width:31px; height:31px; border-radius:10px; }
.eba-sheet .social-icon svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.eba-sheet .social-icon.whatsapp { color:#fff; background:#14924c; }
.eba-sheet .social-icon.instagram { color:#fff; background:#ef3948; }
.eba-sheet .sheet-signature { width:auto; margin:0; padding:8px; color:#fff; background:#102b43; font-size:7px; font-weight:800; letter-spacing:.12em; }
@media (max-width:700px) {
  .eba-sheet { width:100%; min-height:0; padding:0; border-radius:18px; }
  .eba-sheet .sheet-header { grid-template-columns:minmax(0,1fr) 68px; gap:7px 10px; padding:15px 13px 13px; }
  .eba-sheet .sheet-header>img { width:66px; height:66px; padding:3px; border-radius:13px; }
  .eba-sheet .sheet-title { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  .eba-sheet .sheet-kicker { font-size:6px; }
  .eba-sheet .sheet-title h2 { font-size:22px; }
  .eba-sheet .sheet-title p { min-height:37px; padding:5px; font-size:5px; }
  .eba-sheet .sheet-title p b { font-size:6px; }
  .eba-sheet .sheet-client { grid-template-columns:31px auto minmax(0,1fr); gap:7px; min-height:55px; margin:11px 12px 9px; padding:8px; }
  .eba-sheet .sheet-client-icon { width:30px; height:30px; border-radius:9px; }
  .eba-sheet .sheet-client>strong { font-size:5px; }
  .eba-sheet .sheet-client>b:last-child { font-size:9px; }
  .eba-sheet .sheet-address { margin:0 12px 12px; padding:8px; font-size:7px; }
  .eba-sheet .sheet-items-heading { gap:7px; margin:2px 12px 6px; }
  .eba-sheet .sheet-section-number { flex-basis:26px; width:26px; height:26px; border-radius:8px; font-size:8px; }
  .eba-sheet .sheet-items-heading small { font-size:5px; }
  .eba-sheet .sheet-items-heading strong { font-size:10px; }
  .eba-sheet .sheet-section-mark { font-size:6px; }
  .eba-sheet .sheet-table { margin:0 12px; }
  .eba-sheet .sheet-table-head { grid-template-columns:53px minmax(0,1fr) 65px; min-height:25px; padding:0 5px; font-size:5px; }
  .eba-sheet .sheet-table-head span:nth-child(2) { display:flex; }
  .eba-sheet .eba-sheet-item { grid-template-columns:53px minmax(0,1fr) 65px; min-height:70px; border-radius:10px; }
  .eba-sheet .sheet-item-photo { padding:6px; }
  .eba-sheet .sheet-item-photo img,.eba-sheet .sheet-photo-placeholder { height:56px; border-radius:7px; }
  .eba-sheet .sheet-item-desc { padding:5px; }
  .eba-sheet .sheet-item-desc strong { font-size:7px; }
  .eba-sheet .sheet-item-desc b { margin-top:2px; padding:2px 5px; font-size:5px; }
  .eba-sheet .sheet-item-desc p { margin-top:3px; font-size:5px; }
  .eba-sheet .sheet-item-price { padding:0 4px; font-size:7px; }
  .eba-sheet .sheet-total-row { grid-template-columns:.9fr 1.1fr; min-height:76px; margin:10px 12px 0; border-radius:11px; }
  .eba-sheet .sheet-total-row>div:first-child { padding:10px 9px; }
  .eba-sheet .sheet-total-row span { font-size:5px; }
  .eba-sheet .sheet-total-row strong { font-size:18px; }
  .eba-sheet .security-box { margin:8px; padding:7px; }
  .eba-sheet .security-box b { font-size:6px; }
  .eba-sheet .sheet-payment-title { margin:12px 12px 6px; font-size:6px; }
  .eba-sheet .sheet-payment { gap:5px; margin:0 12px; }
  .eba-sheet .sheet-payment>div { gap:5px; padding:6px 5px; border-radius:9px; }
  .eba-sheet .pay-icon { flex-basis:26px; width:26px; height:26px; border-radius:8px; }
  .eba-sheet .pay-icon svg { width:14px; height:14px; }
  .eba-sheet .sheet-payment p b { font-size:5px; }
  .eba-sheet .sheet-payment p strong { font-size:10px; }
  .eba-sheet .sheet-payment p small { font-size:4px; }
  .eba-sheet .sheet-notes { margin:8px 12px 0; padding:7px 8px; font-size:6px; }
  .eba-sheet .sheet-footer { min-height:56px; margin-top:11px; padding:7px 9px; }
  .eba-sheet .sheet-footer>div { gap:5px; }
  .eba-sheet .social-icon { width:25px; height:25px; border-radius:8px; }
  .eba-sheet .social-icon svg { width:14px; height:14px; }
  .eba-sheet .sheet-footer b { font-size:6px; }
  .eba-sheet .sheet-footer small { font-size:5px; }
  .eba-sheet .sheet-signature { padding:7px; font-size:5px; }
}

/* Quote preview refresh: new horizontal identity, event strip and compact financial summary. */
.eba-sheet { width:min(720px,100%); min-height:0; padding:0; overflow:hidden; border:1px solid #dfe7f0; border-radius:21px; color:#14213a; background:#fff; box-shadow:0 18px 48px rgba(9,43,99,.13); }
.eba-sheet .sheet-top-accent { display:block; height:6px; background:linear-gradient(90deg,#e9466d 0 56%,#f4c430 56% 78%,#ef3948 78%); }
.eba-sheet .sheet-header { display:grid; grid-template-columns:88px minmax(0,1fr) auto; align-items:center; gap:16px; min-height:122px; padding:18px 24px; border-bottom:1px solid #e7ebf2; background:#fff; }
.eba-sheet .sheet-header::after { display:none; }
.eba-sheet .sheet-header>img { grid-column:1; grid-row:1; width:82px; height:82px; padding:3px; object-fit:contain; border-radius:16px; background:#fff; }
.eba-sheet .sheet-title { grid-column:2; grid-row:1; display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:0; text-align:left; }
.eba-sheet .sheet-kicker { color:#ef3948; font-size:7px; font-weight:800; letter-spacing:.16em; }
.eba-sheet .sheet-title h2 { margin:0; color:#102b43; font:800 29px/1 "Baloo 2",sans-serif; }
.eba-sheet .sheet-title>small { color:#718096; font-size:8px; }
.eba-sheet .sheet-code { align-self:start; margin-top:4px; padding:7px 9px; border:1px solid #dbe8f6; border-radius:9px; color:#e9466d; background:#f4f8fd; font-size:6px; font-weight:800; letter-spacing:.1em; white-space:nowrap; }
.eba-sheet .sheet-code b { margin-left:4px; color:#ef3948; }
.eba-sheet .sheet-event-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:13px 22px; color:#fff; background:#102b43; }
.eba-sheet .sheet-event-strip>div { display:flex; align-items:center; gap:8px; min-width:0; padding:2px 11px; }
.eba-sheet .sheet-event-strip>div+div { border-left:1px solid rgba(255,255,255,.2); }
.eba-sheet .event-detail-icon { display:grid; place-items:center; flex:0 0 29px; width:29px; height:29px; border-radius:9px; color:#102b43; background:#f4c430; }
.eba-sheet .event-detail-icon svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.eba-sheet .sheet-event-strip p { display:flex; flex-direction:column; gap:2px; min-width:0; margin:0; }
.eba-sheet .sheet-event-strip small { color:#a9c7ef; font-size:5px; font-weight:800; letter-spacing:.1em; }
.eba-sheet .sheet-event-strip b { overflow-wrap:anywhere; color:#fff; font-size:8px; }
.eba-sheet .sheet-client { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:63px; margin:17px 22px 10px; padding:10px 13px; border:1px solid #dce8f6; border-left:4px solid #ef3948; border-radius:12px; color:#14213a; background:#f4f8fd; }
.eba-sheet .sheet-client-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff; background:#e9466d; }
.eba-sheet .sheet-client-icon svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.eba-sheet .sheet-client>div { display:flex; flex-direction:column; gap:2px; min-width:0; }
.eba-sheet .sheet-client>div>strong { color:#718096; font-size:6px; letter-spacing:.12em; }
.eba-sheet .sheet-client>div>b { color:#102b43; font:800 12px "Baloo 2",sans-serif; overflow-wrap:anywhere; }
.eba-sheet .client-chip { padding:5px 8px; border-radius:20px; color:#fff; background:#ef3948; font-size:6px; font-weight:800; letter-spacing:.08em; }
.eba-sheet .sheet-address { display:flex; align-items:center; gap:8px; margin:0 22px 13px; padding:9px 11px; border:1px solid #f0df9d; border-radius:9px; color:#53657d; background:#fff9e2; font-size:8px; }
.eba-sheet .sheet-address strong { flex:0 0 auto; color:#102b43; font-size:6px; letter-spacing:.1em; }
.eba-sheet .sheet-items-heading { display:flex; align-items:center; gap:9px; margin:5px 22px 7px; }
.eba-sheet .sheet-section-number { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border:1px solid #cde0f6; border-radius:9px; color:#e9466d; background:#eaf4ff; font:800 8px "Baloo 2",sans-serif; }
.eba-sheet .sheet-items-heading>div { display:flex; flex-direction:column; gap:1px; }
.eba-sheet .sheet-items-heading small { color:#ef3948; font-size:6px; font-weight:800; letter-spacing:.12em; }
.eba-sheet .sheet-items-heading strong { color:#102b43; font:800 13px "Baloo 2",sans-serif; }
.eba-sheet .sheet-section-mark { margin-left:auto; color:#718096; font-size:6px; font-weight:800; letter-spacing:.13em; }
.eba-sheet .sheet-table { margin:0 22px; overflow:visible; border:0; border-radius:0; }
.eba-sheet .sheet-table-head { display:grid; grid-template-columns:78px minmax(0,1fr) 92px; align-items:center; height:auto; min-height:24px; padding:0 8px; border:0; border-bottom:1px solid #e7ebf2; color:#718096; background:#fff; font-size:6px; font-weight:800; letter-spacing:.1em; }
.eba-sheet .sheet-table-head span { display:flex; justify-content:flex-start; border:0; }
.eba-sheet .sheet-table-head span:last-child { justify-content:flex-end; }
.eba-sheet .sheet-items { display:grid; gap:6px; padding-top:7px; border:0; }
.eba-sheet .eba-sheet-item { grid-template-columns:78px minmax(0,1fr) 92px; gap:0; min-height:78px; overflow:hidden; border:1px solid #e7ebf2; border-radius:10px; background:#fff; box-shadow:none; }
.eba-sheet .eba-sheet-item>div { border:0; }
.eba-sheet .sheet-item-photo { padding:7px; }
.eba-sheet .sheet-item-photo img,.eba-sheet .sheet-photo-placeholder { width:100%; height:62px; object-fit:cover; border-radius:7px; }
.eba-sheet .sheet-photo-placeholder { color:#718096; background:#f4f7fb; }
.eba-sheet .sheet-item-desc { padding:7px 9px; }
.eba-sheet .sheet-item-desc strong { color:#102b43; font:800 9px "Baloo 2",sans-serif; }
.eba-sheet .sheet-item-desc b { width:max-content; margin-top:3px; padding:2px 6px; border-radius:20px; color:#ef3948; background:#fff0f0; font-size:5px; }
.eba-sheet .sheet-item-desc p { margin-top:3px; color:#718096; font-size:7px; line-height:1.35; }
.eba-sheet .sheet-item-price { align-self:stretch; padding:0 9px; border-left:1px solid #e7ebf2!important; color:#102b43; background:#f4f8fd; font:800 10px "Baloo 2",sans-serif; }
.eba-sheet .sheet-empty-items { min-height:120px; border:1px dashed #c9d7e8; border-radius:10px; color:#718096; background:#f4f7fb; }
.eba-sheet .sheet-financials { display:grid; grid-template-columns:1fr 1.2fr; gap:8px 14px; align-items:center; margin:13px 22px 0; padding:12px; border:1px solid #dfe7f0; border-radius:14px; background:#fff; }
.eba-sheet .sheet-grand-total { display:flex; align-items:center; gap:10px; min-width:0; grid-row:1 / span 2; }
.eba-sheet .grand-total-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:11px; color:#fff; background:#e9466d; }
.eba-sheet .grand-total-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.eba-sheet .sheet-grand-total>div { display:flex; flex-direction:column; min-width:0; }
.eba-sheet .sheet-grand-total small { color:#718096; font-size:6px; font-weight:800; letter-spacing:.11em; }
.eba-sheet .sheet-grand-total strong { color:#102b43; font:800 24px/1.1 "Baloo 2",sans-serif; white-space:nowrap; }
.eba-sheet .grand-total-arrow { display:none; }
.eba-sheet .sheet-payment-title { grid-column:2; margin:0; color:#ef3948; font-size:6px; font-weight:800; letter-spacing:.12em; }
.eba-sheet .sheet-payment { grid-column:2; display:grid; grid-template-columns:1fr 1fr; gap:6px; min-height:0; margin:0; border:0; border-radius:0; }
.eba-sheet .sheet-payment>div { display:flex; align-items:center; gap:7px; min-width:0; padding:7px; border:1px solid #e7ebf2; border-radius:9px; background:#f4f8fd; }
.eba-sheet .pay-icon { display:grid; place-items:center; flex:0 0 27px; width:27px; height:27px; border-radius:8px; color:#fff; }
.eba-sheet .pay-icon svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.eba-sheet .pay-icon.green { background:#14924c; }
.eba-sheet .pay-icon.red { background:#ef3948; }
.eba-sheet .sheet-payment p { display:flex; flex-direction:column; gap:1px; min-width:0; margin:0; }
.eba-sheet .sheet-payment p b { color:#718096; font-size:5px; letter-spacing:.08em; }
.eba-sheet .sheet-payment p strong { color:#102b43; font:800 10px "Baloo 2",sans-serif; white-space:nowrap; }
.eba-sheet .sheet-payment>div:last-child p strong { color:#ef3948; }
.eba-sheet .sheet-payment p small { color:#718096; font-size:4px; }
.eba-sheet .sheet-notes { margin:9px 22px 0; padding:8px 10px; border:1px solid #f0df9d; border-left:3px solid #f4c430; border-radius:8px; color:#53657d; background:#fff9e2; font-size:7px; }
.eba-sheet .sheet-notes strong { display:block; margin-bottom:2px; color:#102b43; font-size:6px; letter-spacing:.1em; }
.eba-sheet .sheet-footer { grid-template-columns:1fr 1px 1fr; min-height:60px; margin:15px 0 0; padding:8px 22px; border-top:1px solid #e7ebf2; color:#14213a; background:#f4f7fb; }
.eba-sheet .sheet-footer i { background:#d8e1ed; }
.eba-sheet .sheet-footer b { color:#102b43; font-size:7px; }
.eba-sheet .sheet-footer small { color:#718096; font-size:5px; }
.eba-sheet .social-icon { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; }
.eba-sheet .social-icon svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.eba-sheet .social-icon.whatsapp { color:#fff; background:#14924c; }
.eba-sheet .social-icon.instagram { color:#fff; background:#ef3948; }
.eba-sheet .sheet-signature { width:auto; margin:0; padding:7px; color:#fff; background:#102b43; font-size:6px; font-weight:800; letter-spacing:.14em; text-align:center; }
@media (max-width:700px) {
  .eba-sheet { width:100%; min-height:0; padding:0; border-radius:17px; }
  .eba-sheet .sheet-header { grid-template-columns:58px minmax(0,1fr) auto; gap:7px; min-height:88px; padding:12px 11px; }
  .eba-sheet .sheet-header>img { width:54px; height:54px; border-radius:11px; }
  .eba-sheet .sheet-title { gap:1px; }
  .eba-sheet .sheet-kicker { font-size:5px; }
  .eba-sheet .sheet-title h2 { font-size:21px; }
  .eba-sheet .sheet-title>small { max-width:150px; font-size:6px; }
  .eba-sheet .sheet-code { padding:5px 6px; font-size:5px; }
  .eba-sheet .sheet-code b { margin-left:1px; }
  .eba-sheet .sheet-event-strip { padding:8px 6px; }
  .eba-sheet .sheet-event-strip>div { gap:4px; padding:1px 5px; }
  .eba-sheet .event-detail-icon { flex-basis:23px; width:23px; height:23px; border-radius:7px; }
  .eba-sheet .event-detail-icon svg { width:12px; height:12px; }
  .eba-sheet .sheet-event-strip small { font-size:4px; }
  .eba-sheet .sheet-event-strip b { font-size:6px; }
  .eba-sheet .sheet-client { grid-template-columns:29px minmax(0,1fr) auto; gap:7px; min-height:51px; margin:10px 11px 8px; padding:7px 8px; }
  .eba-sheet .sheet-client-icon { width:27px; height:27px; }
  .eba-sheet .sheet-client-icon svg { width:14px; height:14px; }
  .eba-sheet .sheet-client>div>strong { font-size:5px; }
  .eba-sheet .sheet-client>div>b { font-size:9px; }
  .eba-sheet .client-chip { padding:4px 6px; font-size:5px; }
  .eba-sheet .sheet-address { gap:5px; margin:0 11px 9px; padding:7px; font-size:6px; }
  .eba-sheet .sheet-address strong { font-size:5px; }
  .eba-sheet .sheet-items-heading { gap:6px; margin:3px 11px 5px; }
  .eba-sheet .sheet-section-number { flex-basis:24px; width:24px; height:24px; font-size:7px; }
  .eba-sheet .sheet-items-heading small { font-size:5px; }
  .eba-sheet .sheet-items-heading strong { font-size:9px; }
  .eba-sheet .sheet-section-mark { font-size:5px; }
  .eba-sheet .sheet-table { margin:0 11px; }
  .eba-sheet .sheet-table-head { grid-template-columns:48px minmax(0,1fr) 62px; min-height:21px; padding:0 5px; font-size:4px; }
  .eba-sheet .sheet-table-head span:nth-child(2) { display:flex; }
  .eba-sheet .eba-sheet-item { grid-template-columns:48px minmax(0,1fr) 62px; min-height:62px; border-radius:8px; }
  .eba-sheet .sheet-item-photo { padding:5px; }
  .eba-sheet .sheet-item-photo img,.eba-sheet .sheet-photo-placeholder { height:50px; border-radius:6px; }
  .eba-sheet .sheet-item-desc { padding:4px 5px; }
  .eba-sheet .sheet-item-desc strong { font-size:6px; }
  .eba-sheet .sheet-item-desc b { margin-top:2px; padding:2px 4px; font-size:4px; }
  .eba-sheet .sheet-item-desc p { margin-top:2px; font-size:4px; }
  .eba-sheet .sheet-item-price { padding:0 4px; font-size:6px; }
  .eba-sheet .sheet-financials { grid-template-columns:1fr; gap:6px; margin:9px 11px 0; padding:8px; border-radius:10px; }
  .eba-sheet .sheet-grand-total { grid-row:auto; gap:7px; }
  .eba-sheet .grand-total-icon { flex-basis:29px; width:29px; height:29px; border-radius:8px; }
  .eba-sheet .grand-total-icon svg { width:15px; height:15px; }
  .eba-sheet .sheet-grand-total small { font-size:5px; }
  .eba-sheet .sheet-grand-total strong { font-size:18px; }
  .eba-sheet .sheet-payment-title,.eba-sheet .sheet-payment { grid-column:1; }
  .eba-sheet .sheet-payment-title { font-size:5px; }
  .eba-sheet .sheet-payment { gap:4px; }
  .eba-sheet .sheet-payment>div { gap:4px; padding:5px 4px; border-radius:7px; }
  .eba-sheet .pay-icon { flex-basis:22px; width:22px; height:22px; border-radius:6px; }
  .eba-sheet .pay-icon svg { width:12px; height:12px; }
  .eba-sheet .sheet-payment p b { font-size:4px; }
  .eba-sheet .sheet-payment p strong { font-size:8px; }
  .eba-sheet .sheet-payment p small { font-size:3px; }
  .eba-sheet .sheet-notes { margin:7px 11px 0; padding:7px; font-size:6px; }
  .eba-sheet .sheet-footer { min-height:49px; margin-top:9px; padding:6px 8px; }
  .eba-sheet .sheet-footer>div { gap:4px; }
  .eba-sheet .social-icon { width:22px; height:22px; }
  .eba-sheet .social-icon svg { width:12px; height:12px; }
  .eba-sheet .sheet-footer b { font-size:5px; }
  .eba-sheet .sheet-footer small { font-size:4px; }
  .eba-sheet .sheet-signature { padding:6px; font-size:4px; }
}
@media print {
  .eba-sheet { width:100%; min-height:0; padding:0; border:0; border-radius:0; box-shadow:none; }
  .eba-sheet .sheet-top-accent,.eba-sheet .sheet-header,.eba-sheet .sheet-event-strip,.eba-sheet .sheet-grand-total,.eba-sheet .sheet-payment,.eba-sheet .sheet-footer,.eba-sheet .sheet-signature { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}
@media (max-width:700px) {
  .eba-sheet .sheet-code { font-size:6px; }
  .eba-sheet .sheet-title>small { font-size:7px; }
  .eba-sheet .sheet-event-strip small { font-size:5px; }
  .eba-sheet .sheet-event-strip b { font-size:7px; }
  .eba-sheet .sheet-client>div>strong,.eba-sheet .sheet-address strong { font-size:6px; }
  .eba-sheet .sheet-client>div>b { font-size:10px; }
  .eba-sheet .client-chip { font-size:6px; }
  .eba-sheet .sheet-address { font-size:7px; }
  .eba-sheet .sheet-table-head { font-size:5px; }
  .eba-sheet .sheet-item-desc strong { font-size:8px; }
  .eba-sheet .sheet-item-desc b { font-size:5px; }
  .eba-sheet .sheet-item-desc p { font-size:5px; }
  .eba-sheet .sheet-item-price { font-size:7px; }
  .eba-sheet .sheet-grand-total small { font-size:6px; }
  .eba-sheet .sheet-payment-title { font-size:6px; }
  .eba-sheet .sheet-payment p b { font-size:5px; }
  .eba-sheet .sheet-payment p strong { font-size:9px; }
  .eba-sheet .sheet-payment p small { font-size:4px; }
  .eba-sheet .sheet-notes { font-size:7px; }
  .eba-sheet .sheet-footer b { font-size:6px; }
  .eba-sheet .sheet-footer small { font-size:5px; }
  .eba-sheet .sheet-signature { font-size:5px; }
}
@media print {
  #quotePreview.eba-sheet { position:fixed; inset:auto; top:0; left:0; right:auto; bottom:auto; width:210mm; min-height:0; height:auto; margin:0; padding:9mm 8mm 5mm; overflow:visible; transform:none; }
}

/* Cores e estados interativos alinhados ao menu lateral */
.login-submit { background: linear-gradient(100deg, #e9466d, #102b43); box-shadow: 0 10px 23px rgba(233,70,109,.22); }
.login-submit:hover { box-shadow: 0 13px 28px rgba(233,70,109,.3); }
.password-toggle:hover { color: #e9466d; background: #fce9ef; }
.icon-button { transition: color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .15s ease; }
.icon-button:hover { color: #fff; border-color: #e9466d; background: #e9466d; box-shadow: 0 6px 16px rgba(233,70,109,.2); transform: translateY(-1px); }
.btn { transition: color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .15s ease; }
.btn-primary, .btn-whatsapp { color: #fff; background: #e9466d; box-shadow: 0 8px 20px rgba(233,70,109,.22); }
.btn-primary:hover, .btn-whatsapp:hover { background: #c83359; box-shadow: 0 10px 24px rgba(102,34,57,.24); }
.btn-form-copy { color: #102b43; border: 1px solid #f0c4d0; background: #fce9ef; box-shadow: 0 5px 14px rgba(16,43,67,.08); }
.btn-form-copy:hover { border-color: #e9466d; color: #fff; background: #e9466d; box-shadow: 0 8px 20px rgba(233,70,109,.2); }
.btn-soft, .btn-light { color: #102b43; background: #fce9ef; }
.btn-soft:hover, .btn-light:hover { color: #fff; background: #e9466d; box-shadow: 0 7px 17px rgba(233,70,109,.18); }
.text-button { border-radius: 7px; color: #e9466d; transition: color .2s ease, background .2s ease; }
.text-button:hover { color: #102b43; background: #fce9ef; }
.filter-tab { transition: color .2s ease, background .2s ease, box-shadow .2s ease; }
.filter-tab:hover { color: #102b43; background: #fce9ef; }
.filter-tab.active { color: #fff; background: #e9466d; box-shadow: 0 5px 14px rgba(233,70,109,.18); }
.filter-tab.active span { color: #102b43; background: #f4c430; }
.toy-actions button:hover, .client-card-actions button:hover, .history-open:hover, .back-button:hover, .row-menu:hover { color: #e9466d; border-color: #f0c4d0; background: #fce9ef; }
.context-menu button:hover { color: #102b43; background: #fce9ef; }
.btn:focus-visible, .icon-button:focus-visible, .text-button:focus-visible, .filter-tab:focus-visible, .toy-actions button:focus-visible, .client-card-actions button:focus-visible, .row-menu:focus-visible { outline: 2px solid #e9466d; outline-offset: 2px; }

/* Padrão único para formulários e modais em celulares. */
@media (max-width: 560px) {
  .login-screen { padding:16px 12px; }
  .login-card { width:100%; padding:24px 20px 22px; }
  .login-brand { justify-content:center; padding-bottom:18px; }
  .login-brand img { width:112px; height:92px; }
  .login-heading { padding:20px 0 16px; }
  .login-form { gap:14px; }

  .modal { padding:8px; }
  .modal-dialog { width:100%; max-height:calc(100dvh - 16px); border-radius:18px; }
  .modal-header { gap:12px; padding:18px 16px 15px; }
  .modal-header > div { min-width:0; }
  .modal-header h2 { overflow-wrap:anywhere; font-size:21px; }
  .toy-dialog form,.client-dialog form,.settings-dialog form { padding:16px; }
  .form-grid,.form-grid.two,.form-grid.three,.form-grid.four { grid-template-columns:minmax(0,1fr); gap:0; }
  .field { min-width:0; margin-bottom:12px; }
  .field input,.field select,.field textarea,.input-prefix,.input-suffix { min-width:0; max-width:100%; }
  .settings-section { min-width:0; margin-bottom:12px; padding:14px; overflow:hidden; }
  .settings-section:last-of-type { margin-bottom:14px; }
  .upload-box { min-height:150px; margin-bottom:16px; }
  .upload-box img { height:180px; }
  .addresses-heading { align-items:stretch; flex-direction:column; }
  .addresses-heading .btn { width:100%; }
  .client-address-row { grid-template-columns:minmax(0,1fr) 34px; gap:8px; }
  .client-address-row .address-label { grid-column:1/-1; }
  .client-address-row .address-value { min-width:0; }
  .modal-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding-top:4px; }
  .modal-actions .btn { width:100%; min-width:0; padding-inline:8px; }

  .quote-modal { padding:0; }
  .quote-dialog { border-radius:0; }
  .quote-modal-header { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; min-height:0; padding:10px; }
  .quote-modal-header > .quote-header-main { display:grid; grid-template-columns:37px minmax(0,1fr) auto; align-items:center; width:100%; min-width:0; gap:9px; }
  .quote-modal-header > .quote-header-main > span { min-width:0; }
  .quote-modal-header h2 { overflow:hidden; font-size:18px; text-overflow:ellipsis; white-space:nowrap; }
  .quote-modal-header > .quote-header-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px !important; width:100%; }
  .quote-modal-header.is-editing > .quote-header-actions { display:none; }
  .quote-modal-header.is-editing.actions-open > .quote-header-actions { display:grid; }
  .quote-modal-header.is-editing .quote-actions-menu-button { display:inline-flex; align-items:center; justify-content:center; gap:4px; min-height:38px; padding:0 10px; border:1px solid #f0c4d0; border-radius:11px; color:#e9466d; background:#fce9ef; font-size:9px; font-weight:800; }
  .quote-actions-menu-button b { font-size:18px; line-height:1; }
  .quote-actions-menu-button[aria-expanded="true"] { color:#fff; border-color:#e9466d; background:#e9466d; }
  .quote-header-actions .btn,.quote-header-actions .btn-soft,.quote-header-actions .btn-whatsapp { display:inline-flex; width:100%; min-width:0; min-height:40px; padding:0 9px; font-size:9px; line-height:1.15; white-space:normal; }
  .quote-header-actions #approveQuoteButton { grid-column:1/-1; }
  .quote-header-actions .btn:only-child { grid-column:1/-1; }
  .quote-editor { padding:10px; }
  .editor-section { margin-bottom:10px; border-radius:13px; }
  .editor-title { padding:14px; }
  .editor-content { padding:0 14px 14px; }
  .quote-editor .form-grid,.quote-editor .form-grid.two,.quote-editor .form-grid.three,.quote-editor .form-grid.four { grid-template-columns:minmax(0,1fr); gap:0; }
  .client-select-row { grid-template-columns:minmax(0,1fr); gap:8px; }
  .client-select-row .btn { width:100%; }
  .selected-client-summary { min-width:0; }
  .quote-toy-picker { grid-template-columns:minmax(0,1fr); max-height:none; overflow:visible; }
  .picker-toy { width:100%; min-width:0; }
  .picker-toy > span { min-width:0; }
  .selected-quote-items { gap:10px; }
  .selected-item { position:relative; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; gap:10px 8px; padding:12px; border:1px solid #edf1f6; border-radius:12px; }
  .selected-item > div:first-child { grid-column:1/-1; min-width:0; padding-right:38px; }
  .selected-item .item-qty-control { grid-column:1; min-width:0; }
  .selected-item .item-price-control { grid-column:2; min-width:0; }
  .selected-item .qty-control,.selected-item .item-price-control > div { width:100%; }
  .selected-item .remove-item { position:absolute; top:10px; right:10px; }
  .selected-item .item-unit-price { display:none; }
  .payment-options-grid { gap:12px !important; }
  .payment-options-grid > .field { margin:0; }
  .quote-value-editor { grid-template-columns:minmax(0,1fr); gap:10px; margin:14px 0; padding:10px; }
  .quote-calculated-total,.quote-final-total { padding:12px; }
  .quote-final-total .input-prefix { height:46px; }
  .payment-notes-field textarea { min-height:110px; }
  .quote-preview-wrap { padding:14px 10px 28px; }
  .toast-container { right:12px; bottom:82px; left:12px; }
  .toast { width:100%; min-width:0; }
}
