.app-shell{width:min(980px,100%);min-height:100svh;margin:0 auto;padding:14px 16px 96px}.loading-shell{text-align:center;place-items:center;display:grid}.loading-mark{object-fit:contain;width:116px;height:116px}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:8px 2px 14px;display:flex}.topbar h1{letter-spacing:0;margin:0;font-size:clamp(26px,4.5vw,36px);line-height:1.02}.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-setup{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:8px;align-items:center;gap:6px;min-height:42px;padding:0 12px;font-weight:800;display:inline-flex}.topbar-setup.active{border-color:var(--green);color:var(--green-dark);background:#16834d1a}.topbar input,input,select,textarea{border:1px solid var(--line);background:var(--white);min-height:42px;color:var(--ink);border-radius:8px;outline:none;padding:0 12px}.screen{gap:14px;display:grid}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.panel{border:1px solid var(--line);background:#fffdf7e0;border-radius:8px;box-shadow:0 8px 24px #2a21160f}.metric{gap:6px;min-height:104px;padding:15px;display:grid}.metric span{color:var(--muted);font-size:13px;font-weight:700}.metric strong{font-size:clamp(18px,4vw,26px)}.metric.warn strong{color:var(--amber)}.metric-icon svg{width:18px;height:18px;color:var(--green)}.panel{padding:14px}.notice-panel{background:#fff8eaf0;border-color:#a66b166b}.action-panel{border-color:#16834d42}.locked-panel{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel h2{letter-spacing:0;margin:0;font-size:clamp(20px,4vw,26px)}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-head .row-actions{max-width:520px}.panel-head.compact{margin-bottom:10px}.timeline{gap:10px;display:grid}.row{background:var(--white);border:1px solid #ded0b8cc;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.row strong,.row span{display:block}.row span{color:var(--muted);font-size:13px}.job-card-row{align-items:flex-start}.job-card-main{width:100%;min-width:0}.job-card-detail{gap:3px;margin-top:6px;display:grid}.job-card-detail span{color:var(--ink);overflow-wrap:anywhere;font-size:12px}.booking-row{border-style:dashed}.counter-hero{background:linear-gradient(135deg,#fffdf7fa,#f7efded1);border:1px solid #16834d47;border-radius:8px;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:18px;padding:18px;display:grid;box-shadow:0 14px 34px #2a211617}.counter-hero.warn{background:linear-gradient(135deg,#fff8eafa,#ffedccb8);border-color:#a66b1673}.counter-hero.closed{background:#fffdf7db;border-color:#756b5f42}.counter-hero h2{letter-spacing:0;margin:0;font-size:clamp(28px,5vw,42px);line-height:1}.counter-hero p:last-child{color:var(--muted);margin:8px 0 0;font-size:17px}.counter-hero .primary-action{min-height:58px}.dashboard-hero{grid-template-columns:minmax(0,1fr) auto}.hero-navigation{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.hero-navigation .secondary-action,.hero-navigation .ghost-action{min-height:48px}.money-ribbon,.counter-ribbon{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.money-ribbon div,.counter-ribbon div{background:#fffdf7eb;border:1px solid #ded0b8c7;border-radius:8px;padding:10px 12px}.money-ribbon span,.money-ribbon strong,.counter-ribbon span,.counter-ribbon strong{display:block}.money-ribbon span,.counter-ribbon span{color:var(--muted);font-size:12px;font-weight:800}.money-ribbon strong,.counter-ribbon strong{margin-top:3px;font-size:clamp(18px,3vw,24px)}.money-ribbon .attention strong,.counter-ribbon .attention strong{color:var(--amber)}.counter-nudge{background:#a66b1612;border:1px solid #a66b1638;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.counter-nudge span{color:var(--amber);font-weight:900}.counter-nudge .ghost-action{min-height:34px}.filter-pills{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.filter-pills button{border:1px solid var(--line);background:var(--white);min-height:38px;color:var(--muted);border-radius:999px;align-items:center;gap:7px;padding:0 10px;font-weight:900;display:inline-flex}.filter-pills button.active{border-color:var(--green);color:var(--green-dark);background:#16834d1a}.filter-pills strong{min-width:22px;height:22px;color:var(--ink);background:#756b5f1f;border-radius:999px;place-items:center;font-size:12px;display:inline-grid}.slip-stack-panel{border-color:#16834d38}.slip-row{position:relative;overflow:hidden}.slip-row:before{content:"";background:#756b5f3d;width:5px;position:absolute;inset:0 auto 0 0}.slip-row.needs-money:before{background:var(--amber)}.slip-row.is-paid:before{background:var(--green)}.slip-row.is-open:before,.slip-row.is-booking:before{background:#2f6f94}.slip-row.is-cancelled{opacity:.7}.slip-title-line{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.slip-title-line strong{font-size:17px}.slip-title-line small{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.slip-tags{flex-wrap:wrap;gap:6px;margin:7px 0 0;display:flex}.slip-tags span{color:var(--muted);background:#fff8ead1;border:1px solid #ded0b8d1;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.slip-tags .warn-tag{color:var(--amber);background:#a66b161a;border-color:#a66b1638}.slip-tags .inside-tag{color:#2f6f94;background:#2f6f941a;border-color:#2f6f943d}.slip-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.slip-mini-grid span{color:var(--ink);overflow-wrap:anywhere;border-top:1px solid #ded0b8c7;padding-top:8px;font-size:13px}.slip-mini-grid b{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:11px;display:block}.status-pill{white-space:nowrap;color:var(--green-dark);text-transform:capitalize;background:#16834d1f;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.status-pill.warn{color:var(--amber);background:#a66b161f}.empty-state{text-align:center;min-height:180px;color:var(--muted);border:1px dashed var(--line);border-radius:8px;place-items:center;padding:22px;display:grid}.empty-state img{object-fit:contain;width:72px;height:72px}.close-panel{justify-content:space-between;align-items:center;gap:16px;display:flex}.stack-actions,.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.primary-action,.secondary-action,.ghost-action{border-radius:8px;min-height:42px;padding:0 14px;font-weight:800}.primary-action:disabled,.secondary-action:disabled,.ghost-action:disabled{cursor:not-allowed;opacity:.52}.secondary-action{border:1px solid var(--green);color:var(--green-dark);background:#16834d14}a.secondary-action,a.primary-action{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.ghost-action{border:1px solid var(--line);color:var(--ink);background:var(--white)}.danger-action{color:var(--rose)}.cancel-job-confirm{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:360px;display:flex}.cancel-job-confirm span,.cancel-job-confirm small{color:var(--muted);text-align:right;flex-basis:100%;font-size:12px;font-weight:800}.cancel-job-confirm small{color:var(--rose)}.cancel-job-confirm button{background:var(--white);min-height:34px;color:var(--ink);border:1px solid #ded0b8e6;border-radius:999px;padding:0 10px;font-size:12px;font-weight:800}.cancel-job-confirm button:first-of-type,.cancel-job-confirm button:nth-of-type(2),.cancel-job-confirm button:nth-of-type(3){color:var(--rose);background:#b4484812;border-color:#b4484842}.quick-entry{gap:10px;margin-bottom:10px;display:grid}.quick-entry span{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:800;display:block}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}label{color:var(--muted);gap:6px;font-size:13px;font-weight:800;display:grid}.flow-hint{flex-wrap:wrap;gap:6px;margin:10px 0 12px;display:flex}.flow-hint span{color:var(--muted);background:#fffdf7bd;border:1px solid #ded0b8db;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800}.line-form{grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) 120px auto;align-items:end;gap:8px;margin-top:8px;display:grid}.line-form label{min-width:0}.line-form input,.line-form select{width:100%}.line-form.payment{grid-template-columns:120px 150px minmax(0,1fr) auto}.line-form.booking{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 120px minmax(0,1fr) auto}.line-form.service-line{border-top:1px solid #ded0b8a3;grid-template-columns:54px minmax(0,2fr) minmax(0,1.2fr) 120px auto;padding-top:10px}.service-line-number{background:#fffdf7e0;border:1px solid #ded0b8d1;border-radius:8px;align-content:center;place-items:center;gap:1px;min-height:58px;display:grid}.service-line-number span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.service-line-number strong{color:var(--ink);font-size:20px;line-height:1}.empty-row-note{color:var(--muted);background:#fffdf7b3;border:1px dashed #ded0b8e6;border-radius:8px;margin:8px 0 0;padding:12px;font-size:13px;font-weight:700}.form-message{color:var(--ink);background:#a66b1617;border:1px solid #a66b1647;border-radius:8px;margin:8px 0 12px;padding:12px;font-size:14px;font-weight:800}.form-message.warn{color:var(--amber)}.remove-row-action{min-width:82px}.customer-reuse{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.customer-reuse button{border:1px solid var(--line);background:var(--white);min-height:52px;color:var(--ink);text-align:left;border-radius:8px;padding:8px 10px}.customer-reuse button.selected{border-color:var(--green);background:#16834d1a}.customer-reuse strong,.customer-reuse span{display:block}.customer-reuse span{color:var(--muted);font-size:12px}.sticky-actions{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff8eaf0;border-radius:8px;grid-template-columns:1.2fr 1fr;gap:10px;padding:10px;display:grid;position:sticky;bottom:84px}.job-card-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.job-card-totals div{background:var(--white);border:1px solid #ded0b8cc;border-radius:8px;padding:10px 12px}.job-card-totals span,.job-card-totals strong{display:block}.job-card-totals span{color:var(--muted);font-size:12px;font-weight:800}.job-card-totals strong{margin-top:3px;font-size:18px}.job-card-totals .balance-due strong{color:var(--amber)}.method-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.method-total,.daily-register,.pending-list{background:var(--white);border:1px solid #ded0b8cc;border-radius:8px;padding:10px 12px}.method-total span,.method-total strong{display:block}.method-total span{color:var(--muted);font-size:12px;font-weight:800}.method-total strong{margin-top:3px;font-size:18px}.daily-sheet-split{margin-bottom:12px}.daily-register{background:linear-gradient(transparent 35px, #ded0b861 36px), var(--white);background-size:100% 36px;margin-bottom:12px}.daily-register h3{margin-bottom:10px}.daily-register-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.daily-register h4{margin-bottom:8px}.register-list{gap:8px;display:grid}.register-line{border-top:1px solid #ded0b894;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0 0;display:flex}.register-line strong,.register-line span,.register-line small{display:block}.register-line span,.register-line small{color:var(--muted);font-size:12px}.register-line>strong{white-space:nowrap}.pending-list h3{margin-bottom:10px}.split-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.finish-panel{border-color:#16834d66}.finish-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.finish-actions{justify-content:flex-end;margin-top:14px;display:flex}.summary-list{border:1px solid var(--line);background:#fffdf7d1;border-radius:8px;padding:12px}.summary-list h3{margin-bottom:10px}.summary-row{border-top:1px solid #ded0b8b3;justify-content:space-between;padding:8px 0;display:flex}.setup-intro-panel{border-color:#16834d38}.setup-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.setup-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.setup-form.service-setup{grid-template-columns:minmax(0,1fr) 130px auto}.chip-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip{border:1px solid var(--line);background:var(--white);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.setup-chip{align-items:center;gap:7px;padding-right:6px;display:inline-flex}.setup-chip button{width:22px;height:22px;color:var(--rose);background:#a8363614;border:0;border-radius:999px;place-items:center;font-size:16px;font-weight:900;line-height:1;display:inline-grid}.chip-button{min-height:34px}.pending-queue{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.pending-card,.customer-row{text-align:left;color:var(--ink)}.pending-card{background:var(--white);border:1px solid #ded0b8cc;border-radius:8px;padding:10px 12px}.pending-card strong,.pending-card span,.selected-pending strong,.selected-pending span{display:block}.pending-card span,.selected-pending span{color:var(--muted);font-size:12px}.pending-card.selected,.customer-row.selected{border-color:var(--green);background:#16834d14}.selected-pending{background:#fff8eae6;border:1px solid #a66b1647;border-radius:8px;margin-bottom:10px;padding:10px 12px}.customer-row{width:100%}.customer-memory-grid{margin-bottom:12px}.whatsapp-action{white-space:nowrap}.device-limit-shell{align-content:start;gap:16px;display:grid}.device-limit-card{justify-items:start;gap:12px;max-width:620px;display:grid}.device-mail-link{min-height:46px}.device-list{gap:8px;width:100%;margin:4px 0 8px;display:grid}.device-row{border:1px solid var(--line);background:var(--white);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.device-row strong,.device-row span{display:block}.device-row span{color:var(--muted);font-size:12px}.device-limit-note{font-size:13px}.search-box{border:1px solid var(--line);background:var(--white);border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:0 12px;display:flex}.search-box input{background:0 0;border:0;flex:1}.ok-icon{color:var(--green)}.bottom-nav{border:1px solid var(--line);width:min(620px,100% - 24px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#fffdf7f0;border-radius:8px;grid-template-columns:repeat(5,1fr);gap:6px;padding:8px;display:grid;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.bottom-nav button{min-height:50px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;gap:2px;font-size:11px;font-weight:800;display:grid}.bottom-nav button.active{color:var(--green-dark);background:#16834d1f}.bottom-nav svg{width:18px;height:18px}@media (width<=760px){.app-shell{padding:14px 12px 92px}.topbar{align-items:flex-start}.topbar-actions{flex-direction:column;align-items:flex-end}.counter-hero{grid-template-columns:1fr;gap:12px;padding:14px}.dashboard-hero{grid-template-columns:1fr}.hero-navigation{justify-content:stretch}.hero-navigation>*{flex:1}.counter-hero h2{font-size:clamp(25px,9vw,34px)}.counter-hero p:last-child{font-size:15px}.money-ribbon,.counter-ribbon{gap:6px}.money-ribbon div,.counter-ribbon div{padding:8px}.money-ribbon strong,.counter-ribbon strong{font-size:16px}.counter-nudge{flex-direction:column;align-items:stretch}.slip-title-line{flex-direction:column;align-items:flex-start;gap:2px}.slip-mini-grid{grid-template-columns:1fr;gap:4px}.metric-grid,.metric-grid.four,.field-grid,.job-card-totals,.method-strip,.pending-queue,.split-list,.daily-register-columns,.finish-grid,.setup-grid,.setup-form,.setup-form.service-setup,.line-form,.line-form.payment,.line-form.booking{grid-template-columns:1fr}.line-form.service-line{grid-template-columns:48px minmax(0,1fr)}.line-form.service-line label,.line-form.service-line .remove-row-action{grid-column:2}.service-line-number{grid-row:1/span 4;align-self:stretch}.row,.close-panel,.locked-panel,.panel-head{flex-direction:column;align-items:stretch}.row-actions,.stack-actions{justify-content:stretch}.cancel-job-confirm{justify-content:stretch;max-width:none}.cancel-job-confirm span,.cancel-job-confirm small{text-align:left}.cancel-job-confirm button{flex:46%}.filter-pills{justify-content:stretch}.filter-pills button{flex:30%;justify-content:center}.row-actions>*,.stack-actions>*{flex:1}}.onboarding-shell{align-content:start;gap:16px;display:grid}.onboarding-card{justify-items:start;gap:12px;width:min(460px,100%);margin:6vh auto 0;padding:24px;display:grid}.onboarding-mark{object-fit:contain;width:64px;height:64px}.onboarding-card h2{margin:0;font-size:clamp(22px,5vw,30px);line-height:1.1}.onboarding-fields{gap:14px;width:100%;margin-top:6px;display:grid}.onboarding-fields input{width:100%}.onboarding-help{color:var(--muted);font-size:12px;font-weight:700}.onboarding-cta{width:100%;min-height:54px;margin-top:4px;font-size:17px}.onboarding-trial{text-align:center;width:100%;color:var(--muted);margin:2px 0 0;font-size:13px;font-weight:800}.sheet-panel{padding:0;overflow:hidden}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:12px;padding:14px 16px 12px;display:flex}.sheet-head h2{margin:0;font-size:clamp(20px,4vw,26px)}.sheet-meta{text-align:right;white-space:nowrap}.sheet-date{color:var(--ink);font-weight:800}.sheet-count{color:var(--muted);font-size:12px;font-weight:700;display:block}.sheet-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.daily-sheet{border-collapse:collapse;width:100%;min-width:760px;font-size:14px}.daily-sheet th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);background:#f3e8d180;padding:9px 10px;font-size:11px;font-weight:800}.daily-sheet td{vertical-align:top;border-bottom:1px solid #ded0b880;padding:10px}.daily-sheet .c-ord{width:84px;color:var(--ink);white-space:nowrap;font-weight:800}.daily-sheet .c-pending{color:var(--amber)}.daily-sheet .c-service{color:var(--ink);font-weight:700}.daily-sheet .c-amt{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;width:88px}.daily-sheet .c-att{white-space:nowrap;color:var(--muted)}.daily-sheet tr.is-pending td{background:#a66b160f}.pending-flag{color:var(--amber);text-transform:uppercase;letter-spacing:.04em;background:#a66b161a;border:1px solid #a66b164d;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:10px;font-weight:800;display:inline-block}.daily-sheet .sheet-empty{text-align:center;color:var(--muted);padding:28px 12px}.daily-sheet tfoot .sheet-total td{border-top:2px solid var(--line);background:#f3e8d166;border-bottom:0;padding:12px 10px;font-weight:900}.sheet-add{border-top:1px solid var(--line);background:#fffdf799;padding:14px 16px}.sheet-add-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:12px;font-weight:800}.sheet-add-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) 88px 104px minmax(0,1fr) minmax(0,1fr) auto;gap:8px;display:grid}.sheet-add-grid input,.sheet-add-grid select{width:100%}.sheet-error{margin:8px 0 0}.sheet-note{margin:0;padding:16px}.sheet-pending-total{border-top:1px solid var(--line);color:var(--amber);margin:0;padding:12px 16px;font-weight:800}@media (width<=760px){.sheet-add-grid{grid-template-columns:1fr 1fr}.sheet-add-grid .primary-action{grid-column:1/-1}}:root{--paper:#fff8ea;--paper-strong:#f3e8d1;--ink:#211c17;--muted:#756b5f;--line:#ded0b8;--green:#16834d;--green-dark:#0f5c38;--rose:#b44848;--amber:#a66b16;--white:#fffdf7;--shadow:0 18px 45px #2a211624;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 1px 1px, #211c1712 1px, transparent 0) 0 0 / 28px 28px, var(--paper);min-width:320px;min-height:100svh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}#root{min-height:100svh}.auth-page{place-items:center;min-height:100svh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);text-align:center;background:#fffdf7e0;border-radius:8px;padding:28px}.auth-mark{object-fit:contain;width:112px;height:112px;margin-bottom:10px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--green-dark);margin:0 0 8px;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}.muted{color:var(--muted)}.primary-action{background:var(--green);color:#fff;border:0;border-radius:8px;width:100%;min-height:48px;padding:0 16px;font-weight:800;box-shadow:0 10px 22px #16834d3d}
