:root{--ink:#171512;--ink-soft:#292621;--gold:#c59a5b;--gold-soft:#f2e8d8;--paper:#f6f4ef;--white:#fff;--muted:#77736d;--line:#e7e2d9;--green:#17745b;--red:#b44141;--shadow:0 16px 40px rgba(28,24,19,.08);}*{box-sizing:border-box;}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;}button,input,select,textarea{font:inherit;}button{cursor:pointer;}.hidden{display:none !important;}.muted{color:var(--muted);}.eyebrow{margin:0 0 6px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.18em;}.brand-mark{display:inline-grid;width:42px;height:42px;place-items:center;border:1px solid var(--gold);color:var(--gold);font:600 22px/1 Oswald;transform:rotate(45deg);}.brand-mark::first-line{transform:rotate(-45deg);}.brand-mark.large{width:72px;height:72px;font-size:34px;}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#11100f;}.login-art{position:relative;overflow:hidden;padding:9vw;color:white;display:flex;flex-direction:column;justify-content:center;}.login-art::after{content:"";position:absolute;inset:0;opacity:.22;background:radial-gradient(circle at 70% 25%,#c59a5b,transparent 28%),repeating-linear-gradient(125deg,transparent 0 22px,rgba(255,255,255,.05) 23px 24px);}.login-art>*{position:relative;z-index:1;}.login-art h1{margin:32px 0 20px;font:600 clamp(58px,8vw,112px)/.88 Oswald;text-transform:uppercase;letter-spacing:-.02em;}.login-art p:last-child{max-width:460px;color:#c9c6bf;font-size:18px;}.login-panel{display:grid;place-items:center;background:var(--paper);padding:32px;}.login-card{width:min(440px,100%);}.login-card h2{margin:5px 0 8px;font:600 44px/1 Oswald;text-transform:uppercase;}.brand-mobile{display:none;margin-bottom:50px;align-items:center;gap:18px;font-weight:700;}label{display:grid;gap:7px;margin:18px 0;font-size:13px;font-weight:700;}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 13px;background:white;color:var(--ink);outline:none;}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(197,154,91,.14);}textarea{min-height:92px;resize:vertical;}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr;}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;z-index:20;display:flex;flex-direction:column;color:#f5f1e9;background:#171512;padding:28px 16px 18px;}.brand{display:flex;align-items:center;gap:16px;padding:0 12px 28px;text-transform:uppercase;font:500 18px/1.05 Oswald;letter-spacing:.05em;}.sidebar nav{display:grid;gap:4px;overflow-y:auto;}.sidebar nav button{display:flex;align-items:center;gap:13px;border:0;border-radius:9px;padding:12px 14px;color:#aaa59b;background:transparent;text-align:left;font-size:13px;font-weight:600;}.sidebar nav button:hover,.sidebar nav button.active{color:white;background:#29251f;}.sidebar nav button.active{box-shadow:inset 3px 0 var(--gold);}.sidebar nav button span{width:20px;color:var(--gold);text-align:center;}.sidebar-footer{margin-top:auto;display:grid;grid-template-columns:36px 1fr 30px;gap:10px;align-items:center;border-top:1px solid #33302a;padding:18px 8px 0;}.sidebar-footer small{display:block;color:#8e897f;font-size:10px;text-transform:uppercase;}.sidebar-footer button{border:0;color:#aaa59b;background:transparent;font-size:20px;}.avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;color:#171512;background:var(--gold);font-weight:700;}.main{grid-column:2;min-width:0;}.topbar{position:sticky;top:0;z-index:10;min-height:92px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:18px 32px;background:rgba(246,244,239,.94);backdrop-filter:blur(14px);}.topbar h1{margin:0;font:600 31px/1 Oswald;text-transform:uppercase;}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px;}#menu-btn{display:none;}.content{padding:28px 32px 60px;}.loading{padding:80px;color:var(--muted);text-align:center;}.btn{border:1px solid var(--line);border-radius:9px;padding:10px 15px;color:var(--ink);background:white;font-weight:700;}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(0,0,0,.08);}.btn.primary{border-color:var(--gold);color:#171512;background:var(--gold);}.btn.dark{border-color:var(--ink);color:white;background:var(--ink);}.btn.danger{border-color:#edd0d0;color:var(--red);background:#fff5f5;}.btn.full{width:100%;}.btn.small{padding:7px 10px;font-size:12px;}.icon-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:white;}.status-chip,.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;color:#655f55;background:#ebe7df;font-size:11px;font-weight:700;}.status-chip.open,.badge.success{color:var(--green);background:#ddf2ea;}.badge.warning{color:#8a5a12;background:#f8eacb;}.badge.danger{color:var(--red);background:#f7dddd;}.metrics{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;margin-bottom:22px;}.metric{position:relative;min-height:132px;overflow:hidden;border:1px solid var(--line);border-radius:14px;padding:20px;background:white;box-shadow:var(--shadow);}.metric::after{content:"";position:absolute;z-index:0;right:-22px;bottom:-35px;width:95px;height:95px;border:20px solid rgba(242,232,216,.28);border-radius:50%;opacity:.38;pointer-events:none;}.metric>*{position:relative;z-index:1;}.metric small{color:var(--muted);font-weight:700;}.metric strong{display:block;margin-top:15px;font:600 30px/1 Oswald;}.metric.gold{color:white;border-color:var(--ink);background:var(--ink);}.metric.gold::after{border-color:rgba(197,154,91,.18);opacity:.32;}.grid-2{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;}.panel{border:1px solid var(--line);border-radius:14px;padding:20px;background:white;box-shadow:var(--shadow);}.panel-head,.view-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;}.panel h2,.view-head h2{margin:0;font:600 22px/1.1 Oswald;text-transform:uppercase;}.view-head{margin-bottom:22px;}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}.toolbar input,.toolbar select{width:auto;min-width:190px;}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:white;}table{width:100%;border-collapse:collapse;}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:middle;}th{color:var(--muted);background:#faf9f6;font-size:10px;letter-spacing:.08em;text-transform:uppercase;}tr:last-child td{border-bottom:0;}.empty{padding:40px;color:var(--muted);text-align:center;}.item-title{font-weight:700;}.item-sub{color:var(--muted);font-size:11px;}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:15px;}.card{border:1px solid var(--line);border-radius:13px;padding:17px;background:white;box-shadow:var(--shadow);}.card h3{margin:5px 0;font-size:16px;}.card .price{margin-top:16px;color:var(--gold);font:600 22px Oswald;}.card-row{display:flex;justify-content:space-between;gap:12px;align-items:center;}.stock-low{color:var(--red);}.appointment-list{display:grid;gap:10px;}.appointment{display:grid;grid-template-columns:85px 1fr auto;align-items:center;gap:14px;border-left:3px solid var(--gold);border-radius:8px;padding:13px;background:#faf9f6;}.appointment time{font:600 18px Oswald;}.pos-layout{display:grid;grid-template-columns:minmax(420px,0.9fr) minmax(560px,1.1fr);gap:22px;align-items:start;}.catalog-tabs{display:flex;gap:8px;margin-bottom:14px;}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:10px;max-height:560px;overflow:auto;}.catalog-item{border:1px solid var(--line);border-radius:10px;padding:14px;background:white;text-align:left;}.catalog-item:hover{border-color:var(--gold);}.catalog-item strong,.catalog-item small{display:block;}.catalog-item .price{margin-top:12px;color:var(--gold);font-weight:700;}.cart{position:sticky;top:118px;}.cart-lines{min-height:220px;max-height:520px;overflow-y:auto;}.cart-line{display:grid;grid-template-columns:minmax(280px,1fr) 76px 105px 32px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0;}.cart-line input{padding:7px;}.cart-total{display:grid;gap:8px;border-top:2px solid var(--ink);margin-top:12px;padding-top:14px;}.total-row{display:flex;justify-content:space-between;}.total-row.grand{font:600 25px Oswald;}.barcode-box{border:1px dashed var(--gold);background:#fffaf2;}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}.form-grid .span-2{grid-column:1 / -1;}.checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:220px;overflow-y:auto;}.check{display:flex;align-items:center;gap:8px;margin:0;border:1px solid var(--line);border-radius:8px;padding:9px;font-weight:500;}.check input{width:auto;}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;}dialog{width:min(680px,calc(100% - 28px));border:0;border-radius:16px;padding:0;box-shadow:0 30px 100px rgba(0,0,0,.28);}dialog::backdrop{background:rgba(15,14,12,.66);backdrop-filter:blur(4px);}.modal-card{padding:24px;}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px;}.modal-head h2{margin:0;font:600 25px Oswald;text-transform:uppercase;}.toast{position:fixed;z-index:999999;right:24px;bottom:24px;max-width:420px;border-radius:10px;padding:13px 16px;color:white;background:var(--ink);opacity:0;transform:translateY(20px);pointer-events:none;transition:.25s;box-shadow:0 18px 45px rgba(0,0,0,.28);}.toast.show{opacity:1;transform:translateY(0);}.toast.error{background:var(--red);}@media (max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr);}.pos-layout{grid-template-columns:1fr;}.cart{position:static;}}@media (max-width:820px){.login-screen{grid-template-columns:1fr;}.login-art{display:none;}.brand-mobile{display:flex;}.app-shell{display:block;}.sidebar{transform:translateX(-100%);transition:.25s;}.sidebar.open{transform:translateX(0);}.main{grid-column:1;}#menu-btn{display:inline-grid;place-items:center;}.topbar{padding:14px 16px;}.content{padding:20px 16px 50px;}.metrics{grid-template-columns:1fr 1fr;}.grid-2{grid-template-columns:1fr;}.top-actions .status-chip{display:none;}}@media (max-width:540px){.metrics{grid-template-columns:1fr;}.topbar h1{font-size:24px;}.top-actions .btn{padding:9px 10px;font-size:12px;}.form-grid{grid-template-columns:1fr;}.form-grid .span-2{grid-column:auto;}.appointment{grid-template-columns:65px 1fr;}.appointment .badge{grid-column:2;justify-self:start;}.toolbar input,.toolbar select{width:100%;}}.crud-actions{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.btn.danger{background:#7f1d1d;color:#fff;border-color:#7f1d1d}.btn.danger:hover{filter:brightness(1.08)}.appointment-list-scroll{max-height:360px;overflow-y:auto;padding-right:6px;}.appointment-compact{align-items:flex-start;gap:12px;}.appointment-compact time{min-width:58px;text-align:center;font-weight:700;}.appointment-main{flex:1;min-width:0;}.appointment-main .item-title,.appointment-main .item-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.required-field{color:var(--gold);}.required-field input{border-color:rgba(197,154,91,.65);}.customer-more{display:grid;gap:18px;}.customer-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}.loyalty-card{border:1px solid rgba(197,154,91,.35);background:linear-gradient(135deg,rgba(197,154,91,.16),rgba(255,255,255,.92));border-radius:22px;padding:18px;display:grid;gap:12px;box-shadow:0 18px 50px rgba(30,24,18,.08);}.loyalty-stars{display:flex;flex-wrap:wrap;gap:8px;font-size:28px;line-height:1;}.loyalty-star{color:rgba(35,31,32,.16);text-shadow:0 1px 0 rgba(255,255,255,.9);}.loyalty-star.filled{color:#C59A5B;}.loyalty-star.courtesy{border-left:1px solid rgba(35,31,32,.12);padding-left:10px;color:rgba(35,31,32,.22);}.loyalty-star.courtesy.ready{color:#111;filter:drop-shadow(0 4px 8px rgba(197,154,91,.3));}.loyalty-status{display:inline-flex;width:fit-content;border-radius:999px;padding:8px 12px;background:rgba(35,31,32,.07);color:#4d4742;font-size:13px;font-weight:700;}.loyalty-status.ready{background:rgba(197,154,91,.22);color:#191512;}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}.mini-card{background:#fff;border:1px solid rgba(35,31,32,.08);border-radius:16px;padding:12px;box-shadow:0 10px 30px rgba(30,24,18,.05);}.mini-card small{display:block;color:#8a8178;margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em;font-size:11px;}.mini-card strong{font-size:18px;}.membership-list{display:grid;gap:10px;}.table-wrap.compact{max-height:260px;overflow:auto;}.empty.compact{padding:12px;}@media (max-width:760px){.customer-card-head{flex-direction:column;}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.loyalty-stars{font-size:24px;}}.club-member-card{border:1px solid rgba(197,154,91,.42);background:linear-gradient(135deg,rgba(24,20,17,.96),rgba(80,57,36,.92));color:#fff;border-radius:24px;padding:20px;display:grid;gap:16px;box-shadow:0 24px 70px rgba(30,24,18,.18);position:relative;overflow:hidden;}.club-member-card::after{content:'';position:absolute;right:-60px;top:-70px;width:190px;height:190px;border:28px solid rgba(197,154,91,.12);border-radius:50%;pointer-events:none;}.club-member-card>*{position:relative;z-index:1;}.club-member-card h3{color:#fff;margin:0;font-size:26px;}.club-member-card .muted{color:rgba(255,255,255,.76);}.club-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}.club-summary-grid div{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);border-radius:16px;padding:12px;}.club-summary-grid small{display:block;color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.06em;font-size:10px;margin-bottom:4px;}.club-summary-grid strong{color:#fff;font-size:18px;}.benefit-chips{display:flex;flex-wrap:wrap;gap:8px;}.benefit-chips span{border-radius:999px;padding:8px 11px;background:rgba(197,154,91,.22);border:1px solid rgba(197,154,91,.28);color:#fff;font-size:12px;font-weight:700;}.club-status{display:inline-flex;width:fit-content;border-radius:999px;padding:9px 13px;background:rgba(197,154,91,.26);color:#fff;font-size:13px;font-weight:800;}@media (max-width:760px){.club-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}.membership-fields{display:contents;}.membership-fields.span-2{grid-column:1 / -1;}.membership-fields[style*="display:none"]{display:none !important;}.club-member-card.inactive,.loyalty-card.inactive{opacity:.82;filter:grayscale(.18);}.club-member-card.inactive h3,.loyalty-card.inactive h3{color:#6f604c;}.membership-visit-box{margin:8px 0 12px;}.membership-pos-card{border:1px solid rgba(181,138,84,.25);border-radius:14px;padding:10px 12px;background:rgba(250,246,238,.72);display:grid;gap:8px;}.membership-pos-card.active{background:linear-gradient(135deg,rgba(197,154,91,.16),rgba(255,255,255,.88));}.membership-pos-card.warning{border-color:rgba(160,70,70,.35);background:rgba(255,240,238,.75);color:#7a2e2e;}.membership-pos-card small{display:block;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.06em;}.cash-device-audit{font-size:12px;color:var(--muted,#777);}.staff-multi-box{margin-top:8px;}.staff-multi-label{display:grid;gap:5px;font-size:12px;color:var(--muted,#7a6d61);}.staff-multi-label select[multiple]{min-width:210px;border-radius:10px;border:1px solid rgba(34,34,34,.12);padding:7px;background:#fff;}.product-seller-label{display:grid;gap:5px;margin-top:8px;font-size:12px;color:var(--muted,#7a6d61);}.product-seller-label select{min-width:190px;border-radius:10px;border:1px solid rgba(34,34,34,.12);background:#fff;}.combo-unit-head{display:grid;gap:2px;margin-bottom:6px;}.combo-unit-head small{color:var(--muted,#7a6d61);}.combo-unit-row{display:grid;grid-template-columns:95px minmax(160px,1fr);align-items:center;gap:8px;margin:5px 0;font-size:12px;color:var(--muted,#7a6d61);}.combo-unit-row select{border-radius:10px;border:1px solid rgba(34,34,34,.12);padding:7px;background:#fff;}.card-issue-code{display:inline-grid;gap:2px;margin:8px 0;padding:8px 10px;border:1px dashed rgba(34,34,34,.22);border-radius:12px;background:rgba(255,255,255,.65);}.card-issue-code small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#7a6d61);}.card-issue-code strong{font-size:13px;letter-spacing:.04em;}.pos-layout .cart{min-width:560px;}.cart .panel-head h2{white-space:nowrap;}.cart-line .item-title{font-size:15px;line-height:1.25;}.cart-line .item-sub{line-height:1.35;}.cart-line select{max-width:100%;}.cart-line input[data-cart-qty]{width:76px;}@media (max-width:1380px){.pos-layout{grid-template-columns:minmax(360px,.85fr) minmax(520px,1.15fr);}.pos-layout .cart{min-width:520px;}}@media (max-width:1080px){.pos-layout{grid-template-columns:1fr;}.pos-layout .cart{min-width:0;position:static;}}.product-cell{display:flex;align-items:center;gap:10px;}.product-thumb{width:42px;height:42px;border-radius:10px;object-fit:cover;border:1px solid var(--line);background:#fff;flex:0 0 auto;}.product-thumb.placeholder{display:grid;place-items:center;color:var(--muted,#7a6d61);background:#f8f4ee;}.product-image-preview{margin-top:8px;min-height:54px;display:flex;align-items:center;gap:10px;}.product-image-preview img{width:72px;height:72px;object-fit:cover;border-radius:12px;border:1px solid var(--line);}.catalog-product-thumb{width:100%;height:84px;object-fit:cover;border-radius:10px;margin:8px 0;border:1px solid var(--line);background:#fff;}.product-image-field input[type="file"]{margin-top:8px;}.product-image-field .btn.small{width:fit-content;margin-top:8px;}input[readonly]{background:#f5f1ea;color:#63584c;cursor:not-allowed;}.product-image-field input[type="file"]{margin-top:8px;}.product-image-field .btn.small{width:fit-content;margin-top:8px;}.product-image-preview{margin-top:8px;min-height:54px;display:flex;align-items:center;gap:10px;}.product-image-preview img{width:72px;height:72px;object-fit:cover;border-radius:12px;border:1px solid var(--line);}.product-cell{display:flex;align-items:center;gap:10px;}.product-thumb{width:42px;height:42px;border-radius:10px;object-fit:cover;border:1px solid var(--line);background:#fff;flex:0 0 auto;}.product-thumb.placeholder{display:grid;place-items:center;color:var(--muted,#7a6d61);background:#f8f4ee;}input[readonly]{background:#f5f1ea !important;color:#63584c;cursor:not-allowed;}.subnav-tabs{display:flex;gap:8px;margin:-4px 0 16px;flex-wrap:wrap;}.product-image-field small{display:block;margin-top:4px;}.product-image-preview{border:1px dashed var(--line);border-radius:12px;padding:8px;background:#faf8f4;}#entity-form button[disabled]{opacity:.65;cursor:wait;}.cash-quality-note{font-size:12px;color:var(--muted,#7a6d61);}.time-audit-chip{display:inline-block;padding:3px 7px;border-radius:999px;background:rgba(0,0,0,.05);font-size:11px;}.membership-activation-note{margin-top:8px;padding:9px 10px;border-radius:12px;background:rgba(197,154,91,.12);border:1px solid rgba(197,154,91,.28);display:grid;gap:3px;}.membership-activation-note small{color:var(--muted,#7a6d61);line-height:1.35;}#received-amount[readonly]{background:#f5f1ea;color:#5f5549;}.pos-invoice-card{display:grid;gap:8px;text-align:center;}.invoice-success{width:54px;height:54px;border-radius:999px;display:grid;place-items:center;margin:0 auto 4px;background:rgba(31,146,87,.14);color:#1f9257;font-size:32px;font-weight:800;}.invoice-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;}#invoice-rtn-form .panel h3{margin:4px 0;}#invoice-rtn-note{padding:10px;}#invoice-rtn-form input:disabled{opacity:.72;background:#f3eee6;}#invoice-rtn-current p{margin:4px 0;}#invoice-rtn-fields[hidden]{display:none !important;}.customer-rtn-warning{color:#8a5b00;font-size:12px;}.split-payment-box{border:1px solid rgba(181,138,84,.28);border-radius:14px;padding:12px;background:#fffaf2;margin:10px 0;}.split-payment-box[hidden]{display:none !important;}.split-detail{font-size:12px;opacity:.86;}#pos-tip{font-weight:700;}#pos-customer-search{margin-bottom:8px;}.pos-customer-combobox{position:relative;}.pos-customer-results{position:relative;z-index:20;margin-top:-4px;margin-bottom:10px;border:1px solid rgba(181,138,84,.28);border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(30,24,18,.12);overflow:hidden;}.pos-customer-results[hidden]{display:none !important;}.pos-customer-result{width:100%;border:0;border-bottom:1px solid rgba(30,24,18,.08);background:#fff;padding:10px 12px;text-align:left;cursor:pointer;display:block;}.pos-customer-result:last-child{border-bottom:0;}.pos-customer-result:hover{background:#fff7ea;}.pos-customer-result strong{display:block;font-size:13px;}.pos-customer-result span{display:block;font-size:12px;color:#6f6255;margin-top:2px;}.pos-customer-result[disabled]{cursor:default;opacity:.75;}.pos-customer-result[data-pos-customer-final]{background:#fbf7ef;}.pos-customer-result[data-pos-customer-final]:hover{background:#f5ead8;}.panel-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}.tip-note{margin-top:-8px;margin-bottom:8px;}#pos-tip:disabled{opacity:.65;background:#f4f1eb;cursor:not-allowed;}.executive-summary{border:1px solid rgba(181,138,84,.26);background:linear-gradient(180deg,#fffaf2 0%,#fff 100%);}.executive-grid{margin-bottom:18px;}.exec-chart-card{min-height:260px;}.compact-head{align-items:flex-start;}.exec-chart{display:grid;gap:10px;}.exec-chart-row{display:grid;grid-template-columns:minmax(120px,1fr) 2fr minmax(82px,auto);gap:10px;align-items:center;}.exec-chart-label{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.exec-chart-bar{height:12px;border-radius:999px;background:rgba(30,24,18,.08);overflow:hidden;}.exec-chart-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#b58a54,#1f2b4d);}.exec-chart-value{text-align:right;font-size:12px;font-weight:800;}@media (max-width:760px){.exec-chart-row{grid-template-columns:1fr;gap:4px;}.exec-chart-value{text-align:left;}}.discount-note{margin-top:-8px;margin-bottom:8px;}#pos-discount[readonly]{background:#f4f1eb;cursor:not-allowed;}.check{display:flex;gap:8px;align-items:center;}.check input{width:auto;}.badge.gold{background:#b58a54;color:#fff;}.invoice-business{display:grid;gap:3px;margin:8px 0 12px;padding:10px;border:1px solid rgba(181,138,84,.22);border-radius:12px;background:#fffaf2;font-size:12px;}.invoice-business strong{font-size:13px;text-transform:uppercase;}.invoice-business span{color:#5d5144;}.catalog-product-row{display:flex;align-items:center;gap:8px;margin:6px 0;}.catalog-product-thumb.mini{width:42px;height:42px;max-width:42px;max-height:42px;min-width:42px;border-radius:10px;object-fit:cover;border:1px solid rgba(0,0,0,.08);background:#f7f2eb;}.catalog-product-thumb.mini.placeholder{display:inline-flex;align-items:center;justify-content:center;color:#9b7a4a;font-size:18px;}.client-card-modal{display:grid;gap:16px;}.client-summary{padding:12px;border-radius:16px;background:#f6efe4;}.client-summary h2{margin:0 0 4px;}.client-designed-card{position:relative;overflow:hidden;border-radius:22px;padding:18px;border:1px solid rgba(181,138,84,.35);box-shadow:0 18px 45px rgba(0,0,0,.12);}.client-designed-card::before{content:"";position:absolute;inset:-35%;background:radial-gradient(circle at 30% 25%,rgba(181,138,84,.28),transparent 34%),radial-gradient(circle at 80% 0%,rgba(255,255,255,.18),transparent 28%);pointer-events:none;}.client-designed-card>*{position:relative;z-index:1;}.club-card{background:linear-gradient(135deg,#101010,#24201b 55%,#b58a54);color:#fff;}.club-card.inactive{background:linear-gradient(135deg,#4a4a4a,#2e2e2e);}.loyalty-card{background:linear-gradient(135deg,#fff8ec,#f2dfbf);color:#1c1712;}.card-top{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.9;}.client-designed-card h3{margin:14px 0;font-size:22px;}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.card-grid div{border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:10px;background:rgba(255,255,255,.12);}.loyalty-card .card-grid div{border-color:rgba(181,138,84,.25);background:rgba(255,255,255,.55);}.card-grid small{display:block;font-size:11px;opacity:.75;}.card-grid strong{display:block;margin-top:4px;font-size:16px;}.stars-row{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 16px;font-size:24px;}.stars-row span{color:rgba(0,0,0,.18);}.stars-row span.filled{color:#b58a54;text-shadow:0 2px 8px rgba(181,138,84,.25);}.card-actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;}.membership-pos-card.active button[disabled],.membership-pos-card button[disabled]{opacity:.55;cursor:not-allowed;}.membership-pos-card.active span{line-height:1.35;}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;}.check-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line,#ddd);border-radius:12px;background:rgba(255,255,255,.04);}.check-row input{width:auto;}.user-permission-card{align-self:start;}.sales-filter-panel{border-top:4px solid var(--gold,#b58a54);}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;}.check-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line,#ddd);border-radius:12px;background:rgba(255,255,255,.04);}.check-row input{width:auto;}.sales-filter-panel{border-top:4px solid var(--gold,#b58a54);}
.executive-bars-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;align-items:stretch;}
.executive-bars-grid .exec-chart-card{width:100%;min-width:0;height:100%;}
.executive-bars-grid .panel-head h2{font-size:18px;line-height:1.15;}
@media (max-width:900px){.executive-bars-grid{grid-template-columns:1fr;}}
.sales-filter-summary{display:grid;gap:4px;margin-bottom:16px;border-left:4px solid var(--gold,#b58a54);}
.sales-filter-summary strong{font-size:15px;}
.sales-advanced-filter{margin-bottom:16px;border-left:4px solid var(--gold,#b58a54);}
.sales-advanced-filter .form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}
.sales-filter-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap;}
.sales-filter-actions .btn{min-width:130px;}
@media(max-width:760px){.sales-filter-actions{align-items:stretch;}.sales-filter-actions .btn{width:100%;}}
.sales-history-head{align-items:center;gap:18px;}
.sales-history-head>div:first-child{min-width:260px;}
.sales-date-control{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-left:auto;background:transparent;padding:0;}
.sales-date-control label{display:grid;gap:4px;font-size:11px;font-weight:800;color:var(--muted,#77736d);text-transform:uppercase;letter-spacing:.08em;}
.sales-date-control input{min-width:145px;height:42px;border:1px solid var(--line,#e7e2d9);border-radius:10px;padding:0 10px;background:#fff;}
.sales-date-control .btn{height:42px;white-space:nowrap;}
@media(max-width:1100px){.sales-history-head{align-items:flex-start;}.sales-date-control{width:100%;margin-left:0;}.sales-date-control label{flex:1;}.sales-date-control input{width:100%;}}
@media(max-width:760px){.sales-date-control{display:grid;grid-template-columns:1fr;}.sales-date-control .btn{width:100%;}}
.role-permissions-list{display:grid;gap:14px;max-height:68vh;overflow:auto;padding-right:4px;}
.role-permission-card.selected{border-color:var(--gold,#c59a5b);box-shadow:0 0 0 2px rgba(197,154,91,.18);}
.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;}
.check-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line,#e7e2d9);border-radius:12px;background:rgba(255,255,255,.65);}
.check-row input{width:auto;}
.color-dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid var(--line,#ddd);margin-right:8px;vertical-align:middle;}

.modal-card{position:relative;}
.toast.modal-toast{position:sticky;top:0;right:auto;bottom:auto;left:auto;max-width:none;width:100%;margin:-8px 0 16px 0;z-index:5;transform:translateY(-8px);pointer-events:auto;}
.toast.modal-toast.show{opacity:1;transform:translateY(0);}

.tax-checklist-box{display:grid;gap:8px;margin:4px 0 10px;}
.tax-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.tax-check span{display:flex;justify-content:space-between;gap:8px;width:100%;}
.tax-check small{color:var(--muted,#77736d);font-weight:700;}
@media(max-width:640px){.tax-checklist{grid-template-columns:1fr;}}

.tax-breakdown-title{font-weight:700;text-transform:uppercase;font-size:12px;margin-top:8px;color:var(--gold);}
.tax-breakdown-pos{display:grid;gap:2px;margin:2px 0 6px;}
.tax-row span{font-weight:700;}

.invoice-totals-summary{display:grid;gap:6px;margin:14px 0;padding:12px;border:1px solid rgba(201,169,97,.35);border-radius:14px;background:rgba(201,169,97,.06);}
.invoice-tax-summary{display:grid;gap:5px;padding:8px 0;border-top:1px dashed rgba(0,0,0,.12);border-bottom:1px dashed rgba(0,0,0,.12);}
.invoice-summary-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--gold,#c9a961);margin-bottom:2px;}
.invoice-summary-row{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px;}
.invoice-summary-row strong{white-space:nowrap;}
.invoice-grand{font-size:18px;font-weight:900;border-top:1px solid rgba(0,0,0,.12);padding-top:7px;margin-top:2px;}

.tax-base-row span{font-size:12px;color:var(--muted,#77736d);}
.tax-base-row strong{font-size:12px;color:var(--muted,#77736d);}


/* Agenda inteligente */
.agenda-head{align-items:flex-start;}
.agenda-toolbar{flex-wrap:wrap;gap:8px;}
.segmented{display:flex;gap:6px;align-items:center;}
.agenda-calendar{margin:18px 0;display:block;}
.agenda-day-grid{display:grid;gap:8px;}
.agenda-hour-row{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;align-items:stretch;border:1px solid rgba(181,138,84,.18);border-radius:14px;background:rgba(255,255,255,.03);padding:8px;}
.agenda-hour{font-weight:800;color:var(--gold,#B58A54);padding-top:8px;text-align:center;}
.agenda-hour-items{display:grid;gap:8px;min-height:42px;}
.empty-slot{display:flex;align-items:center;color:var(--muted,#8a837c);font-size:13px;padding:8px 10px;border:1px dashed rgba(255,255,255,.12);border-radius:12px;}
.appointment-card{display:grid;gap:4px;padding:10px 12px;border-radius:13px;background:rgba(181,138,84,.12);border:1px solid rgba(181,138,84,.28);cursor:pointer;}
.appointment-card:hover{transform:translateY(-1px);border-color:rgba(181,138,84,.55);}
.appointment-card strong{font-size:14px;}
.appointment-card span,.appointment-card small{color:var(--muted,#8a837c);}
.appointment-time{font-size:12px;font-weight:800;color:var(--gold,#B58A54);text-transform:uppercase;letter-spacing:.04em;}
.appointment-card.status-confirmed{border-color:rgba(46,160,67,.45);}
.appointment-card.status-cancelled,.appointment-card.status-no_show{opacity:.65;border-color:rgba(210,72,72,.45);}
.appointment-card.status-completed{border-color:rgba(181,138,84,.65);}
.appointment-card-actions{margin-top:4px;}
.agenda-week-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;overflow-x:auto;}
.agenda-week-day{min-height:220px;border:1px solid rgba(181,138,84,.18);border-radius:16px;background:rgba(255,255,255,.03);padding:10px;display:flex;flex-direction:column;gap:10px;}
.agenda-week-day header{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px;}
.agenda-week-items{display:grid;gap:8px;}
.agenda-month-grid{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:8px;overflow-x:auto;}
.agenda-month-day{min-height:125px;border:1px solid rgba(181,138,84,.16);border-radius:14px;background:rgba(255,255,255,.03);padding:8px;display:grid;grid-template-rows:auto 1fr;gap:8px;}
.agenda-month-day.outside{opacity:.45;}
.agenda-month-day header{display:flex;justify-content:space-between;align-items:center;}
.agenda-month-items{display:grid;gap:6px;}
.agenda-month-items .appointment-card{padding:7px;font-size:12px;}
.agenda-month-items .appointment-time{font-size:10px;}
.btn.mini{padding:2px 7px;font-size:12px;border-radius:8px;}
.more{color:var(--gold,#B58A54);font-weight:700;}
.smart-warning{border:1px solid rgba(210,72,72,.35);background:rgba(210,72,72,.1);color:#f2b8b8;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700;}
.smart-warning.hidden{display:none;}
.agenda-list{margin-top:16px;}
@media (max-width:900px){
  .agenda-week-grid,.agenda-month-grid{grid-template-columns:repeat(2,minmax(180px,1fr));}
  .agenda-hour-row{grid-template-columns:60px minmax(0,1fr);}
}


/* Agenda avanzada estable */
.agenda-toolbar{flex-wrap:wrap;gap:8px}
.agenda-toolbar select{min-width:190px}
.appointment-card{border-left:5px solid var(--staff-color,#B58A54)}
.appointment-card .appointment-time{display:flex;align-items:center;gap:7px}
.staff-dot{display:inline-block;width:10px;height:10px;border-radius:999px;background:var(--staff-color,#B58A54);box-shadow:0 0 0 3px rgba(181,138,84,.12)}
.agenda-staff-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:14px 0}
.staff-summary-card{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;text-align:left;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);border-radius:15px;padding:11px 12px;color:inherit;cursor:pointer}
.staff-summary-card span{grid-row:1/3;width:13px;height:13px;border-radius:50%;background:var(--staff-color,#B58A54)}
.staff-summary-card strong{font-size:14px}
.staff-summary-card small{color:var(--muted,#8a837c)}
.staff-summary-card.active{border-color:var(--staff-color,#B58A54);background:rgba(181,138,84,.12)}
.agenda-availability{margin:14px 0;padding:14px;border:1px solid rgba(181,138,84,.18);border-radius:18px;background:rgba(255,255,255,.025);overflow-x:auto}
.availability-grid{display:grid;grid-template-columns:80px repeat(var(--staff-count), minmax(135px,1fr));gap:6px;min-width:max-content}
.availability-corner,.availability-hour,.availability-staff,.availability-slot{padding:8px 10px;border-radius:10px;font-size:12px}
.availability-corner,.availability-hour{font-weight:800;color:var(--gold,#B58A54);background:rgba(181,138,84,.08)}
.availability-staff{display:flex;align-items:center;gap:7px;font-weight:800;background:rgba(255,255,255,.04)}
.availability-staff span{width:10px;height:10px;border-radius:50%;background:var(--staff-color,#B58A54)}
.availability-slot{text-align:center;border:1px solid rgba(255,255,255,.08)}
.availability-slot.free{color:#b6f3c1;background:rgba(46,160,67,.09);border-color:rgba(46,160,67,.22)}
.availability-slot.busy{color:#ffc7c7;background:rgba(210,72,72,.1);border-color:rgba(210,72,72,.25);font-weight:800}
.appointment-card-actions,.appointment-row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.btn.small.success{border-color:rgba(46,160,67,.45);background:rgba(46,160,67,.12);color:#b6f3c1}
.btn.small.danger{border-color:rgba(210,72,72,.45);background:rgba(210,72,72,.12);color:#ffc7c7}
.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:14px}
.report-summary article{border:1px solid rgba(181,138,84,.18);border-radius:14px;padding:12px;background:rgba(255,255,255,.035)}
.report-summary small{display:block;color:var(--muted,#8a837c);text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.report-summary strong{display:block;margin-top:6px;font-size:18px}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.service-staff-assignments{display:grid;gap:10px}
.service-staff-assignment{border:1px solid rgba(181,138,84,.18);background:rgba(255,255,255,.03);border-radius:14px;padding:12px;display:grid;gap:10px}
.service-staff-assignment small{display:block;color:var(--muted,#8a837c);margin-top:2px}
.service-staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.service-staff-grid label{display:grid;gap:6px}
@media(max-width:900px){.two-cols{grid-template-columns:1fr}}


/* Legado Once: permite mismo barbero o distribución */
.service-staff-assignment small{line-height:1.35}


/* Ajuste de contraste alto para agenda / disponibilidad */
.agenda-availability{
  background:#fcfaf6;
  border:1px solid rgba(181,138,84,.28);
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.availability-grid{gap:8px;}
.availability-corner,
.availability-hour{
  background:#efe6d8;
  color:#9a6b2f;
  border:1px solid rgba(181,138,84,.18);
  font-weight:900;
}
.availability-staff{
  background:#fffaf2;
  color:#241f1a;
  border:1px solid rgba(181,138,84,.18);
  font-weight:900;
}
.availability-staff span{
  box-shadow:0 0 0 2px rgba(255,255,255,.95), 0 0 0 3px rgba(0,0,0,.06);
}
.availability-slot{
  background:#ffffff;
  color:#3f3429;
  border:1px solid #d8ccbd;
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.availability-slot.free{
  color:#1d6f39;
  background:#e6f6ea;
  border-color:#8dcca0;
}
.availability-slot.busy{
  color:#af2e2e;
  background:#fde9e9;
  border-color:#e4aaaa;
  font-weight:900;
}
.agenda-hour-row{
  border-color:rgba(181,138,84,.24);
  background:rgba(255,255,255,.38);
}
.appointment-card{
  background:#fff9ef;
  border-color:rgba(181,138,84,.42);
}
.appointment-card span,
.appointment-card small{
  color:#5f5348;
}
.appointment-card strong{
  color:#1f1a16;
}


/* Ajuste adicional de contraste para bloques de citas */
.agenda-hour-row{
  background:#fcfaf6;
}
.empty-slot{
  color:#5f5a54;
  background:#ffffff;
  border-color:#ddd2c4;
  font-weight:700;
}
.appointment-card{
  background:#f7f1e6;
  border:1px solid #d3bb95;
  border-left:8px solid #c79a56;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.appointment-time{
  color:#b3843f;
  font-size:13px;
  font-weight:900;
}
.appointment-card strong{
  color:#1e1a16;
  font-size:16px;
  font-weight:900;
}
.appointment-card span,
.appointment-card small{
  color:#5b5045;
  font-size:14px;
  font-weight:700;
}
.appointment-card.status-confirmed{
  border-left-color:#2f9e44;
  background:#edf8ef;
  border-color:#9fd1aa;
}
.appointment-card.status-cancelled,
.appointment-card.status-no_show{
  border-left-color:#c0392b;
  background:#fdeeee;
  border-color:#e0aaaa;
  opacity:1;
}
.appointment-card.status-completed{
  border-left-color:#a87428;
  background:#f7f0e2;
}
.appointment-card-actions,
.appointment-row-actions{
  margin-top:8px;
  gap:10px;
}
.btn.small.success{
  background:#e2f5e7;
  border-color:#79c38b;
  color:#146b31;
  font-weight:900;
}
.btn.small.success:hover{
  background:#d3eedb;
}
.btn.small.danger{
  background:#fde4e4;
  border-color:#e69d9d;
  color:#a12a2a;
  font-weight:900;
}
.btn.small.danger:hover{
  background:#fbd8d8;
}
.appointment-card .btn.small:not(.success):not(.danger),
.appointment-row-actions .btn.small:not(.success):not(.danger){
  background:#ffffff;
  border-color:#cfc8bf;
  color:#221d18;
  font-weight:900;
}
.appointment-card .btn.small:not(.success):not(.danger):hover,
.appointment-row-actions .btn.small:not(.success):not(.danger):hover{
  background:#f6f3ef;
}

/* Agenda cada 30 minutos */
.availability-grid-half-hour{
  gap:6px;
}
.availability-grid-half-hour .availability-hour{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
}
.availability-grid-half-hour .availability-hour.half-hour{
  background:#f7f0e4;
  color:#8b6a3c;
}
.availability-grid-half-hour .availability-slot{
  min-height:42px;
}
.agenda-day-grid-half-hour{
  gap:6px;
}
.agenda-day-grid-half-hour .agenda-hour-row{
  padding:6px 8px;
}
.agenda-day-grid-half-hour .agenda-hour.half-hour,
.agenda-day-grid-half-hour .half-hour-row .agenda-hour{
  color:#8d7b63;
  font-size:14px;
}
.appointment-ongoing-wrap{
  display:grid;
  gap:6px;
  margin-top:4px;
}
.appointment-ongoing{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:8px 10px;
  border-radius:12px;
  border:1px dashed #ceb48d;
  background:#fff9ef;
  color:#6b5538;
  font-size:13px;
  font-weight:700;
}


/* Botón WhatsApp funcional en agenda */
.btn.small.whatsapp,
.appointment-card .btn.small.whatsapp,
.appointment-row-actions .btn.small.whatsapp{
  background:#e5f7ed;
  border-color:#6fcf97;
  color:#075e37;
  font-weight:900;
  text-decoration:none;
}
.btn.small.whatsapp:hover,
.appointment-card .btn.small.whatsapp:hover,
.appointment-row-actions .btn.small.whatsapp:hover{
  background:#d5f1e2;
}


/* Proceso de reagendamiento de citas vencidas */
.btn.small.primary{
  background:#fff3d8;
  border-color:#d4a44f;
  color:#8a5b13;
  font-weight:900;
}
.btn.small.primary:hover{
  background:#ffe7b6;
}


/* Agenda: almuerzo y día libre por barbero */
.availability-slot.lunch{
  color:#8a5b13;
  background:#fff3d8;
  border-color:#d9b36a;
  font-weight:900;
}
.availability-slot.off-day{
  color:#5c5c68;
  background:#eeeeef;
  border-color:#c7c7cf;
  font-weight:900;
}
.service-staff-assignment .schedule-note,
.item-sub{
  line-height:1.35;
}


/* Optimización visual y de renderizado */
#content{
  contain: layout style;
}
.agenda-availability,
.agenda-calendar,
.agenda-list,
.table-wrap,
.cards,
.card{
  content-visibility:auto;
  contain-intrinsic-size:auto 620px;
}
.appointment-card,
.availability-slot,
.agenda-hour-row,
.staff-summary-card{
  transform:translateZ(0);
  backface-visibility:hidden;
}


/* Equipo / Personal: almuerzo fijo de 1 hora */
#entity-form .item-sub.span-2{
  grid-column:1 / -1;
  margin:0;
  padding:8px 10px;
  border-radius:10px;
  background:#fff7e6;
  border:1px solid #e4c27a;
  color:#735018;
  font-weight:800;
}


/* Reporte de propinas: retención bancaria */
.metric.danger{
  border-color:#e2aaaa;
  background:#fff0f0;
}
.metric.danger small,
.danger-text{
  color:#a12a2a !important;
  font-weight:900;
}


/* Reporte de comisiones por productos */
.metric.gold strong{
  letter-spacing:-.02em;
}


/* Agenda: horario especial por barbero */
.availability-slot.special-disabled{
  color:#6c5a43;
  background:#f5ead9;
  border-color:#d9bd8b;
  font-weight:900;
}
.toggle-field{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid #e4d5c1;
  border-radius:12px;
  background:#fffaf2;
  font-weight:900;
  color:#2a241e;
}
.toggle-field input{
  width:18px;
  height:18px;
}


/* Ajuste horario especial / caja especial */
#entity-form select[name="register_id"]{
  font-weight:800;
}


/* Agenda: citas en curso con acciones completas */
.appointment-ongoing-card{
  display:grid;
  gap:6px;
}
.appointment-ongoing-label{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:6px 10px;
  border-radius:999px;
  border:1px dashed #c59b5b;
  background:#fff8ea;
  color:#6e5632;
  font-size:12px;
  font-weight:900;
}
.appointment-ongoing-card .appointment-card{
  margin-top:0;
}
.appointment-ongoing-wrap{
  display:grid;
  gap:10px;
  margin-top:10px;
}


/* Control de caja: cierre seleccionando caja abierta */
.hidden{display:none !important;}
.cash-close-summary{
  display:grid;
  gap:4px;
}

.appointment-start-block {
    position: relative;
}
.appointment-start-block::after {
    content: "Duración: " attr(style);
    display: none;
}
.appointment-ongoing-chip {
    border: 1px dashed rgba(181,138,84,.55);
    background: rgba(181,138,84,.08);
    border-radius: 999px;
    padding: 7px 12px;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    max-width: 100%;
}
.appointment-ongoing-chip strong {
    color: #8a6637;
}
.appointment-ongoing-chip span {
    opacity: .8;
}
.agenda-slot-button {
    width: 100%;
    border: 1px dashed rgba(181,138,84,.55);
    background: rgba(181,138,84,.08);
    color: inherit;
    border-radius: 10px;
    padding: 8px 10px;
    text-align: left;
    cursor: pointer;
}
.agenda-slot-button:hover {
    background: rgba(181,138,84,.18);
}

/* Cortesías de servicios tipo experiencia */
.complimentary-box {
    margin-top: 10px;
    padding: 10px;
    border: 1px dashed rgba(181, 138, 84, .55);
    border-radius: 14px;
    background: rgba(181, 138, 84, .06);
    display: grid;
    gap: 8px;
}
.complimentary-box label {
    display: grid;
    gap: 4px;
    font-size: .82rem;
    color: var(--muted, #6f6a64);
}
.complimentary-box select,
.complimentary-box input {
    width: 100%;
    min-height: 36px;
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,.12);
    padding: 6px 8px;
    background: #fff;
}

/* Boleta de pago: estructura corporativa con isotipo Once Barber Club */
.payroll-report{position:relative;overflow:hidden;}
.payroll-report .payroll-watermark{position:absolute;right:-36px;bottom:-42px;width:260px;opacity:.04;pointer-events:none;z-index:0;}
.payroll-report > *:not(.payroll-watermark){position:relative;z-index:1;}
.payroll-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:2px solid var(--ink, #111);padding-bottom:14px;margin-bottom:16px;}
.payroll-report-logo{width:220px;max-height:72px;object-fit:contain;display:block;margin-bottom:8px;}
.payroll-report-badge{min-width:140px;text-align:center;border:1px solid var(--line, #e8dfd3);border-radius:16px;padding:10px;background:rgba(250,248,244,.88);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;}
.payroll-report-badge img{width:50px;height:50px;object-fit:contain;display:block;margin:0 auto 6px;}

/* Corrección boletas: total general como última fila real, sin tfoot repetido en impresión */
.payroll-total-row th{
    background:#faf8f4;
    color:var(--ink,#111);
    font-size:10px;
    vertical-align:top;
}
.payroll-report table tr{
    break-inside:avoid;
    page-break-inside:avoid;
}

/* Boletas: tabla construida por columnas fijas para evitar desalineación */
.payroll-table{table-layout:fixed;width:100%;}
.payroll-table th,.payroll-table td{vertical-align:top;word-break:normal;overflow-wrap:anywhere;}
.payroll-table.payroll-cols-9 th:nth-child(1),.payroll-table.payroll-cols-9 td:nth-child(1){width:15%;}
.payroll-table.payroll-cols-9 th:nth-child(2),.payroll-table.payroll-cols-9 td:nth-child(2){width:11%;}
.payroll-table.payroll-cols-9 th:nth-child(3),.payroll-table.payroll-cols-9 td:nth-child(3){width:13%;}
.payroll-table.payroll-cols-9 th:nth-child(4),.payroll-table.payroll-cols-9 td:nth-child(4){width:14%;}
.payroll-table.payroll-cols-9 th:nth-child(5),.payroll-table.payroll-cols-9 td:nth-child(5){width:11%;}
.payroll-table.payroll-cols-9 th:nth-child(6),.payroll-table.payroll-cols-9 td:nth-child(6){width:11%;}
.payroll-table.payroll-cols-9 th:nth-child(7),.payroll-table.payroll-cols-9 td:nth-child(7){width:10%;}
.payroll-table.payroll-cols-9 th:nth-child(8),.payroll-table.payroll-cols-9 td:nth-child(8){width:10%;}
.payroll-table.payroll-cols-9 th:nth-child(9),.payroll-table.payroll-cols-9 td:nth-child(9){width:8%;}
.payroll-table.payroll-cols-8 th:nth-child(1),.payroll-table.payroll-cols-8 td:nth-child(1){width:17%;}
.payroll-table.payroll-cols-8 th:nth-child(2),.payroll-table.payroll-cols-8 td:nth-child(2){width:13%;}
.payroll-table.payroll-cols-8 th:nth-child(3),.payroll-table.payroll-cols-8 td:nth-child(3){width:15%;}
.payroll-table.payroll-cols-8 th:nth-child(4),.payroll-table.payroll-cols-8 td:nth-child(4){width:12%;}
.payroll-table.payroll-cols-8 th:nth-child(5),.payroll-table.payroll-cols-8 td:nth-child(5){width:12%;}
.payroll-table.payroll-cols-8 th:nth-child(6),.payroll-table.payroll-cols-8 td:nth-child(6){width:11%;}
.payroll-table.payroll-cols-8 th:nth-child(7),.payroll-table.payroll-cols-8 td:nth-child(7){width:12%;}
.payroll-table.payroll-cols-8 th:nth-child(8),.payroll-table.payroll-cols-8 td:nth-child(8){width:8%;}
.club-member-label{display:inline-flex;align-items:center;margin-left:8px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;white-space:nowrap;}
