/* SM Ponto — estilos (ponto, gestão, login). Identidade Sr. Machado: escuro + dourado */
:root{--g:#D1A24A;--g2:#E8C277;--bg:#0B0B0B;--bg2:#121212;--card:#1A1A1A;--line:#262626;--tx:#EDE9E3;--mu:#8A8580;--ok:#3DDC84;--warn:#F2B456;--err:#E0604A;--wa:#25D366}
html,body{background:#0B0B0B!important;touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.elementor-template-canvas{margin:0}
.smp-app{font-family:Manrope,system-ui,-apple-system,sans-serif;color:var(--tx);background:var(--bg);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;box-sizing:border-box}
.smp-app *,.smp-app *::before,.smp-app *::after{box-sizing:border-box}
.smp-app button{font-family:inherit;cursor:pointer}
.smp-app input,.smp-app select,.smp-app textarea{font-family:inherit;font-size:16px}
.smp-boot{min-height:100vh;display:flex;align-items:center;justify-content:center}
.smp-spin{width:34px;height:34px;border-radius:50%;border:3px solid #333;border-top-color:var(--g);animation:smpspin .8s linear infinite;display:inline-block}
@keyframes smpspin{to{transform:rotate(360deg)}}
.smp-logo{display:block;height:84px;width:auto;margin:-10px auto -8px;max-width:none}
.smp-h1{font:700 30px/1.15 'Playfair Display',serif;color:#fff;margin:0}
.smp-h2{font:700 22px/1.2 'Playfair Display',serif;color:#fff;margin:0}
.smp-mu{color:var(--mu);font-size:14px}
.smp-gold{color:var(--g)}
.smp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--g);background:transparent;color:var(--g);font:700 15px Manrope,sans-serif;padding:14px 20px;border-radius:10px;text-decoration:none;transition:transform .15s,filter .2s,background .2s;min-height:48px}
.smp-btn:active{transform:scale(.97)}
.smp-btn--gold{background:var(--g);color:#0B0B0B}
.smp-btn--red{background:var(--err);border-color:var(--err);color:#fff}
.smp-btn--wa{background:var(--wa);border-color:var(--wa);color:#0B0B0B}
.smp-btn--ghost{border-color:#3a3a3a;color:var(--tx)}
.smp-btn--sm{min-height:38px;padding:8px 14px;font-size:13px;border-radius:8px}
.smp-btn--block{width:100%}
.smp-btn[disabled]{opacity:.5;pointer-events:none}
.smp-alert{padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.45;margin:10px 0}
.smp-alert--err{background:rgba(224,96,74,.12);border:1px solid rgba(224,96,74,.45);color:#ffb3a5}
.smp-alert--ok{background:rgba(61,220,132,.1);border:1px solid rgba(61,220,132,.4);color:#9ff0c4}
.smp-alert--warn{background:rgba(242,180,86,.1);border:1px solid rgba(242,180,86,.4);color:#ffd99a}
.smp-link{color:var(--g);font-size:14px;text-decoration:none}

/* ---------------- PONTO (funcionário) ---------------- */
.smp-ponto{display:flex;flex-direction:column;align-items:center;padding:max(20px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));background:radial-gradient(600px 300px at 50% 0%,rgba(209,162,74,.12),transparent 70%),var(--bg)}
.smp-scr{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;flex:1}
.smp-greet{font:700 26px/1.2 'Playfair Display',serif;color:#fff;margin:4px 0 0}
.smp-loc{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--mu);padding:7px 12px;border:1px solid var(--line);border-radius:30px}
.smp-loc i{width:8px;height:8px;border-radius:50%;background:#666}
.smp-loc.ok i{background:var(--ok)}.smp-loc.bad i{background:var(--err)}.smp-loc.wait i{background:var(--warn);animation:smpblink 1s infinite}
@keyframes smpblink{50%{opacity:.3}}
.smp-dots{display:flex;gap:14px;justify-content:center;margin:8px 0 4px}
.smp-dots span{width:16px;height:16px;border-radius:50%;border:2px solid #555;transition:.15s}
.smp-dots span.on{background:var(--g);border-color:var(--g)}
.smp-dots.shake{animation:smpshake .4s}
@keyframes smpshake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.smp-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:360px;margin-top:8px;user-select:none;-webkit-user-select:none}
.smp-pad button{height:66px;border-radius:16px;border:1px solid #2e2e2e;background:#171717;color:#fff;font:600 28px Manrope,sans-serif;touch-action:manipulation;-webkit-touch-callout:none;transition:background .08s,transform .08s;display:flex;align-items:center;justify-content:center;gap:6px;padding:0}
.smp-pad button.down,.smp-pad button:active{background:#2a2a2a;transform:scale(.96)}
.smp-pad button.k-fn{font:700 14px Manrope,sans-serif;color:var(--mu);background:#121212}
.smp-pad button.k-del{color:var(--g);border-color:rgba(209,162,74,.45);flex-direction:column;gap:2px;font-size:11px;letter-spacing:.5px;text-transform:uppercase}
.smp-pad button.k-del svg{display:block}
@media(max-height:700px){.smp-pad button{height:56px}}
.smp-big{width:100%;min-height:150px;border-radius:22px;border:0;font:800 30px/1.1 Manrope,sans-serif;letter-spacing:1px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.smp-big small{font:600 14px Manrope;letter-spacing:.3px;opacity:.85}
.smp-big--in{background:linear-gradient(160deg,#E8C277,#D1A24A);color:#0B0B0B}
.smp-big--out{background:linear-gradient(160deg,#ef7a65,#d5523c);color:#fff}
.smp-today{width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-align:left;font-size:14px}
.smp-today h4{margin:0 0 8px;font:700 11px Manrope;letter-spacing:1.6px;text-transform:uppercase;color:var(--g)}
.smp-chips{display:flex;flex-wrap:wrap;gap:8px}
.smp-chip{padding:6px 10px;border-radius:20px;background:#222;font-size:13px;font-weight:600}
.smp-chip.in{color:var(--g2)}.smp-chip.out{color:#ff9d8a}
.smp-week{margin-top:10px;color:var(--mu)}
.smp-week b{color:#fff}
.smp-ok-ico{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(61,220,132,.12);border:2px solid var(--ok);color:var(--ok);font-size:48px;margin-top:20px;animation:smppop .4s}
@keyframes smppop{0%{transform:scale(.5);opacity:0}100%{transform:scale(1);opacity:1}}
.smp-time{font:800 54px/1 Manrope;color:#fff;letter-spacing:-1px}
.smp-steps-ui{display:flex;gap:6px;justify-content:center}
.smp-steps-ui span{width:26px;height:4px;border-radius:2px;background:#333}.smp-steps-ui span.on{background:var(--g)}
.smp-box{width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:left;font-size:14px;line-height:1.6;color:#d8d3cc}
.smp-box ul{margin:8px 0;padding-left:18px}
.smp-check{display:flex;gap:10px;align-items:flex-start;text-align:left;font-size:14px}
.smp-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--g)}
.smp-a2hs{width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;font-size:14px;line-height:1.6}
.smp-a2hs ol{margin:6px 0 0;padding-left:20px}
.smp-foot{margin-top:auto;padding-top:18px;font-size:12px;color:#5d5953}

/* ---------------- LOGIN ---------------- */
.smp-login{display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(600px 300px at 50% 0%,rgba(209,162,74,.12),transparent 70%),var(--bg)}
.smp-login-card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px 22px;text-align:center;display:flex;flex-direction:column;gap:14px}
.smp-login-card h1{font:700 26px 'Playfair Display',serif;color:#fff;margin:0}
.smp-form{display:flex;flex-direction:column;gap:12px;text-align:left}
.smp-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--mu);font-weight:600}
.smp-form input[type=text],.smp-form input[type=password],.smp-form input[type=email],.smp-form input[type=tel],.smp-form input[type=date],.smp-form input[type=datetime-local],.smp-form input[type=number],.smp-form select,.smp-form textarea{background:#101010;border:1px solid #333;border-radius:10px;color:#fff;padding:13px 12px;width:100%;outline:none;-webkit-appearance:none;appearance:none}
.smp-form input:focus,.smp-form select:focus,.smp-form textarea:focus{border-color:var(--g)}
.smp-form .smp-check{color:var(--tx);font-weight:500;flex-direction:row}
.smp-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* ---------------- GESTÃO ---------------- */
.smp-gestao{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
.smp-top{position:sticky;top:0;z-index:20;background:rgba(11,11,11,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:max(10px,env(safe-area-inset-top)) 16px 10px;display:flex;align-items:center;gap:12px}
.smp-top img{height:52px;margin:-8px -10px -8px -14px;max-width:none}
.smp-top .t{flex:1;min-width:0}
.smp-top .t b{display:block;font:700 17px 'Playfair Display',serif;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smp-top .t span{font-size:12px;color:var(--mu)}
.smp-top .r{display:flex;gap:6px}
.smp-icon-btn{width:40px;height:40px;border-radius:10px;border:1px solid #333;background:transparent;color:var(--tx);display:flex;align-items:center;justify-content:center;font-size:18px}
.smp-main{max-width:1100px;margin:0 auto;padding:16px}
.smp-sec{margin:0 0 22px}
.smp-sec-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.smp-sec-h h3{margin:0;font:700 12px Manrope;letter-spacing:1.6px;text-transform:uppercase;color:var(--g)}
.smp-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin:0 0 10px}
.smp-card.warn{border-color:rgba(242,180,86,.45)}
.smp-card.err{border-color:rgba(224,96,74,.5)}
.smp-card .row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.smp-card .nm{font-weight:700;color:#fff;font-size:16px}
.smp-card .sub{font-size:13px;color:var(--mu);margin-top:2px}
.smp-card .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.smp-empty{color:var(--mu);font-size:14px;padding:16px;text-align:center;border:1px dashed #2c2c2c;border-radius:12px}
.smp-badge{display:inline-flex;align-items:center;gap:5px;font:700 10px Manrope;letter-spacing:.8px;text-transform:uppercase;padding:4px 8px;border-radius:20px;background:#222;color:var(--tx);white-space:nowrap}
.smp-badge.ok{background:rgba(61,220,132,.12);color:var(--ok)}
.smp-badge.warn{background:rgba(242,180,86,.12);color:var(--warn)}
.smp-badge.err{background:rgba(224,96,74,.14);color:#ff9d8a}
.smp-badge.gold{background:rgba(209,162,74,.14);color:var(--g)}
.smp-badge.mu{color:var(--mu)}
.smp-dot{width:9px;height:9px;border-radius:50%;background:var(--ok);display:inline-block;box-shadow:0 0 0 0 rgba(61,220,132,.5);animation:smpdot 2s infinite}
@keyframes smpdot{100%{box-shadow:0 0 0 8px rgba(61,220,132,0)}}
.smp-times{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.smp-times .tm{background:#111;border:1px solid #262626;border-radius:8px;padding:6px 4px;text-align:center;font-size:14px;font-weight:700;color:#fff;cursor:pointer}
.smp-times .tm small{display:block;font:600 9px Manrope;letter-spacing:1px;color:var(--mu);text-transform:uppercase}
.smp-times .tm.manual{border-color:rgba(209,162,74,.45)}
.smp-times .tm.flag{border-color:rgba(242,180,86,.7)}
.smp-times .tm.empty{color:#444;cursor:default}
.smp-tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(14,14,14,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:6px 4px max(6px,env(safe-area-inset-bottom))}
.smp-tabs button{background:none;border:0;color:var(--mu);display:flex;flex-direction:column;align-items:center;gap:3px;font:600 11px Manrope;padding:6px 0;position:relative}
.smp-tabs button .i{font-size:20px;line-height:1}
.smp-tabs button.on{color:var(--g)}
.smp-tabs button .n{position:absolute;top:2px;right:calc(50% - 22px);background:var(--err);color:#fff;font-size:10px;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.smp-presets{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:4px}
.smp-presets::-webkit-scrollbar{display:none}
.smp-presets button{flex:none;border:1px solid #333;background:transparent;color:var(--tx);border-radius:30px;padding:9px 14px;font:600 13px Manrope}
.smp-presets button.on{background:var(--g);border-color:var(--g);color:#0B0B0B}
.smp-total{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.smp-total div{background:linear-gradient(160deg,#211a10,#151515);border:1px solid rgba(209,162,74,.45);border-radius:14px;padding:14px}
.smp-total small{display:block;font:700 10px Manrope;letter-spacing:1.4px;text-transform:uppercase;color:var(--mu)}
.smp-total b{font:700 26px 'Playfair Display',serif;color:var(--g)}
.smp-emp-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;cursor:pointer}
.smp-emp-h .v{text-align:right}
.smp-emp-h .v b{display:block;font:700 20px 'Playfair Display',serif;color:var(--g)}
.smp-emp-h .v span{font-size:12px;color:var(--mu)}
.smp-days{margin-top:12px;border-top:1px solid var(--line);padding-top:8px;display:none}
.smp-days.open{display:block}
.smp-day{display:grid;grid-template-columns:70px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #1f1f1f;font-size:13px}
.smp-day:last-child{border-bottom:0}
.smp-day .d{color:var(--mu);font-weight:600}
.smp-day .p{color:#fff;font-variant-numeric:tabular-nums}
.smp-day .h{text-align:right;font-weight:700;color:#fff}
.smp-day .h small{display:block;color:var(--g);font-weight:600}
.smp-fn-tbl{width:100%;border-collapse:collapse;font-size:14px}
.smp-fn-tbl td{padding:8px 4px;border-bottom:1px solid #1f1f1f}
.smp-fn-tbl td:nth-child(2),.smp-fn-tbl td:nth-child(3){text-align:right;font-weight:700}
.smp-fn-tbl tr:last-child td{border-bottom:0;color:var(--g)}
.smp-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.smp-filters select,.smp-filters input{background:#101010;border:1px solid #333;border-radius:10px;color:#fff;padding:11px 10px;width:100%;font-size:14px}
.smp-search{background:#101010;border:1px solid #333;border-radius:10px;color:#fff;padding:12px;width:100%;margin-bottom:10px}
/* bottom sheet */
.smp-sheet-bg{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center;animation:smpfade .2s}
@keyframes smpfade{from{opacity:0}}
.smp-sheet{width:100%;max-width:560px;max-height:92vh;overflow:auto;background:#141414;border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;padding:10px 18px calc(20px + env(safe-area-inset-bottom));animation:smpup .25s ease}
@keyframes smpup{from{transform:translateY(40px);opacity:.5}}
.smp-sheet .grab{width:44px;height:5px;border-radius:3px;background:#333;margin:0 auto 12px}
.smp-sheet h3{font:700 20px 'Playfair Display',serif;color:#fff;margin:0 0 4px}
.smp-sheet .smp-form{margin-top:12px}
.smp-sheet .btns{display:flex;gap:10px;margin-top:16px}
.smp-sheet .btns .smp-btn{flex:1}
.smp-toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:200;background:#1f1f1f;border:1px solid #333;color:#fff;padding:12px 18px;border-radius:12px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.5);max-width:90vw;animation:smpup .25s}
.smp-toast.err{border-color:var(--err)}
.smp-linkbox{background:#101010;border:1px dashed #444;border-radius:10px;padding:12px;font-size:13px;word-break:break-all;color:#cfc9c1}
.smp-hist{font-size:13px;color:var(--mu)}
.smp-hist div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #1f1f1f}
@media(min-width:900px){
 .smp-gestao{padding-bottom:0;padding-left:220px}
 .smp-tabs{top:0;bottom:0;right:auto;width:220px;grid-template-columns:1fr;align-content:start;padding:90px 12px 12px;border-top:0;border-right:1px solid var(--line)}
 .smp-tabs button{flex-direction:row;justify-content:flex-start;gap:12px;font-size:14px;padding:12px 14px;border-radius:10px}
 .smp-tabs button.on{background:rgba(209,162,74,.1)}
 .smp-tabs button .n{position:static;margin-left:auto}
 .smp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
 .smp-sheet-bg{align-items:center}
 .smp-sheet{border-radius:20px;border-bottom:1px solid var(--line)}
}
@media print{
 .smp-tabs,.smp-top .r,.smp-presets,.smp-filters,.smp-noprint{display:none!important}
 .smp-app,.smp-card,.smp-total div{background:#fff!important;color:#000!important;border-color:#ccc!important}
 .smp-days{display:block!important}
 .smp-gestao{padding:0!important}
 *{color:#000!important}
}

/* 1.0.8 — correções mobile (iOS) */
.smp-sheet-bg,.smp-sheet-bg *,.smp-sheet-bg *::before,.smp-sheet-bg *::after,.smp-toast,.smp-toast *{box-sizing:border-box}
.smp-sheet-bg input,.smp-sheet-bg select,.smp-sheet-bg textarea{font-family:inherit;font-size:16px}
.smp-sheet{font-family:Manrope,system-ui,-apple-system,sans-serif;color:var(--tx);overflow-x:hidden}
.smp-main{overflow-x:hidden}
.smp-row2,.smp-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.smp-row2>*,.smp-filters>*{min-width:0}
.smp-app input,.smp-app select,.smp-sheet-bg input,.smp-sheet-bg select{max-width:100%;min-width:0}
input[type=date],input[type=datetime-local],input[type=time]{-webkit-appearance:none;appearance:none;display:block;width:100%;min-width:0;max-width:100%;min-height:48px;text-align:left;line-height:1.2}
.smp-filters input[type=date]{min-height:44px}
input[type=date]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}
input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.6}
/* números legíveis (Playfair tem algarismos antigos: 0h00 parecia "ohoo") */
.smp-total b,.smp-emp-h .v b{font-family:Manrope,system-ui,sans-serif;font-weight:800;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.5px}
.smp-app,.smp-sheet{font-variant-numeric:lining-nums}
