*{box-sizing:border-box;margin:0;padding:0}
:root{--bl:#1A3FB5;--bld:#112A85;--bdp:#0D1F6B;--or:#E8520A;--orl:#F07030;--bg:#F4F6FB;--ca:#fff;--bo:rgba(26,63,181,.12);--tx:#1A2340;--mu:#6B7BA0;--gn:#16A34A;--gnb:#DCFCE7;--am:#D97706;--amb:#FEF3C7;--rd:#DC2626;--rdb:#FEE2E2;--lb:#E8EEFF;--shadow:0 18px 40px rgba(17,42,133,.12)}
html,body{height:100%}
body{font-family:'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--tx)}
a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}
.layout{display:flex;min-height:100vh}
.sidebar{width:230px;background:linear-gradient(180deg,var(--bld),var(--bdp));color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;transition:width .18s ease}
.sidebar-brand{padding:14px 14px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px;cursor:pointer}
.brand-icon{width:38px;height:38px;border-radius:12px;background:var(--or);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;box-shadow:0 10px 20px rgba(232,82,10,.2);flex-shrink:0}
.brand-text strong{display:block;font-size:14px}.brand-text span{display:block;font-size:10px;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:1px}
.sidebar-nav{padding:10px}.nav-group{margin-bottom:12px}.nav-title{font-size:10px;color:rgba(255,255,255,.35);padding:6px 8px;text-transform:uppercase;letter-spacing:1px}
.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;color:rgba(255,255,255,.72);font-size:13px;transition:.18s;background:transparent}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.08);color:#fff}.nav-link.active{background:var(--or)}
.nav-link i{width:18px;text-align:center;flex-shrink:0}.nav-text{white-space:nowrap}
.sidebar-footer{margin-top:auto;padding:16px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:rgba(255,255,255,.75)}
.layout.sidebar-collapsed .sidebar{width:78px}.layout.sidebar-collapsed .brand-text,.layout.sidebar-collapsed .nav-title,.layout.sidebar-collapsed .nav-text,.layout.sidebar-collapsed .sidebar-footer .user-meta{display:none}.layout.sidebar-collapsed .sidebar-brand,.layout.sidebar-collapsed .nav-link,.layout.sidebar-collapsed .sidebar-footer{justify-content:center}.layout.sidebar-collapsed .sidebar-footer .btn{padding-inline:0}
.main{flex:1;display:flex;flex-direction:column;min-width:0}
.topbar{height:60px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--bo);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;position:sticky;top:0;z-index:20}
.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.topbar-title{font-size:18px;font-weight:700;line-height:1.1}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.search-box{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--bo);border-radius:12px;padding:10px 14px;min-width:250px}.search-box input{border:none;background:transparent;outline:none;width:100%;color:var(--tx)}
.content{padding:20px}.page-subtitle{color:var(--mu);font-size:13px}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:var(--ca);border:1px solid var(--bo);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:5px;}
.stat-card .value{font-size:28px;font-weight:800}.muted{color:var(--mu)}.mini{font-size:12px}.hint{font-size:11px;color:var(--gn);margin-top:6px}
.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700}.bgn{background:var(--gnb);color:var(--gn)}.bor{background:rgba(232,82,10,.10);color:var(--or)}.bbl{background:rgba(26,63,181,.10);color:var(--bl)}.bam{background:var(--amb);color:var(--am)}.brd{background:var(--rdb);color:var(--rd)}.bmu{background:rgba(107,123,160,.12);color:var(--mu)}.tag-bronze{background:#f5e3d4;color:#8c4a1f}.tag-silver{background:#edf1f7;color:#5d6c86}.tag-gold{background:#fff0c2;color:#a56a00}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:820px}.table th,.table td{padding:14px 12px;border-bottom:1px solid var(--bo);text-align:left;font-size:13px;vertical-align:middle}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--mu)}.table tr:hover{background:rgba(26,63,181,.03)}
.entity-pill{display:inline-flex;align-items:center;gap:8px}.avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#fff;background:var(--bl)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:12px;border:none;cursor:pointer;font-size:13px;font-weight:700;transition:.18s}.btn:hover{opacity:.92;transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-icon{width:40px;height:40px;padding:0}.btn-sm{padding:8px 10px;border-radius:10px}.btp{background:var(--or);color:#fff}.btb{background:var(--bl);color:#fff}.bts{background:var(--bg);color:var(--tx);border:1px solid var(--bo)}.btg{background:#fff;border:1px solid var(--bl);color:var(--bl)}.btn-danger{background:#fff;border:1px solid rgba(220,38,38,.22);color:var(--rd)}.full-width{width:100%}
.action-group{display:flex;align-items:center;gap:8px}.table-actions{display:flex;align-items:center;gap:8px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:1/-1}.label{font-size:12px;font-weight:700;color:var(--mu)}.input,.select,.textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--bo);background:#fff;color:var(--tx);outline:none}.textarea{min-height:110px;resize:vertical}
.alert{padding:14px 16px;border-radius:14px;margin-bottom:14px;font-size:13px}.alert.success{background:var(--gnb);color:#166534}.alert.error{background:var(--rdb);color:var(--rd)}
.auth-body{display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,430px);background:rgba(255,255,255,.96);border:1px solid var(--bo);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.install-card{width:min(100%,540px)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.auth-brand span{display:block;color:var(--mu);font-size:12px}.auth-card h1{font-size:28px;margin-bottom:8px}.auth-subtitle{color:var(--mu);font-size:14px;margin-bottom:20px}
.kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.list-stack{display:flex;flex-direction:column;gap:12px}.list-item{padding:12px;border:1px solid var(--bo);border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.calendar-day{background:#fff;border:1px solid var(--bo);border-radius:14px;padding:10px;min-height:140px}.calendar-head{font-size:12px;font-weight:700;color:var(--mu);margin-bottom:10px}.calendar-number{font-size:14px;font-weight:800;margin-bottom:10px}.calendar-event{background:rgba(26,63,181,.07);border-left:4px solid var(--bl);padding:8px;border-radius:10px;font-size:11px;margin-bottom:8px}.calendar-event.orange{background:rgba(232,82,10,.07);border-left-color:var(--or)}
.pwa-shell,.phone-shell,.phone-top,.phone-header,.phone-body,.phone-card,.phone-actions,.phone-nav{display:none!important}
.empty{padding:24px;text-align:center;color:var(--mu)}.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mt-16{margin-top:16px; margin-bottom:16px}.mb-16{margin-bottom:16px}.mb-8{margin-bottom:8px}.text-right{text-align:right}.hide{display:none}
.toggle-menu{display:none}
@media (max-width:1200px){.grid-4,.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:1fr}}
@media (max-width:860px){.layout{display:block}.sidebar{position:fixed;left:-240px;z-index:40;transition:left .18s,width .18s}.sidebar.open{left:0}.layout.sidebar-collapsed .sidebar{width:230px}.layout.sidebar-collapsed .brand-text,.layout.sidebar-collapsed .nav-title,.layout.sidebar-collapsed .nav-text,.layout.sidebar-collapsed .sidebar-footer .user-meta{display:block}.main{min-height:100vh}.toggle-menu{display:inline-flex}.grid-2,.form-grid,.grid-4,.kpi-strip{grid-template-columns:1fr}.search-box{min-width:0;width:100%}.calendar{grid-template-columns:1fr}.topbar{height:auto;padding:12px 16px;align-items:flex-start}.topbar-actions{width:100%}.topbar-actions .btn{width:100%}.card-head{flex-direction:column;align-items:flex-start}.table{min-width:680px}}


.theme-toggle{min-width:44px}
body.dark-mode{--bg:#0e1529;--ca:#121c33;--bo:rgba(148,163,184,.18);--tx:#eef2ff;--mu:#9fb0d0;--gnb:rgba(22,163,74,.15);--amb:rgba(217,119,6,.18);--rdb:rgba(220,38,38,.18);--shadow:0 18px 40px rgba(0,0,0,.28)}
body.dark-mode .topbar{background:rgba(10,18,35,.92)}
body.dark-mode .search-box input::placeholder{color:var(--mu)}
body.dark-mode .sidebar{box-shadow:inset -1px 0 0 rgba(255,255,255,.04)}
body.dark-mode .input,body.dark-mode .select,body.dark-mode .textarea,body.dark-mode .search-box,body.dark-mode .btn.bts,body.dark-mode .list-item,body.dark-mode .calendar-event,body.dark-mode .calendar-head,body.dark-mode .calendar-number{background:#0f1a31;color:var(--tx)}
body.dark-mode .btn-danger{background:rgba(220,38,38,.18);color:#fecaca;border-color:rgba(220,38,38,.22)}
body.dark-mode .empty{background:#0f1a31;color:var(--mu)}
.table-actions{display:flex;align-items:center;gap:8px}
.sidebar-brand:hover .brand-icon{transform:scale(1.03)}
body.dark-mode .auth-card{background:var(--ca);border:1px solid var(--bo);box-shadow:var(--shadow)}
body.dark-mode .auth-body{background:var(--bg)}
body.dark-mode .auth-subtitle{color:var(--mu)}
body.dark-mode .brand-icon{box-shadow:0 10px 20px rgba(232,82,10,.28)}

.pagination{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.page-link{padding:8px 12px;border:1px solid var(--bo);border-radius:10px;background:#fff;color:var(--tx)}.page-link.active{background:var(--or);color:#fff;border-color:var(--or)}.toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.filters{display:grid;grid-template-columns:minmax(260px,1fr);gap:10px;max-width:520px;width:100%}


.calendar-premium{display:flex;flex-direction:column;gap:16px}
.calendar-premium-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.calendar-premium-subtitle{font-size:12px;color:var(--mu);margin-top:4px}
.calendar-premium-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.calendar-premium-period{padding:10px 14px;border:1px solid var(--bo);border-radius:12px;background:var(--ca);font-weight:700}
.calendar-premium-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:16px;align-items:start}
.calendar-google-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:8px}
.calendar-google-weekday{padding:10px 0;text-align:center;font-size:12px;font-weight:700;color:var(--mu);text-transform:uppercase;letter-spacing:.4px}
.calendar-google-body{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.calendar-google-cell{min-height:150px;border:1px solid var(--bo);border-radius:16px;padding:10px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(244,246,251,.92));display:flex;flex-direction:column;gap:10px;transition:.18s}
.calendar-google-cell:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.calendar-google-cell.muted-cell{opacity:.56}
.calendar-google-cell.is-today{border-color:rgba(26,63,181,.35);box-shadow:0 0 0 2px rgba(26,63,181,.08) inset}
.calendar-google-date{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:800}
.calendar-google-count{min-width:24px;height:24px;border-radius:999px;background:var(--lb);color:var(--bl);display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.calendar-google-events{display:flex;flex-direction:column;gap:6px}
.calendar-google-event{padding:8px 9px;border-radius:12px;font-size:11px;border-left:4px solid var(--bl);background:rgba(26,63,181,.07)}
.calendar-google-event .event-time{font-weight:800;margin-bottom:2px}
.calendar-google-event.primary{background:rgba(26,63,181,.07);border-left-color:var(--bl)}
.calendar-google-event.warning{background:rgba(232,82,10,.08);border-left-color:var(--or)}
.calendar-google-event.success{background:rgba(22,163,74,.08);border-left-color:var(--gn)}
.calendar-google-event.danger{background:rgba(220,38,38,.08);border-left-color:var(--rd)}
.calendar-google-more{font-size:11px;font-weight:700;color:var(--mu);padding-top:2px}
.calendar-side-card{position:sticky;top:76px;margin-bottom:10px;}
.calendar-side-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.calendar-side-stat{padding:14px;border:1px solid var(--bo);border-radius:14px;background:var(--bg);display:flex;flex-direction:column;gap:6px}
.calendar-side-stat strong{font-size:20px}
.calendar-agenda-list{display:flex;flex-direction:column;gap:10px}
.calendar-agenda-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--bo);border-radius:14px;background:var(--ca)}
.agenda-date{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--mu)}
.agenda-content{min-width:0}
.agenda-service{font-size:13px;font-weight:800;color:var(--tx);margin-bottom:2px}
.agenda-meta{font-size:12px;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1200px){.calendar-premium-grid{grid-template-columns:1fr}.calendar-side-card{position:static}}
@media (max-width:860px){.calendar-google-head,.calendar-google-body{grid-template-columns:1fr}.calendar-google-weekday{display:none}.calendar-google-cell{min-height:auto}.calendar-side-stats{grid-template-columns:1fr}.calendar-agenda-item{grid-template-columns:1fr}}
body.dark-mode .calendar-premium-period,body.dark-mode .calendar-google-cell,body.dark-mode .calendar-agenda-item{background:#0f1a31;color:var(--tx)}
body.dark-mode .calendar-side-stat{background:#0f1a31}
body.dark-mode .calendar-google-count{background:rgba(26,63,181,.2)}


.checkout-timeline{display:flex;gap:14px;align-items:center;margin:12px 0 20px;flex-wrap:wrap}
.checkout-step{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--bo);border-radius:999px;background:var(--bg);color:var(--mu);font-size:12px;font-weight:600}
.checkout-step.active{background:rgba(26,63,181,.08);color:var(--bl);border-color:rgba(26,63,181,.22)}
.checkout-summary{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--bo);border-radius:12px;background:var(--ca);margin-bottom:18px}
.summary-row{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:13px;color:var(--tx)}
.checkout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.checkout-option{border:1px solid var(--bo);border-radius:14px;padding:18px;background:var(--ca)}
.checkout-option-icon{width:44px;height:44px;border-radius:12px;background:rgba(26,63,181,.08);display:flex;align-items:center;justify-content:center;color:var(--bl);font-size:18px;margin-bottom:12px}
.checkout-option-title{font-size:14px;font-weight:700;color:var(--tx);margin-bottom:6px}
.pix-checkout-box{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:24px;align-items:start}
.pix-qr-image{width:100%;max-width:260px;border:1px solid var(--bo);border-radius:14px;padding:14px;background:#fff}
.pix-copy-wrap{display:flex;flex-direction:column;gap:8px}
.textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--bo);background:var(--ca);font-size:12px;color:var(--tx);min-height:110px;resize:vertical}
.switch-inline{display:flex;align-items:center;gap:10px;min-height:44px}
@media (max-width:900px){.pix-checkout-box{grid-template-columns:1fr}.pix-qr-image{max-width:220px}}
