:root{font-family:Arial,Helvetica,sans-serif;color:#18263b;background:#f5f7fb;font-size:14px;--primary:#2359da;--muted:#738096}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;border-radius:8px;padding:12px 18px;font-weight:600}button:hover{filter:brightness(.95)}button:disabled{opacity:.6;cursor:wait}input,textarea,select{border:1px solid #dce3ed;border-radius:8px;padding:12px;background:white;color:inherit;width:100%}input:focus,textarea:focus,select:focus{outline:2px solid #65a6f8;outline-offset:1px}label{display:flex;flex-direction:column;gap:8px;font-weight:600;margin-bottom:17px}small{display:block;font-size:12px;color:var(--muted);font-weight:400;line-height:1.6}.primary{background:var(--primary);color:white}.secondary{background:#eaf0ff;color:var(--primary)}.text{background:transparent;color:var(--primary)}h1,h2,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;margin-bottom:10px}h2{font-size:20px;letter-spacing:-.4px}p{color:var(--muted);line-height:1.6}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#8993a3;display:block;margin-bottom:12px}.brand{font-size:22px;font-weight:750;letter-spacing:-.7px;color:inherit;text-decoration:none}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;max-width:1200px;margin:auto;align-items:center;gap:100px;padding:50px}.intro h1{font-size:54px;margin-top:70px;line-height:1.12}.intro p{font-size:17px}.pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}.pills span{border:1px solid #dce3ed;border-radius:30px;padding:9px;font-size:12px}.card{background:white;border:1px solid #e0e6ef;border-radius:18px;padding:36px;box-shadow:0 15px 60px #19346008}.card>.primary{width:100%;margin:8px 0}.card>.text{display:block;margin:auto}.card>small{text-align:center;margin-top:20px}aside{position:fixed;inset:0 auto 0 0;width:244px;background:#ffffff;padding:32px 22px;display:flex;flex-direction:column;border-right:1px solid #e7ebf1}.nav{display:grid;gap:8px;margin-top:60px}.nav button{text-align:left;background:transparent;color:#61718b;font-size:13px;padding:14px 12px}.nav .selected{background:#edf3ff;color:var(--primary)}.aside-bottom{margin-top:auto;padding:20px 10px 0}.aside-bottom strong{display:block;margin-bottom:6px}.aside-bottom .text{padding-left:0}main{margin-left:244px;padding:42px;max-width:1750px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}header p{font-size:13px;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:30px}.stats article{background:#fff;border:1px solid #e0e6ef;border-radius:12px;padding:23px}.stats span{font-size:12px;color:#738096}.stats strong{display:block;font-size:29px;letter-spacing:-1px;margin:18px 0 10px}.stats .accent{background:#eaf0ff;border-color:#cbd9f6}.panel{background:white;border:1px solid #e0e6ef;border-radius:12px;padding:26px}.toolbar{display:flex;align-items:center;gap:15px;margin-bottom:24px}.toolbar>div{margin-right:auto}.toolbar h2{margin-bottom:6px}.toolbar p{font-size:12px;margin:0}.toolbar input{max-width:260px}.toolbar select{max-width:140px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#8190a4;background:#f8faff;padding:16px 12px}td{padding:21px 12px;border-bottom:1px solid #edf1f7;font-size:13px}td strong{display:block;font-weight:600;margin-bottom:5px}td small{white-space:normal;max-width:230px}.badge{font-size:11px;background:#edf3ff;color:#2359da;padding:6px 9px;border-radius:6px}.badge.cancelled,.badge.failed{background:#f8e9e3;color:#a5553c}.row-action{font-size:11px;background:#eaf0ff;color:var(--primary);padding:8px;margin:2px}.row-action.cancel{background:transparent;color:#a06b57}.empty{text-align:center;padding:60px 20px}.empty>span{font-size:42px;color:#5275ba}.empty h2{margin-top:15px}.empty p{font-size:13px}.empty .primary{margin-top:12px}.narrow{max-width:740px}.notice{background:#edf3ff;padding:18px;border-radius:8px;margin:25px 0;line-height:1.7}dialog{border:0;border-radius:16px;padding:30px;max-width:650px;width:calc(100% - 32px);color:inherit;box-shadow:0 25px 90px #18263b30}dialog::backdrop{background:#18263b66;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.dialog-head h2{font-size:25px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.full{grid-column:1/-1}.checkbox{flex-direction:row;font-size:12px;align-items:flex-start;font-weight:400;line-height:1.5}.checkbox input{width:auto;margin-top:3px}.balance{display:flex;justify-content:space-between;padding:15px;background:#edf3ff;border-radius:8px;margin-bottom:20px}.balance strong{color:var(--primary)}footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e3e8f1;padding-top:20px;margin-top:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#2359da;color:white;padding:16px 24px;border-radius:10px;z-index:100;max-width:90%;box-shadow:0 5px 25px #0002}[hidden]{display:none!important}@media(max-width:1100px){aside{width:210px}main{margin-left:210px;padding:25px}.stats{grid-template-columns:repeat(2,1fr)}.toolbar{flex-wrap:wrap}.toolbar>div{width:100%}.toolbar input{max-width:none;flex:1}.auth{gap:40px}.intro h1{font-size:42px}}@media(max-width:700px){aside{position:static;width:auto;padding:18px}.nav{display:flex;margin:20px 0 0;gap:5px;overflow:auto}.nav button{white-space:nowrap;font-size:11px;padding:10px}.aside-bottom{display:none}main{margin:0;padding:20px}header{gap:15px}h1{font-size:24px}header .primary{white-space:nowrap;padding:12px;font-size:12px}.stats{gap:10px}.stats article{padding:17px}.stats strong{font-size:24px}.panel{padding:17px}.auth{display:block;padding:24px;max-width:480px}.intro h1{font-size:34px;margin-top:30px}.intro p,.pills{display:none}.card{padding:24px;margin-top:30px}.grid{grid-template-columns:1fr}.full{grid-column:auto}dialog{padding:22px}.toolbar input{min-width:140px}}

.form-error{padding:12px 14px;margin:16px 0;border:1px solid #e7b4a6;background:#fff0eb;color:#913c28;border-radius:8px;font-size:13px;line-height:1.5;white-space:normal}.form-error:empty{display:none}

.date-control{position:relative;display:block}.date-control>input{padding-right:48px}.date-calendar{position:absolute;right:0;top:0;width:44px;height:100%;display:grid;place-items:center;font-size:22px;color:var(--primary)}.date-calendar input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}.date-calendar input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.date-calendar:focus-within{outline:2px solid #65a6f8;border-radius:8px}

/* Identidade HeliosIA, no padrão visual do AgilDocs. */
.brand{color:#2359da;font-weight:800;font-size:28px}.primary,button{border-radius:10px}.panel{border-radius:18px;box-shadow:0 6px 26px #19346005}.stats article{border-radius:12px}.stats strong{color:#2359da}.nav button{color:#61718b}.nav .selected{color:#2359da;background:#edf3ff}.heliosia-signature{display:flex;justify-content:center;margin:32px 0 12px;text-align:center}.heliosia-signature a{display:inline-flex;flex-direction:column;align-items:center;gap:6px;color:#2359da;font-size:12px;line-height:1.5;text-decoration:none}.heliosia-signature a:hover span{text-decoration:underline}.heliosia-signature img{display:block;width:104px;height:auto;object-fit:contain}.heliosia-signature a:focus-visible{outline:3px solid #65a6f8;outline-offset:6px;border-radius:4px}.auth .heliosia-signature{justify-content:flex-start;margin-top:42px}.intro h1{color:#18263b}.checkbox input{accent-color:#2359da}@media(max-width:700px){.brand{font-size:25px}.auth .heliosia-signature{justify-content:center;margin:24px 0}.heliosia-signature{margin-top:26px}}

.event-weekday{text-transform:capitalize}.event-countdown{display:inline-block;color:#2359da;background:#edf3ff;border-radius:5px;padding:3px 7px;margin-top:5px;font-weight:600}

/* Reservas canceladas: texto e situação visíveis além da cor. */
tr.reservation-cancelled{background:#fff1f2;color:#b42332}tr.reservation-cancelled td{border-bottom-color:#f4cdd2}tr.reservation-cancelled small{color:#a32938}tr.reservation-cancelled td:first-child{box-shadow:inset 3px 0 #d92d40}tr.reservation-cancelled .badge.cancelled{color:#b42332;background:#ffe0e5;border:1px solid #f5b2bf}tr.reservation-cancelled .event-countdown{color:#a32938;background:#ffe0e5}.toolbar select{max-width:195px;min-width:180px}
