:root{--forest:#183a2e;--green:#25523d;--gold:#af8b4d;--ink:#24352b;--muted:#6b786e;--paper:#f5f3ed;--line:#e3e5dc;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 Inter,system-ui,-apple-system,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(450px,100%);background:white;border:1px solid var(--line);border-radius:26px;padding:36px;box-shadow:0 24px 70px #21382a12}.login-card img{width:125px;height:65px;object-fit:contain;display:block;margin:0 auto 25px}.eyebrow{font-size:10px;color:var(--gold);font-weight:800;letter-spacing:.16em}.login-card .eyebrow{text-align:center;display:block}.login-card h1{text-align:center;font:500 34px/1.15 Georgia;margin:12px 0}.login-card>p{text-align:center;color:var(--muted);margin-bottom:28px}.login-card label,.dialog-head+label{display:block;font-weight:700;font-size:12px;margin:14px 0}.login-card input,.main input,.main select,.main textarea,dialog input,dialog select,dialog textarea{width:100%;border:1px solid #d8ded5;border-radius:10px;padding:12px;background:#fff;color:var(--ink);margin-top:6px}.primary{background:var(--forest);color:white;border:0;border-radius:10px;padding:12px 17px;font-weight:750}.login-card .primary{width:100%;margin:12px 0}.login-card>a{display:block;text-align:center;color:var(--green);font-size:12px}.error{color:#9f3b31!important}.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--forest);color:#eef3e8;padding:24px 16px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;justify-content:center;padding:7px 10px 28px}.brand img{width:135px;height:76px;object-fit:contain}.side-label{font-size:9px;color:#a9b8a8;letter-spacing:.18em;font-weight:800;padding:12px}.side-link{background:transparent;color:#dce5db;border:0;text-align:left;padding:12px;border-radius:9px;font-size:12px}.side-link.active,.side-link:hover{background:#ffffff16;color:white}.side-bottom{margin-top:auto;display:grid;gap:13px;border-top:1px solid #ffffff24;padding:18px 10px 0;color:#cfdbd0;font-size:11px}.side-bottom button,.side-bottom a{background:none;border:0;color:#cfdbd0;text-align:left;text-decoration:none;padding:0;font-size:11px}.main{padding:32px clamp(20px,4vw,58px);max-width:1600px;width:100%;margin:auto}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.top h1{font:500 35px Georgia;margin:8px 0 0}.secure-tag{background:#e3eadf;color:var(--green);padding:8px 12px;border-radius:999px;font-size:10px;font-weight:800}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:24px}.metric,.panel{background:white;border:1px solid var(--line);border-radius:17px;padding:20px}.metric span{color:var(--muted);font-size:11px;font-weight:700}.metric strong{display:block;font:500 28px Georgia;margin:12px 0 3px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 15px}.panel h2,.panel-head h2{font:500 22px Georgia;margin:0}.panel p{color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:700px;font-size:12px}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid #edf0e9;vertical-align:middle}th{color:#738075;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#edf1e9;color:#3d6147;font-size:10px;font-weight:800}.badge.nova{background:#fff2d7;color:#8d6420}.badge.cancelada,.badge.arquivada{background:#f8e8e6;color:#9d4a40}.action{background:#f0f3ed;border:1px solid var(--line);padding:7px 10px;border-radius:8px;color:var(--green);font-weight:700;font-size:10px;white-space:nowrap}.actions{display:flex;gap:6px}.empty{padding:28px;text-align:center;color:var(--muted)}.hint{font-size:11px;color:var(--muted)}dialog{border:0;border-radius:19px;padding:25px;width:min(640px,calc(100% - 28px));box-shadow:0 25px 100px #102b1b40;color:var(--ink)}dialog::backdrop{background:#10271dcc;backdrop-filter:blur(3px)}dialog form>label{display:block;font-size:11px;font-weight:700;margin:11px 0}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:19px}.dialog-head h2{font:500 26px Georgia;margin:5px 0}.x{border:0;background:#f1f3ee;border-radius:50%;width:34px;height:34px;font-size:23px;color:var(--green)}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.formgrid label{font-size:11px;font-weight:700}.formgrid .wide{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.secondary{border:1px solid var(--line);background:white;border-radius:10px;padding:11px 16px;color:var(--green);font-weight:700}.primary:hover{background:#24533f}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,18px);opacity:0;transition:.2s;background:#173a2e;color:white;padding:12px 17px;border-radius:10px;z-index:10;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}@media(max-width:820px){.app{grid-template-columns:1fr}.sidebar{min-height:0;padding:10px 13px;display:block}.brand{display:none}.side-label{display:none}.sidebar{display:flex;flex-direction:row;align-items:center;overflow:auto;gap:5px}.side-link{white-space:nowrap;padding:9px;font-size:10px}.side-bottom{display:flex;margin:0 0 0 auto;border:0;padding:0;white-space:nowrap}.side-bottom a{display:none}.main{padding:22px 15px}.cards{grid-template-columns:1fr}.secure-tag{display:none}}@media(max-width:520px){.top h1{font-size:29px}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}.login-card{padding:25px}}
.pay-history{margin-top:5px}.pay-history summary{cursor:pointer;color:#385c43;font-size:10px;font-weight:700}.pay-history small{display:block;margin-top:4px;white-space:normal}
.content-list{margin-top:16px}.content-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.content-card{border:1px solid var(--line);border-radius:13px;background:#fbfbf8;padding:16px}.content-card h3{font:500 18px Georgia;margin:0}.content-card label,.content-general label{display:block;font-size:11px;font-weight:700;margin:8px 0}.content-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.content-service{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:8px 0}.content-service input{margin:0}.content-save{position:sticky;bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 17px;box-shadow:0 10px 35px #1c372318;color:var(--muted);font-size:11px}.content-save button{white-space:nowrap}@media(max-width:760px){.content-packages{grid-template-columns:1fr}.content-service{grid-template-columns:1fr 1fr}.content-service button{grid-column:1/-1}}
.admin-calendar-panel{margin-bottom:16px}.admin-calendar{max-width:680px;margin:0 auto}.admin-calendar .calendar-toolbar{max-width:380px;margin:0 auto 15px}.admin-calendar .calendar-grid{gap:8px}.admin-calendar .day{cursor:pointer}.admin-calendar .day.booked{background:#f5e4df;color:#9d5144;border-color:#efd1c7}.admin-calendar .day.special{background:#f3ebd2;color:#806128;border-color:#decc94}.admin-calendar .day:hover{outline:2px solid #b8974c;outline-offset:1px}.calendar-legend i.special{background:#b08b3c}.badge.bloqueada{background:#f3ebd2;color:#806128}
/* Calendário administrativo premium */
.admin-calendar-panel{padding:22px;background:linear-gradient(145deg,#fff 0%,#faf8f1 100%);border:1px solid #e2d9c3;border-radius:22px;box-shadow:0 18px 42px #1a35220c;overflow:visible}.admin-calendar-panel>.panel-head{padding:2px 4px 16px;border-bottom:1px solid #eee8da}.admin-calendar-panel .panel-head h2{font-size:25px;color:#183a2e}.admin-calendar-panel .eyebrow{color:#a27d36}.admin-calendar{width:100%;max-width:900px;margin:20px auto 2px;padding:20px 22px 16px;border:1px solid #e9e4d7;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);box-shadow:inset 0 1px #fff,0 9px 24px #2b38230a}.admin-calendar .calendar-toolbar{max-width:none;display:grid;grid-template-columns:42px 1fr 42px;gap:12px;align-items:center;margin:0 auto 17px;padding:10px 12px;border:1px solid #294d3b;border-radius:14px;background:linear-gradient(110deg,#15392d,#244934);box-shadow:0 8px 18px #183a2e20}.admin-calendar .calendar-toolbar strong{color:#f1dfad;font:600 19px/1.2 Georgia;text-align:center;letter-spacing:.02em}.admin-calendar .calendar-toolbar button{height:38px;width:38px;border-radius:11px;border:1px solid #d0b56b;background:#d0b56b;color:#183a2e;font-size:23px;line-height:1;transition:transform .18s,background .18s}.admin-calendar .calendar-toolbar button:hover{background:#e6cc82;transform:translateY(-1px)}.admin-calendar .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.admin-calendar .calendar-grid .weekday{display:grid;place-items:center;padding:9px 2px;color:#8a7a55;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.admin-calendar .calendar-grid .day{position:relative;display:flex;align-items:flex-start;justify-content:flex-start;min-width:0;min-height:72px;aspect-ratio:1.15;border:1px solid #e7e7de;border-radius:13px;background:#fff;color:#294535;padding:10px 11px;font-family:inherit;font-weight:700;font-size:13px;line-height:1.1;box-shadow:0 2px 6px #233b2705;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s}.admin-calendar .calendar-grid button.day{cursor:pointer}.admin-calendar .calendar-grid .day.blank{border:0;background:transparent;box-shadow:none}.admin-calendar .calendar-grid button.day:not(.booked):not(.special):hover{z-index:2;transform:translateY(-2px);border-color:#b49a5b;box-shadow:0 8px 17px #253c2915;background:#fffdf7}.admin-calendar .calendar-grid .day.booked{border-color:#decf9e;background:linear-gradient(145deg,#fbf7e9,#f2e7c9);color:#6d5523}.admin-calendar .calendar-grid .day.special{border-color:#d9c78d;background:linear-gradient(145deg,#fffaf0,#f4ecd5);color:#795d25}.admin-calendar .calendar-grid .day.selected{outline:2px solid #b38e43;outline-offset:2px}.admin-calendar .calendar-grid .day.today:not(.booked):not(.special){border-color:#284c39;box-shadow:inset 0 0 0 1px #284c39}.admin-calendar .calendar-grid .day-number{position:relative;z-index:1}.admin-calendar .party-icon{position:absolute;right:8px;bottom:7px;display:grid;place-items:center;width:26px;height:26px;border:1px solid #d8c27f;border-radius:9px;background:#fff9e8;font-size:15px;box-shadow:0 2px 5px #553c1117}.admin-calendar .calendar-legend{display:flex;justify-content:center;gap:10px 22px;margin-top:17px;padding-top:14px;border-top:1px solid #eee9dc}.admin-calendar .calendar-legend span{padding:7px 10px;border:1px solid #ece8dc;border-radius:999px;background:#fff;color:#637063;font-size:10px}.admin-calendar .calendar-legend i{width:9px;height:9px}.admin-calendar .calendar-legend i.booked{background:#b9944e}.admin-calendar .calendar-legend i.special{background:#d1ad57}.admin-calendar .calendar-legend i.free{background:#497855}.admin-calendar-panel #adminBlockDates{border:1px solid #cdb66f;background:#f9f3df;color:#705a27}.admin-calendar-panel #adminBlockDates:hover{background:#f2e5bf}@media(max-width:700px){.admin-calendar-panel{padding:15px}.admin-calendar{padding:13px 10px;border-radius:15px}.admin-calendar .calendar-grid{gap:5px}.admin-calendar .calendar-grid .weekday{font-size:8px;letter-spacing:.04em;padding:7px 0}.admin-calendar .calendar-grid .day{min-height:44px;aspect-ratio:1;border-radius:9px;padding:7px 6px;font-size:11px}.admin-calendar .party-icon{right:4px;bottom:4px;width:19px;height:19px;border-radius:6px;font-size:11px}.admin-calendar .calendar-legend{gap:6px;margin-top:12px}.admin-calendar .calendar-legend span{font-size:9px;padding:6px 8px}.admin-calendar-panel>.panel-head{align-items:flex-start}.admin-calendar-panel .panel-head h2{font-size:21px}}
.action.danger{border-color:#ead2cd;background:#fff4f1;color:#9a4437}.action.danger:hover{background:#f8e3de;border-color:#dca99d}

/* Visualizações do calendário administrativo — V2.8.6 */
.calendar-view-options{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 18px}
.calendar-view-options button{border:1px solid #e2dac7;border-radius:999px;background:#fff;color:#526357;padding:9px 15px;font:inherit;font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.01em;cursor:pointer;transition:all .18s ease}
.calendar-view-options button:hover{border-color:#b89a55;color:#695326;background:#fffdf7}
.calendar-view-options button.active{border-color:#b89a55;background:linear-gradient(135deg,#274a38,#17382b);color:#f2dfaa;box-shadow:0 5px 12px #1e38221c}
.admin-calendar-content.single-month .admin-month-card{max-width:740px;margin:0 auto}
.admin-calendar-content.multi-month{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.admin-month-card{min-width:0;padding:13px;border:1px solid #e9e4d7;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfaf6);box-shadow:0 6px 18px #243b2b0a}
.admin-month-card.current-month{border-color:#cbb879;box-shadow:0 0 0 1px #cbb879 inset,0 8px 20px #243b2b0c}
.admin-month-card h3{display:flex;justify-content:center;gap:7px;margin:0 0 10px;color:#244735;font:600 15px/1.3 Georgia,serif}
.admin-month-card h3 span{color:#a18443;font-weight:500}
.admin-calendar .admin-calendar-grid{gap:4px}
.admin-calendar .admin-calendar-grid .weekday{padding:6px 1px;font-size:8px;letter-spacing:.04em}
.admin-calendar .admin-calendar-grid .day{min-height:0;aspect-ratio:1;padding:6px;border-radius:9px;font-size:11px}
.admin-calendar .admin-calendar-grid .day.blank{min-height:0;aspect-ratio:1}
.admin-calendar .admin-calendar-grid .party-icon{right:3px;bottom:3px;width:17px;height:17px;border-radius:6px;font-size:10px}
.calendar-empty{grid-column:1/-1;padding:28px 16px;border:1px dashed #d9cfb7;border-radius:14px;background:#fffdf8;color:#796d55;text-align:center;font-size:13px}
@media(max-width:1050px){.admin-calendar-content.multi-month{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.calendar-view-options{gap:6px;margin-bottom:14px}.calendar-view-options button{padding:8px 11px;font-size:10px}.admin-calendar-content.multi-month{grid-template-columns:1fr;gap:10px}.admin-month-card{padding:12px}.admin-calendar .admin-calendar-grid{gap:4px}.admin-calendar .admin-calendar-grid .day{padding:5px;min-height:0;aspect-ratio:1;font-size:10px}.admin-calendar .admin-calendar-grid .weekday{padding:5px 0;font-size:7px}.admin-calendar .admin-calendar-grid .party-icon{right:2px;bottom:2px;width:15px;height:15px;font-size:9px}}

/* Editor de redes sociais da fanpage */
.social-admin-fields{grid-column:1/-1;padding:16px;border:1px solid #e6dfcf;border-radius:14px;background:#fbfaf6}.social-admin-fields h3{margin:0 0 5px;color:#244735;font:600 15px Georgia,serif}.social-admin-fields p{margin:0 0 12px;color:#69766b;font-size:11px;line-height:1.6}.social-admin-fields label{display:block;margin-top:9px}
