:root{--color-bg: #f4f7fb;--color-surface: #ffffff;--color-surface-muted: #f8fafc;--color-text: #111827;--color-muted: #64748b;--color-border: #d8e0ec;--color-primary: #174a7c;--color-primary-strong: #0d2f54;--color-work: #dbeafe;--color-work-border: #60a5fa;--color-rest: #dcfce7;--color-rest-border: #4ade80;--color-holiday: #f3e8ff;--color-holiday-border: #c084fc;--color-extra: #fef3c7;--color-extra-border: #f59e0b;--color-excused: #ccfbf1;--color-absence: #fee2e2;--color-punch: #ede9fe;--color-night: #e0e7ff;--shadow-panel: 0 12px 32px rgb(15 23 42 / .08)}body.theme-dark{--color-bg: #151412;--color-surface: #1f1d19;--color-surface-muted: #28251f;--color-text: #f3eee6;--color-muted: #b8ad9e;--color-border: #443d32;--color-primary: #2dd4bf;--color-primary-strong: #99f6e4;--color-work: #173b38;--color-work-border: #2dd4bf;--color-rest: #26351e;--color-rest-border: #84cc16;--color-holiday: #37243d;--color-holiday-border: #c084fc;--color-extra: #3c2a12;--color-extra-border: #f59e0b;--color-excused: #153834;--color-absence: #3d1d20;--color-punch: #30243f;--color-night: #242b45;--shadow-panel: 0 14px 34px rgb(0 0 0 / .34);color-scheme:dark}*{box-sizing:border-box}html{min-width:320px;background:var(--color-bg)}body{margin:0;color:var(--color-text);background:var(--color-bg);font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.45}.app-hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,input,select,textarea{font:inherit}button{border:0}.app-shell{width:min(1680px,100%);margin:0 auto;padding:24px}.login-view{display:grid;min-height:100vh;place-items:center;padding:24px}.login-card{display:grid;width:min(440px,100%);gap:16px;padding:28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-panel)}.login-card h1{margin:0;color:var(--color-primary-strong);font-size:38px;line-height:1}.login-card p{margin:10px 0 0;color:var(--color-muted)}.app-header{display:flex;gap:24px;align-items:center;justify-content:space-between;min-height:168px;padding:28px;color:#fff;background:linear-gradient(135deg,#0d2f54f5,#174a7cf0),radial-gradient(circle at 90% 15%,rgb(245 158 11 / .32),transparent 28%);border-radius:8px;box-shadow:var(--shadow-panel)}body.theme-dark .app-header{background:linear-gradient(135deg,#191610,#29241b 55%,#143d37)}.eyebrow{margin:0 0 8px;color:#bfdbfe;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.app-header h1{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.brand-lockup{display:flex;gap:18px;align-items:center;min-width:0}.avatar-wrapper{position:relative;flex:0 0 auto}.avatar-button{display:grid;width:72px;height:72px;place-items:center;overflow:hidden;color:#0f3a5f;background:#e0f2fe;border:2px solid rgb(255 255 255 / .58);border-radius:999px;cursor:pointer;font-size:20px;font-weight:900;box-shadow:0 10px 24px #0f172a2e}.avatar-button img{width:100%;height:100%;object-fit:cover}.avatar-menu{position:absolute;top:calc(100% + 10px);left:0;z-index:30;display:grid;min-width:170px;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-panel)}.avatar-menu button{min-height:34px;padding:0 10px;color:var(--color-text);background:transparent;border-radius:6px;cursor:pointer;font-weight:700;text-align:left}.avatar-menu button:hover{background:var(--color-surface-muted)}.photo-viewer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:28px;background:#020617c7}.photo-viewer img{max-width:min(720px,92vw);max-height:82vh;object-fit:contain;background:#0f172a;border:1px solid rgb(255 255 255 / .24);border-radius:8px;box-shadow:0 24px 80px #00000070}.photo-viewer-close{position:fixed;top:18px;right:18px;min-height:38px;padding:0 14px;color:#0f172a;background:#fff;border-radius:6px;cursor:pointer;font-weight:800}.header-copy{max-width:820px;margin:12px 0 0;color:#dbeafe;font-size:15px}.header-user{color:#fff;font-weight:800}.header-actions,.form-actions{display:flex;flex-wrap:wrap;gap:10px}.header-actions{align-items:center;justify-content:flex-end}.notification-button{position:relative;align-items:center}.notification-button span{display:inline-grid;min-width:22px;height:22px;margin-left:6px;place-items:center;color:#fff;background:#dc2626;border-radius:999px;font-size:12px;font-weight:900}.notification-button:not(.notification-button-active) span{color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border)}.theme-switch-control{display:inline-flex;align-items:center;min-height:42px}.switch{position:relative;display:inline-block;width:4em;height:2.2em;border-radius:30px;box-shadow:0 0 10px #0000001a;font-size:17px}.switch input{width:0;height:0;opacity:0}.slider{position:absolute;inset:0;overflow:hidden;background-color:#2a2a2a;border:1px solid rgb(255 255 255 / .16);border-radius:30px;cursor:pointer;transition:.4s}.slider:before{position:absolute;bottom:.5em;left:.5em;width:1.2em;height:1.2em;content:"";border-radius:20px;box-shadow:inset 8px -4px #fff;transition:.4s;transition-timing-function:cubic-bezier(.81,-.04,.38,1.5)}.switch input:checked+.slider{background-color:#00a6ff}.switch input:focus-visible+.slider{outline:3px solid rgb(255 255 255 / .72);outline-offset:3px}.switch input:checked+.slider:before{box-shadow:inset 15px -4px 0 15px #ffcf48;transform:translate(1.8em)}.star{position:absolute;width:5px;height:5px;background-color:#fff;border-radius:50%;transition:all .4s}.star_1{top:.5em;left:2.5em}.star_2{top:1.2em;left:2.2em}.star_3{top:.9em;left:3em}.switch input:checked~.slider .star{opacity:0}.cloud{position:absolute;bottom:-1.4em;left:-1.1em;width:3.5em;fill:#fff;opacity:0;transition:all .4s}.switch input:checked~.slider .cloud{opacity:1}.sync-status{flex:1 1 100%;min-width:220px;padding:8px 10px;color:#dbeafe;background:#ffffff1f;border:1px solid rgb(255 255 255 / .22);border-radius:6px;font-size:12px;font-weight:700;text-align:right}.sync-status-success{color:#dcfce7}.sync-status-error{color:#fee2e2}.button{min-height:42px;padding:0 16px;border-radius:6px;cursor:pointer;font-weight:700;white-space:nowrap;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}.button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a24}.button-primary{color:#fff;background:var(--color-primary)}.button-secondary{color:#0f3a5f;background:#e0f2fe}body.theme-dark .button-secondary{color:#dffcf5;background:#16423b}.button-danger{color:#991b1b;background:#fee2e2}.control-panel,.summary-strip,.hours-grid{display:grid;gap:14px}.control-panel{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}.control-field,.form-field{display:grid;gap:6px}.control-field{padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 18px #0f172a0d}.control-field span,.form-field span{color:var(--color-muted);font-size:12px;font-weight:700}.control-field input,.form-field input,.form-field select,.form-field textarea{width:100%;min-height:40px;padding:8px 10px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px}.form-field textarea{resize:vertical}.checkbox-field{display:flex;gap:8px;align-items:center;color:var(--color-muted);font-size:13px;font-weight:700}.profile-panel,.certponto-panel{margin:18px 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-panel);overflow:hidden}.modal-open{overflow:hidden}.profile-panel,.notifications-panel,.swap-panel{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;justify-content:flex-start;width:100vw;max-height:none;min-height:100vh;padding:24px;margin:0;overflow:auto;background:#02061794;border:0;border-radius:0;box-shadow:none}.profile-panel>.panel-header,.profile-panel>.profile-form,.notifications-panel>.panel-header,.notifications-panel>.notifications-list,.notifications-panel>.notifications-status,.swap-panel>.panel-header,.swap-panel>.swap-form{width:min(980px,100%);margin:0 auto;background:var(--color-surface);border-right:1px solid var(--color-border);border-left:1px solid var(--color-border)}.profile-panel>.panel-header,.notifications-panel>.panel-header,.swap-panel>.panel-header{border-top:1px solid var(--color-border);border-radius:8px 8px 0 0;box-shadow:var(--shadow-panel)}.profile-panel>.profile-form:last-child,.notifications-panel>.notifications-status,.swap-panel>.swap-form{border-bottom:1px solid var(--color-border);border-radius:0 0 8px 8px}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.notifications-list{display:grid;gap:12px;padding:18px}.notifications-status{padding:0 18px 18px}.notification-empty,.swap-empty{margin:0;color:var(--color-muted);font-size:14px;font-weight:700}.notification-card{display:grid;gap:8px;padding:14px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-left:5px solid var(--color-primary);border-radius:8px}.notification-card-aprovada{border-left-color:#16a34a}.notification-card-recusada{border-left-color:#dc2626}.notification-card h3,.notification-card p{margin:0}.notification-card h3{color:var(--color-primary-strong);font-size:17px}.notification-meta,.notification-note{color:var(--color-muted);font-size:13px;font-weight:700}.notification-actions{display:flex;flex-wrap:wrap;gap:8px}.notification-actions .button{flex:0 1 150px}.swap-form{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:18px}.swap-choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.swap-user-button{display:grid;gap:4px;min-height:74px;padding:12px;color:var(--color-text);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;text-align:left}.swap-user-button:hover,.swap-user-button-selected{border-color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:-2px}.swap-user-button strong{font-size:14px;line-height:1.2}.swap-user-button span{color:var(--color-muted);font-size:12px;font-weight:800}.swap-compensation-section{display:grid;gap:10px}.swap-compensation-section h3{margin:0;color:var(--color-primary-strong);font-size:16px}.swap-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.swap-calendar-empty,.swap-calendar-day{min-height:74px}.swap-calendar-day{display:grid;gap:4px;place-items:center;padding:8px 4px;color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;cursor:default;text-align:center}.swap-calendar-day:disabled{opacity:.58}.swap-calendar-day strong{color:var(--color-text);font-size:17px}.swap-calendar-day span{min-height:28px;color:var(--color-muted);font-size:11px;font-weight:800;line-height:1.15}.swap-calendar-day-available{color:var(--color-text);background:var(--color-rest);border-color:var(--color-rest-border);cursor:pointer}.swap-calendar-day-available:hover,.swap-calendar-day-selected{border-color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:-2px}.profile-close-button{min-height:36px;padding:0 12px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:13px;font-weight:800}.profile-close-button:hover{background:var(--color-surface-muted)}.certponto-panel summary{padding:15px 18px;color:var(--color-primary-strong);background:var(--color-surface-muted);cursor:pointer;font-weight:800}.profile-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;border-top:1px solid var(--color-border)}.password-form{grid-template-columns:repeat(2,minmax(0,1fr))}.form-status{min-height:20px;margin:0;color:var(--color-muted);font-size:13px;font-weight:700}.summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.metric-card{min-width:0;padding:15px;background:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:8px;box-shadow:0 8px 18px #0f172a0d}.metric-card span{display:block;margin-bottom:6px;color:var(--color-muted);font-size:12px;font-weight:700}.metric-card strong{display:block;overflow-wrap:anywhere;font-size:24px;line-height:1.15}.metric-accent-green{border-top-color:#16a34a}.metric-accent-cyan{border-top-color:#0891b2}.metric-accent-blue{border-top-color:#2563eb}.metric-accent-amber{border-top-color:#d97706}.metric-accent-indigo{border-top-color:#4f46e5}.metric-accent-teal{border-top-color:#14b8a6}.metric-accent-red{border-top-color:#dc2626}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:18px;align-items:start}.calendar-panel,.editor-panel,.hours-panel,.certponto-panel,.records-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-panel);overflow:hidden}.panel-header,.editor-header{padding:18px 20px;background:var(--color-surface-muted);border-bottom:1px solid var(--color-border)}.panel-header{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}.panel-header h2,.editor-header h2{margin:0;color:var(--color-primary-strong);font-size:22px;line-height:1.2}.panel-header p,.editor-header p{margin:6px 0 0;color:var(--color-muted);font-size:13px}.panel-header-centered{text-align:center}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr))}.weekdays span{padding:12px 8px;color:#fff;background:var(--color-primary);border-right:1px solid rgb(255 255 255 / .24);font-size:12px;font-weight:800;text-align:center}.weekdays span:first-child{background:#b91c1c}.calendar-day{position:relative;display:grid;grid-template-rows:auto 1fr;gap:10px;min-height:166px;padding:12px;color:inherit;background:var(--color-surface);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);cursor:pointer;overflow:hidden;text-align:left}.calendar-day:hover{outline:2px solid var(--color-primary);outline-offset:-2px}.calendar-day-work{background:var(--color-work)}.calendar-day-rest{background:var(--color-rest)}.calendar-day-holiday{background:var(--color-holiday)}.calendar-day-inactive,.calendar-day-empty{color:#94a3b8;background:#eef2f7;cursor:default}.calendar-day-empty:hover{outline:none}.calendar-day-selected{outline:3px solid var(--color-primary);outline-offset:-3px}.calendar-day-loading{cursor:progress}.calendar-day-loading .day-number,.calendar-day-loading .day-events{opacity:.34}.calendar-loading-indicator{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;padding:12px;color:#0f3a5f;background:#ffffffc7;font-size:12px;font-weight:900;text-align:center;text-transform:uppercase;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.calendar-loading-indicator:after{position:absolute;right:14px;bottom:14px;left:14px;height:4px;content:"";background:linear-gradient(90deg,transparent,var(--color-primary),transparent);background-size:220% 100%;border-radius:999px;animation:calendar-loading-progress 1.15s ease-in-out infinite}.calendar-loading-spinner{width:28px;height:28px;border:3px solid rgb(15 58 95 / .2);border-top-color:var(--color-primary);border-radius:999px;animation:calendar-loading-spin .85s linear infinite}@keyframes calendar-loading-spin{to{transform:rotate(360deg)}}@keyframes calendar-loading-progress{0%{background-position:120% 0}to{background-position:-120% 0}}.day-number{display:block;color:var(--color-text);font-size:30px;font-weight:900;line-height:1;text-align:center}.calendar-day-inactive .day-number{color:#94a3b8}.day-events{display:flex;flex-direction:column;gap:6px}.tag{display:block;width:100%;padding:7px 8px;color:#111827;border:1px solid rgb(15 23 42 / .08);border-radius:6px;font-size:12px;font-weight:800;line-height:1.2;text-align:center;overflow-wrap:anywhere}.tag small{color:#334155;font-size:11px;font-weight:700}.tag-work{background:#bfdbfe}.tag-extra,.tag-overtime{background:var(--color-extra)}.tag-worked-hours{background:#e0f2fe}.tag-hec150{background:#dbeafe}.tag-hec200{background:#fed7aa}.tag-double-hours{background:#fbbf24}.tag-rest{background:#bbf7d0}.tag-absence{background:var(--color-absence)}.tag-excused{background:var(--color-excused)}.tag-holiday,.tag-holiday-fixed{background:#e9d5ff}.tag-punch{background:var(--color-punch)}.tag-night{background:var(--color-night)}.tag-night-simple{background:#dbeafe}.tag-night-extra{background:#c7d2fe}.tag-inactive{background:#e2e8f0}.editor-panel{position:sticky;top:18px}.editor-header{color:#fff;background:linear-gradient(135deg,#111827,#334155)}.editor-header h2,.editor-header p{color:#fff}.day-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.payroll-panel{display:grid;gap:14px;padding:18px;border-top:1px solid var(--color-border);background:var(--color-surface)}.payroll-header h3,.payroll-header p{margin:0}.payroll-header h3{color:var(--color-primary-strong);font-size:18px}.payroll-header p{margin-top:4px;color:var(--color-muted);font-size:12px;font-weight:700}.payroll-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.unit-input{position:relative;display:block}.unit-input:before,.unit-input:after{position:absolute;top:50%;z-index:1;color:var(--color-muted);font-size:13px;font-weight:900;pointer-events:none;transform:translateY(-50%)}.unit-input-prefix:before{left:12px;content:attr(data-unit)}.unit-input-suffix:after{right:12px;content:attr(data-unit)}.unit-input-prefix input{padding-left:38px}.unit-input-suffix input{padding-right:34px}.payroll-results{display:grid;grid-template-columns:1fr 1fr;gap:8px}.payroll-results article{display:grid;gap:3px;min-width:0;padding:10px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.payroll-results span,.payroll-note{color:var(--color-muted);font-size:12px;font-weight:800}.payroll-results strong{overflow-wrap:anywhere;color:var(--color-text);font-size:16px}.payroll-note{margin:0}.form-field-full,.form-actions{grid-column:1 / -1}.form-actions .button{flex:1 1 120px}.field-hidden{display:none}.hours-panel{margin-top:18px}.certponto-panel{margin:18px 0}.certponto-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px}.certponto-actions{display:flex;grid-column:1 / -1;gap:12px;align-items:center;flex-wrap:wrap}.certponto-actions p{margin:0;color:var(--color-muted);font-size:13px;font-weight:700}.status-success{color:#15803d!important}.status-error{color:#b91c1c!important}.button:disabled{cursor:wait;opacity:.72;transform:none;box-shadow:none}.hours-grid{grid-template-columns:repeat(5,minmax(140px,1fr));padding:18px}.legend{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.legend span{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);font-size:12px;font-weight:800}.swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgb(15 23 42 / .12)}.swatch-work{background:var(--color-work-border)}.swatch-rest{background:var(--color-rest-border)}.swatch-extra{background:var(--color-extra-border)}.swatch-excused{background:#14b8a6}.swatch-holiday{background:var(--color-holiday-border)}.swatch-punch{background:#a78bfa}.swatch-night{background:#818cf8}.table-scroll{overflow:auto}table{width:100%;min-width:1280px;border-collapse:collapse}th,td{padding:11px 12px;border-bottom:1px solid var(--color-border);font-size:13px;text-align:left;white-space:nowrap}th{color:#fff;background:#111827;font-size:12px;text-transform:uppercase}tfoot td{background:var(--color-surface-muted);border-top:2px solid #111827;font-weight:900}.cell-night{color:#4338ca;font-weight:800}.cell-night-simple{color:#1d4ed8;font-weight:800}.cell-night-extra{color:#4f46e5;font-weight:800}.cell-overtime{color:#0e7490;font-weight:800}.cell-hec150{color:#1d4ed8;font-weight:800}.cell-hec200{color:#b45309;font-weight:800}.cell-double-hours{color:#92400e;font-weight:800}.record-row-premium{background:#fffbeb}.calendar-display-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:620px;margin:0;padding:0;border:0}.calendar-display-controls legend{width:100%;margin:0 0 2px;color:var(--color-muted);font-size:12px;font-weight:800;text-align:right}.calendar-display-controls label{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;cursor:pointer;font-size:12px;font-weight:800;white-space:nowrap}.calendar-display-controls input{width:15px;height:15px;accent-color:var(--color-primary)}body.theme-dark .sync-status{color:#ccfbf1;background:#143d37b8;border-color:#99f6e43d}body.theme-dark .control-field,body.theme-dark .metric-card{box-shadow:0 8px 22px #00000038}body.theme-dark .weekdays span{background:#0f766e}body.theme-dark .weekdays span:first-child{background:#7f1d1d}body.theme-dark .calendar-day-inactive,body.theme-dark .calendar-day-empty{color:#7d7367;background:#211f1b}body.theme-dark .calendar-day-selected{outline-color:#5eead4}body.theme-dark .calendar-loading-indicator{color:#ccfbf1;background:#151412cc}body.theme-dark .calendar-loading-spinner{border-color:#ccfbf138;border-top-color:#5eead4}body.theme-dark .editor-header{background:linear-gradient(135deg,#16130e,#3d3321)}body.theme-dark .tag{color:#f7efe3;border-color:#ffffff14}body.theme-dark .tag small{color:#d8ccbd}body.theme-dark .tag-work{background:#1d5a51}body.theme-dark .tag-extra,body.theme-dark .tag-overtime{background:#73501a}body.theme-dark .tag-worked-hours{background:#145063}body.theme-dark .tag-hec150{background:#244f86}body.theme-dark .tag-hec200{background:#7c4217}body.theme-dark .tag-double-hours{background:#8a5a12}body.theme-dark .tag-rest{background:#3d5b28}body.theme-dark .tag-absence{background:#6f272b}body.theme-dark .tag-excused{background:#176157}body.theme-dark .tag-holiday,body.theme-dark .tag-holiday-fixed{background:#5a3470}body.theme-dark .tag-punch{background:#4a3770}body.theme-dark .tag-night{background:#35416e}body.theme-dark .tag-night-simple{background:#284f86}body.theme-dark .tag-night-extra{background:#4a3f86}body.theme-dark .tag-inactive{background:#38342d}body.theme-dark th{background:#17130e}body.theme-dark tfoot td{border-top-color:#6b5e4b}body.theme-dark .cell-night{color:#b7c4ff}body.theme-dark .cell-night-simple{color:#93c5fd}body.theme-dark .cell-night-extra{color:#c4b5fd}body.theme-dark .cell-overtime{color:#67e8f9}body.theme-dark .cell-hec150{color:#93c5fd}body.theme-dark .cell-hec200,body.theme-dark .cell-double-hours{color:#fbbf24}body.theme-dark .record-row-premium{background:#332713}body.theme-dark .status-success{color:#86efac!important}body.theme-dark .status-error{color:#fca5a5!important}body.theme-dark .notification-button:not(.notification-button-active) span{color:#d8ccbd;background:#2d281f;border-color:#514638}body.theme-dark .notification-card,body.theme-dark .swap-user-button,body.theme-dark .swap-calendar-day{background:#27231c;border-color:#514638}body.theme-dark .notification-card h3,body.theme-dark .swap-compensation-section h3{color:#99f6e4}body.theme-dark .swap-user-button:hover,body.theme-dark .swap-user-button-selected,body.theme-dark .swap-calendar-day-available:hover,body.theme-dark .swap-calendar-day-selected{border-color:#5eead4;outline-color:#5eead4}body.theme-dark .swap-calendar-day-available{background:#26351e;border-color:#84cc16}@media(max-width:1450px){.hours-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}}@media(max-width:1180px){.app-header,.workspace{grid-template-columns:1fr}.app-header{align-items:flex-start;flex-direction:column}.workspace{display:block}.editor-panel{position:static;margin-top:18px}.calendar-panel{overflow:auto}.panel-header{flex-direction:column}.calendar-display-controls{justify-content:flex-start}.calendar-display-controls legend{text-align:left}}@media(max-width:820px){.app-shell{padding:12px}.app-header{min-height:0;padding:20px}.control-panel,.certponto-form,.profile-form,.payroll-form,.payroll-results,.swap-choice-list,.summary-strip,.hours-grid,.day-form{grid-template-columns:1fr}.weekdays,.calendar-grid{min-width:900px}}.form-toggle{margin-top:1rem;text-align:center;font-size:.875rem;color:var(--text-secondary, #666)}.button-link{background:none;border:none;padding:0;font:inherit;color:var(--accent, #3b82f6);cursor:pointer;text-decoration:underline}.button-link:hover{color:var(--accent-hover, #2563eb)}.register-time-group{border:1px solid var(--border, #ddd);border-radius:6px;padding:1rem;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.register-time-group legend{font-weight:600;font-size:.875rem;padding:0 .5rem;color:var(--text-primary, #333)}.register-field-conditional{transition:opacity .2s ease}.register-field-conditional.app-hidden{display:none}.login-card h2{margin:0 0 .25rem;font-size:1.5rem}.admin-panel{position:fixed;inset:0;z-index:100;background:var(--bg, #fff);overflow-y:auto;padding:2rem}.admin-tabs{display:flex;gap:0;border-bottom:2px solid var(--border, #ddd);margin:1.5rem 0}.admin-tab{background:none;border:none;padding:.75rem 1.5rem;font:inherit;font-weight:600;color:var(--text-secondary, #666);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px}.admin-tab.active{color:var(--accent, #3b82f6);border-bottom-color:var(--accent, #3b82f6)}.admin-section{margin-bottom:1.5rem}.invite-code-display{background:var(--bg-highlight, #f0fdf4);border:2px dashed var(--accent-green, #22c55e);border-radius:8px;padding:1rem;margin-bottom:1rem}.invite-code-display p{margin:0 0 .5rem}.invite-code-row{display:flex;align-items:center;gap:.75rem}.invite-code-row code{flex:1;background:var(--bg-code, #1e293b);color:var(--text-code, #e2e8f0);padding:.75rem 1rem;border-radius:6px;font-size:1.1rem;word-break:break-all;-webkit-user-select:all;user-select:all}.invite-code-row .button{flex-shrink:0}.status-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.status-ativo{background:#dcfce7;color:#166534}.status-badge.status-usado{background:#dbeafe;color:#1e40af}.status-badge.status-revogado{background:#fee2e2;color:#991b1b}.edit-user-overlay{position:fixed;inset:0;z-index:200;background:#00000080;display:flex;align-items:center;justify-content:center}.edit-user-overlay.app-hidden{display:none}.edit-user-card{background:var(--bg, #fff);border-radius:12px;padding:2rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.edit-user-card .panel-header{margin-bottom:1.25rem}.edit-user-card h3{margin:0;font-size:1.25rem}.edit-user-form{display:flex;flex-direction:column;gap:.75rem}.edit-user-form .form-actions{display:flex;gap:.5rem;margin-top:.5rem}
