:root{--green:#064b38;--green2:#0b6b50;--gold:#d8b45c;--dark:#071511;--glass:rgba(255,255,255,.12);--line:rgba(255,255,255,.18);--text:#f6fff9;--muted:#b8cec5;--danger:#e05b5b;--warn:#ffd36e;--ok:#34d399}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:#06130f}.bg{position:fixed;inset:0;background:linear-gradient(120deg,rgba(0,0,0,.76),rgba(3,42,31,.67)),url('/static/images/waikiki-bg.png') center/cover no-repeat;z-index:-2}.center,.customer-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.glass{background:rgba(6,28,22,.74);border:1px solid var(--line);box-shadow:0 18px 60px rgba(0,0,0,.35);backdrop-filter:blur(18px);border-radius:26px}.login,.entry,.customer-card{width:min(520px,94vw);padding:34px;text-align:center}.logo{max-width:180px;max-height:110px;object-fit:contain}.side-logo{max-width:120px;margin:10px auto;display:block}h1,h2,h3{margin:.2rem 0 .7rem}p,.muted,small{color:var(--muted)}input,select,textarea{width:100%;padding:13px 14px;margin:7px 0;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:white;outline:none}option{color:#111}textarea{min-height:84px}button,.btn,a.btn{border:0;border-radius:14px;background:linear-gradient(135deg,var(--gold),#fff0a3);color:#172019;font-weight:800;padding:12px 18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button.ghost,.ghost{background:rgba(255,255,255,.09);color:white;border:1px solid var(--line)}button.danger,.danger{background:rgba(224,91,91,.18);color:#ffdada;border:1px solid rgba(224,91,91,.45)}.alert{background:rgba(224,91,91,.2);padding:12px;border-radius:12px;margin:10px 0}.admin{min-height:100vh;display:flex}.sidebar{width:250px;background:rgba(0,0,0,.38);border-right:1px solid var(--line);padding:18px;position:sticky;top:0;height:100vh}.sidebar h2{text-align:center;font-size:20px}.sidebar a{display:block;color:white;text-decoration:none;padding:13px 14px;border-radius:14px;margin:8px 0;background:rgba(255,255,255,.06)}.sidebar a:hover{background:rgba(216,180,92,.22)}.sidebar small{position:absolute;bottom:18px;left:18px;right:18px;text-align:center}.panel{flex:1;padding:22px;overflow:hidden}.top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.toolbar{display:flex;gap:12px;align-items:center}.toolbar input{max-width:420px}.kanban{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;height:calc(100vh - 155px)}.kanban>div{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:22px;padding:14px;overflow:auto}.list{display:flex;flex-direction:column;gap:12px}.customer-row{background:rgba(255,255,255,.09);border:1px solid var(--line);border-radius:20px;padding:16px;display:grid;gap:10px;animation:fade .2s ease}.row-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.name{font-size:20px;font-weight:900}.badge{font-size:12px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.12);white-space:nowrap}.badge.waiting{background:rgba(52,211,153,.18);color:#b9ffe2}.badge.pending{background:rgba(255,211,110,.2);color:#ffe5a4}.badge.called{background:rgba(91,165,224,.22);color:#cfecff}.badge.expired,.badge.cancelled,.badge.noshow{background:rgba(224,91,91,.22);color:#ffd0d0}.meta{display:flex;flex-wrap:wrap;gap:8px;color:#d7e7e0;font-size:14px}.meta span{background:rgba(0,0,0,.2);padding:7px 9px;border-radius:10px}.obs{padding:10px;border-left:3px solid var(--gold);background:rgba(216,180,92,.09);border-radius:10px;color:#ffeebd}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button,.actions a{font-size:13px;padding:9px 11px}.drawer{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;justify-content:flex-end;z-index:10}.drawer.open{display:flex}.drawer-box{width:min(440px,92vw);height:100%;background:#071b15;padding:26px;border-left:1px solid var(--line);box-shadow:-20px 0 50px rgba(0,0,0,.4);position:relative}.x{position:absolute;right:18px;top:14px;background:rgba(255,255,255,.08);color:white}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}.stats div{background:rgba(255,255,255,.09);border:1px solid var(--line);border-radius:20px;padding:18px}.stats b{font-size:34px;color:var(--gold);display:block}.block{padding:20px}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.table-card{padding:18px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.08)}.table-card.free{border-color:rgba(52,211,153,.5)}.table-card.occupied{border-color:rgba(224,91,91,.55)}.table-card.cleaning{border-color:rgba(255,211,110,.6)}.table-card.reserved{border-color:rgba(91,165,224,.55)}.customer-status .big{font-size:68px;font-weight:900;color:var(--gold)}.customer-status .timer{font-size:54px;font-weight:900;color:#fff}.progress{height:14px;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden;margin:18px 0}.progress i{display:block;height:100%;width:30%;background:linear-gradient(90deg,var(--green2),var(--gold));border-radius:inherit}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.quick-links a,.quick-links span{padding:12px;background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:14px;color:white;text-decoration:none}.tv{min-height:100vh;padding:42px;text-align:center;background:linear-gradient(120deg,rgba(0,0,0,.8),rgba(3,42,31,.76)),url('/static/images/waikiki-bg.png') center/cover}.tv h1{font-size:58px}.tv-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1100px;margin:30px auto}.tv-item{font-size:30px;background:rgba(255,255,255,.1);border:1px solid var(--line);border-radius:20px;padding:18px;margin:12px}.settings{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:900px}.settings button{grid-column:1/-1}@keyframes fade{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.admin{display:block}.sidebar{width:auto;height:auto;position:relative}.kanban{grid-template-columns:1fr;height:auto}.stats{grid-template-columns:1fr 1fr}.settings{grid-template-columns:1fr}.top{display:block}.tv-cols{grid-template-columns:1fr}}

/* v3.5 - ajustes de produção */
.admin-white{background:#f4f7f5;color:#15231d}.admin-white .panel{background:#f4f7f5}.admin-white .top h1,.admin-white .top p,.admin-white h3{color:#15231d}.admin-white .toolbar input{background:#fff;color:#15231d;border:1px solid #dbe5df}.admin-white .kanban>div{background:#fff;border:1px solid #dfe8e2;box-shadow:0 12px 35px rgba(20,42,32,.08)}.admin-white .customer-row{background:#fff;color:#15231d;border:1px solid #dde8e1;box-shadow:0 10px 28px rgba(20,42,32,.08)}.admin-white .muted,.admin-white p,.admin-white small{color:#6c7c73}.admin-white .meta span{background:#f0f5f2;color:#263a30}.admin-white .obs{background:#fff8e4;color:#5d4613}.admin-white .ghost{background:#f5faf7;color:#15231d;border:1px solid #dbe5df}.admin-white .badge{color:#15231d}.admin-white .badge.waiting{background:#dcfaec;color:#075d3f}.admin-white .badge.pending{background:#fff4cf;color:#715000}.admin-white .badge.called{background:#dff0ff;color:#0e4f7c}.admin-white .badge.expired,.admin-white .badge.cancelled,.admin-white .badge.noshow{background:#ffe0e0;color:#8f1f1f}.admin-white input,.admin-white select,.admin-white textarea{background:#fff;color:#15231d;border:1px solid #dbe5df}.settings-light{background:#fff!important;color:#15231d;border:1px solid #dfe8e2;box-shadow:0 12px 35px rgba(20,42,32,.08);backdrop-filter:none}.settings-light label{color:#15231d;font-weight:700}.settings-light input,.settings-light select,.settings-light textarea{background:#f8fbf9;color:#15231d;border:1px solid #dbe5df}.sidebar{background:#073829;color:white}.sidebar p,.sidebar small{color:#c9dcd4}.drawer-box{background:#fff;color:#15231d}.drawer-box h2{color:#15231d}.drawer-box input,.drawer-box select,.drawer-box textarea{background:#f8fbf9;color:#15231d;border:1px solid #dbe5df}.customer-row{grid-template-columns:1fr}.customer-row .name{letter-spacing:-.02em}.customer-row.called-highlight{border-color:#5ba5e0}.timer-mini{font-weight:900;color:#0e4f7c}.users-grid{display:grid;grid-template-columns:380px 1fr;gap:18px}.user-form,.users-list{padding:20px;border-radius:22px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e5eee9;padding:14px 0}.user-row span{display:block;color:#6c7c73;margin-top:4px}.app-footer-note{margin-top:20px;text-align:center;color:#789;}.hidden-table-choice{display:none!important}@media(max-width:900px){.users-grid{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar small{position:static;display:block;margin-top:20px}.admin-white .sidebar a{background:rgba(255,255,255,.08);color:white}}


/* v3.6 - ajustes finais antes de produção */
.admin-white button:not(.danger):not(.ghost),
.admin-white .btn:not(.danger):not(.ghost){
  background:linear-gradient(135deg,#d8b45c,#ffefad);
  color:#142019!important;
  border:1px solid #cba84f;
  box-shadow:0 8px 18px rgba(216,180,92,.22);
}
.admin-white button.ghost,.admin-white a.ghost,.admin-white .ghost{
  background:#ffffff!important;
  color:#15231d!important;
  border:1px solid #cbd9d0!important;
}
.admin-white button.danger,.admin-white .danger{
  background:#fff0f0!important;
  color:#8d1d1d!important;
  border:1px solid #f1b9b9!important;
}
.admin-white .actions button,.admin-white .actions a{
  min-height:38px;
  font-weight:900;
}
.admin-white .sidebar a{color:#fff!important}.admin-white .sidebar a:hover{background:rgba(216,180,92,.25)}
.approval-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);backdrop-filter:blur(4px);z-index:30;display:none;align-items:flex-start;justify-content:center;padding:28px;overflow:auto}.approval-overlay.show{display:flex}.approval-box{width:min(920px,96vw);background:#fff;color:#15231d;border-radius:26px;border:1px solid #dfe8e2;box-shadow:0 30px 90px rgba(0,0,0,.35);padding:20px}.approval-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #e5eee9;padding-bottom:12px;margin-bottom:12px}.approval-head b{font-size:24px}.approval-head p{margin:6px 0 0;color:#6c7c73}.x2{width:42px;height:42px;border-radius:14px;background:#f5faf7!important;color:#15231d!important;border:1px solid #dbe5df!important;font-size:22px}.approval-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border:1px solid #e5eee9;border-radius:18px;padding:16px;margin:12px 0;background:#fbfdfc}.approval-card h3{margin:0 0 6px;color:#15231d}.approval-card p{margin:5px 0;color:#5f7167}.approval-actions{display:flex;flex-direction:column;gap:8px;min-width:220px}.approval-actions button{width:100%}.kanban .list .customer-row{order:initial}.customer-row .meta span:first-child{font-weight:900}@media(max-width:760px){.approval-card{grid-template-columns:1fr}.approval-actions{min-width:0}.approval-overlay{padding:12px}.approval-box{border-radius:18px}}

/* v3.7 ajustes finais antes do online */
.admin.admin-white{background:#f6f8f5;color:#16322a}.admin.admin-white .sidebar{background:#ffffff;border-right:1px solid #dfe7e2;box-shadow:8px 0 26px rgba(0,0,0,.04)}.admin.admin-white .sidebar a{background:#eef4f0;color:#064b38}.admin.admin-white .sidebar a:hover{background:#dcebe3}.admin.admin-white .sidebar h2,.admin.admin-white h1,.admin.admin-white h2,.admin.admin-white h3,.admin.admin-white .name{color:#052f24}.admin.admin-white p,.admin.admin-white .muted,.admin.admin-white small{color:#65736d}.admin.admin-white .kanban>div,.admin.admin-white .glass,.admin.admin-white .customer-row,.admin.admin-white .stats div,.admin.admin-white .settings-light,.admin.admin-white .users-list,.admin.admin-white .user-form{background:#ffffff;border-color:#dfe7e2;box-shadow:0 12px 32px rgba(10,32,24,.08)}.admin.admin-white input,.admin.admin-white select,.admin.admin-white textarea{background:#fff;color:#10241e;border:1px solid #d5e1da}.admin.admin-white .meta span{background:#f1f6f3;color:#24443a}.admin.admin-white .obs{background:#fff8dc;color:#4a3b00}.admin.admin-white .badge{color:#073b2e}.admin.admin-white .badge.waiting{background:#dff8ea;color:#064b38}.admin.admin-white .badge.pending{background:#fff1b8;color:#5b4600}.admin.admin-white .badge.called{background:#dceeff;color:#073c5f}.admin.admin-white .badge.expired,.admin.admin-white .badge.cancelled,.admin.admin-white .badge.noshow{background:#ffe1e1;color:#8b1d1d}

.admin.admin-dark{background:rgba(0,0,0,.12);color:#fff}.admin.admin-dark .sidebar{background:rgba(0,0,0,.45)}.admin.admin-dark .panel{color:#fff}.admin.admin-dark .kanban>div,.admin.admin-dark .customer-row,.admin.admin-dark .glass{background:rgba(6,28,22,.78);border-color:rgba(255,255,255,.12)}

.btn:not(.ghost):not(.danger),button:not(.ghost):not(.danger),a.btn:not(.ghost):not(.danger){background:#07563f!important;color:#fff!important;border:1px solid #07563f!important;text-shadow:none!important;box-shadow:0 8px 18px rgba(7,86,63,.16)}
button:hover,.btn:hover{filter:brightness(.96)}
button.ghost,.btn.ghost,a.ghost{background:#eef4f0!important;color:#064b38!important;border:1px solid #cdded5!important;text-shadow:none!important}
button.danger,.btn.danger,button.ghost.danger{background:#b42323!important;color:#fff!important;border:1px solid #b42323!important;text-shadow:none!important}
.approval-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:60;display:none;align-items:flex-start;justify-content:center;padding:28px}.approval-overlay.show{display:flex}.approval-box{width:min(980px,96vw);background:#fff;color:#10241e;border-radius:26px;padding:22px;box-shadow:0 24px 90px rgba(0,0,0,.32)}.approval-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e4ece7;margin-bottom:14px;padding-bottom:12px}.approval-head b{font-size:28px;color:#10241e}.approval-head p{margin:4px 0;color:#65736d}.x2{width:46px;height:46px;border-radius:14px;background:#eef4f0!important;color:#10241e!important;border:1px solid #dce8e1!important;font-size:24px}.approval-card{display:grid;grid-template-columns:1fr 260px;gap:16px;padding:18px;border:1px solid #e0e9e4;border-radius:20px;margin:10px 0;background:#fff}.approval-card h3{margin:0 0 8px;color:#052f24}.approval-card p{color:#40564e;margin:6px 0}.approval-actions{display:flex;flex-direction:column;gap:10px;justify-content:center}.approval-actions button{width:100%;min-height:48px}.save-alert{background:#dff8ea;border:1px solid #bdebd0;color:#064b38;border-radius:14px;padding:13px 16px;margin:0 0 16px;font-weight:800}.users-grid{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:18px}.user-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border:1px solid #e0e9e4;border-radius:16px;padding:14px;margin:10px 0}.user-row span{display:block;color:#65736d;margin-top:4px}.user-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.password-inline{display:flex;gap:8px;align-items:center}.password-inline input{width:160px;margin:0}.password-inline button{white-space:nowrap}.form-grid select[name="preference"],.drawer-box select[name="preference"]{display:none!important}
@media(max-width:800px){.approval-card{grid-template-columns:1fr}.users-grid{grid-template-columns:1fr}.password-inline{width:100%;justify-content:flex-end}.password-inline input{width:100%}}

/* v3.8 - correções finais de tema, botões e aba de aprovações */
.admin.admin-white .sidebar{
  background:#ffffff!important;
  color:#062f24!important;
  border-right:1px solid #dfe8e2!important;
}
.admin.admin-white .sidebar h2{color:#063b2d!important;}
.admin.admin-white .sidebar a{
  background:#eef5f1!important;
  color:#063b2d!important;
  border:1px solid #dbe8e1!important;
  text-shadow:none!important;
}
.admin.admin-white .sidebar a:hover{background:#dbece4!important;color:#04291f!important;}
.admin.admin-white .sidebar small{color:#61746b!important;}

.admin.admin-dark .sidebar,
.admin.admin-dark .panel,
.admin.admin-dark .top,
.admin.admin-dark .settings-light,
.admin.admin-dark .user-form,
.admin.admin-dark .users-list,
.admin.admin-dark .user-row,
.admin.admin-dark .approval-page-card,
.admin.admin-dark .empty-state{
  color:#ffffff!important;
}
.admin.admin-dark .settings-light,
.admin.admin-dark .user-form,
.admin.admin-dark .users-list,
.admin.admin-dark .approval-page-card,
.admin.admin-dark .empty-state{
  background:rgba(4,24,18,.82)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.25)!important;
}
.admin.admin-dark .settings-light label,
.admin.admin-dark .users-list h2,
.admin.admin-dark .user-form h2,
.admin.admin-dark .user-row b,
.admin.admin-dark .approval-page-card h2{
  color:#fff!important;
}
.admin.admin-dark .settings-light input,
.admin.admin-dark .settings-light select,
.admin.admin-dark .settings-light textarea,
.admin.admin-dark .user-form input,
.admin.admin-dark .user-form select,
.admin.admin-dark .password-inline input{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.22)!important;
}
.admin.admin-dark .settings-light option,
.admin.admin-dark .user-form option{color:#10241e!important;background:#fff!important;}
.admin.admin-dark .user-row span,
.admin.admin-dark .approval-page-card p,
.admin.admin-dark .empty-state p{color:#d7e5de!important;}

button, .btn, a.btn, input[type="submit"]{
  border-radius:14px!important;
  min-height:42px;
  padding:10px 16px;
  font-weight:900!important;
  letter-spacing:-.01em;
  opacity:1!important;
  text-decoration:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
}
button:not(.ghost):not(.danger), .btn:not(.ghost):not(.danger), a.btn:not(.ghost):not(.danger), input[type="submit"]{
  background:#07583f!important;
  color:#ffffff!important;
  border:1px solid #07583f!important;
  box-shadow:0 8px 18px rgba(7,88,63,.18)!important;
  text-shadow:none!important;
}
button.ghost, .btn.ghost, a.ghost{
  background:#ffffff!important;
  color:#073b2e!important;
  border:1px solid #cbdcd4!important;
  box-shadow:0 6px 14px rgba(7,88,63,.08)!important;
  text-shadow:none!important;
}
button.danger, .btn.danger, a.danger, button.ghost.danger{
  background:#b42323!important;
  color:#ffffff!important;
  border:1px solid #b42323!important;
  box-shadow:0 8px 18px rgba(180,35,35,.18)!important;
  text-shadow:none!important;
}
.admin.admin-white .approval-actions button,
.admin.admin-white .approval-page-actions button,
.admin.admin-white .user-actions button,
.admin.admin-white .actions button,
.admin.admin-white .top button{
  color:#fff!important;
}
.admin.admin-white .approval-actions button.danger,
.admin.admin-white .approval-page-actions button.danger{background:#b42323!important;color:#fff!important;}
.admin.admin-white .approval-actions button:not(.danger),
.admin.admin-white .approval-page-actions button:not(.danger){background:#07583f!important;color:#fff!important;}

.nav-approval{position:relative;display:flex!important;justify-content:space-between;align-items:center;gap:10px;}
.nav-approval b{
  min-width:24px;height:24px;border-radius:999px;background:#d8b45c;color:#082c22;
  display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;
}
.approval-page-list{display:grid;gap:14px;margin-top:18px;}
.approval-page-card{
  display:grid;grid-template-columns:1fr 280px;gap:18px;align-items:center;
  background:#fff;border:1px solid #dfe8e2;border-radius:22px;padding:20px;
  box-shadow:0 12px 36px rgba(10,32,24,.08);
}
.approval-page-card h2{margin:0 0 8px;color:#052f24;font-size:24px;}
.approval-page-card p{margin:4px 0;color:#52675e;font-weight:700;}
.approval-page-actions{display:flex;flex-direction:column;gap:10px;}
.approval-page-actions form{margin:0;}
.approval-page-actions button{width:100%;min-height:50px;}
.empty-state{background:#fff;border:1px solid #dfe8e2;border-radius:22px;padding:28px;text-align:center;color:#15231d;}
.empty-state h2{margin-top:0;color:#052f24;}

@media(max-width:820px){
  .approval-page-card{grid-template-columns:1fr;}
  .approval-page-actions{display:grid;grid-template-columns:1fr;}
}

/* v3.9 - atualização suave e validação */
.error-alert{background:#ffe3e3!important;border-color:#ffc8c8!important;color:#8b1d1d!important}
.customer-row{transition:background .18s ease, border-color .18s ease, transform .18s ease!important;}
.customer-row:hover{transform:translateY(-1px)}
.table-choice:focus,.phone-input:focus,input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px rgba(216,180,92,.22)!important;border-color:#d8b45c!important}
.admin.admin-white .save-alert.error-alert{background:#ffe3e3!important;color:#8b1d1d!important;border-color:#ffc8c8!important}
.admin.admin-white .phone-input::placeholder{color:#7c8b84}
