@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700&display=swap";.app-shell{--app-max-width:860px;flex-direction:column;justify-content:center;align-items:center;height:100dvh;min-height:100dvh;padding:20px 16px;display:flex;overflow:hidden}.app-container{width:min(var(--app-max-width), 100%);box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff5c;border:1px solid #ffffffb3;border-radius:32px;flex-direction:column;height:calc(100dvh - 40px);max-height:calc(100dvh - 40px);display:flex;overflow:hidden}.screen{flex-direction:column;gap:18px;width:100%;min-width:0;padding:26px;display:flex}.loading-screen{justify-content:center;align-items:center;min-height:100vh}.loading-card{text-align:center;width:100%;max-width:420px}.loading-card h1{font-size:clamp(1.8rem,5vw,2.5rem)}.loading-card p{margin-top:12px}.glass-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:24px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--primary);font-size:.76rem;font-weight:700}.screen-login{justify-content:center;align-items:center;min-height:100vh;padding:20px}.login-card{text-align:center;width:min(520px,100%);padding:34px}.brand-lockup{flex-direction:column;align-items:center;gap:10px;display:flex}.logo-shell{background:#0b1a4b;border-radius:30px;place-items:center;width:116px;height:116px;display:grid;overflow:hidden;box-shadow:0 14px 30px #0f172a38}.logo-mark{width:100%;height:100%;display:block}.brand-lockup h1{margin-top:10px;font-size:clamp(2rem,6vw,2.85rem);line-height:1.08}.brand-lockup p{max-width:390px;line-height:1.45}.google-login-btn{color:#111827;background:linear-gradient(160deg,#fff,#f3f4f6);border:none;border-radius:999px;justify-content:center;align-items:center;gap:12px;width:100%;margin-top:26px;padding:15px 20px;font-size:1.1rem;font-weight:800;transition:transform .18s,box-shadow .18s,opacity .18s;display:inline-flex;box-shadow:0 12px 24px #0f172a1f}.google-login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 30px #0f172a26}.google-login-btn:disabled{opacity:.7;cursor:not-allowed}.google-glyph{width:24px;height:24px}.info-pill{background:var(--bg-soft);letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);border-radius:999px;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:11px 15px;font-size:.86rem;font-weight:700;display:inline-flex}.info-pill-icon{width:17px;height:17px;color:var(--primary)}.login-alert{color:#b91c1c;background:#fee2e2b3;border:1px solid #ef444433;border-radius:14px;margin-top:12px;padding:12px 14px;font-size:.92rem}.login-alert code{background:#ffffffd9;border-radius:6px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.login-terms{color:var(--text-subtle);margin-top:16px;line-height:1.5;display:block}.login-terms strong{color:var(--primary-strong)}.screen-onboarding{justify-content:center;align-items:center;min-height:100vh;padding:26px 20px}.onboarding-panel{width:min(740px,100%);padding:24px}.panel-header h2{margin-top:8px;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.1}.panel-header p{max-width:560px;margin-top:8px}.onboarding-form{gap:14px;margin-top:20px;display:grid}.onboarding-form label,.profile-form-grid label,.turno-grid label,.history-filters label{color:var(--text-soft);flex-direction:column;gap:7px;font-size:.9rem;font-weight:700;display:flex}.onboarding-form input,.profile-form-grid input,.turno-grid input,.history-filters input{border:1px solid var(--line);background:var(--card-strong);color:var(--text);border-radius:14px;padding:12px 14px;font-size:1rem}.onboarding-form input:focus,.profile-form-grid input:focus,.turno-grid input:focus,.history-filters input:focus{border-color:#1f63d699;outline:2px solid #1f63d647}.turnos-header{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.turnos-header span{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-size:.86rem;font-weight:800}.btn-link{color:var(--primary-strong);background:0 0;border:none;padding:4px;font-weight:800}.turnos-list{gap:12px;display:grid}.turno-item{border:1px solid var(--line);background:#ffffffd9;border-radius:18px;padding:16px}.turno-item.compact{padding:14px}.turno-title-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.turno-title-row h3{font-size:1rem}.btn-remove{color:var(--danger);background:#ef44441f;border:none;border-radius:10px;padding:6px 10px;font-size:.84rem;font-weight:700}.turno-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.target-box{background:var(--primary-soft);color:var(--primary-strong);border:1px solid #1f63d633;border-radius:14px;padding:12px 13px;font-size:.95rem}.form-error{color:var(--danger);background:#fee2e2b3;border:1px solid #ef44443d;border-radius:14px;padding:11px 12px;font-size:.92rem}.primary-btn,.secondary-btn,.danger-btn{border:none;border-radius:16px;padding:13px 16px;font-size:1rem;font-weight:800}.primary-btn{background:linear-gradient(160deg, var(--primary), var(--primary-strong));color:#fff;box-shadow:0 16px 26px #1f63d647}.secondary-btn{color:#111827;background:#e5e7eb}.danger-btn{color:#991b1b;background:#ef44441f;justify-content:center;align-items:center;gap:10px;width:100%;display:inline-flex}.app-container .screen{overscroll-behavior:contain;flex:1;min-height:0;padding-bottom:138px;overflow:hidden auto}.main-header{justify-content:space-between;align-items:center;display:flex}.user-box{align-items:center;gap:12px;display:inline-flex}.user-box strong{font-size:1.1rem}.user-box p{margin-top:2px;font-size:.94rem}.avatar{object-fit:cover;border:2px solid #ffffffe6;border-radius:50%;width:42px;height:42px}.avatar.large{width:52px;height:52px}.avatar-fallback{color:#0f172a;background:linear-gradient(160deg,#93c5fd,#60a5fa);place-items:center;font-weight:800;display:grid}.clock-section h2{margin-top:6px;font-size:clamp(2.7rem,9vw,4.2rem);line-height:.95}.clock-section p{margin-top:8px;font-size:1.1rem}.punch-btn{aspect-ratio:1;color:#fff;text-align:center;border:6px solid #ffffffbf;border-radius:999px;place-content:center;align-self:center;gap:10px;width:min(210px,56%);padding:14px;transition:background .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 22px 34px #0f172a47}.punch-btn-start{background:linear-gradient(155deg,#2d6cdf,#0f4bb5)}.punch-btn-stop{background:linear-gradient(155deg,#dc2626,#991b1b);box-shadow:0 22px 34px #7f1d1d52}.punch-btn svg{width:34px;height:34px;margin:0 auto}.punch-btn span{font-family:Sora,sans-serif;font-size:clamp(.95rem,2.6vw,1.1rem)}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.daily-card{grid-column:span 2;padding:18px}.daily-card h3{margin-top:4px;font-size:clamp(1.8rem,5vw,2.7rem)}.daily-card p{margin-top:3px;font-size:.95rem}.progress-track{background:#1f63d624;border-radius:999px;width:100%;height:8px;margin-top:12px;overflow:hidden}.progress-track div{border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#1d4ed8);height:100%}.mini-card{flex-direction:column;gap:6px;padding:16px;display:flex}.mini-card strong{font-size:1.33rem}.timeline-block,.history-panel,.profile-form-wrap{padding:18px}.timeline-head,.history-title-row,.profile-form-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.timeline-head h3,.profile-form-head h3,.history-title-row h3{font-size:1.25rem}.timeline-head span,.history-title-row span{color:var(--text-subtle);font-size:.9rem}.timeline-block ul,.day-history ul,.month-history ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.timeline-row{border:1px solid var(--line);background:#ffffffe6;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 10px;display:grid}.timeline-row p{font-size:.87rem}.timeline-row span{font-weight:800}.timeline-row-meta{align-items:center;gap:8px;display:inline-flex}.icon-btn-danger{width:32px;height:32px;color:var(--danger);background:#ef444424;border:none;border-radius:10px;place-items:center;padding:0;display:grid}.icon-btn-danger svg{width:16px;height:16px}.timeline-bullet{border-radius:999px;width:11px;height:11px}.timeline-bullet.entrada{background:#2563eb}.timeline-bullet.saida{background:#ea580c}.empty-state{color:var(--text-subtle);padding:8px 0}.metrics-header h2{margin-top:6px;font-size:clamp(2rem,6vw,2.8rem)}.metrics-header p{margin-top:7px}.metrics-cards .metric-highlight{grid-column:span 2;padding:18px}.metric-highlight h3{margin-top:6px;font-size:clamp(2rem,5vw,3rem)}.history-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.day-history,.month-history{padding-top:10px}.month-row{border:1px solid var(--line);background:#ffffffe6;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.month-row span{font-weight:800}.profile-header{align-items:center;gap:12px;padding:16px;display:flex}.profile-header h2{font-size:1.5rem}.profile-header small{color:var(--text-subtle)}.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}.profile-stats article{border:1px solid var(--line);background:#ffffffbf;border-radius:16px;gap:6px;padding:14px;display:grid}.profile-stats strong{font-size:1.4rem}.profile-form-grid{gap:10px;display:grid}.form-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.bottom-nav{width:min(var(--app-max-width), 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:95;background:#f5f7fceb;border-radius:0 0 32px 32px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 12px 12px;display:grid;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.bottom-nav button{color:#334155;background:0 0;border:1px solid #0000;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:9px 8px;font-size:.86rem;font-weight:700;display:inline-flex}.bottom-nav button svg{width:22px;height:22px}.bottom-nav button.active{background:var(--primary-soft);color:var(--primary-strong);border-color:#1f63d640}@media (width>=1024px) and (orientation:landscape){.app-shell{--app-max-width:calc(100vw - 40px);justify-content:flex-start}.screen-main{grid-template-columns:minmax(300px,.95fr) minmax(0,1.35fr);grid-template-areas:"header cards""clock cards""clockpill cards""punch timeline";align-content:start;gap:14px 16px;display:grid}.screen-main>.main-header{grid-area:header}.screen-main>.clock-section{grid-area:clock}.screen-main>.punch-clock-row{grid-area:clockpill;justify-content:flex-start}.screen-main>.punch-btn{grid-area:punch;place-self:start;width:min(238px,88%)}.screen-main>.cards-grid{grid-area:cards;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start}.screen-main>.cards-grid .daily-card{grid-column:span 3}.screen-main>.timeline-block{grid-area:timeline;min-height:0}.screen-metrics{grid-template-columns:minmax(320px,.95fr) minmax(0,1.35fr);grid-template-areas:"header report""cards history";align-content:start;gap:14px 16px;display:grid}.screen-metrics>.metrics-header{grid-area:header}.screen-metrics>.report-panel{grid-area:report}.screen-metrics>.metrics-cards{grid-area:cards;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.screen-metrics>.metrics-cards .metric-highlight{grid-column:span 2}.screen-metrics>.history-panel{grid-area:history;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:14px;display:grid}.screen-metrics>.history-panel .history-filters{grid-column:1/-1;margin-bottom:0}.screen-metrics>.history-panel .day-history,.screen-metrics>.history-panel .month-history{padding-top:0}.screen-metrics>.history-panel .month-history{border-left:1px solid var(--line);padding-left:14px}.screen-profile{grid-template-columns:minmax(290px,.9fr) minmax(0,1.4fr);grid-template-areas:"profile-header profile-rules""profile-stats profile-rules""profile-signout profile-pin""profile-signout profile-user";align-content:start;gap:14px 16px;display:grid}.screen-profile>.profile-header{grid-area:profile-header}.screen-profile>.profile-stats{grid-area:profile-stats;grid-template-columns:1fr}.screen-profile>.profile-section-rules{grid-area:profile-rules}.screen-profile>.profile-section-pin{grid-area:profile-pin}.screen-profile>.profile-section-user{grid-area:profile-user}.screen-profile>.profile-signout-btn{grid-area:profile-signout;align-self:start;margin-top:0}}@media (width<=780px){.app-shell{--app-max-width:860px;padding:0}.app-container{border-left:none;border-right:none;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.screen{padding:20px}.cards-grid,.history-filters,.turno-grid,.form-actions,.profile-stats{grid-template-columns:1fr}.daily-card,.metrics-cards .metric-highlight{grid-column:span 1}.info-pill{text-transform:none;letter-spacing:0;border-radius:16px}.punch-btn{width:min(190px,62%)}}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.settings-grid label{color:var(--text-soft);flex-direction:column;gap:7px;font-size:.9rem;font-weight:700;display:flex}.settings-grid input,.settings-grid select{border:1px solid var(--line);background:var(--card-strong);color:var(--text);border-radius:14px;padding:12px 14px;font-size:1rem}.settings-grid input:focus,.settings-grid select:focus{border-color:#1f63d699;outline:2px solid #1f63d647}.settings-feedback{color:var(--primary-strong);margin-top:-2px;font-size:.9rem}.settings-help{color:var(--text-subtle);margin:-2px 0 2px;font-size:.9rem}.weekday-selector{gap:10px;margin:2px 0 6px;display:grid}.weekday-selector>span{color:var(--text-soft);font-size:.9rem;font-weight:700}.weekday-options{flex-wrap:wrap;gap:8px;display:flex}.weekday-chip{border:1px solid var(--line);color:var(--text-soft);background:#ffffffc7;border-radius:999px;padding:8px 12px;font-size:.88rem;font-weight:700}.weekday-chip.active{background:var(--primary-soft);color:var(--primary-strong);border-color:#1f63d673}.pin-status{margin-bottom:10px}.punch-clock-row{justify-content:center;display:flex}.clock-pill{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffe0;border-radius:999px;align-items:center;gap:10px;padding:8px 16px;display:inline-flex}.clock-pill strong{font-size:1rem}.clock-pill span{color:var(--text-subtle);font-size:.84rem}.modal-backdrop{z-index:100;background:#0f172a6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirm-modal{gap:12px;width:min(440px,100%);padding:18px;display:grid}.confirm-modal p{font-size:.95rem}.confirm-modal label{color:var(--text-soft);flex-direction:column;gap:7px;font-weight:700;display:flex}.confirm-modal input{border:1px solid var(--line);background:var(--card-strong);color:var(--text);border-radius:14px;padding:12px 14px;font-size:1rem}.saldo-positivo{color:#166534}.saldo-negativo{color:#991b1b}.report-panel{padding:18px}.report-panel-head h3{margin-bottom:4px;font-size:1.2rem}.report-panel-head p{font-size:.94rem}.report-controls{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:14px;display:grid}.report-controls label{color:var(--text-soft);flex-direction:column;gap:7px;font-size:.9rem;font-weight:700;display:flex}.report-controls select{border:1px solid var(--line);background:var(--card-strong);color:var(--text);border-radius:14px;padding:12px 14px;font-size:1rem}.report-controls select:focus{border-color:#1f63d699;outline:2px solid #1f63d647}@media (width>=1024px) and (orientation:landscape){.app-shell{--app-max-width:calc(100vw - 40px);justify-content:flex-start}.screen-main{grid-template-columns:minmax(300px,.95fr) minmax(0,1.35fr);grid-template-areas:"header cards""clock cards""clockpill cards""punch timeline";align-content:start;gap:14px 16px;display:grid}.screen-main>.main-header{grid-area:header}.screen-main>.clock-section{grid-area:clock}.screen-main>.punch-clock-row{grid-area:clockpill;justify-content:flex-start}.screen-main>.punch-btn{grid-area:punch;place-self:start;width:min(238px,88%)}.screen-main>.cards-grid{grid-area:cards;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start}.screen-main>.cards-grid .daily-card{grid-column:span 3}.screen-main>.timeline-block{grid-area:timeline;min-height:0}.screen-metrics{grid-template-columns:minmax(320px,.95fr) minmax(0,1.35fr);grid-template-areas:"header report""cards history";align-content:start;gap:14px 16px;display:grid}.screen-metrics>.metrics-header{grid-area:header}.screen-metrics>.report-panel{grid-area:report}.screen-metrics>.metrics-cards{grid-area:cards;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.screen-metrics>.metrics-cards .metric-highlight{grid-column:span 2}.screen-metrics>.history-panel{grid-area:history;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:14px;display:grid}.screen-metrics>.history-panel .history-filters{grid-column:1/-1;margin-bottom:0}.screen-metrics>.history-panel .day-history,.screen-metrics>.history-panel .month-history{padding-top:0}.screen-metrics>.history-panel .month-history{border-left:1px solid var(--line);padding-left:14px}.screen-profile{grid-template-columns:minmax(290px,.9fr) minmax(0,1.4fr);grid-template-areas:"profile-header profile-rules""profile-stats profile-rules""profile-signout profile-pin""profile-signout profile-user";align-content:start;gap:14px 16px;display:grid}.screen-profile>.profile-header{grid-area:profile-header}.screen-profile>.profile-stats{grid-area:profile-stats;grid-template-columns:1fr}.screen-profile>.profile-section-rules{grid-area:profile-rules}.screen-profile>.profile-section-pin{grid-area:profile-pin}.screen-profile>.profile-section-user{grid-area:profile-user}.screen-profile>.profile-signout-btn{grid-area:profile-signout;align-self:start;margin-top:0}}@media (width<=780px){.settings-grid{grid-template-columns:1fr}.confirm-modal{width:100%}.report-controls{grid-template-columns:1fr}.app-container .screen{padding-bottom:126px}.bottom-nav{width:100%;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-radius:0;bottom:0;left:0;transform:none}}html[data-theme=escuro] .app-container{background:#02061785;border-color:#94a3b838}html[data-theme=escuro] .google-login-btn{color:#f8fafc;background:linear-gradient(160deg,#0f172a,#111827)}html[data-theme=escuro] .logo-shell{background:0 0}html[data-theme=escuro] .turno-item,html[data-theme=escuro] .timeline-row,html[data-theme=escuro] .month-row,html[data-theme=escuro] .profile-stats article,html[data-theme=escuro] .clock-pill,html[data-theme=escuro] .bottom-nav{background:#0f172adb}html[data-theme=escuro] .weekday-chip{color:#cbd5e1;background:#0f172adb;border-color:#94a3b84d}html[data-theme=escuro] .avatar{border-color:#94a3b84d}html[data-theme=escuro] .secondary-btn{color:#e5e7eb;background:#1f2937}html[data-theme=escuro] .danger-btn{color:#fecaca;background:#ef444433}html[data-theme=escuro] .icon-btn-danger{color:#fecaca;background:#ef44443d}html[data-theme=escuro] .settings-feedback{color:#93c5fd}:root{--bg:#ececf2;--bg-soft:#f5f6fa;--card:#ffffffe0;--card-strong:#fff;--text:#111827;--text-soft:#4b5563;--text-subtle:#6b7280;--primary:#1f63d6;--primary-strong:#0f4bb5;--primary-soft:#1f63d624;--line:#94a3b847;--danger:#b91c1c;--shadow-soft:0 10px 32px #0f172a14;--shadow-strong:0 24px 48px #0f172a24;--bg-gradient-a:#4086ff2e;--bg-gradient-b:#38bdf833;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html[data-theme=escuro]{--bg:#0b1220;--bg-soft:#111827;--card:#0f172ad1;--card-strong:#0f172a;--text:#e5e7eb;--text-soft:#cbd5e1;--text-subtle:#94a3b8;--primary:#4f8fff;--primary-strong:#75a7ff;--primary-soft:#4f8fff2e;--line:#94a3b83d;--danger:#ef4444;--shadow-soft:0 10px 32px #02061759;--shadow-strong:0 24px 48px #02061780;--bg-gradient-a:#1e40af42;--bg-gradient-b:#0f172a29}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(1200px 500px at -10% -20%, var(--bg-gradient-a), transparent 65%), radial-gradient(900px 400px at 100% 0, var(--bg-gradient-b), transparent 60%), var(--bg);font-family:Manrope,Avenir Next,Segoe UI,sans-serif}h1,h2,h3,strong{margin:0;font-family:Sora,Avenir Next,sans-serif}p{color:var(--text-soft);margin:0}a{color:inherit}input,button{font:inherit}button{cursor:pointer}input,button,select,textarea{-webkit-tap-highlight-color:transparent}@media (width<=640px){body{background:radial-gradient(800px 340px at -20% -20%, var(--bg-gradient-a), transparent 65%), radial-gradient(700px 280px at 110% 0, var(--bg-gradient-b), transparent 60%), var(--bg)}}
