:root{color-scheme:light;--ink:#18251f;--muted:#66756d;--paper:#f4f0e7;--surface:#fffdf8;--line:#ddd7ca;--green:#174f3c;--green-soft:#dce8df;--orange:#e7753d;--orange-dark:#a9461f;--danger:#a2302b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 82% -10%,rgba(231,117,61,.12),transparent 28rem),var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}.shell{width:min(1440px,100%);margin:0 auto;padding:42px clamp(18px,4vw,64px) 64px}.masthead{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}.dashboard-brand{display:flex;align-items:center;gap:clamp(20px,4vw,48px);min-width:0}.dashboard-brand h1{font-size:clamp(2.1rem,5vw,4.25rem)}.sarkop-logo{width:clamp(132px,17vw,224px);height:auto;border-radius:12px;box-shadow:0 12px 28px rgba(98,39,25,.16)}.eyebrow{margin:0 0 8px;color:var(--orange-dark);font-size:.74rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}h1,h2{margin:0;letter-spacing:-.045em}h1{font-size:clamp(2.3rem,6vw,4.7rem);line-height:.95}h1,h2{font-weight:650}h2{font-size:clamp(1.55rem,3vw,2.25rem)}.subtitle{margin:14px 0 0;color:var(--muted);font-size:1rem}.date-controls{min-width:296px}.date-controls label{display:block;margin-bottom:8px;color:var(--muted);font-size:.78rem;font-weight:650}.date-controls>select{width:100%;margin-bottom:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.control-labels{display:flex;align-items:center;justify-content:space-between}.control-labels a{color:var(--green);font-size:.72rem;font-weight:700}.control-links{display:flex;align-items:center;gap:12px}.text-button{padding:0;border:0;background:transparent;color:var(--green);font-size:.72rem;font-weight:700;text-decoration:underline}.control-row{display:flex;gap:8px}input[type=date]{min-width:154px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.control-row button{padding:10px 15px;border:0;border-radius:8px;background:var(--green);color:white;font-weight:650}.control-row button:disabled{opacity:.62}.error,.notice{margin-bottom:18px;padding:12px 15px;border-radius:8px;font-size:.88rem}.notice{background:var(--green-soft);color:var(--green)}.error{background:#f8dfdc;color:var(--danger)}.metrics{display:grid;grid-template-columns:1.2fr repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:38px}.metric{min-width:0;min-height:145px;display:flex;flex-direction:column;justify-content:space-between;padding:20px;border:1px solid var(--line);border-radius:12px;background:rgba(255,253,248,.78)}.metric-accent{background:var(--green);color:white;border-color:var(--green)}.metric span{color:var(--muted);font-size:.78rem;font-weight:650}.metric-accent small,.metric-accent span{color:rgba(255,255,255,.72)}.metric strong{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.05;font-weight:650;letter-spacing:-.04em}.metric .metric-name{font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.15}.metric small{color:var(--muted);font-size:.75rem}.receipts-section{margin:0 0 46px}.section-link{color:var(--green);font-size:.78rem;font-weight:750}.receipt-rail{display:flex;align-items:flex-start;gap:16px;overflow-x:auto;padding:24px 5px 28px;scroll-snap-type:x proximity;scrollbar-color:var(--line) transparent}.receipt-card{--receipt-paper:#fffef7;position:relative;flex:0 0 310px;min-height:330px;padding:30px 20px 32px;scroll-snap-align:end;background:linear-gradient(135deg,transparent 7px,var(--receipt-paper) 0) 0 100% /14px 14px repeat-x,linear-gradient(var(--receipt-paper),var(--receipt-paper)) 0 0 /100% calc(100% - 13px) no-repeat;filter:drop-shadow(0 9px 10px rgba(47,42,31,.12));color:#292822;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;transform-origin:top center}.receipt-card:nth-child(3n+1){transform:rotate(-.35deg)}.receipt-card:nth-child(3n+2){transform:rotate(.45deg)}.receipt-card.is-new{animation:receipt-arrive .7s cubic-bezier(.2,.78,.22,1) both}.receipt-pin{position:absolute;top:9px;left:50%;width:10px;height:10px;border-radius:50%;background:#c83a22;box-shadow:0 2px 0 #8e291a,0 3px 6px rgba(0,0,0,.25);transform:translateX(-50%)}.new-receipt-label{position:absolute;top:-8px;right:12px;padding:5px 8px;border-radius:3px;background:var(--orange);color:white;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.receipt-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.receipt-heading>div{display:flex;flex-direction:column}.receipt-heading span,.receipt-heading time,.receipt-payment{color:#6d6960;font-size:.68rem}.receipt-heading strong{margin-top:2px;font-size:1.16rem}.receipt-heading time{max-width:96px;text-align:right}.receipt-rule{margin:14px 0;border-top:1px dashed #aaa398}.receipt-items{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.receipt-items li{display:grid;grid-template-columns:1fr auto;align-items:start;grid-gap:10px;gap:10px;font-size:.73rem;line-height:1.35}.receipt-items li>span{overflow-wrap:anywhere}.receipt-items li b{color:var(--orange-dark)}.receipt-items li>strong{font-size:.7rem;white-space:nowrap}.receipt-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;text-transform:uppercase}.receipt-total span{font-size:.72rem;font-weight:800;letter-spacing:.1em}.receipt-total strong{font-size:1rem}.receipt-payment{margin:7px 0 0;text-align:right;text-transform:uppercase}.receipt-empty{border:1px dashed var(--line);border-radius:12px}@keyframes receipt-arrive{0%{opacity:0;transform:translateX(48px) rotate(2deg) scale(.96)}70%{opacity:1;transform:translateX(-3px) rotate(-.7deg) scale(1.01)}to{opacity:1;transform:translateX(0) rotate(0deg) scale(1)}}.heatmap-section{padding-top:8px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.sync-copy{margin:0;color:var(--muted);font-size:.78rem}.heatmap-scroll{overflow-x:auto;padding-bottom:8px}.heatmap{min-width:1040px;display:grid;grid-template-columns:210px repeat(24,minmax(28px,1fr));grid-gap:4px;gap:4px}.heatmap-row{display:contents}.corner,.hour-label{color:var(--muted);font-size:.68rem;font-weight:650}.corner{padding:0 8px 7px 0}.hour-label{padding-bottom:7px;text-align:center}.item-label{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-right:10px;min-height:31px}.item-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;font-weight:600}.item-label small{flex:none;color:var(--muted);font-size:.65rem}.heat-cell{position:relative;min-width:28px;min-height:31px;border:0;border-radius:4px;background:rgba(23,79,60,.055);color:white;font-size:.65rem;font-weight:700}.heat-cell.has-sales{background:rgba(231,117,61,var(--heat))}.heat-cell.has-sales:focus-visible,.heat-cell.has-sales:hover{outline:2px solid var(--ink);outline-offset:1px;z-index:1}.legend{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:10px;color:var(--muted);font-size:.68rem}.legend-cell{width:20px;height:10px;border-radius:2px;background:rgba(231,117,61,var(--heat))}.selection{min-height:72px;display:flex;align-items:center;justify-content:flex-end;gap:36px;margin-top:18px;padding:15px 18px;border-top:1px solid var(--line)}.selection>div:first-child{margin-right:auto}.selection div{display:flex;flex-direction:column;gap:3px}.selection p,.selection span{margin:0;color:var(--muted);font-size:.72rem}.selection strong{font-size:.9rem}.selection-time{color:var(--orange-dark)!important;font-weight:700}.empty-state{padding:44px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.settings-shell{width:min(1080px,100%)}.settings-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}.back-link{color:var(--green);font-weight:700}.settings-stack{display:grid;grid-gap:18px;gap:18px}.store-form{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.store-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.store-form-heading h2{font-size:1.45rem}.credential-state{padding:6px 9px;border-radius:999px;font-size:.68rem;font-weight:700}.credential-state.ready{background:var(--green-soft);color:var(--green)}.credential-state.missing{background:#f8dfdc;color:var(--danger)}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.settings-grid label>span{display:block;margin-bottom:7px;color:var(--muted);font-size:.75rem;font-weight:650}.settings-grid input,.settings-grid select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}.store-form-actions{display:flex;align-items:center;gap:14px;margin-top:20px}.store-form-actions button{margin-left:auto;padding:10px 15px;border:0;border-radius:8px;background:var(--green);color:white;font-weight:700}.active-toggle{display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:650}.form-message{margin:0;color:var(--muted);font-size:.76rem}.credential-updated{margin:14px 0 0;color:var(--muted);font-size:.7rem}.header-actions{display:flex;align-items:center;gap:18px}.subpage-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.subpage-header h1{font-size:clamp(2.3rem,5vw,4rem)}.transactions-shell{width:min(1280px,100%)}.transaction-filters{display:flex;align-items:flex-end;gap:14px;margin-bottom:20px;padding:16px;border:1px solid var(--line);border-radius:12px;background:rgba(255,253,248,.82)}.transaction-filters label{min-width:220px}.login-form label>span,.transaction-filters label>span,.user-form label>span{display:block;margin-bottom:7px;color:var(--muted);font-size:.74rem;font-weight:700}.login-form input,.transaction-filters input,.transaction-filters select,.user-form input,.user-form select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}.transaction-filters p{margin:0 0 11px auto;color:var(--muted);font-size:.78rem}.transaction-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface);transition:opacity .18s ease}.transaction-table-wrap.is-loading{opacity:.55}.transaction-table{width:100%;min-width:900px;border-collapse:collapse}.transaction-table th{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-align:left;text-transform:uppercase}.transaction-table td{padding:16px;border-bottom:1px solid #ece7dc;vertical-align:top;font-size:.8rem}.transaction-table tbody tr:last-child td{border-bottom:0}.transaction-table td>small{display:block;max-width:150px;margin-top:4px;overflow:hidden;color:var(--muted);font-size:.62rem;text-overflow:ellipsis}.table-items{display:grid;grid-gap:5px;gap:5px;min-width:280px;margin:0;padding:0;list-style:none}.table-items li{display:flex;justify-content:space-between;gap:16px}.table-items strong{flex:none;color:var(--muted);font-size:.72rem}.payment-pill{display:inline-block;padding:5px 8px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:.68rem;font-weight:750;text-transform:capitalize}.amount-cell{text-align:right!important;white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px}.pagination span{color:var(--muted);font-size:.78rem}.login-form button,.pagination button,.user-form-actions button{padding:10px 15px;border:0;border-radius:8px;background:var(--green);color:white;font-weight:700}.login-form button:disabled,.pagination button:disabled,.user-form-actions button:disabled{opacity:.5}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(460px,100%);display:grid;grid-gap:28px;gap:28px;padding:clamp(24px,5vw,42px);border:1px solid var(--line);border-radius:20px;background:rgba(255,253,248,.94);box-shadow:0 24px 70px rgba(40,50,43,.12)}.login-brand{display:flex;align-items:center;justify-content:space-between;gap:20px}.login-brand .eyebrow{margin:0}.login-brand img{width:128px;height:auto;border-radius:8px}.login-card h1{font-size:clamp(2rem,8vw,3.25rem)}.login-form{display:grid;grid-gap:16px;gap:16px}.login-form button{width:100%;margin-top:4px;padding:12px 16px}.login-error{margin:0;color:var(--danger);font-size:.78rem}.user-management{margin-top:54px;padding-top:40px;border-top:1px solid var(--line)}.settings-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.settings-section-heading>p{max-width:420px;margin:0;color:var(--muted);font-size:.78rem;text-align:right}.user-form{padding:20px 24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.user-form-main{display:grid;grid-template-columns:1fr 1.4fr .7fr;grid-gap:16px;gap:16px}.user-form select:disabled{opacity:.75}.user-form-actions{display:flex;align-items:center;gap:14px;margin-top:16px}.user-form-actions button{margin-left:auto}@media (max-width:900px){.masthead{align-items:flex-start;flex-direction:column}.date-controls{min-width:0;width:100%}.metrics{grid-template-columns:repeat(2,1fr)}.user-form-main{grid-template-columns:1fr 1fr}.user-form-main label:last-child{grid-column:1/-1}}@media (max-width:560px){.shell{padding-top:28px}.metrics{grid-template-columns:1fr}.metric{min-height:124px}.section-heading{align-items:flex-start;flex-direction:column}.control-row{align-items:stretch;flex-direction:column}.selection{align-items:flex-start;flex-wrap:wrap;gap:18px}.selection>div:first-child{width:100%}.dashboard-brand,.settings-header,.store-form-heading{align-items:flex-start;flex-direction:column}.sarkop-logo{width:142px}.settings-grid{grid-template-columns:1fr}.store-form-actions{align-items:flex-start;flex-direction:column}.store-form-actions button{width:100%;margin-left:0}.settings-section-heading,.subpage-header{align-items:flex-start;flex-direction:column}.settings-section-heading>p{text-align:left}.transaction-filters{align-items:stretch;flex-direction:column}.transaction-filters label{min-width:0;width:100%}.transaction-filters p{margin:0}.user-form-main{grid-template-columns:1fr}.user-form-main label:last-child{grid-column:auto}.user-form-actions{align-items:flex-start;flex-direction:column}.user-form-actions button{width:100%;margin-left:0}.receipt-card{flex-basis:min(84vw,310px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important}.receipt-card.is-new{animation:none;outline:3px solid var(--orange)}}