.clocking-view{padding:24px 0 40px;display:flex;flex-direction:column;align-items:center;gap:24px}.clock-display{text-align:center}.clock-location{margin:0 0 10px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.clock-label{margin:0 0 4px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.clock-time{font-size:3.2rem;font-weight:700;color:var(--color-text-primary);letter-spacing:2px;line-height:1;font-variant-numeric:tabular-nums}.clock-date{font-size:.9rem;color:var(--color-text-secondary);margin-top:6px;text-transform:capitalize}.clocking-status-card{width:100%;display:flex;flex-direction:column;gap:18px;background:var(--color-bg-inverted);border-radius:22px;padding:20px 22px}.clocking-status-row{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.clocking-status-row.active{color:var(--color-accent-bright)}.clocking-status-row.inactive,.clocking-status-row.loading{color:var(--color-text-inverted-muted)}.clocking-status-row.paused{color:var(--color-warning)}.clocking-stats-row{display:flex;align-items:baseline;gap:32px}.clocking-stat{display:flex;flex-direction:column;gap:4px}.clocking-stat-value{font-size:1.6rem;font-weight:800;color:var(--color-text-inverted);font-variant-numeric:tabular-nums}.clocking-stat--accent .clocking-stat-value{color:var(--color-accent-bright)}.clocking-stat-label{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-inverted-muted)}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.active-dot{background:var(--color-accent-bright);animation:pulse 1.8s infinite}.inactive-dot{background:var(--color-text-inverted-muted)}.paused-dot{background:var(--color-warning-strong);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.8);opacity:.35}}.clocking-error{color:var(--color-danger);font-size:.9rem;text-align:center;margin:0}.clocking-actions{width:100%;display:flex;flex-direction:column;gap:14px}.clocking-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 24px;border:none;border-radius:999px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:background .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent;position:relative}.clocking-btn--entry{background:var(--color-accent);color:#fff}.clocking-btn--entry:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.clocking-btn--exit{background:var(--color-danger-button);color:#fff}.clocking-btn--exit:hover:not(:disabled){background:var(--color-danger-button-hover);transform:translateY(-1px)}.clocking-btn--pause{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.clocking-btn--pause:hover:not(:disabled){background:var(--color-bg-subtle-hover);transform:translateY(-1px)}.clocking-btn--pause-active{background:var(--color-warning-soft-bg);color:var(--color-warning-soft-text);border:2px solid var(--color-warning)}.clocking-btn--pause-active:hover:not(:disabled){background:var(--color-warning-soft-bg-hover);transform:translateY(-1px)}.clocking-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.pause-wrapper{display:flex;flex-direction:column;gap:8px;width:100%}.pause-type-selector{display:flex;flex-direction:column;gap:8px;animation:fadeInDown .15s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.pause-type-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s}.pause-type-btn:hover{background:var(--color-bg-subtle)}.pause-type-unpaid{font-size:12px;color:var(--color-text-muted);font-weight:400}.coming-soon-badge{position:absolute;top:-8px;right:12px;background:var(--color-warning-strong);color:var(--color-warning-strong-text);font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:50px;letter-spacing:.3px}.clocking-permission-screen{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;background:var(--color-bg-inverted);border-radius:22px;padding:48px 24px;color:var(--color-text-inverted)}.clocking-permission-icon{color:var(--color-accent-bright)}.clocking-permission-title{margin:0;font-size:1.05rem;font-weight:700}.clocking-permission-text{margin:0;font-size:.88rem;color:var(--color-text-inverted-muted);line-height:1.45;max-width:320px}.clocking-permission-screen .clocking-btn{width:auto;padding:12px 28px;margin-top:4px}.clocking-history{width:100%}.history-title{font-size:.85rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.history-divider{height:1px;background:var(--color-border);margin:0 0 12px}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.history-item{display:flex;flex-direction:column;align-items:stretch;gap:6px;background:var(--color-bg-elevated);border-radius:12px;padding:12px 16px;font-size:.9rem;font-weight:600;box-shadow:0 2px 8px var(--color-shadow)}.history-entry{display:flex;align-items:center;gap:4px;color:var(--color-accent)}.history-exit{display:flex;align-items:center;gap:4px;color:var(--color-danger-button)}.history-separator{color:var(--color-text-faint)}.history-times{display:flex;align-items:center;justify-content:space-between;gap:10px}.history-times-range{display:flex;align-items:center;gap:10px}.history-total{font-size:.82rem;font-weight:700;color:var(--color-text-secondary);white-space:nowrap}.history-breaks{list-style:none;padding:0 0 0 4px;display:flex;flex-direction:column;gap:3px;border-left:2px solid var(--color-warning);margin:0 0 0 4px}.history-break-item{display:flex;align-items:center;gap:5px;font-size:.78rem;color:var(--color-warning-soft-text)}.history-break-duration{color:var(--color-text-muted);font-size:.75rem}@media (orientation: landscape) and (max-height: 500px){.clocking-view{padding:12px 0 24px;gap:14px}.clock-time{font-size:2rem}.clocking-btn{padding:12px 24px}}.schedule-view{flex:1;min-height:0;padding:16px 0 0;display:flex;flex-direction:column;gap:20px}.schedule-week-label{margin:0;font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.schedule-header-row{display:flex;align-items:center;justify-content:space-between}.schedule-week-arrows{display:flex;align-items:center;gap:8px}.schedule-arrow-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.schedule-arrow-button svg{width:18px;height:18px}.schedule-arrow-button:hover{background:var(--color-bg-subtle)}.schedule-summary{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-bg-elevated);border-radius:16px;box-shadow:0 2px 8px var(--color-shadow)}.schedule-summary-item{display:flex;flex-direction:column;gap:6px}.schedule-summary-label{font-size:.72rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px}.schedule-summary-value{font-size:1.6rem;font-weight:800;color:var(--color-text-primary)}.schedule-summary-value--accent{color:var(--color-accent)}.schedule-error{color:var(--color-danger);font-size:.9rem;text-align:center;margin:0}.schedule-loading{color:var(--color-text-muted);font-size:.9rem;text-align:center;margin:0}.schedule-day-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;flex:1;min-height:0;overflow:hidden}.schedule-day-item{flex:1;min-height:0;display:flex;align-items:center;gap:16px;background:var(--color-bg-elevated);border-radius:14px;padding:0 18px;box-shadow:0 2px 8px var(--color-shadow);overflow:hidden}.schedule-day-date{display:flex;flex-direction:column;align-items:center;gap:2px;width:34px;flex-shrink:0}.schedule-day-abbr{font-size:.68rem;font-weight:700;color:var(--color-text-faint);letter-spacing:.3px}.schedule-day-number{font-size:1.1rem;font-weight:800;color:var(--color-text-primary)}.schedule-day-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.schedule-day-time{font-size:.95rem;font-weight:700;color:var(--color-text-primary)}.schedule-day-tag{font-size:.8rem;color:var(--color-text-muted)}.schedule-day-rest{flex:1;font-size:.95rem;font-weight:700;color:var(--color-text-faint)}.schedule-day-hours{font-size:.85rem;font-weight:700;color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}.change-password-hint{margin:-12px 0 16px;font-size:.8rem;color:var(--color-text-muted)}.change-password-success{display:flex;flex-direction:column;gap:16px}.change-password-success p{margin:0;font-size:.95rem;line-height:1.5;color:var(--color-text-secondary)}.settings-view{flex:1;min-height:0;width:100%;max-width:420px;margin:0 auto;padding:0 24px 32px;display:flex;flex-direction:column;overflow-y:auto}.settings-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 0;background:var(--color-bg)}.settings-back-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;padding:0;background:var(--color-bg-subtle);color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}.settings-back-button:active{transform:scale(.94)}.settings-back-button svg{width:18px;height:18px}.settings-title{margin:0;font-family:Helvetica Neue Condensed Bold,Helvetica Neue Condensed Black,Arial Narrow,Roboto Condensed,system-ui,sans-serif;font-stretch:condensed;font-size:1.8rem;font-weight:800;letter-spacing:-.01em;color:var(--color-text-primary);line-height:1.15}.settings-content{padding-top:8px;display:flex;flex-direction:column}.settings-section-label{margin-top:12px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.settings-permission-list{margin-top:12px;display:flex;flex-direction:column;gap:10px}.settings-permission-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--color-bg-elevated);border-radius:16px;box-shadow:0 2px 8px var(--color-shadow)}.settings-permission-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--color-bg-subtle);color:var(--color-text-muted);flex-shrink:0}.settings-permission-icon svg{width:18px;height:18px}.settings-permission-label{flex:1;font-size:.95rem;font-weight:700;color:var(--color-text-primary)}.settings-permission-status{flex-shrink:0;padding:5px 10px;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.settings-permission-status--granted{background:var(--color-accent-soft-bg);color:var(--color-accent-strong)}.settings-permission-status--denied{background:var(--color-danger-soft-bg);color:var(--color-danger)}.settings-permission-status--prompt{background:var(--color-warning-soft-bg);color:var(--color-warning-soft-text)}.settings-permission-status--unsupported{background:var(--color-bg-subtle);color:var(--color-text-muted)}.settings-security-list{margin-top:12px;display:flex;flex-direction:column;gap:10px}.settings-security-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:none;background:var(--color-bg-elevated);border-radius:16px;box-shadow:0 2px 8px var(--color-shadow);cursor:pointer;-webkit-tap-highlight-color:transparent}.settings-security-item svg{width:18px;height:18px;color:var(--color-text-muted);flex-shrink:0}.settings-security-item-label{flex:1;text-align:left;font-size:.95rem;font-weight:700;color:var(--color-text-primary)}.settings-appearance-list{margin-top:12px;display:flex;padding:4px;gap:4px;background:var(--color-bg-subtle);border-radius:16px}.settings-appearance-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:none;border-radius:12px;background:transparent;color:var(--color-text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.settings-appearance-option svg{width:20px;height:20px}.settings-appearance-option-label{font-size:.75rem;font-weight:700}.settings-appearance-option--active{background:var(--color-bg-elevated);color:var(--color-accent-strong);box-shadow:0 2px 8px var(--color-shadow)}.vacation-view{padding:20px 0 40px;display:flex;flex-direction:column;gap:18px}.vacation-summary{display:flex;align-items:center;padding:16px 20px;background:var(--color-bg-elevated);border-radius:16px;box-shadow:0 2px 8px var(--color-shadow)}.vacation-summary-item{display:flex;flex-direction:column;gap:6px}.vacation-summary-label{font-size:.72rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px}.vacation-summary-value{font-size:1.6rem;font-weight:800;color:var(--color-accent)}.vacation-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.vacation-header-text{margin:0;font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.vacation-new-btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:999px;padding:10px 16px;background:var(--color-accent);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}.vacation-new-btn:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.vacation-error{color:var(--color-danger);font-size:.9rem;margin:0}.vacation-loading{color:var(--color-text-muted);font-size:.9rem;text-align:center;margin:24px 0}.vacation-empty{text-align:center;padding:40px 16px;border:1px dashed var(--color-border);border-radius:18px;color:var(--color-text-muted);font-size:.9rem}.vacation-empty p{margin:0}.vacation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.vacation-card{display:flex;flex-direction:column;gap:8px;background:var(--color-bg-elevated);border-radius:16px;padding:16px 18px;box-shadow:0 2px 8px var(--color-shadow)}.vacation-card-main{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.vacation-card-dates{font-size:.95rem;font-weight:700;color:var(--color-text-primary)}.vacation-card-days{font-size:.8rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.vacation-card-reason{margin:0;font-size:.85rem;color:var(--color-text-secondary)}.vacation-status-badge{align-self:flex-start;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px}.vacation-status-badge--pending{background:var(--color-warning-soft-bg);color:var(--color-warning-soft-text)}.vacation-status-badge--accepted{background:var(--color-accent-soft-bg);color:var(--color-accent-soft-text)}.vacation-status-badge--rejected{background:var(--color-danger-soft-bg);color:var(--color-danger)}.vacation-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;border:none;margin:0;padding:0;background:#0006;cursor:default}.vacation-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:70;width:calc(100% - 48px);max-width:380px;max-height:calc(100dvh - 96px);overflow-y:auto;padding:20px;border-radius:20px;background:var(--color-bg-elevated);box-shadow:0 20px 60px var(--color-shadow);animation:vacation-modal-pop .18s ease}@keyframes vacation-modal-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.vacation-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.vacation-modal-title{margin:0;font-size:1.1rem;font-weight:800;color:var(--color-text-primary)}.vacation-modal-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:var(--color-bg-subtle);color:var(--color-text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.vacation-modal-close:hover{background:var(--color-bg-subtle-hover)}.vacation-form{display:flex;flex-direction:column;gap:16px}.vacation-field{display:flex;flex-direction:column;gap:6px}.vacation-field-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.vacation-field input,.vacation-field textarea{border:1px solid var(--color-border);border-radius:10px;padding:10px 12px;font-size:.95rem;font-family:inherit;color:var(--color-text-primary);background:var(--color-bg)}.vacation-field textarea{resize:vertical}.vacation-field input:focus,.vacation-field textarea:focus{outline:none;border-color:var(--color-accent)}.vacation-form-error{margin:0;font-size:.85rem;color:var(--color-danger)}.vacation-form-actions{display:flex;gap:10px;margin-top:4px}.vacation-cancel-btn,.vacation-submit-btn{flex:1;border:none;border-radius:999px;padding:12px;font-size:.9rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.vacation-cancel-btn{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.vacation-cancel-btn:hover:not(:disabled){background:var(--color-bg-subtle-hover)}.vacation-submit-btn{background:var(--color-accent);color:#fff}.vacation-submit-btn:hover:not(:disabled){background:var(--color-accent-hover)}.vacation-cancel-btn:disabled,.vacation-submit-btn:disabled{opacity:.6;cursor:not-allowed}@media (orientation: landscape) and (max-height: 500px){.vacation-view{padding:10px 0 24px;gap:12px}.vacation-modal{max-height:calc(100dvh - 48px);padding:16px}}.bottom-nav{position:fixed;left:0;right:0;bottom:env(safe-area-inset-bottom);display:flex;justify-content:center;padding:0 20px;pointer-events:none;z-index:30}.is-android .bottom-nav{bottom:calc(env(safe-area-inset-bottom) + 10px)}.bottom-nav-glass{position:relative;display:flex;width:100%;max-width:380px;padding:6px;border-radius:28px;background:var(--color-glass-bg);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--color-glass-border);box-shadow:0 8px 32px var(--color-glass-shadow-1),0 20px 40px var(--color-glass-shadow-2),inset 0 1px 0 var(--color-glass-inset-highlight),inset 0 -1px 0 var(--color-glass-inset-shadow);pointer-events:auto}.bottom-nav-indicator{position:absolute;top:6px;bottom:6px;left:6px;width:calc((100% - 12px)/4);border-radius:20px;background:var(--color-glass-indicator-bg);box-shadow:0 4px 14px var(--color-glass-shadow-3),inset 0 1px 0 var(--color-glass-inset-highlight-2);transition:transform .4s cubic-bezier(.34,1.35,.64,1);will-change:transform}.bottom-nav-item{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 4px;border:none;border-radius:20px;background:none;color:var(--color-text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color .25s ease,transform .25s ease}.bottom-nav-item:active{transform:scale(.94)}.bottom-nav-item svg{width:22px;height:22px;transition:transform .25s ease}.bottom-nav-label{font-size:.65rem;font-weight:700;letter-spacing:.01em}.bottom-nav-item--active{color:var(--color-accent-strong)}.bottom-nav-item--active svg{transform:translateY(-1px)}.forgot-password-success{display:flex;flex-direction:column;gap:16px}.forgot-password-success p{margin:0;font-size:.95rem;line-height:1.5;color:var(--color-text-secondary)}.first-access-hint{margin:-12px 0 16px;font-size:.8rem;color:var(--color-text-muted)}.first-access-success{display:flex;flex-direction:column;gap:16px}.first-access-success p{margin:0;font-size:.95rem;line-height:1.5;color:var(--color-text-secondary)}:root{color-scheme:light;--color-bg: #fbfbf5;--color-bg-elevated: #ffffff;--color-bg-subtle: #f1f2ea;--color-bg-subtle-hover: #eaeaea;--color-bg-inverted: #111111;--color-bg-inverted-hover: #000000;--color-text-primary: #111111;--color-text-secondary: #333333;--color-text-muted: #999999;--color-text-faint: #bbbbbb;--color-text-placeholder: #b3b3ab;--color-text-inverted: #ffffff;--color-text-inverted-muted: #bdbdbd;--color-border: #e6e6de;--color-overlay-border: rgba(0, 0, 0, .08);--color-overlay-hover: rgba(0, 0, 0, .05);--color-shadow: rgba(0, 0, 0, .05);--color-accent: rgba(122, 166, 62, 1);--color-accent-hover: rgba(122, 166, 62, .85);--color-accent-strong: #4f7a1d;--color-accent-bright: #8bc34a;--color-accent-soft-bg: #eef6e6;--color-accent-soft-bg-hover: #e2f0d8;--color-accent-soft-text: #3f6b1f;--color-accent-tint: rgba(122, 166, 62, .12);--color-accent-border: rgba(122, 166, 62, .25);--color-danger: #d32f2f;--color-danger-strong: #b71c1c;--color-danger-soft-bg: #fdeceb;--color-danger-button: #ef5350;--color-danger-button-hover: #e53935;--color-warning: #ffca28;--color-warning-strong: #ff9800;--color-warning-strong-text: #3d1f00;--color-warning-soft-bg: #fff8e1;--color-warning-soft-bg-hover: #ffecb3;--color-warning-soft-text: #6d4c00;--color-glass-bg: rgba(255, 255, 255, .55);--color-glass-border: rgba(255, 255, 255, .65);--color-glass-indicator-bg: rgba(255, 255, 255, .92);--color-glass-inset-highlight: rgba(255, 255, 255, .85);--color-glass-inset-highlight-2: rgba(255, 255, 255, .95);--color-glass-shadow-1: rgba(0, 0, 0, .14);--color-glass-shadow-2: rgba(0, 0, 0, .06);--color-glass-shadow-3: rgba(0, 0, 0, .1);--color-glass-inset-shadow: rgba(0, 0, 0, .03)}:root[data-theme=dark]{color-scheme:dark;--color-bg: #121309;--color-bg-elevated: #1e2019;--color-bg-subtle: #262920;--color-bg-subtle-hover: #2e3226;--color-bg-inverted: #1f2117;--color-bg-inverted-hover: #000000;--color-text-primary: #f5f5f0;--color-text-secondary: #d8d9d0;--color-text-muted: #9a9d8f;--color-text-faint: #6f7266;--color-text-placeholder: #5f6258;--color-text-inverted: #ffffff;--color-text-inverted-muted: #bdbdbd;--color-border: #2a2c22;--color-overlay-border: rgba(255, 255, 255, .12);--color-overlay-hover: rgba(255, 255, 255, .06);--color-shadow: rgba(0, 0, 0, .35);--color-accent-strong: #6f9a3a;--color-accent-soft-bg: rgba(139, 195, 74, .16);--color-accent-soft-bg-hover: rgba(139, 195, 74, .24);--color-accent-soft-text: #a7d47c;--color-accent-tint: rgba(139, 195, 74, .18);--color-accent-border: rgba(139, 195, 74, .35);--color-danger: #ef5350;--color-danger-strong: #ff6659;--color-danger-soft-bg: rgba(211, 47, 47, .16);--color-warning-soft-bg: rgba(255, 202, 40, .16);--color-warning-soft-bg-hover: rgba(255, 202, 40, .24);--color-warning-soft-text: #ffca28;--color-glass-bg: rgba(20, 21, 15, .55);--color-glass-border: rgba(255, 255, 255, .08);--color-glass-indicator-bg: rgba(255, 255, 255, .14);--color-glass-inset-highlight: rgba(255, 255, 255, .06);--color-glass-inset-highlight-2: rgba(255, 255, 255, .08);--color-glass-shadow-1: rgba(0, 0, 0, .5);--color-glass-shadow-2: rgba(0, 0, 0, .3);--color-glass-shadow-3: rgba(0, 0, 0, .4);--color-glass-inset-shadow: rgba(0, 0, 0, .2)}html{height:100%;background:var(--color-bg)}body{margin:0;height:100%;overflow:hidden;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text-secondary);transition:background .2s ease,color .2s ease}*{box-sizing:border-box}.app-shell{height:100dvh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.login-shell{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;height:100dvh;padding:0;padding-bottom:env(safe-area-inset-bottom);overflow:hidden;background:var(--color-bg)}.login-topbar{min-height:6px;width:100%;padding-top:env(safe-area-inset-top);background:linear-gradient(90deg,var(--color-accent-strong),var(--color-accent));flex-shrink:0}.login-page{position:relative;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;width:100%;max-width:420px;margin:0 auto;padding:0 24px 24px}.login-brand{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;container-type:size}.login-logo-bg{position:absolute;top:28px;left:-40px;width:clamp(150px,58cqh,400px);height:auto;z-index:0;pointer-events:none}.login-header{position:relative;z-index:1}.login-heading{position:relative}.login-title{margin:0 0 0 auto;max-width:70%;text-align:right;font-size:clamp(1.05rem,11cqh,2rem);font-weight:800;line-height:1.1;color:var(--color-text-primary)}.login-subtitle{margin:clamp(8px,6cqh,20px) 0 0;font-size:clamp(.78rem,4.5cqh,.95rem);line-height:1.5;color:var(--color-text-muted)}.login-card{margin-top:36px;width:100%;background:transparent;border-radius:0;box-shadow:none;padding:0}.login-field{display:block;margin-bottom:22px}.login-field-label{display:block;margin-bottom:6px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.login-field input{width:100%;border:none;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent;padding:8px 0;color:var(--color-text-primary);caret-color:var(--color-text-primary);font-size:1.1rem}.login-field input:focus{outline:none;border-bottom-color:var(--color-accent)}.login-field input::placeholder{color:var(--color-text-placeholder)}.login-submit{width:100%;margin-top:12px;border:none;border-radius:999px;padding:16px;background:var(--color-bg-inverted);color:var(--color-text-inverted);font-size:1rem;font-weight:700;cursor:pointer}.login-submit:hover{background:var(--color-bg-inverted-hover)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.error-message{margin:10px 0 0;font-size:.9rem;color:var(--color-danger)}.login-forgot-link{display:block;margin:-12px 0 22px;border:none;background:transparent;padding:0;color:var(--color-text-muted);font-size:.85rem;text-align:right;cursor:pointer}.auth-back-link{display:block;margin:16px auto 0;border:none;background:transparent;color:var(--color-text-muted);font-size:.85rem;cursor:pointer;text-decoration:underline}.navbar-left{display:flex;align-items:center;gap:12px}.navbar-logo{height:44px;width:auto}.navbar-user{font-size:1rem;font-weight:600;color:var(--color-text-secondary)}.navbar-icon-button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:44px;border:none;border-radius:0;background:transparent;color:var(--color-accent);cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navbar-icon-button svg{width:26px;height:26px}.navbar-icon-button:hover{background:transparent}.main-content{padding:32px 0 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}.main-window h1{margin:0;font-size:2rem;color:var(--color-accent)}.welcome-message{font-size:1.6rem;font-weight:700;color:var(--color-text-primary);margin-bottom:10px}.main-window p{margin:0;color:var(--color-text-secondary)}.action-grid{width:100%;max-width:540px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.action-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:140px;border:none;border-radius:20px;background:var(--color-accent);color:var(--color-text-inverted);font-size:1rem;font-weight:700;cursor:pointer;padding:22px;transition:background .2s ease,transform .2s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.action-button:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.action-icon{display:inline-flex;width:42px;height:42px;background:transparent;border-radius:0;flex-shrink:0;color:var(--color-text-inverted)}.action-icon path{fill:currentColor}.ios-install-banner{margin-top:16px;padding:12px 16px;background:var(--color-accent-soft-bg);border:1px solid var(--color-accent-strong);border-radius:14px;font-size:.9rem;color:var(--color-text-primary);text-align:center;line-height:1.5}.ios-install-banner p{margin:0}.ios-share-icon{font-size:1.1rem}.install-button{width:100%;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;padding:14px 16px;background:var(--color-accent-soft-bg);color:var(--color-accent-soft-text);font-size:.95rem;font-weight:600;cursor:pointer}.install-button svg{width:18px;height:18px}.install-button:hover{background:var(--color-accent-soft-bg-hover)}.logout-button{width:220px;border:none;border-radius:14px;padding:14px 16px;background:var(--color-danger);color:var(--color-text-inverted);font-size:1rem;font-weight:600;cursor:pointer}.logout-button:hover{background:var(--color-danger-strong)}.home-shell{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;height:100dvh;padding:0;overflow:hidden;background:var(--color-bg)}.home-topbar{min-height:6px;width:100%;padding-top:env(safe-area-inset-top);background:linear-gradient(90deg,var(--color-accent-strong),var(--color-accent));flex-shrink:0}.home-page{flex:1;min-height:0;overflow-y:auto;width:100%;max-width:420px;margin:0 auto;padding:0 24px 32px;display:flex;flex-direction:column}.home-page--with-nav{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.top-navbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;background:var(--color-bg)}.top-navbar-left{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.top-navbar-titles{display:flex;flex-direction:column;min-width:0}.top-navbar-title{margin:0;font-family:Helvetica Neue Condensed Bold,Helvetica Neue Condensed Black,Arial Narrow,Roboto Condensed,system-ui,sans-serif;font-stretch:condensed;font-size:1.8rem;font-weight:800;letter-spacing:-.01em;color:var(--color-text-primary);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-navbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.top-navbar-action{position:relative}.top-navbar-avatar-button,.top-navbar-icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;padding:0;background:var(--color-bg-subtle);cursor:pointer;flex-shrink:0;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.top-navbar-avatar-button:active,.top-navbar-icon-button:active{transform:scale(.94)}.top-navbar-avatar{height:24px;width:24px;object-fit:contain}.top-navbar-icon-button svg{width:20px;height:20px;color:var(--color-text-muted)}.user-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border:none;margin:0;padding:0;background:transparent;cursor:default}.user-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:240px;padding:6px;border-radius:20px;background:var(--color-glass-bg);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--color-glass-border);box-shadow:0 8px 32px var(--color-glass-shadow-1),0 20px 40px var(--color-glass-shadow-2),inset 0 1px 0 var(--color-glass-inset-highlight),inset 0 -1px 0 var(--color-glass-inset-shadow);animation:user-menu-pop .18s ease}.user-menu-header{display:flex;align-items:center;gap:10px;padding:10px 12px}.user-menu-avatar{height:34px;width:34px;object-fit:contain;flex-shrink:0}.user-menu-header-texts{display:flex;flex-direction:column;gap:2px;min-width:0}.user-menu-name{font-size:.95rem;font-weight:700;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-location{font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-divider{height:1px;margin:4px 8px;background:var(--color-overlay-border)}.user-menu-item{display:block;width:100%;border:none;border-radius:14px;padding:12px;background:transparent;color:var(--color-text-primary);font-size:.95rem;font-weight:700;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.user-menu-item:hover{background:var(--color-overlay-hover)}.user-menu-item--danger{color:var(--color-danger)}.user-menu-empty{margin:0;padding:14px 12px;font-size:.85rem;color:var(--color-text-muted);text-align:center}.notification-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 3px;border-radius:999px;background:var(--color-danger);color:#fff;font-size:.62rem;font-weight:700;line-height:16px;text-align:center}.notifications-menu{width:300px}.notifications-list{max-height:320px;overflow-y:auto}.notification-item{display:flex;align-items:flex-start;gap:8px;width:100%;border:none;border-radius:14px;padding:10px 12px;background:transparent;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.notification-item:hover{background:var(--color-overlay-hover)}.notification-item-dot{flex-shrink:0;width:8px;height:8px;margin-top:6px;border-radius:999px;background:var(--color-danger)}.notification-item--unread .notification-item-title{font-weight:700}.notification-item-texts{display:flex;flex-direction:column;gap:2px;min-width:0}.notification-item-title{font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.notification-item-body{font-size:.8rem;color:var(--color-text-muted)}.notification-item-time{font-size:.68rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted)}@keyframes user-menu-pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.home-divider{height:1px;background:var(--color-border);width:100%;flex-shrink:0}.home-date{margin-top:20px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.home-greeting{margin:20px 0;display:flex;flex-direction:column;line-height:1.15}.home-greeting-line{font-size:1.7rem;font-weight:600;color:var(--color-text-muted)}.home-greeting-name{font-size:2.3rem;font-weight:800;color:var(--color-text-primary)}.home-section-label{margin-top:20px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.home-jornada-time{margin:4px 0 20px;font-size:2.2rem;font-weight:800;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.home-clocking-card{margin-top:24px;display:flex;align-items:center;gap:14px;width:100%;border:none;border-radius:20px;background:var(--color-accent);color:var(--color-text-inverted);padding:18px 16px;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.home-clocking-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);flex-shrink:0}.home-clocking-icon svg{width:20px;height:20px;color:#fff}.home-clocking-texts{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.home-clocking-status{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.85}.home-clocking-title{font-size:1.2rem;font-weight:800}.home-clocking-cta{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;border-radius:999px;background:#fff;color:#111;font-size:.85rem;font-weight:700;padding:10px 16px}.home-clocking-cta svg{width:14px;height:14px}.vacation-placeholder{margin-top:32px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:40px 16px;border:1px solid var(--color-accent-border);border-radius:18px;background:var(--color-bg-elevated)}.vacation-placeholder-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--color-accent-tint)}.vacation-placeholder-icon svg{width:28px;height:28px;color:var(--color-accent)}.vacation-placeholder-title{margin:0;font-size:1.2rem;font-weight:800;color:var(--color-text-primary)}.vacation-placeholder-text{margin:0;font-size:.9rem;color:var(--color-text-muted);max-width:260px}@media (orientation: landscape) and (max-height: 500px){.login-logo-bg{top:12px}.login-card{margin-top:16px}.login-field{margin-bottom:12px}.top-navbar{padding:6px 0}.top-navbar-title{font-size:1.1rem}.home-date{margin-top:8px}.home-greeting{margin:8px 0}.home-greeting-line{font-size:1.2rem}.home-greeting-name{font-size:1.6rem}.home-section-label{margin-top:8px}.home-jornada-time{margin:2px 0 8px;font-size:1.5rem}.home-clocking-card{margin-top:10px;padding:12px 16px}.action-grid{gap:10px}.action-button{min-height:90px;padding:12px}.home-page--with-nav{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.vacation-placeholder{margin-top:12px;padding:20px 16px}}
