*{box-sizing:border-box;margin:0;padding:0;font-family:system-ui,sans-serif}
#root{background:#FBF8F6;min-height:720px;overflow:hidden;border-radius:14px;position:relative}
#topnav{background:#fff;border-bottom:2px solid #C8B4A8;height:58px;display:flex;align-items:center;padding:0 18px;justify-content:space-between;position:relative;z-index:20}
.brand-mark{width:34px;height:34px;border-radius:50%;background:#2A2020;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#F0E8E2;flex-shrink:0}
.brand-name{font-size:15px;font-weight:700;color:#2A2020}
.brand-domain{font-size:10px;color:#A8938D}
.ntab{padding:7px 14px !important;border-radius:20px !important;font-size:12px !important;font-weight:700 !important;cursor:pointer !important;background:#2A2020 !important;color:#fff !important;border:2px solid #2A2020 !important;transition:all .15s !important;outline:none !important}
.ntab:hover{background:#4A3030 !important;border-color:#4A3030 !important}
.ntab.on{background:#fff !important;color:#2A2020 !important;border:3px solid #6B3A2A !important}
.mbtn{width:40px !important;height:40px !important;border-radius:10px !important;background:#2A2020 !important;border:2px solid #2A2020 !important;cursor:pointer !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:5px !important;flex-shrink:0 !important;outline:none !important}
.mbtn:hover{background:#4A3030 !important}
.mbtn.on{background:#fff !important;border:3px solid #6B3A2A !important}
.mbtn span{display:block;width:16px;height:2px;border-radius:2px;background:#fff}
.mbtn.on span{background:#2A2020}
#drawer{position:absolute;top:0;right:0;bottom:0;width:248px;background:#1C1C1C;border-left:1px solid #333;z-index:30;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}
#drawer.open{transform:translateX(0)}
#ov{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(20,15,15,.45);z-index:29;display:none}
#ov.open{display:block}
.dh{padding:18px 18px 14px;border-bottom:1px solid #333;display:flex;align-items:center;justify-content:space-between}
.dh h2{font-size:14px;font-weight:600;color:#E8E4E0}
.dx{width:28px;height:28px;border-radius:7px;border:1px solid #555;background:#2A2A2A;cursor:pointer;font-size:14px;color:#C0C8D8;display:flex;align-items:center;justify-content:center}
.dx:hover{background:#383838}
.ds{padding:10px 18px 3px;font-size:10px;font-weight:700;letter-spacing:.1em;color:#5A6A80;text-transform:uppercase}
.di{display:flex;align-items:center;gap:10px;padding:9px 18px;font-size:13px;font-weight:500;color:#B0B8C8;cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:background .12s;border-right:2px solid transparent}
.di:hover{background:#252525;color:#D0DCF5}
.di.on{background:#1E2A3E;color:#D0DCF5;border-right-color:#2550A0}
.dic{width:20px;height:20px;border-radius:5px;background:#2A2A2A;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}
.di.on .dic{background:#1E3060}
.dd{height:1px;background:#2A2A2A;margin:4px 18px}
.df{margin-top:auto;padding:14px 18px;border-top:1px solid #2A2A2A}
.df p{font-size:11px;color:#5A6A80}
.df strong{color:#8A9AB8}
#main{height:calc(720px - 58px);display:flex;flex-direction:column}
#ct{flex:1;overflow-y:auto;padding:20px}
#ct::-webkit-scrollbar{width:4px}
#ct::-webkit-scrollbar-thumb{background:#C8B4A8;border-radius:4px}
.ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.pt{font-size:20px;font-weight:700;color:#2A2020;letter-spacing:-.02em}
.ps{font-size:12px;color:#A8938D;margin-top:1px}
.bg{display:flex;gap:8px}
.ibtn{padding:8px 16px !important;border-radius:8px !important;font-size:12px !important;font-weight:700 !important;cursor:pointer !important;background:#2A2020 !important;color:#fff !important;border:2px solid #2A2020 !important;transition:all .15s !important;outline:none !important;display:inline-flex !important;align-items:center !important;gap:5px !important;white-space:nowrap !important;text-decoration:none !important}
.ibtn:hover{background:#4A3030 !important;border-color:#4A3030 !important}
.ibtn.on,.ibtn:active{background:#fff !important;color:#2A2020 !important;border:3px solid #6B3A2A !important}
.ibtn.sm{padding:5px 12px !important;font-size:11px !important;border-radius:7px !important}
.ibtn.rose{background:#9A5050 !important;border-color:#9A5050 !important}
.ibtn.rose:hover{background:#7A3838 !important}
.ibtn.rose.on{background:#fff !important;color:#9A5050 !important;border:3px solid #6B3A2A !important}
.ibtn.blue{background:#1A3A6B !important;border-color:#1A3A6B !important}
.ibtn.blue:hover{background:#2550A0 !important}
.ibtn.blue.on{background:#fff !important;color:#1A3A6B !important;border:3px solid #6B3A2A !important}
.ibtn.grn{background:#3D7A52 !important;border-color:#3D7A52 !important}
.ibtn.grn:hover{background:#2E6040 !important}
.ibtn.gold{background:#8A6820 !important;border-color:#8A6820 !important}
.ibtn.gold:hover{background:#6A5010 !important}
.card{background:#fff;border-radius:12px;border:1px solid #C8B4A8}
.ch{padding:14px 18px;border-bottom:1px solid #C8B4A8;display:flex;align-items:center;justify-content:space-between}
.ct2{font-size:13px;font-weight:600;color:#2A2020}
.cb{padding:16px 18px}
.mr{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.mc{background:#fff;border:1px solid #C8B4A8;border-radius:10px;padding:14px 16px}
.ml{font-size:11px;color:#A8938D;margin-bottom:5px}
.mv{font-size:22px;font-weight:700;color:#2A2020}
.ms{font-size:11px;color:#7AAB8A;margin-top:2px}
.bdg{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:10px;font-weight:700}
.b1{background:#EFF6F2;color:#2E6040}
.b2{background:#EDD8D8;color:#9A5050}
.b3{background:#FDF4E7;color:#8A6020}
.b4{background:#EBF0FA;color:#1A3A6B}
.b5{background:#FDF4E7;color:#8A6020}
.bg1{background:#FBF5E8;color:#8A6820}
.slot{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid #EDE0D8}
.slot:last-child{border-bottom:none}
.stt{font-size:11px;color:#A8938D;width:42px;flex-shrink:0;padding-top:5px;font-weight:600}
.apt{flex:1;border-radius:8px;padding:9px 13px}
.apt.dn{background:#EFF6F2;border-left:3px solid #7AAB8A}
.apt.nw{background:#EDD8D8;border-left:3px solid #D4A8A8}
.apt.wt{background:#FDF4E7;border-left:3px solid #C4954A}
.an{font-size:13px;font-weight:700;color:#2A2020}
.ad{font-size:11px;color:#6B5A56;margin-top:2px}
.am{display:flex;align-items:center;gap:6px;margin-top:5px;flex-wrap:wrap}
.ap{font-size:10px;color:#A8938D;font-family:monospace}
.fp{background:#EBF0FA;color:#1A3A6B;font-size:9px;font-weight:700;padding:2px 7px;border-radius:10px}
.fp.fi{background:#FFF0F0;color:#B03040}
.fp.fd{background:#FBF5E8;color:#8A6820}
.tc{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tw{border-radius:10px;overflow:hidden;border:1px solid #C8B4A8}
table{width:100%;border-collapse:collapse;font-size:12px}
th{background:#F0E8E2;color:#A8938D;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:9px 14px;text-align:left;border-bottom:1px solid #C8B4A8}
td{color:#6B5A56;padding:10px 14px;border-bottom:1px solid #EDE0D8}
tr:last-child td{border-bottom:none}
tr:hover td{background:#FBF8F6}
.tn{font-weight:700;color:#2A2020}
.fg2{display:flex;flex-direction:column;gap:4px}
.fg2 label{font-size:10px;font-weight:700;color:#A8938D;text-transform:uppercase;letter-spacing:.05em}
.fg2 input,.fg2 select,.fg2 textarea{width:100%;padding:9px 11px;border-radius:8px;border:1.5px solid #C8B4A8;font-size:12.5px;color:#2A2020;background:#F0E8E2;outline:none}
.fg2 input:focus,.fg2 select:focus,.fg2 textarea:focus{border-color:#2550A0;background:#fff}
.fg2 textarea{min-height:70px;resize:vertical}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.full{grid-column:1/-1}
.cal-cell{min-height:68px;background:#F0E8E2;border-radius:7px;padding:5px;cursor:pointer;transition:background .12s;border:1px solid transparent}
.cal-cell:hover{background:#E4D4CA}
.cal-cell.today{outline:2px solid #6B3A2A;outline-offset:-1px}
.cal-cell.other{opacity:.35}
.cn{font-size:11px;font-weight:700;color:#6B5A56;margin-bottom:3px}
.ce{border-radius:3px;padding:2px 5px;font-size:9px;font-weight:700;margin-bottom:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cd{background:#C8E6C9;color:#2E7D32}
.cn2{background:#EDD8D8;color:#9A5050}
.cw{background:#FFF3CD;color:#856404}
.sc-wrap{background:#2A2020;border-radius:14px;padding:22px;color:#fff}
.sc-brand{font-size:17px;font-weight:800;color:#F0EAE4}
.sc-handle{font-size:10px;color:#D4A8A8;margin-top:2px}
.sc-date{font-size:11px;color:#8A9EB8;text-align:right;line-height:1.5}
.sc-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.sc-slot{border-radius:8px;padding:10px 6px;text-align:center;background:rgba(122,171,138,.2);border:1px solid rgba(122,171,138,.35)}
.sc-time{font-size:13px;font-weight:800;color:#F0EAE4}
.sc-lbl{font-size:9px;font-weight:700;margin-top:3px;color:#7AAB8A;letter-spacing:.05em}
.sc-ft{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.sc-ig{font-size:11px;color:#8A9EB8}
.sc-cta{background:#C49090;color:#fff;padding:6px 14px;border-radius:7px;font-size:11px;font-weight:700}
.hslot{border-radius:9px !important;border:2px solid #2A2020 !important;padding:10px 6px !important;text-align:center !important;cursor:pointer !important;background:#2A2020 !important;transition:all .15s !important}
.hslot:hover{background:#4A3030 !important}
.hslot.sel{background:#fff !important;border:3px solid #6B3A2A !important}
.hslot.busy{background:#E4D4CA !important;border:2px solid #C8B4A8 !important;cursor:default !important;opacity:.5 !important}
.ht{font-size:13px;font-weight:700;color:#fff}
.hslot.sel .ht{color:#2A2020}
.hslot.busy .ht{color:#A8938D}
.hl{font-size:9px;font-weight:700;margin-top:3px;color:rgba(255,255,255,.7)}
.hslot.sel .hl{color:#3D7A52}
.hslot.busy .hl{color:#A8938D}
.cnbtn{width:28px !important;height:28px !important;border-radius:7px !important;background:#2A2020 !important;border:2px solid #2A2020 !important;cursor:pointer !important;color:#fff !important;font-size:12px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important}
.cnbtn:hover{background:#4A3030 !important}
.mc2{background:#F0E8E2;border-radius:10px;padding:12px 14px;margin-bottom:8px;cursor:pointer;border:1.5px solid #C8B4A8;transition:all .15s}
.mc2:hover{background:#E4D4CA;border-color:#C49090}
.mt2{font-size:12.5px;font-weight:600;color:#2A2020}
.mb2{font-size:11px;color:#6B5A56;margin-top:4px;line-height:1.5}

/* ── FIDELIDADE ── */
.fidcard{background:#2A2020;border-radius:16px;padding:22px;color:#fff;position:relative;overflow:hidden}
.fidcard-shine{position:absolute;top:-30px;right:-30px;width:120px;height:120px;border-radius:50%;background:rgba(184,149,106,.12)}
.fid-brand{font-size:13px;font-weight:700;color:#C49090;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.fid-name{font-size:18px;font-weight:700;color:#F0EAE4}
.fid-visits{font-size:11px;color:#A8938D;margin-top:2px}
.fid-stars{display:flex;gap:6px;margin:16px 0 10px}
.star{width:36px;height:36px;border-radius:50%;border:2px solid #4A3030;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;cursor:default;flex-shrink:0}
.star.filled{background:#B8956A;border-color:#B8956A}
.star.reward{background:#6B3A2A;border-color:#6B3A2A;animation:pulse .8s ease infinite alternate}
@keyframes pulse{from{transform:scale(1)}to{transform:scale(1.08)}}
.fid-progress{height:6px;background:#3A2A2A;border-radius:3px;margin-bottom:6px;overflow:hidden}
.fid-bar{height:100%;background:#B8956A;border-radius:3px;transition:width .4s ease}
.fid-hint{font-size:10px;color:#A8938D}
.fid-reward-tag{background:#B8956A;color:#fff;font-size:10px;font-weight:700;padding:3px 10px;border-radius:10px;display:inline-block;margin-top:8px}

.reward-list{display:flex;flex-direction:column;gap:10px;margin-top:2px}
.reward-item{display:flex;align-items:center;gap:14px;padding:14px;background:#F0E8E2;border-radius:10px;border:1.5px solid #C8B4A8;cursor:pointer;transition:all .15s}
.reward-item:hover{background:#E4D4CA;border-color:#B8956A}
.reward-item.active{border-color:#B8956A;background:#FBF5E8}
.ri-stars{display:flex;gap:3px;flex-shrink:0}
.ri-star{font-size:13px}
.ri-info{flex:1}
.ri-title{font-size:13px;font-weight:700;color:#2A2020}
.ri-desc{font-size:11px;color:#A8938D;margin-top:2px}
.ri-badge{font-size:10px;font-weight:700;padding:3px 10px;border-radius:10px;white-space:nowrap;flex-shrink:0}
.ri-active-badge{background:#FBF5E8;color:#8A6820;border:1px solid #B8956A}
.ri-inactive-badge{background:#F0E8E2;color:#A8938D;border:1px solid #C8B4A8}

.prog-mini{display:flex;gap:4px;align-items:center;margin-top:6px}
.pm-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.pm-dot.filled{background:#B8956A}
.pm-dot.empty{background:#E4D4CA;border:1.5px solid #C8B4A8}
.pm-dot.reward-dot{background:#6B3A2A}

.client-fid-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #EDE0D8}
.client-fid-row:last-child{border-bottom:none}
.cfa{width:36px;height:36px;border-radius:50%;background:#EDD8D8;display:flex;align-items:center;justify-content:center;font-weight:700;color:#C49090;font-size:12px;flex-shrink:0}
.cfn{font-size:13px;font-weight:700;color:#2A2020}
.cfs{font-size:11px;color:#A8938D;margin-top:1px}
.cfp{flex:1;min-width:0}
.cf-bar-wrap{height:6px;background:#E4D4CA;border-radius:3px;overflow:hidden;margin-top:5px}
.cf-bar{height:100%;background:#B8956A;border-radius:3px}
.rw{background:#fff;border-radius:12px;border:1px solid #C8B4A8;padding:24px}

/* Área reservada para ajustes futuros */
