@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--ink:#14231e;--forest:#102b24;--forest2:#183c32;--lime:#c8f269;--lime2:#a9dc3c;--cream:#f4f5ef;--card:#fff;--muted:#708079;--line:#e2e7e2;--danger:#d95555;--warning:#eeaa3a;--success:#3d9b69;--shadow:0 10px 35px rgba(16,43,36,.07);--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand strong{font-family:'Manrope',sans-serif}h1{font-size:26px;margin-bottom:0}h2{font-size:17px;margin-bottom:0}a{color:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:var(--forest);color:white;padding:22px 14px 15px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 22px}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--lime);color:var(--forest);display:grid;place-items:center;font:800 22px 'Manrope';overflow:hidden;flex:0 0 auto}.brand-mark img{width:100%;height:100%;object-fit:contain;background:white}.brand div:last-child{min-width:0}.brand strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand span,.sidebar-user span{display:block;color:#9eb1aa;font-size:11px;margin-top:2px}.sidebar nav{overflow:auto;flex:1}.nav-label{font-size:9px;letter-spacing:1.7px;color:#69887d;font-weight:800;margin:20px 11px 7px}.nav-item{border:0;background:transparent;color:#b8c7c1;width:100%;padding:10px 12px;border-radius:9px;text-align:left;margin:2px 0;font-weight:600;display:flex;gap:11px;align-items:center}.nav-item span{font-size:18px;width:18px;text-align:center}.nav-item:hover{background:#ffffff0c;color:#fff}.nav-item.active{background:var(--lime);color:var(--forest)}.sidebar-user{border-top:1px solid #ffffff17;padding:15px 6px 0;display:flex;align-items:center;gap:9px}.sidebar-user>div:nth-child(2){flex:1;min-width:0}.sidebar-user strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user a{text-decoration:none;font-size:20px;color:#91a79f}.logout-form{margin:0}.logout-form button{border:0;background:transparent;color:#91a79f;font-size:20px;padding:0}.avatar{height:35px;width:35px;border-radius:50%;display:grid;place-items:center;background:#2d574a;color:var(--lime);font-weight:800}.workspace{margin-left:246px;min-height:100vh;padding:0 32px 48px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between}.topbar p,.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:800;color:#7c8a84;margin-bottom:4px}.top-actions{display:flex;align-items:center;gap:14px}.today{color:var(--muted);font-size:12px}.btn{border:1px solid var(--line);border-radius:9px;padding:10px 15px;background:white;color:var(--ink);font-weight:700;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--lime);border-color:var(--lime);color:var(--forest)}.btn.primary:hover{background:var(--lime2)}.btn.ghost{background:white}.btn.full{width:100%;display:inline-block;text-align:center;text-decoration:none}.btn.big{padding:14px}.icon-btn{background:transparent;border:0;font-size:24px;color:inherit}.mobile-menu{display:none}.page{display:none;animation:fade .2s ease}.page.active{display:block}@keyframes fade{from{opacity:.4;transform:translateY(3px)}}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:16px}.metric{background:var(--card);padding:19px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #edf0ed}.metric-top{display:flex;justify-content:space-between;align-items:center}.metric-icon{height:34px;width:34px;border-radius:9px;display:grid;place-items:center;background:#eef7d9;font-size:18px}.metric .label{color:var(--muted);font-size:11px;font-weight:600}.metric strong{display:block;font:800 22px 'Manrope';margin:8px 0 2px}.metric small{color:var(--muted)}.metric.danger .metric-icon{background:#ffeaea}.metric.warning .metric-icon{background:#fff3db}.metrics.compact .metric{padding:15px 18px}.card{background:var(--card);border:1px solid #e9ede9;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:16px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th{text-align:left;padding:10px 12px;font-size:9px;letter-spacing:1.1px;color:#849089;border-bottom:1px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid #eff2ef}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbf8}.money{font-weight:700}.positive{color:var(--success)}.negative,.danger-text{color:var(--danger)!important}.badge{display:inline-flex;border-radius:20px;padding:4px 8px;background:#eef2ef;font-size:10px;font-weight:700}.badge.success{background:#e5f5eb;color:#28764d}.badge.warning{background:#fff2d8;color:#9c6817}.badge.danger{background:#ffe7e7;color:#a83939}.actions{display:flex;justify-content:flex-end;gap:5px}.mini-btn{border:1px solid var(--line);background:white;border-radius:7px;padding:6px 8px;color:var(--ink)}.link-btn{border:0;background:transparent;color:#4c735e;font-weight:700;font-size:12px;padding:5px}.empty{text-align:center;color:var(--muted);padding:32px!important}.chart{height:195px;display:flex;align-items:flex-end;gap:14px;padding-top:22px}.bar-wrap{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.bar{width:100%;max-width:38px;min-height:3px;border-radius:6px 6px 2px 2px;background:linear-gradient(var(--lime),#aedf41);position:relative}.bar:hover:after{content:attr(data-value);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);background:var(--forest);color:white;border-radius:5px;padding:4px 6px;font-size:9px;white-space:nowrap}.bar-label{font-size:10px;color:var(--muted)}.finance-summary{display:grid;gap:10px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:13px;background:#f6f8f5;border-radius:10px}.summary-row div:first-child{display:flex;align-items:center;gap:9px}.summary-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.summary-dot.warning{background:var(--warning)}.summary-dot.danger{background:var(--danger)}
.page-actions{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:10px}.page-actions>div:last-child{display:flex;gap:8px}.search-field{height:42px;border:1px solid var(--line);border-radius:9px;background:white;display:flex;align-items:center;gap:8px;padding:0 11px;color:#8b9691}.search-field input{border:0;outline:0;background:transparent;min-width:260px;width:100%}.form-card{max-width:850px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,label{font-size:11px;font-weight:700;color:#56655f;display:block}.form-grid input,.form-grid select,.form-grid textarea,label>input,label>select{display:block;width:100%;border:1px solid #dce2dd;background:#fff;border-radius:9px;padding:11px;margin-top:6px;color:var(--ink);outline:0}.form-grid input:focus,.form-grid select:focus,label>input:focus,label>select:focus{border-color:#85a94b;box-shadow:0 0 0 3px #c8f2692c}.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end}.form-grid small{display:block;color:var(--muted);margin-top:4px}.align-end{align-self:end}.grow{flex:1}.form-row{display:flex;gap:12px;align-items:flex-start}.form-row label{min-width:180px}
.birthday-card{background:linear-gradient(115deg,#173a30,#102b24);color:white;border-radius:var(--radius);padding:20px 22px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:22px;box-shadow:var(--shadow)}.birthday-heading{display:flex;align-items:center;gap:14px;min-width:280px}.birthday-icon{height:48px;width:48px;border-radius:14px;background:var(--lime);display:grid;place-items:center;font-size:24px;flex:0 0 auto}.birthday-card .eyebrow{color:#94b3a7}.birthday-card h2{color:white}.birthday-card p{color:#aebfb9;font-size:11px;margin:5px 0 0}.birthday-list{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.birthday-person{background:#ffffff10;border:1px solid #ffffff1d;border-radius:11px;padding:10px 11px;display:flex;align-items:center;gap:10px;min-width:245px}.birthday-person>div{flex:1;min-width:0}.birthday-person strong,.birthday-person small{display:block}.birthday-person strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.birthday-person small{color:#abc0b8;margin-top:2px}.birthday-person .btn{padding:8px 10px;background:var(--lime);border-color:var(--lime);font-size:11px}.birthday-empty{color:#adc0b9;font-size:12px;padding:9px 0}
.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.checkout{position:sticky;top:15px}.product-picker .search-field{margin-top:7px}.product-picker .search-field input{min-width:0}.product-results{display:flex;gap:8px;overflow-x:auto;padding-top:10px}.product-chip{min-width:175px;border:1px solid var(--line);background:#fafbf9;border-radius:10px;padding:10px;text-align:left}.product-chip strong{display:block}.product-chip span{font-size:11px;color:var(--muted)}.product-chip em{font-style:normal;color:var(--success);font-weight:700}.count-badge{font-size:10px;background:var(--lime);border-radius:15px;padding:3px 7px}.qty-control{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;width:max-content}.qty-control button{border:0;background:white;padding:5px 8px}.qty-control input{border:0;width:45px;text-align:center;padding:5px}.cart-table input{width:85px;border:1px solid var(--line);border-radius:6px;padding:6px}.total-line,.change-line{display:flex;justify-content:space-between;padding:9px 0}.grand-total{display:flex;justify-content:space-between;align-items:flex-end;background:var(--forest);color:white;padding:17px;margin:14px -20px}.grand-total strong{font:800 26px 'Manrope';color:var(--lime)}.checkout hr{border:0;border-top:1px solid var(--line)}.checkout h3{font-size:13px;margin:0}.payment-row{display:grid;grid-template-columns:1fr 1fr 26px;gap:7px;margin-bottom:8px}.payment-row select,.payment-row input{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px}.payment-row button{border:0;background:transparent;color:var(--danger)}.payment-row .due-date{grid-column:1/-1}.payment-status{text-align:right;font-size:11px;color:var(--muted);margin-bottom:10px}.change-line{margin-bottom:12px}.change-line strong{color:var(--success)}
.edit-sale-banner{background:#fff2d8;border:1px solid #efd69e;border-radius:12px;padding:12px 15px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.edit-sale-banner[hidden]{display:none}.edit-sale-banner strong,.edit-sale-banner small{display:block}.edit-sale-banner small{color:#86682e;margin-top:2px}.danger-btn{background:var(--danger);border-color:var(--danger);color:white}.sale-detail-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:15px}.sale-detail-summary>div{background:#f4f6f3;border-radius:9px;padding:10px}.sale-detail-summary span,.sale-detail-summary strong{display:block}.sale-detail-summary span{font-size:9px;letter-spacing:1px;color:var(--muted)}.sale-detail-summary strong{margin-top:4px}.detail-payments{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#aaa;margin-right:6px}.status-dot.open{background:var(--success);box-shadow:0 0 0 4px #3d9b6920}.filter-tabs{display:flex;background:#e7ebe6;border-radius:9px;padding:3px}.filter-tabs button{border:0;background:transparent;border-radius:7px;padding:7px 12px;color:#65736d}.filter-tabs button.active{background:white;color:var(--ink);box-shadow:0 2px 5px #0001}.whatsapp{color:#198d4e;border-color:#bfe3cc}.report-filter{display:flex;align-items:end;gap:12px}.report-filter label{min-width:160px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ranking{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.ranking:last-child{border:0}.rank{width:24px;height:24px;border-radius:7px;background:#edf4df;display:grid;place-items:center;font-weight:800;font-size:10px}.ranking>div{flex:1}.ranking strong,.ranking small{display:block}.ranking small{color:var(--muted)}.dre{max-width:620px;margin:auto}.dre .line{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid var(--line)}.dre .line.total{font:800 17px 'Manrope';background:#f1f5eb;border-radius:8px;border:0;margin-top:8px}.dre .line.net{background:var(--forest);color:white}.dre .line.net strong{color:var(--lime)}
dialog{border:0;border-radius:18px;padding:0;box-shadow:0 25px 80px #0005;max-width:630px;width:calc(100% - 24px)}dialog::backdrop{background:#07120e99;backdrop-filter:blur(3px)}.modal-shell{padding:23px;margin:0}.modal-head{display:flex;justify-content:space-between;margin-bottom:20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:21px}.success-modal{text-align:center}.success-icon{height:65px;width:65px;background:var(--lime);border-radius:50%;display:grid;place-items:center;font-size:34px;margin:0 auto 14px}.alert{padding:11px;border-radius:8px;margin:12px 0}.alert.danger{background:#ffe8e8;color:#9b3030}.alert.success{background:#e4f6ea;color:#256d47}.toast{position:fixed;right:25px;bottom:25px;background:var(--forest);color:white;border-radius:10px;padding:13px 17px;z-index:100;box-shadow:0 8px 30px #0003;transform:translateY(100px);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}.toast.error{background:#972f2f}
.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 70% 20%,#dff3ad 0,transparent 25%),var(--forest)}.auth-card{width:390px;max-width:calc(100% - 28px);background:white;border-radius:20px;padding:34px;box-shadow:0 30px 80px #0004}.auth-card .brand-mark{margin-bottom:22px}.auth-card .login-logo{width:96px;height:96px;margin-left:auto;margin-right:auto;border-radius:18px;background:white;box-shadow:0 6px 22px #0b2b2326}.auth-card .login-logo img{width:100%;height:100%;object-fit:cover;background:white}.auth-card h1{margin-bottom:6px}.auth-card p{color:var(--muted)}.auth-card label{margin:14px 0}.auth-card small{display:block;text-align:center;color:var(--muted);margin-top:18px}.auth-card a{color:#397a58;font-weight:700}
body:not([data-role="administrador"]) .admin-only{display:none}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.pos-layout{grid-template-columns:1fr}.checkout{position:static}.report-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none;box-shadow:15px 0 50px #0006}.workspace{margin-left:0;padding:0 14px 30px}.mobile-menu{display:block}.topbar{height:90px}.topbar>div:first-of-type{flex:1}.top-actions .today{display:none}.top-actions .btn{padding:9px;font-size:0}.top-actions .btn:after{content:'＋';font-size:18px}.metrics{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:13px}.metric strong{font-size:17px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.form-row{flex-direction:column}.form-row label,.form-row .btn{width:100%}.page-actions{align-items:stretch;flex-wrap:wrap}.page-actions>.search-field{flex:1}.search-field input{min-width:130px}.birthday-card{align-items:stretch;flex-direction:column}.birthday-list{justify-content:stretch}.birthday-person{width:100%;min-width:0}.report-filter{flex-wrap:wrap}.report-filter label{min-width:130px;flex:1}.today{display:none}.grand-total{margin-left:-20px;margin-right:-20px}.card{padding:15px}.payment-row{grid-template-columns:1fr 1fr 22px}}
@media print{.sidebar,.topbar,.report-filter,.page:not(.active),.btn,.page-actions{display:none!important}.workspace{margin:0;padding:0}.card{box-shadow:none;break-inside:avoid}.report-grid{grid-template-columns:1fr 1fr}}

/* Operator shifts */
.cash-session-banner{display:block;width:100%;text-align:left;padding:13px 18px;margin:0 0 20px;border:1px solid #c9d9ce;border-radius:12px;background:#edf5ed;color:#244d35;font:inherit;cursor:pointer;line-height:1.5}.cash-session-banner.needs-opening{background:#fff7e4;border-color:#eed697;color:#755614}.cash-identity{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.cash-identity h2{margin:7px 0}.cash-identity p{margin:8px 0 0}.cash-help{color:var(--muted,#6c7974);font-size:13px;line-height:1.6;margin:12px 0 20px}.cash-actions{align-items:flex-end;gap:16px}.cash-actions>div{display:flex;gap:8px;flex-wrap:wrap}.cash-actions label{max-width:520px}a[aria-disabled="true"]{opacity:.5;pointer-events:none}#cashForm label{display:block;margin-top:18px}#cashForm input{width:100%}.cash-identity .btn{flex-shrink:0}.cash-actions select{width:100%}@media(max-width:760px){.cash-identity,.cash-actions{align-items:stretch;flex-direction:column}.cash-actions label{max-width:none}.cash-actions>div .btn{flex:1}.cash-session-banner{font-size:12px}}

#cashForm label[hidden]{display:none}.cash-actions{flex-wrap:wrap}.cash-actions label{min-width:250px}.cash-actions>div{flex-shrink:0}
