:root{--wine: #8e1626;--wine-dark: #5e0d18;--blood-bright: #b81f2f;--rose: #7a2630;--rose-soft: #2c1216;--rose-ghost: #140a0c;--cream: #090506;--cream-warm: #1c1216;--surface: #140d10;--surface-2: #1b1216;--gold: #c6a667;--gold-bright: #e6cd90;--gold-deep: #8a6c3c;--gold-soft: #5a4828;--ink: #e8dcc6;--ink-soft: #b3a088;--white: #f3ead8;--line: #3a2a22;--shadow-sm: 0 2px 10px rgba(0, 0, 0, .5);--shadow-md: 0 16px 44px rgba(0, 0, 0, .65);--glow-blood: 0 0 18px rgba(184, 31, 47, .35);--glow-gold: 0 0 18px rgba(230, 205, 144, .28);--radius: 14px;--radius-sm: 9px;--font-head: "Cinzel", Georgia, "Times New Roman", serif;--font-body: "EB Garamond", Georgia, "Times New Roman", serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--ink);font-size:1.06rem;background:radial-gradient(ellipse at 12% 6%,rgba(122,16,28,.34) 0%,transparent 42%),radial-gradient(ellipse at 88% 4%,rgba(74,8,16,.32) 0%,transparent 46%),radial-gradient(ellipse at 50% 118%,rgba(140,18,30,.2) 0%,transparent 55%),linear-gradient(165deg,#0c0608,#070405 55%,#100608);background-attachment:fixed;min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:var(--wine);color:var(--gold-bright)}h1,h2,h3{font-family:var(--font-head);font-weight:600;line-height:1.2;margin:0}h1,h2{color:var(--gold);letter-spacing:.02em}h3{color:var(--blood-bright);letter-spacing:.04em;text-transform:uppercase;font-size:1.05rem}button{font-family:var(--font-body);cursor:pointer}a{color:var(--gold)}.page{max-width:920px;margin:0 auto;padding:56px 24px 80px}.center{text-align:center}.muted{color:var(--ink-soft);font-size:.95rem}.muted.small{font-size:.85rem}.page-footer{text-align:center;margin-top:40px}.footer-link{color:var(--gold);font-size:.85rem;text-decoration:none;letter-spacing:.08em}.footer-link:hover{color:var(--gold-bright)}.brand-header{text-align:center;margin-bottom:36px}.brand-eyebrow{text-transform:uppercase;letter-spacing:.34em;font-size:.72rem;color:var(--gold);font-weight:600;margin:0 0 10px}.brand-eyebrow:before{content:"✦  ";color:var(--gold-deep)}.brand-eyebrow:after{content:"  ✦";color:var(--gold-deep)}.brand-title{font-size:clamp(2.6rem,6.5vw,4rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(180deg,#f0dca5,#d8bd84 30%,#c6a667 55%,#9a7b45);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 1px rgba(0,0,0,.7)) drop-shadow(0 0 18px rgba(184,31,47,.25))}.brand-sub{color:var(--ink-soft);max-width:440px;margin:14px auto 0;font-size:1.02rem}.card{position:relative;background:radial-gradient(ellipse at 50% 0%,rgba(122,16,28,.12) 0%,transparent 60%),var(--surface);border:1px solid var(--gold-deep);border-radius:var(--radius);box-shadow:inset 0 0 0 4px var(--surface),inset 0 0 0 5px #c6a66759,var(--shadow-md);padding:36px}.calendar-card{max-width:620px;margin:0 auto}.calendar-head{text-align:center;margin-bottom:22px}.calendar-title{font-size:1.7rem}.calendar-hint{color:var(--ink-soft);font-size:.88rem;margin:6px 0 0}.calendar-grid,.modal-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-dow{text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-weight:600;padding-bottom:6px}.calendar-cell{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;color:var(--ink);background:transparent;transition:all .15s ease}.calendar-cell.empty{border:none;background:transparent}.calendar-cell.unavailable{color:var(--ink-soft);opacity:.4;background:transparent;cursor:default}.calendar-cell.available{background:var(--rose-soft);color:var(--ink);border-color:var(--rose);font-weight:600}.calendar-cell.available:hover{background:var(--wine);color:var(--gold-bright);border-color:var(--gold);transform:translateY(-1px);box-shadow:var(--glow-blood)}.calendar-cell.selected{background:var(--wine)!important;color:var(--gold-bright)!important;border-color:var(--gold)!important;box-shadow:var(--glow-gold)}.calendar-cell.selectable{background:var(--cream-warm);border:1px solid var(--line);cursor:pointer}.calendar-cell.selectable:hover{border-color:var(--gold)}.calendar-cell.selectable.selected{background:linear-gradient(180deg,var(--gold-bright) 0%,var(--gold) 100%);color:#2a1208;border-color:var(--gold-bright);font-weight:700}.slots-block{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.slots-title{font-size:1.2rem;margin-bottom:14px}.slot-row{display:flex;flex-wrap:wrap;gap:10px}.slot{padding:10px 18px;border-radius:999px;border:1px solid var(--rose);background:var(--surface-2);color:var(--ink);font-weight:500;font-size:.92rem;transition:all .15s ease}.slot:hover:not(:disabled){background:var(--rose-soft);transform:translateY(-1px)}.slot.selected{background:var(--wine);color:var(--gold-bright);border-color:var(--gold);box-shadow:var(--glow-gold)}.slot.taken,.slot:disabled{background:var(--line);color:var(--ink-soft);border-color:var(--line);opacity:.6;cursor:not-allowed;text-decoration:line-through}.slot.mine{background:var(--gold-soft, rgba(212, 175, 55, .12));border-color:var(--gold);color:var(--ink);cursor:pointer}.slot.mine:hover{background:var(--rose-soft);transform:translateY(-1px)}.slot-mine-tag{font-size:.72rem;font-weight:600;opacity:.8}.booking-form{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.form-title{font-size:1.3rem;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field.inline{flex-direction:row;align-items:center;gap:10px;margin-bottom:0}.field-section-start{margin-top:22px}.field span{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:600;font-family:var(--font-head)}.field.inline span{min-width:52px}input,select,textarea{font-family:var(--font-body);font-size:.98rem;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;width:100%;transition:border-color .15s ease,box-shadow .15s ease}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active,select:-webkit-autofill,textarea:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--surface-2) inset;box-shadow:0 0 0 1000px var(--surface-2) inset;transition:background-color 9999s ease-in-out 0s}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}::placeholder{color:var(--ink-soft);opacity:.7}.field.inline input,.field.inline select{width:auto;min-width:150px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c6a66740}textarea{resize:vertical;min-height:84px;background-image:linear-gradient(135deg,transparent 0 50%,var(--gold) 50% 60%,transparent 60% 72%,var(--gold) 72% 82%,transparent 82%);background-size:11px 11px;background-position:calc(100% - 5px) calc(100% - 5px);background-repeat:no-repeat}textarea::-webkit-resizer{background:transparent}.dropdown{position:relative}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;font-family:var(--font-body);font-size:.98rem;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.dropdown-trigger:hover:not(:disabled){border-color:var(--gold-deep)}.dropdown-trigger:disabled{opacity:.6;cursor:not-allowed}.dropdown-trigger.open{border-color:var(--gold-deep);border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.dropdown-caret{flex-shrink:0;width:8px;height:8px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}.dropdown-trigger.open .dropdown-caret{transform:translateY(2px) rotate(-135deg)}.dropdown-panel{position:absolute;z-index:20;top:100%;left:0;right:0;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--surface-2);border:1px solid var(--gold-deep);border-top:none;border-bottom-left-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);box-shadow:var(--shadow-md);max-height:240px;overflow-y:auto}.dropdown-option{width:100%;text-align:left;font-family:var(--font-body);font-size:.96rem;color:var(--ink);background:transparent;border:none;border-radius:6px;padding:9px 11px;cursor:pointer;transition:background-color .12s ease,color .12s ease}.dropdown-option:hover{background:#c6a6672e;color:var(--gold-bright)}.dropdown-option.selected{background:transparent;color:var(--gold-bright)}.success-banner{background:#c8a96a1f;color:var(--gold);border:1px solid var(--gold);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:16px;font-size:.92rem}.error-banner{background:#c0162224;color:#f0b8bd;border:1px solid var(--wine);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:16px;font-size:.92rem}.error-text{color:#f0b8bd}.btn{border:none;border-radius:var(--radius-sm);padding:12px 24px;font-family:var(--font-head);font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:all .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,var(--wine) 0%,var(--wine-dark) 100%);color:var(--gold-bright);border:1px solid var(--gold-deep);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#a01c2e 0%,var(--wine) 100%);border-color:var(--gold);transform:translateY(-1px);box-shadow:var(--glow-gold)}.btn-secondary{background:transparent;color:var(--gold);border:1px solid var(--gold-deep);white-space:nowrap}.btn-secondary:hover:not(:disabled){border-color:var(--gold);color:var(--gold-bright)}.btn-edit{background:transparent;color:var(--ink);border:1px solid var(--rose);padding:9px 16px;font-size:.85rem}.btn-edit:hover:not(:disabled){border-color:var(--wine);color:var(--white);background:var(--wine)}.btn-cancel{background:transparent;color:var(--blood-bright);border:1px solid var(--blood-bright);padding:9px 16px;font-size:.85rem}.btn-cancel:hover:not(:disabled){background:var(--rose-soft)}.btn-cancel.subtle{color:var(--ink-soft);border-color:var(--line)}.btn-ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line)}.btn-ghost:hover:not(:disabled){border-color:var(--wine);color:var(--ink);background:var(--rose-soft)}.link-btn{background:transparent;border:none;color:var(--gold);font-size:.95rem;font-weight:500;text-decoration:underline;text-underline-offset:3px;padding:4px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:40px 24px}.login-card{max-width:400px;width:100%;text-align:left}.login-card .brand-title{font-size:2.2rem;margin-top:4px}.login-sub{color:var(--ink-soft);text-align:center;margin:8px 0 24px;font-size:.95rem}.dashboard-page{padding-top:36px}.dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:28px}.head-actions{display:flex;gap:16px;align-items:center}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:24px}.tab{background:transparent;border:none;border-bottom:2px solid transparent;padding:12px 22px;font-size:.86rem;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:-1px;transition:all .15s ease}.tab:hover{color:var(--gold-bright)}.tab.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:600}.filters{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.filters-count{margin-left:auto;font-size:.9rem}.filters-new{margin-left:auto}.status-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.switch{position:relative;flex:0 0 auto;width:42px;height:24px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);transition:background-color .18s ease,border-color .18s ease}.switch.on{background:#c6a66747;border-color:var(--gold-deep)}.switch-thumb{position:absolute;top:50%;left:3px;width:16px;height:16px;border-radius:50%;background:var(--ink-soft);transform:translateY(-50%);transition:left .18s ease,background-color .18s ease}.switch.on .switch-thumb{left:22px;background:var(--gold-bright)}.status-switch-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);white-space:nowrap}.range-filter{position:relative}.range-popover{position:absolute;z-index:30;top:calc(100% + 8px);left:0;box-shadow:var(--shadow-md);border-radius:var(--radius-sm)}.range-toggle{display:inline-flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 16px;color:var(--ink);font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}.range-toggle:hover,.range-toggle.active{border-color:var(--wine)}.range-toggle.active{box-shadow:0 0 0 3px #c016222e}.range-toggle-label{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--gold)}.range-toggle strong{font-weight:600}.range-calendar{margin:0 0 24px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);max-width:420px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-nav h4{font-family:var(--font-head);font-size:1.1rem;color:var(--ink);text-transform:capitalize;margin:0}.cal-nav-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-size:1.3rem;line-height:1;transition:all .15s ease}.cal-nav-btn:hover{border-color:var(--gold);color:var(--gold)}.calendar-cell.range-day{cursor:pointer}.calendar-cell.range-day:hover{background:var(--rose-soft)}.calendar-cell.in-range{background:#c0162229;color:var(--ink)}.calendar-cell.range-endpoint{background:var(--wine);color:var(--gold-bright);border-color:var(--gold);font-weight:600;box-shadow:var(--glow-gold)}.booking-days{display:flex;flex-direction:column;gap:28px}.booking-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid var(--line)}.booking-day-title{font-size:1.1rem;text-transform:capitalize;color:var(--gold)}.booking-day-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.booking-row{display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid var(--line);border-left:3px solid var(--wine);border-radius:var(--radius-sm);background:var(--surface-2);transition:box-shadow .15s ease,border-color .15s ease}.booking-row:hover{box-shadow:var(--shadow-sm);border-left-color:var(--blood-bright)}.booking-time{flex:0 0 auto;font-family:var(--font-head);font-size:1.1rem;font-weight:600;color:var(--gold);min-width:62px}.booking-row-main{flex:1 1 auto;min-width:0}.booking-name{font-size:1.05rem;font-weight:600;margin:0}.booking-meta{margin:2px 0 0;font-size:.9rem;color:var(--ink-soft)}.booking-note{margin:6px 0 0;font-style:italic;color:var(--ink-soft);font-size:.9rem}.booking-row-actions{flex:0 0 auto;display:flex;gap:8px}.modal-detail{max-width:460px}.detail-list{margin:0 0 22px;display:flex;flex-direction:column}.detail-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.detail-row:last-child{border-bottom:none}.detail-row dt{flex:0 0 auto;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-family:var(--font-head);font-weight:600}.detail-row dd{margin:0;text-align:right;color:var(--ink);word-break:break-word}.detail-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;color:var(--ink-soft)}.pay-badge{display:inline-block;padding:3px 11px;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.02em;border:1px solid transparent}.pay-paid{background:#c6a66729;color:var(--gold-bright);border-color:var(--gold-deep)}.pay-pending{background:#b3a08824;color:var(--ink-soft);border-color:var(--line)}.pay-cancelled,.pay-expired,.pay-refunded{background:#b81f2f29;color:#f0b8bd;border-color:var(--wine)}.schedules-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title{font-size:1.4rem}.schedule-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.schedule-item{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}.schedule-month{font-size:1.15rem;margin-bottom:2px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040102c7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal{background:var(--surface);border:1px solid var(--gold-deep);border-radius:var(--radius);box-shadow:inset 0 0 0 4px var(--surface),inset 0 0 0 5px #c6a6674d,var(--shadow-md);max-width:560px;width:100%;max-height:90vh;overflow-y:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;border-bottom:1px solid var(--gold-deep)}.modal-title{font-size:1.4rem}.modal-close{background:transparent;border:none;font-size:1.8rem;line-height:1;color:var(--ink-soft);padding:0 4px}.modal-close:hover{color:var(--gold-bright)}.modal-body{padding:24px 28px 28px}.modal-row{display:flex;gap:14px}.modal-row .field{flex:1}.modal-row select:disabled{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none}.modal-row input[type=number]:disabled{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.modal-row input[type=number]:disabled::-webkit-outer-spin-button,.modal-row input[type=number]:disabled::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modal-calendar{margin-bottom:18px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.modal-confirm{max-width:440px}.modal-text{margin:0 0 24px;color:var(--ink-soft);line-height:1.6}.shared-hours-row{display:flex;gap:10px;align-items:stretch}.shared-hours-row input{flex:1 1 auto;min-width:0}.shared-hours-row .btn{flex:0 0 auto;white-space:nowrap}.day-hours-list{display:flex;flex-direction:column;gap:10px;margin:4px 0 18px;padding-top:14px;border-top:1px solid var(--line)}.field-label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-soft)}.day-hours-row{display:flex;align-items:center;gap:12px}.day-hours-label{flex:0 0 auto;min-width:64px;font-weight:600;font-size:.9rem;text-transform:capitalize}.day-hours-row input{flex:1 1 auto;min-width:0}.schedule-item-actions{display:flex;gap:8px;flex:0 0 auto}.pix-panel{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);text-align:center;animation:pix-fade-in .35s ease-out}@keyframes pix-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pix-panel .muted{text-align:center}.pix-step{margin:0 0 4px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.pix-qr{display:block;width:240px;height:240px;margin:20px auto;padding:12px;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.pix-code-row{display:flex;gap:8px;max-width:440px;margin:0 auto}.pix-code{flex:1;min-width:0;font-family:var(--font-body);font-size:.8rem}.pix-waiting{margin-top:16px;animation:pix-pulse 1.6s ease-in-out infinite;font-family:var(--font-body)}@keyframes pix-pulse{0%,to{opacity:.45}50%{opacity:1}}@media (max-width: 560px){.card{padding:22px 18px}.booking-row{flex-wrap:wrap}.booking-row-main{flex-basis:60%}.calendar-cell{font-size:.82rem}}
