@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";html.brand-stempel{--lumo-primary-color: #0EA5E9;--lumo-primary-color-50pct: rgba(14, 165, 233, .5);--lumo-primary-color-10pct: rgba(14, 165, 233, .1);--lumo-primary-text-color: #0EA5E9;--hh-primary: #0EA5E9;--hh-primary-dark: #0284C7;--hh-primary-light: #E0F2FE;--hh-primary-subtle: #F0F9FF;--hh-info: #38BDF8;--hh-info-light: #F0F9FF;--hh-info-text: #075985;--hh-sidebar-text-active: #0EA5E9;--hh-sidebar-active-bg: #F0F9FF;--hh-card-shadow: 0 1px 3px rgba(14, 165, 233, .08), 0 1px 2px rgba(0, 0, 0, .04)}html.brand-stempel[data-dark-mode=on]{--lumo-primary-color: #38BDF8;--lumo-primary-text-color: #7DD3FC;--hh-primary: #38BDF8;--hh-primary-dark: #0EA5E9;--hh-primary-light: rgba(56, 189, 248, .15);--hh-primary-subtle: rgba(56, 189, 248, .08)}html.brand-stempel .logo-accent{color:#0ea5e9}html{--lumo-primary-color: #FF8C42;--lumo-primary-color-50pct: rgba(255, 140, 66, .5);--lumo-primary-color-10pct: rgba(255, 140, 66, .1);--lumo-primary-text-color: #FF8C42;--lumo-font-family: "Outfit", var(--lumo-font-family-sans-serif);--lumo-border-radius-m: 12px;--lumo-border-radius-l: 16px;--lumo-border-radius-s: 8px;--hh-primary: #FF8C42;--hh-primary-dark: #E0701E;--hh-primary-light: #FFF7F0;--hh-primary-subtle: #FFF7F0;--hh-ink: #0F172A;--hh-success: #10b981;--hh-success-light: #d1fae5;--hh-success-text: #065F46;--hh-warning: #f59e0b;--hh-warning-light: #fef3c7;--hh-warning-text: #92400E;--hh-danger: #ef4444;--hh-danger-light: #fee2e2;--hh-danger-text: #991B1B;--hh-info: #38BDF8;--hh-info-light: #E0F2FE;--hh-info-text: #0369A1;--hh-violet: #8B5CF6;--hh-violet-light: rgba(139, 92, 246, .06);--hh-violet-text: #6D28D9;--hh-gray-50: #F8FAFC;--hh-gray-100: #F1F5F9;--hh-gray-200: #E2E8F0;--hh-gray-300: #CBD5E1;--hh-gray-400: #94A3B8;--hh-gray-500: #64748B;--hh-gray-600: #475569;--hh-gray-700: #334155;--hh-gray-800: #1E293B;--hh-gray-900: #0F172A;--hh-bg: #F8FAFC;--hh-card-shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--hh-card-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .06);--hh-card-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .06);--hh-surface: #ffffff;--hh-surface-variant: var(--hh-gray-50);--hh-on-surface: var(--hh-gray-900);--hh-on-surface-secondary: var(--hh-gray-600);--hh-on-surface-muted: var(--hh-gray-500);--hh-border: var(--hh-gray-100);--hh-border-strong: var(--hh-gray-200);--hh-sidebar-bg: var(--hh-surface);--hh-sidebar-text: var(--hh-gray-500);--hh-sidebar-text-hover: var(--hh-ink);--hh-sidebar-text-active: var(--hh-primary);--hh-sidebar-hover-bg: var(--hh-gray-100);--hh-sidebar-active-bg: var(--hh-primary-subtle);--hh-sidebar-border: var(--hh-border);--hh-sidebar-section-label: var(--hh-gray-500)}body,vaadin-app-layout,vaadin-vertical-layout,vaadin-horizontal-layout,vaadin-button,vaadin-text-field,vaadin-grid,.dashboard-content,.stats-card,.card,.card-title,.card-action{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:10000;padding:.75rem 1.5rem;background:var(--hh-ink);color:#fff;font-weight:600;font-size:.875rem;border-radius:0 0 9px;text-decoration:none;white-space:nowrap}.skip-link:focus{position:fixed;left:0;top:0;width:auto;height:auto;outline:2px solid var(--hh-primary);outline-offset:2px}vaadin-app-layout [slot=""]>vaadin-vertical-layout,vaadin-app-layout vaadin-vertical-layout.dashboard-content,vaadin-app-layout [slot=""]{width:100%!important;align-items:stretch!important}.sidebar-logo{padding:16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--hh-border);margin-bottom:4px;overflow:visible;position:relative;z-index:2}.sidebar-logo .logo-icon{width:30px;height:30px;min-width:30px;background:var(--hh-ink);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--hh-primary);font-weight:900;font-size:14px;line-height:1;flex-shrink:0}.sidebar-logo .logo-text{color:var(--hh-ink);font-weight:700;font-size:16px;letter-spacing:-.01em;white-space:nowrap;overflow:visible}.sidebar-logo .logo-text .logo-accent{color:var(--hh-primary)}.sidebar-logo .company-name{color:var(--hh-gray-500);font-size:.6875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.nav-section-label{display:block;color:var(--hh-sidebar-section-label, var(--hh-gray-500));font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;padding:0 16px;margin-top:16px;margin-bottom:4px}vaadin-side-nav{--_lumo-side-nav-background-color: transparent;padding:0;position:relative!important;transform:none!important;width:auto!important;left:auto!important}vaadin-side-nav-item{color:var(--hh-sidebar-text)!important;font-size:13px;font-weight:500;min-height:34px;border-radius:8px;margin:1px 8px;border-left:none;transition:all .15s ease}vaadin-side-nav-item:hover{background:var(--hh-sidebar-hover-bg);color:var(--hh-sidebar-text-hover, var(--hh-ink))!important}vaadin-side-nav-item[active]{background:var(--hh-sidebar-active-bg);color:var(--hh-sidebar-text-active, var(--hh-primary))!important;font-weight:600}.nav-icon-box{width:26px;height:26px;min-width:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.nav-icon-box vaadin-icon{width:13px;height:13px}.nav-icon-dashboard,.nav-icon-zeit{background:#ff8c4214;color:var(--hh-primary)}.nav-icon-urlaub{background:var(--hh-success-light);color:var(--hh-success)}.nav-icon-krank{background:var(--hh-danger-light);color:var(--hh-danger)}.nav-icon-team,.nav-icon-kunden{background:var(--hh-info-light);color:var(--hh-info)}.nav-icon-projekte{background:#ff8c4214;color:var(--hh-primary)}.nav-icon-woche{background:var(--hh-info-light);color:var(--hh-info)}.nav-icon-rechnung,.nav-icon-angebote{background:var(--hh-violet-light);color:var(--hh-violet)}.nav-icon-katalog,.nav-icon-datev{background:var(--hh-gray-100);color:var(--hh-gray-500)}.nav-icon-auswertung{background:#ff8c4214;color:var(--hh-primary)}.nav-icon-settings{background:var(--hh-gray-100);color:var(--hh-gray-500)}.nav-icon-material{background:#10b98114;color:var(--hh-success)}.nav-icon-werkzeug{background:#ff8c4214;color:var(--hh-primary)}.nav-icon-einsatzkarte{background:var(--hh-info-light);color:var(--hh-info)}.nav-icon-cockpit{background:#8b5cf60f;color:var(--hh-violet)}.nav-icon-hilfe{background:#38bdf814;color:var(--hh-info)}vaadin-side-nav-item:hover .nav-icon-dashboard,vaadin-side-nav-item:hover .nav-icon-zeit,vaadin-side-nav-item:hover .nav-icon-auswertung,vaadin-side-nav-item:hover .nav-icon-werkzeug,vaadin-side-nav-item:hover .nav-icon-projekte{background:#ff8c4226}vaadin-side-nav-item:hover .nav-icon-urlaub,vaadin-side-nav-item:hover .nav-icon-material{background:#10b98126}vaadin-side-nav-item:hover .nav-icon-krank{background:#ef44441f}vaadin-side-nav-item:hover .nav-icon-team,vaadin-side-nav-item:hover .nav-icon-kunden,vaadin-side-nav-item:hover .nav-icon-einsatzkarte,vaadin-side-nav-item:hover .nav-icon-woche{background:#38bdf826}vaadin-side-nav-item:hover .nav-icon-rechnung,vaadin-side-nav-item:hover .nav-icon-angebote{background:#8b5cf61a}vaadin-side-nav-item:hover .nav-icon-katalog,vaadin-side-nav-item:hover .nav-icon-datev,vaadin-side-nav-item:hover .nav-icon-settings{background:var(--hh-gray-200)}vaadin-side-nav-item:hover .nav-icon-cockpit{background:#8b5cf61a}vaadin-side-nav-item:hover .nav-icon-hilfe{background:#38bdf826}.nav-item-locked{opacity:.45;pointer-events:auto}.nav-item-locked:hover{opacity:.65}.nav-lock-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;background:var(--hh-gray-100);color:var(--hh-gray-500);margin-left:auto;flex-shrink:0}vaadin-side-nav-item[active] .nav-icon-box{background:var(--hh-primary)!important;color:#fff!important;box-shadow:0 2px 8px #ff8c4240}.sidebar-badge{margin-left:auto;min-width:18px;height:18px;background:var(--hh-danger);border-radius:9px;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px;color:#fff}.sidebar-divider{height:1px;background:var(--hh-border);margin:8px 16px}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--hh-border);margin-top:auto;position:relative;z-index:2}.user-info{display:flex;align-items:center;gap:8px;color:var(--hh-ink)}.user-avatar{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--hh-primary),var(--hh-primary-dark));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:#fff}.user-name{font-weight:600;font-size:12px;color:var(--hh-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.user-role{font-size:10px;color:var(--hh-gray-500)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-title{font-size:2rem;font-weight:800;letter-spacing:-.03em;color:var(--hh-on-surface);margin:0 0 .5rem}.page-subtitle{font-size:1rem;color:var(--hh-on-surface-secondary);margin-top:0}.header-actions{display:flex;gap:.625rem}.dashboard-content{padding:1.75rem 2rem!important;background:var(--hh-bg);min-height:100%;width:100%!important;box-sizing:border-box}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dashboard-content .greeting-strip,.dashboard-content .stats-grid{animation:fadeUp .4s ease both}.dashboard-content .stats-grid .stats-card:nth-child(1){animation:fadeUp .4s ease .05s both}.dashboard-content .stats-grid .stats-card:nth-child(2){animation:fadeUp .4s ease .1s both}.dashboard-content .stats-grid .stats-card:nth-child(3){animation:fadeUp .4s ease .15s both}.dashboard-content .stats-grid .stats-card:nth-child(4){animation:fadeUp .4s ease .2s both}.dashboard-content .content-grid{animation:fadeUp .4s ease .25s both}.dashboard-content .chart-container{animation:fadeUp .4s ease .3s both}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;width:100%}@media (max-width: 1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stats-card{background:var(--hh-surface);border-radius:14px;padding:16px 18px;border:1px solid var(--hh-border);position:relative;overflow:hidden;transition:all .25s ease}.stats-card:hover{box-shadow:0 8px 24px #0000000a;border-color:var(--hh-border-strong);transform:translateY(-2px)}.stats-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:14px 14px 0 0;opacity:0;transition:opacity .25s ease}.stats-card:hover:before{opacity:1}.stats-card.blue:before,.stats-card.primary:before{background:var(--hh-primary)}.stats-card.green:before{background:var(--hh-success)}.stats-card.orange:before{background:var(--hh-warning)}.stats-card.red:before{background:var(--hh-danger)}.stats-card.violet:before{background:var(--hh-violet)}.stats-card.info:before{background:var(--hh-info)}.stats-card .stat-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.stats-card .stats-label{color:var(--hh-on-surface-secondary);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.stats-card .stats-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.stats-card .stats-icon.primary,.stats-card .stats-icon.blue{background:var(--hh-primary-light);color:var(--hh-primary)}.stats-card .stats-icon.success,.stats-card .stats-icon.green{background:var(--hh-success-light);color:var(--hh-success)}.stats-card .stats-icon.warning,.stats-card .stats-icon.orange{background:var(--hh-warning-light);color:var(--hh-warning)}.stats-card .stats-icon.info{background:var(--hh-info-light);color:var(--hh-info)}.stats-card .stats-icon.red{background:var(--hh-danger-light);color:var(--hh-danger)}.stats-card .stats-value{display:block;font-size:2.25rem;font-weight:800;color:var(--hh-on-surface);line-height:1;margin-bottom:.5rem;letter-spacing:-.02em}.stats-card .stats-sub{display:block;font-size:.875rem;color:var(--hh-on-surface-muted)}.stats-card .stats-change{display:inline-flex;clear:both;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:600;padding:.25rem .625rem;border-radius:6px;margin-top:.5rem}.stats-card .stats-change.positive{background:var(--hh-success-light);color:var(--hh-success)}.stats-card .stats-change.negative{background:var(--hh-danger-light);color:var(--hh-danger)}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;margin-bottom:2rem;width:100%}.content-grid.has-sidebar{grid-template-columns:1fr 380px}@media (max-width: 1024px){.content-grid,.content-grid.has-sidebar{grid-template-columns:1fr}}.content-card,.card{background:var(--hh-surface);border-radius:16px;padding:1.75rem;box-shadow:var(--hh-card-shadow);border:1px solid var(--hh-border);transition:all .2s ease}.content-card:hover,.card:hover{box-shadow:0 4px 16px #00000008}.card-header,.content-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--hh-border)}.card-title{font-size:1.25rem;font-weight:700;color:var(--hh-on-surface);display:flex;align-items:center;gap:.5rem;margin:0}.card-action{background:var(--hh-gray-100);color:var(--hh-gray-700);border:none;padding:.5rem 1rem;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .12s}.card-action:hover{background:var(--hh-primary-subtle);color:var(--hh-primary-dark)}.team-list{display:flex;flex-direction:column;gap:1rem}.team-member{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--hh-surface-variant);border-radius:12px;transition:background .12s;cursor:pointer}.team-member:hover{background:var(--hh-gray-50)}.team-member .member-avatar{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;color:#fff;flex-shrink:0}.team-member .member-info{flex:1;min-width:0}.team-member .member-name{font-weight:600;color:var(--hh-on-surface);margin-bottom:.25rem}.team-member .member-detail{font-size:.875rem;color:var(--hh-on-surface-muted)}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:8px;font-size:.8125rem;font-weight:600;white-space:nowrap}.status-badge.active{background:#10b9811a;color:var(--hh-success)}.status-badge.vacation{background:#f59e0b1a;color:var(--hh-warning)}.status-badge.sick{background:#ef44441a;color:var(--hh-danger)}.status-badge.pending{background:#f59e0b1a;color:var(--hh-warning)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-badge.active .status-dot{background:var(--hh-success);box-shadow:0 0 0 3px #10b98133}.status-badge.prospect{background:#38bdf81a;color:var(--hh-info)}.status-badge.blocked{background:#ef44441a;color:var(--hh-danger)}.status-badge.inactive{background:var(--hh-gray-100);color:var(--hh-gray-500)}.type-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.type-badge.business{background:#38bdf81a;color:var(--hh-info)}.type-badge.private{background:var(--hh-gray-100);color:var(--hh-gray-600)}.tag-chip{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:20px;font-size:.75rem;font-weight:600;background:var(--hh-primary-light);color:var(--hh-primary);margin:.125rem}.customer-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}@media (max-width: 900px){.customer-kpi-grid{grid-template-columns:repeat(2,1fr)}}.timeline-entry{display:flex;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--hh-border)}.timeline-entry:last-child{border-bottom:none}.timeline-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.875rem}.timeline-icon.invoice{background:#8b5cf61a;color:var(--hh-violet)}.timeline-icon.quote{background:var(--hh-warning-light);color:var(--hh-warning)}.timeline-icon.project{background:var(--hh-primary-light);color:var(--hh-primary)}.timeline-icon.audit{background:var(--hh-gray-100);color:var(--hh-gray-500)}.timeline-content{flex:1}.timeline-title{font-weight:600;color:var(--hh-ink);font-size:.875rem}.timeline-time{font-size:.75rem;color:var(--hh-gray-500);font-family:JetBrains Mono,monospace}.catalog-item-number{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--hh-ink)}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--hh-success);display:inline-block;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@keyframes pulse-active{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.status-dot.pulse-active{width:6px;height:6px;background:var(--hh-success);box-shadow:0 0 0 3px #10b98133;animation:pulse-active 2s ease-in-out infinite}.greeting-strip{animation:fadeUp .4s ease both}.greeting-status-pill{font-family:JetBrains Mono,monospace;letter-spacing:.01em;transition:transform .2s ease}.greeting-status-pill:hover{transform:scale(1.05)}.dashboard-time-grid{border-radius:10px;overflow:hidden}.dashboard-time-grid vaadin-grid-cell-content{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif}.status-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.3125rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700;white-space:nowrap}.status-pill.draft{background:var(--hh-gray-100);color:var(--hh-gray-600)}.status-pill.sent{background:var(--hh-primary-light);color:var(--hh-primary)}.status-pill.paid{background:var(--hh-success-light);color:var(--hh-success)}.status-pill.overdue{background:var(--hh-danger-light);color:var(--hh-danger)}.status-pill.cancelled{background:#64748b1a;color:var(--hh-gray-500)}.status-pill.accepted{background:var(--hh-success-light);color:var(--hh-success)}.status-pill.rejected{background:var(--hh-danger-light);color:var(--hh-danger)}.status-pill.expired{background:#64748b1a;color:var(--hh-gray-500)}.status-pill.planned{background:var(--hh-info-light);color:var(--hh-info)}.status-pill.active{background:var(--hh-success-light);color:var(--hh-success)}.status-pill.completed{background:var(--hh-primary-light);color:var(--hh-primary)}.status-pill.invoiced{background:var(--hh-warning-light);color:var(--hh-warning)}.status-pill.running{background:var(--hh-success-light);color:var(--hh-success)}.status-pill.edited{background:var(--hh-warning-light);color:var(--hh-warning)}.request-card{padding:1rem;border-bottom:1px solid var(--hh-border)}.request-card:last-child{border-bottom:none}.request-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--hh-surface-variant);border-radius:12px;border-left:4px solid var(--hh-warning);margin-bottom:.75rem}.request-info{flex:1}.request-title{font-weight:600;color:var(--hh-on-surface);margin-bottom:.25rem}.request-details{font-size:.875rem;color:var(--hh-on-surface-secondary)}.request-actions{display:flex;gap:.5rem}.req-header{display:flex;align-items:center;gap:.625rem;margin-bottom:.625rem}.req-avatar{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.75rem;flex-shrink:0}.req-name{font-size:.875rem;font-weight:700}.req-role{font-size:.6875rem;color:var(--hh-on-surface-muted)}.req-details{background:var(--hh-surface-variant);border-radius:8px;padding:.625rem;margin-bottom:.625rem}.req-row{display:flex;justify-content:space-between;padding:.1875rem 0}.req-label{font-size:.75rem;color:var(--hh-on-surface-muted)}.req-value{font-size:.75rem;font-weight:700;color:var(--hh-on-surface)}.req-conflict{display:flex;align-items:center;gap:.375rem;padding:.5rem;background:var(--hh-danger-light);border-radius:6px;margin-bottom:.625rem;font-size:.6875rem;font-weight:600;color:var(--hh-danger)}.req-actions{display:flex;gap:.375rem}.au-badge{display:flex;align-items:center;gap:.375rem;padding:.5rem;border-radius:6px;margin-bottom:.625rem;font-size:.6875rem;font-weight:600}.au-badge.missing{background:var(--hh-danger-light);color:var(--hh-danger)}.au-badge.has{background:var(--hh-success-light);color:var(--hh-success)}.bradford-badge{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:700;min-width:36px}.bradford-badge.bradford-ok{background:var(--hh-success-light);color:var(--hh-success)}.bradford-badge.bradford-concern{background:var(--hh-warning-light);color:var(--hh-warning)}.bradford-badge.bradford-serious{background:#fff3e0;color:#ea580c}.bradford-badge.bradford-critical{background:var(--hh-danger-light);color:var(--hh-danger)}.btn{padding:.625rem 1.125rem;border-radius:10px;font-size:.8125rem;font-weight:700;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.375rem;transition:all .15s;font-family:inherit}.btn-primary{background:var(--hh-primary);color:#fff;box-shadow:0 2px 8px #ff8c4240}.btn-primary:hover{background:var(--hh-primary-dark);transform:translateY(-1px)}.btn-outline{background:var(--hh-surface);color:var(--hh-gray-700);border:1.5px solid var(--hh-border-strong)}.btn-outline:hover{border-color:var(--hh-gray-300);background:var(--hh-surface-variant)}.btn-success{background:var(--hh-success);color:#fff}.btn-success:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-danger-outline{background:var(--hh-surface);color:var(--hh-danger);border:1.5px solid var(--hh-danger-light)}.btn-sm{padding:.5rem .75rem;font-size:.75rem;border-radius:8px}.btn-approve{background:var(--hh-success);color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;border:none;cursor:pointer}.btn-reject{background:var(--hh-gray-200);color:var(--hh-gray-700);padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;border:none;cursor:pointer}.hh-table{width:100%;border-collapse:collapse}.hh-table thead th{text-align:left;font-size:.75rem;font-weight:700;color:var(--hh-on-surface-muted);text-transform:uppercase;letter-spacing:.05em;padding:.875rem 1rem;background:var(--hh-surface-variant);border-bottom:1px solid var(--hh-border-strong)}.hh-table tbody tr{border-bottom:1px solid var(--hh-border);transition:background .1s}.hh-table tbody tr:hover{background:var(--hh-surface-variant)}.hh-table tbody tr:last-child{border-bottom:none}.hh-table tbody td{padding:.875rem 1rem;font-size:.9375rem}.emp-cell{display:flex;align-items:center;gap:.625rem}.emp-avatar{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.6875rem;flex-shrink:0}.emp-name{font-weight:600;color:var(--hh-on-surface)}.time-mono{font-family:JetBrains Mono,monospace;font-weight:600;font-size:.875rem}.inv-number{font-family:JetBrains Mono,monospace;font-weight:700;font-size:.875rem;color:var(--hh-on-surface)}.inv-amount{font-family:JetBrains Mono,monospace;font-weight:800;font-size:1rem}.overtime{color:var(--hh-success);font-weight:700}.overtime.neg{color:var(--hh-danger)}.project-tag{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:700;background:var(--hh-primary-light);color:var(--hh-primary)}.row-actions{display:flex;gap:.375rem}.row-btn{width:30px;height:30px;border-radius:6px;border:1px solid var(--hh-border-strong);background:var(--hh-surface);display:flex;align-items:center;justify-content:center;font-size:.75rem;cursor:pointer;transition:all .15s}.row-btn:hover{background:var(--hh-surface-variant);border-color:var(--hh-gray-300)}.div-table{width:100%}.div-table-header{display:grid;background:var(--hh-surface-variant);border-bottom:1px solid var(--hh-border-strong)}.div-table-header>div{text-align:left;font-size:.75rem;font-weight:700;color:var(--hh-on-surface-muted);text-transform:uppercase;letter-spacing:.05em;padding:.875rem 1rem}.div-table-row{display:grid;border-bottom:1px solid var(--hh-border);transition:background .1s;align-items:center}.div-table-row:hover{background:var(--hh-surface-variant)}.div-table-row:last-child{border-bottom:none}.div-table-row>div{padding:.875rem 1rem;font-size:.9375rem}.div-table-cols-10 .div-table-header,.div-table-cols-10 .div-table-row{grid-template-columns:2fr 1fr .7fr .7fr .7fr 1fr 1fr 1.2fr 1fr .5fr}.div-table-cols-9 .div-table-header,.div-table-cols-9 .div-table-row{grid-template-columns:1.2fr .7fr .7fr .7fr 1fr 1fr 1.2fr 1fr .5fr}.div-table-cols-11 .div-table-header,.div-table-cols-11 .div-table-row{grid-template-columns:36px 2fr 1fr .7fr .7fr .7fr 1fr 1fr 1.2fr 1fr .5fr}.div-table-cols-10-cb .div-table-header,.div-table-cols-10-cb .div-table-row{grid-template-columns:36px 1.2fr .7fr .7fr .7fr 1fr 1fr 1.2fr 1fr .5fr}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.filters{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.filter-chip{padding:.5rem .875rem;border-radius:8px;border:1.5px solid var(--hh-border-strong);background:var(--hh-surface);font-size:.8125rem;font-weight:700;color:var(--hh-on-surface-secondary);cursor:pointer;transition:all .15s}.filter-chip:hover{border-color:var(--hh-gray-300);background:var(--hh-surface-variant)}.filter-chip.active{background:var(--hh-primary);color:#fff;border-color:var(--hh-primary)}.filter-chip.type-urlaub.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.filter-chip.type-sonderurlaub.active{background:#7c3aed;border-color:#7c3aed;color:#fff}.filter-chip.type-ueberstundenabbau.active{background:#f59e0b;border-color:#f59e0b;color:#fff}.filter-chip.type-krank.active{background:#ef4444;border-color:#ef4444;color:#fff}.filter-chip .chip-dot{transition:background .15s}.filter-chip.active .chip-dot{background:#ffffffb3!important}.filter-select{padding:.5rem 2rem .5rem .75rem;border-radius:8px;border:1.5px solid var(--hh-border-strong);font-size:.8125rem;font-weight:600;color:var(--hh-gray-700);background:var(--hh-surface);font-family:inherit;cursor:pointer}.filter-input{padding:.5rem .75rem;border-radius:8px;border:1.5px solid var(--hh-border-strong);font-size:.8125rem;font-weight:500;color:var(--hh-gray-700);width:200px;font-family:inherit}.tab-bar{display:flex;gap:.25rem;background:var(--hh-gray-100);padding:.25rem;border-radius:10px}.tab-item{padding:.5rem 1rem;border-radius:8px;font-size:.8125rem;font-weight:700;color:var(--hh-on-surface-muted);cursor:pointer;transition:all .15s}.tab-item.active{background:var(--hh-surface);color:var(--hh-on-surface);box-shadow:0 1px 3px #00000014}.chart-container{display:grid;grid-template-columns:2fr 1fr;gap:1.25rem;margin-bottom:1.5rem}.chart-card{background:var(--hh-surface);border-radius:14px;border:1px solid var(--hh-border);padding:1.25rem}.chart-title{font-size:1rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.chart-bars{display:flex;align-items:flex-end;gap:.75rem;height:160px;padding-bottom:1.5rem;position:relative}.chart-bars:before{content:"";position:absolute;bottom:1.5rem;left:0;right:0;height:1px;background:var(--hh-gray-200)}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.375rem}.bar{width:100%;max-width:48px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--hh-primary) 0%,var(--hh-primary-dark) 100%);min-height:4px;transition:all .3s ease;cursor:pointer;position:relative}.bar:hover{filter:brightness(1.05);transform:scaleY(1.03);transform-origin:bottom}.bar.overtime{background:linear-gradient(180deg,var(--hh-warning) 0%,#d97706 100%)}.bar.today{background:linear-gradient(180deg,var(--hh-success) 0%,#059669 100%);box-shadow:0 4px 12px #10b98133}.bar-label{font-size:.75rem;font-weight:700;color:var(--hh-on-surface-muted)}.bar-value{font-size:.6875rem;font-weight:700;color:var(--hh-gray-700);font-family:JetBrains Mono,monospace;opacity:0;transition:opacity .2s ease}.bar-col:hover .bar-value{opacity:1}.soll-line{position:absolute;left:0;right:0;border-top:2px dashed rgba(239,68,68,.3)}.soll-label{position:absolute;top:-16px;right:0;font-size:.625rem;color:var(--hh-danger);font-weight:700}.live-list{display:flex;flex-direction:column;gap:.625rem}.live-item{display:flex;align-items:center;gap:.625rem;padding:.625rem;background:var(--hh-surface-variant);border-radius:10px;transition:background .12s;cursor:pointer}.live-item:hover{background:var(--hh-gray-50)}.live-item .info{flex:1}.live-item .name{font-size:.8125rem;font-weight:700}.live-item .detail{font-size:.6875rem;color:var(--hh-on-surface-muted)}.live-item .hours{font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:700;color:var(--hh-primary)}.live-item.absent{opacity:.6}.timer-card{padding:1.25rem;margin-bottom:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:1rem;text-align:center}.timer-card:not(.timer-running){background:var(--hh-surface, #fff)}.timer-card.timer-running{background:linear-gradient(160deg,#ecfdf5,#f0fdf4,#ecfdf5);border-color:#10b98133;box-shadow:0 0 0 1px #10b9811a,0 4px 20px #10b9810f}.timer-card.timer-running:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#10b981,#34d399,#6ee7b7,#34d399,#10b981);background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.timer-left{display:flex;align-items:center;gap:.75rem}.timer-pulse-dot{width:10px;height:10px;border-radius:50%;background:#10b981;box-shadow:0 0 #10b98166;animation:timer-pulse 2s ease-in-out infinite;flex-shrink:0}@keyframes timer-pulse{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 7px #10b98100}to{box-shadow:0 0 #10b98100}}.timer-value{font-family:JetBrains Mono,monospace;font-size:1.75rem;font-weight:800;color:#059669;letter-spacing:-.03em;line-height:1}.timer-value-label{font-size:.5625rem;font-weight:600;color:#6ee7b7;text-transform:uppercase;letter-spacing:.1em;margin-top:2px}.timer-subtitle{font-size:.8125rem;color:var(--hh-on-surface-muted);font-weight:500}.timer-center{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.timer-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:20px;font-size:.625rem;font-weight:600;background:#10b98114;color:#059669;border:1px solid rgba(16,185,129,.1);white-space:nowrap}.timer-badge.timer-badge-project{background:#8b5cf60f;color:#6d28d9;border-color:#8b5cf614}.timer-right{display:flex;align-items:center;justify-content:center;gap:.5rem}.timer-btn-start{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1.25rem;border-radius:10px;font-size:.8125rem;font-weight:700;font-family:"Outfit",var(--lumo-font-family);border:none;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 10px #10b98140}.timer-btn-start:hover{transform:translateY(-1px);box-shadow:0 4px 16px #10b98159}.timer-btn-stop{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1.25rem;border-radius:10px;font-size:.8125rem;font-weight:700;font-family:"Outfit",var(--lumo-font-family);border:none;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 10px #ef444433}.timer-btn-stop:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ef44444d}.timer-btn-delegate{display:inline-flex;align-items:center;gap:.25rem;padding:.4375rem .75rem;border-radius:8px;font-size:.6875rem;font-weight:600;font-family:"Outfit",var(--lumo-font-family);border:1px solid var(--hh-border, #E2E8F0);cursor:pointer;transition:all .2s ease;background:var(--hh-surface, #fff);color:var(--hh-on-surface-muted, #64748B)}.timer-btn-delegate:hover{border-color:#38bdf8;color:#0284c7;background:#38bdf80a}.timer-idle-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.125rem;background:linear-gradient(135deg,#10b9810f,#10b9811f);border:1.5px dashed rgba(16,185,129,.2);flex-shrink:0;transition:all .2s ease}.timer-card:not(.timer-running):hover .timer-idle-icon{border-color:#10b98166;background:linear-gradient(135deg,#10b98114,#10b98129)}.timer-idle-title{font-size:.8125rem;font-weight:700;color:var(--hh-on-surface, #0F172A);line-height:1.2}.timer-idle-sub{font-size:.6875rem;color:var(--hh-on-surface-muted, #64748B);margin:0;line-height:1.3}.timer-delegate-section{width:100%;border-top:1px solid var(--hh-border-subtle, #F1F5F9);padding-top:.75rem;text-align:left}.timer-delegate-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem}.timer-delegate-dot{width:5px;height:5px;border-radius:50%;background:#38bdf8;animation:pulse 2s infinite}.timer-delegate-label{font-size:.625rem;font-weight:600;color:var(--hh-on-surface-muted, #64748B);text-transform:uppercase;letter-spacing:.05em}.timer-delegate-count{background:#38bdf8;color:#fff;font-size:.5rem;font-weight:700;padding:1px 5px;border-radius:5px;font-family:JetBrains Mono,monospace}.progress-section{margin-top:1.25rem}.progress-item{margin-bottom:1.25rem}.progress-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-label{font-weight:600;font-size:.875rem;color:var(--hh-on-surface)}.progress-value{font-weight:700;color:var(--hh-primary);font-family:JetBrains Mono,monospace;font-size:.875rem}.progress-bar{height:8px;background:var(--hh-gray-200);border-radius:8px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,var(--hh-primary) 0%,var(--hh-primary-dark) 100%);border-radius:8px;transition:width 1s ease;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.balance-bar{height:6px;background:var(--hh-gray-200);border-radius:3px;width:60px;overflow:hidden;display:inline-block;vertical-align:middle;margin-left:.375rem}.balance-fill{height:100%;border-radius:3px}.balance-table{width:100%;border-collapse:collapse}.balance-thead{display:grid;grid-template-columns:180px repeat(6,1fr);background:var(--hh-gray-50);border-bottom:1px solid var(--hh-gray-200)}.balance-th{text-align:left;font-size:.75rem;font-weight:700;color:var(--hh-gray-500);text-transform:uppercase;letter-spacing:.04em;padding:.75rem}.balance-row{display:grid;grid-template-columns:180px repeat(6,1fr);border-bottom:1px solid var(--hh-gray-100);transition:background .1s}.balance-row:hover{background:var(--hh-gray-50)}.balance-td{padding:.75rem;font-size:.875rem;display:flex;align-items:center}.balance-name-cell{display:flex;align-items:center;gap:.5rem;font-weight:600}@media (max-width: 640px){.balance-thead,.balance-row{grid-template-columns:clamp(80px,20vw,180px) repeat(6,minmax(32px,1fr));font-size:.75rem}.balance-td{padding:.5rem .375rem;font-size:.75rem}}@media (max-width: 640px){.calendar-scroll-container{margin:0 -.75rem;padding-left:.75rem!important;padding-right:.75rem!important}.cal-grid{font-size:.75rem}}.pagination{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;border-top:1px solid var(--hh-border)}.pagination-info{font-size:.8125rem;color:var(--hh-on-surface-muted)}.pagination-btns{display:flex;gap:.25rem}.page-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--hh-border-strong);background:var(--hh-surface);font-size:.8125rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.page-btn:hover{background:var(--hh-surface-variant)}.page-btn.active{background:var(--hh-primary);color:#fff;border-color:var(--hh-primary)}.cal-grid{display:grid;border:1px solid var(--hh-border-strong);border-radius:10px;overflow:hidden}.cal-header-cell{background:var(--hh-surface-variant);padding:.625rem .25rem;font-size:.75rem;font-weight:700;color:var(--hh-on-surface-muted);text-align:center;text-transform:uppercase;border-bottom:1px solid var(--hh-border-strong)}.cal-header-cell.weekend{color:var(--hh-gray-500);background:var(--hh-gray-100)}.cal-name-cell{padding:.5rem .75rem;border-bottom:1px solid var(--hh-border);border-right:1px solid var(--hh-border-strong);display:flex;align-items:center;gap:.5rem;background:var(--hh-surface)}.cal-avatar{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.5rem;font-weight:700;flex-shrink:0}.cal-emp-name{font-size:.8125rem;font-weight:600;color:var(--hh-gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-day-cell{padding:.375rem .1875rem;border-bottom:1px solid var(--hh-border);border-right:1px solid var(--hh-surface-variant);text-align:center;min-height:38px}.cal-day-cell.weekend{background:var(--hh-surface-variant)}.cal-day-cell.today{background:#ff8c420a}.cal-block{display:block;height:24px;border-radius:4px;font-size:.625rem;font-weight:700;line-height:24px}.cal-block.vacation{background:var(--hh-warning-light);color:var(--hh-warning)}.cal-block.sick{background:var(--hh-danger-light);color:var(--hh-danger)}.cal-block.pending{background:var(--hh-warning-light);color:var(--hh-warning);border:1.5px dashed var(--hh-warning)}.cal-block.sonderurlaub{background:#ede9fe;color:#7c3aed}.cal-block.ueberstunden{background:#ccfbf1;color:#0d9488}.cal-block.holiday{background:#ecfdf5;color:var(--hh-success)}.cal-legend{display:flex;gap:1rem;margin-top:.75rem}.legend-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:var(--hh-on-surface-secondary)}.legend-dot{width:10px;height:10px;border-radius:3px}.login-view{display:flex;min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);padding:0!important;padding-left:env(safe-area-inset-left)!important;padding-right:env(safe-area-inset-right)!important;box-sizing:border-box}.login-overlay-layout{align-items:center!important;justify-content:center!important;overflow-y:auto}.login-center-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:480px;padding:1.25rem 1.5rem 1.5rem;gap:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-branding{display:flex;flex-direction:column;align-items:center;padding:0 0 1.25rem;gap:.6rem}.login-branding>*{animation:fadeUp .6s ease forwards;opacity:0}.login-branding>:nth-child(1){animation-delay:.1s}.login-branding>:nth-child(2){animation-delay:.2s}.login-branding>:nth-child(3){animation-delay:.3s}.login-branding>:nth-child(4){animation-delay:.45s}.login-branding>:nth-child(5){animation-delay:.6s}.logo-icon-large{width:60px;height:60px;background:var(--hh-surface, #ffffff);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:var(--hh-primary);box-shadow:0 8px 24px #0003;transition:transform .3s ease}.logo-icon-large:hover{transform:scale(1.05)}.brand-name{font-size:24px;font-weight:800;letter-spacing:-.5px;font-family:"Outfit",var(--lumo-font-family)}.brand-name-white{color:#fff}.brand-name-orange{color:var(--hh-primary)}.brand-tagline{color:#ffffffb3!important;font-size:14px;font-weight:400;text-align:center;max-width:320px;margin:0!important;font-family:"Outfit",var(--lumo-font-family)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:480px;margin-top:.15rem}.feature-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);transition:all .2s ease;cursor:default}.feature-item:hover{background:#ffffff1f;transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:#ffffff26}.feature-icon{width:34px;height:34px;min-width:34px;border-radius:8px;display:flex;align-items:center;justify-content:center}.feature-zeit .feature-icon{background:#ff8c4233;color:#ff8c42}.feature-urlaub .feature-icon{background:#10b98133;color:#10b981}.feature-krank .feature-icon{background:#ef444433;color:#ef4444}.feature-rechnung .feature-icon{background:#8b5cf633;color:#8b5cf6}.feature-datev .feature-icon{background:#38bdf833;color:#38bdf8}.feature-projekt .feature-icon{background:#10b98133;color:#10b981}.feature-icon vaadin-icon{width:20px;height:20px}.feature-title{font-size:13.5px;font-weight:600;color:#fff;line-height:1.2;font-family:"Outfit",var(--lumo-font-family)}.feature-desc{font-size:11.5px;color:#ffffff8c;line-height:1.3}.trust-signals{display:flex;gap:1.25rem;margin-top:.5rem}.trust-badge{display:flex;align-items:center;gap:6px;color:#fff9;font-size:12px;font-weight:500;transition:color .2s ease}.trust-badge:hover{color:#ffffffe6}.trust-badge vaadin-icon,.trust-icon{width:15px;height:15px;color:inherit}.login-trust-below{margin-top:1.25rem;animation:fadeUp .5s ease .7s forwards;opacity:0}.login-overlay-card{width:100%;background:var(--hh-surface, #ffffff);border-radius:20px;padding:1.5rem 1.75rem 1.25rem;box-shadow:0 25px 60px #0000004d,0 8px 20px #00000026,0 0 0 1px #ffffff14;animation:fadeUp .5s ease .5s forwards;opacity:0}.login-overlay-card h1{font-size:22px;font-weight:800;color:var(--hh-on-surface, #0F172A);margin:0 0 .15rem;font-family:"Outfit",var(--lumo-font-family)}.login-overlay-card>p{color:var(--hh-on-surface-muted, #64748B);font-size:13px;margin:0 0 .5rem}.login-overlay-card vaadin-login-form{width:100%}.login-overlay-card vaadin-login-form-wrapper{width:100%;max-width:100%!important;padding:0!important;margin:0!important}.login-overlay-card vaadin-login-form-wrapper::part(vaadin-login-native-form-wrapper){padding:0!important;min-width:0!important;max-width:100%!important}.login-overlay-card vaadin-login-form-wrapper [part=vaadin-login-native-form]{width:100%;max-width:100%!important;padding:0!important;margin:0!important}.login-overlay-card vaadin-login-form-wrapper [part=vaadin-login-native-form-wrapper]{width:100%;max-width:100%!important;padding:0!important;margin:0!important}.login-overlay-card vaadin-login-form-wrapper section{padding:0!important;margin:0!important}.login-overlay-card vaadin-login-form vaadin-text-field,.login-overlay-card vaadin-login-form vaadin-password-field{width:100%!important;max-width:100%!important}.login-overlay-card vaadin-login-form vaadin-button{width:100%!important}.login-overlay-card vaadin-login-form-wrapper h2,.login-overlay-card vaadin-login-form-wrapper [part=form]>h2{display:none!important}.login-overlay-card .register-link{text-align:center;margin-top:var(--lumo-space-s);color:var(--hh-on-surface-muted, #64748B)}.login-overlay-card vaadin-button[theme~=primary]{background:var(--hh-ink, #0F172A)!important;color:#fff!important;border-radius:12px;font-weight:600;font-size:15px;min-height:48px;transition:all .2s ease;box-shadow:0 2px 8px #0f172a33;font-family:"Outfit",var(--lumo-font-family)}.login-overlay-card vaadin-button[theme~=primary]:hover{background:#1e293b!important;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a4d}.login-overlay-card vaadin-text-field,.login-overlay-card vaadin-password-field,.login-overlay-card vaadin-email-field,.login-overlay-card vaadin-combo-box{--vaadin-input-field-border-radius: 10px;width:100%}.login-overlay-card vaadin-login-form a,.login-overlay-card vaadin-button[theme~=tertiary]{color:var(--hh-on-surface-muted, #64748B)!important;font-size:13px}.login-overlay-card vaadin-button[theme~=tertiary]:hover{color:var(--hh-primary)!important}.login-overlay-card a[href*=registrier],.login-overlay-card a[href*=login]{color:var(--hh-primary)!important;font-weight:600;transition:opacity .15s ease}.login-overlay-card a[href*=registrier]:hover,.login-overlay-card a[href*=login]:hover{opacity:.8}.login-card{background:var(--hh-surface);border-radius:var(--lumo-border-radius-l);padding:var(--lumo-space-xl);box-shadow:0 25px 50px #00000040;width:100%;max-width:420px}.login-logo{text-align:center;margin-bottom:var(--lumo-space-l)}.login-logo .logo-icon{width:64px;height:64px;background:var(--hh-ink, #0F172A);border-radius:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--hh-primary);font-weight:800;font-size:28px;margin-bottom:var(--lumo-space-s);box-shadow:0 4px 14px #0f172a4d}.login-logo h1{font-size:24px;font-weight:800;color:var(--hh-on-surface);margin:0}.login-logo p{color:var(--hh-on-surface-muted);margin:var(--lumo-space-xs) 0 0;font-size:14px}@media (max-width: 768px){.login-center-container{padding:1.5rem 1.25rem;box-sizing:border-box}.login-branding{padding:0 0 1.5rem;gap:.75rem}.feature-grid{grid-template-columns:1fr;gap:8px}.trust-signals{flex-wrap:wrap;justify-content:center;gap:.75rem}.login-overlay-card{padding:1.25rem 1.25rem 1rem;border-radius:16px;box-sizing:border-box}.brand-name{font-size:22px}.brand-tagline{font-size:14px}.logo-icon-large{width:56px;height:56px;font-size:24px;border-radius:14px}}@media (max-width: 480px){.login-center-container{padding:1rem;max-width:100%}.login-overlay-card{padding:1rem 1rem .75rem;border-radius:14px}.login-overlay-card vaadin-text-field,.login-overlay-card vaadin-password-field,.login-overlay-card vaadin-email-field{box-sizing:border-box;min-width:0!important}}@media (max-width: 480px){.feature-grid{display:none}}.notification-bell{position:relative;cursor:pointer}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--hh-danger);color:#fff;font-size:.625rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.onboarding-view{max-width:700px;margin:0 auto;padding:var(--lumo-space-xl)}.wizard-progress{display:flex;align-items:center;justify-content:center;gap:var(--lumo-space-xs);margin-bottom:var(--lumo-space-xl)}.wizard-step-indicator{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;border:2px solid var(--hh-border-strong);color:var(--hh-gray-500);background:var(--hh-surface);transition:all .3s}.wizard-step-indicator.active{border-color:var(--hh-primary);color:var(--hh-primary);background:var(--hh-primary-light)}.wizard-step-indicator.completed{border-color:var(--hh-success);color:#fff;background:var(--hh-success)}.wizard-step-line{width:40px;height:2px;background:var(--hh-gray-200)}.wizard-step-line.completed{background:var(--hh-success)}.placeholder-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--hh-gray-500);gap:var(--lumo-space-m)}.placeholder-view .placeholder-icon{font-size:64px;opacity:.3}.placeholder-view h2{color:var(--hh-on-surface-secondary);font-size:20px;margin:0}.placeholder-view p{color:var(--hh-gray-500);font-size:14px;margin:0}.time-table{width:100%;border-collapse:separate;border-spacing:0 .5rem}.time-table thead th{text-align:left;font-size:.8125rem;font-weight:700;color:var(--hh-on-surface-secondary);text-transform:uppercase;letter-spacing:.05em;padding:0 .75rem .75rem}.time-table tbody tr{background:var(--hh-surface-variant);transition:all .2s}.time-table tbody tr:hover{background:var(--hh-gray-100);transform:scale(1.01)}.time-table tbody td{padding:1rem .75rem}.time-table tbody tr td:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.time-table tbody tr td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.employee-cell{display:flex;align-items:center;gap:.75rem}.employee-avatar-sm{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.875rem;flex-shrink:0}.employee-name{font-weight:600;color:var(--hh-on-surface)}.stats-card .stats-value.mono{font-family:JetBrains Mono,monospace}@media (max-width: 1200px){.chart-container{grid-template-columns:1fr}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}}vaadin-grid{font-size:.9375rem}vaadin-grid::part(header-cell){font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--hh-on-surface-muted);padding:.875rem .75rem}vaadin-grid::part(cell){padding:.75rem;font-size:.9375rem;min-height:48px}vaadin-grid::part(body-cell){font-size:.9375rem}vaadin-grid::part(row):hover{background:var(--hh-surface-variant)}html[data-dark-mode=on],html[data-theme=dark]{--hh-bg: #111827;--hh-surface: #1f2937;--hh-surface-variant: #283548;--hh-on-surface: #f3f4f6;--hh-on-surface-secondary: #d1d5db;--hh-on-surface-muted: #9ca3af;--hh-border: #374151;--hh-border-strong: #4b5563;--hh-gray-50: #1f2937;--hh-gray-100: #283548;--hh-gray-200: #374151;--hh-gray-300: #4b5563;--hh-gray-400: #6b7280;--hh-gray-500: #9ca3af;--hh-gray-600: #d1d5db;--hh-gray-700: #e5e7eb;--hh-gray-800: #f3f4f6;--hh-gray-900: #f9fafb;--hh-ink: #f9fafb;--hh-card-shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--hh-card-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--hh-card-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3);--hh-sidebar-bg: #1a2332;--hh-sidebar-text: #9ca3af;--hh-sidebar-text-hover: #f3f4f6;--hh-sidebar-text-active: var(--hh-primary);--hh-sidebar-hover-bg: rgba(255, 255, 255, .06);--hh-sidebar-active-bg: rgba(255, 140, 66, .1);--hh-sidebar-border: #374151;--hh-sidebar-section-label: #6b7280;--lumo-base-color: #1f2937;--lumo-body-text-color: #f3f4f6;--lumo-header-text-color: #f9fafb;--lumo-secondary-text-color: #d1d5db;--lumo-tertiary-text-color: #9ca3af;--lumo-contrast-5pct: rgba(255, 255, 255, .05);--lumo-contrast-10pct: rgba(255, 255, 255, .1);--lumo-contrast-20pct: rgba(255, 255, 255, .2);--lumo-contrast-50pct: rgba(255, 255, 255, .5);--lumo-contrast-60pct: rgba(255, 255, 255, .6);--lumo-contrast-70pct: rgba(255, 255, 255, .7);--lumo-contrast-80pct: rgba(255, 255, 255, .8);--lumo-contrast-90pct: rgba(255, 255, 255, .9)}html[data-dark-mode=on] .sidebar-logo,html[data-theme=dark] .sidebar-logo{border-bottom-color:var(--hh-sidebar-border)}html[data-dark-mode=on] .sidebar-logo .logo-text,html[data-theme=dark] .sidebar-logo .logo-text{color:#f3f4f6}html[data-dark-mode=on] .sidebar-footer,html[data-theme=dark] .sidebar-footer{border-top-color:var(--hh-sidebar-border)}html[data-dark-mode=on] .user-info,html[data-theme=dark] .user-info,html[data-dark-mode=on] .user-name,html[data-theme=dark] .user-name{color:#f3f4f6}html[data-dark-mode=on] .user-role,html[data-theme=dark] .user-role{color:#6b7280}@media (prefers-color-scheme: dark){html[data-dark-mode=system]{--hh-bg: #111827;--hh-surface: #1f2937;--hh-surface-variant: #283548;--hh-on-surface: #f3f4f6;--hh-on-surface-secondary: #d1d5db;--hh-on-surface-muted: #9ca3af;--hh-border: #374151;--hh-border-strong: #4b5563;--hh-gray-50: #1f2937;--hh-gray-100: #283548;--hh-gray-200: #374151;--hh-gray-300: #4b5563;--hh-gray-400: #6b7280;--hh-gray-500: #9ca3af;--hh-gray-600: #d1d5db;--hh-gray-700: #e5e7eb;--hh-gray-800: #f3f4f6;--hh-gray-900: #f9fafb;--hh-ink: #f9fafb;--hh-card-shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--hh-card-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--hh-card-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3);--hh-sidebar-bg: #1a2332;--hh-sidebar-text: #9ca3af;--hh-sidebar-text-hover: #f3f4f6;--hh-sidebar-text-active: var(--hh-primary);--hh-sidebar-hover-bg: rgba(255, 255, 255, .06);--hh-sidebar-active-bg: rgba(255, 140, 66, .1);--hh-sidebar-border: #374151;--hh-sidebar-section-label: #6b7280;--lumo-base-color: #1f2937;--lumo-body-text-color: #f3f4f6;--lumo-header-text-color: #f9fafb;--lumo-secondary-text-color: #d1d5db;--lumo-tertiary-text-color: #9ca3af;--lumo-contrast-5pct: rgba(255, 255, 255, .05);--lumo-contrast-10pct: rgba(255, 255, 255, .1);--lumo-contrast-20pct: rgba(255, 255, 255, .2);--lumo-contrast-50pct: rgba(255, 255, 255, .5);--lumo-contrast-60pct: rgba(255, 255, 255, .6);--lumo-contrast-70pct: rgba(255, 255, 255, .7);--lumo-contrast-80pct: rgba(255, 255, 255, .8);--lumo-contrast-90pct: rgba(255, 255, 255, .9)}html[data-dark-mode=system] .sidebar-logo{border-bottom-color:#374151}html[data-dark-mode=system] .sidebar-logo .logo-text{color:#f3f4f6}html[data-dark-mode=system] .sidebar-footer{border-top-color:#374151}html[data-dark-mode=system] .user-info,html[data-dark-mode=system] .user-name{color:#f3f4f6}html[data-dark-mode=system] .user-role{color:#6b7280}}html[data-theme=christmas]{--hh-primary: #1a5c38;--hh-primary-dark: #0d3321;--hh-primary-light: #d4edda;--hh-primary-subtle: #ecfdf5;--hh-success: #228b22;--hh-success-light: #dcfce7;--hh-warning: #c9a84c;--hh-warning-light: #fdf6e3;--hh-danger: #a52a2a;--hh-danger-light: #f8d7da;--hh-sidebar-active-bg: #ecfdf5;--lumo-primary-color: #1a5c38;--lumo-primary-text-color: #1a5c38;--lumo-primary-color-50pct: rgba(26, 92, 56, .5);--lumo-primary-color-10pct: rgba(26, 92, 56, .1)}html[data-theme=easter]{--hh-primary: #4caf50;--hh-primary-dark: #388e3c;--hh-primary-light: #e8f5e9;--hh-primary-subtle: #f0fdf4;--hh-success: #66bb6a;--hh-success-light: #e8f5e9;--hh-warning: #f48fb1;--hh-warning-light: #fce4ec;--hh-info: #81d4fa;--hh-info-light: #e1f5fe;--hh-sidebar-active-bg: #f0fdf4;--lumo-primary-color: #4caf50;--lumo-primary-text-color: #388e3c;--lumo-primary-color-50pct: rgba(76, 175, 80, .5);--lumo-primary-color-10pct: rgba(76, 175, 80, .1)}html[data-theme=halloween]{--hh-primary: #ff6f00;--hh-primary-dark: #e65100;--hh-primary-light: #fff3e0;--hh-primary-subtle: rgba(255, 111, 0, .08);--hh-info: #7b1fa2;--hh-info-light: #f3e5f5;--hh-success: #4caf50;--hh-success-light: #1b3a1b;--hh-warning: #ff6f00;--hh-warning-light: #3d2800;--hh-danger: #f44336;--hh-danger-light: #3d1010;--hh-bg: #13111a;--hh-surface: #1e1a2e;--hh-surface-variant: #2a2440;--hh-on-surface: #ede7f6;--hh-on-surface-secondary: #b39ddb;--hh-on-surface-muted: #7e6baa;--hh-border: #332d4a;--hh-border-strong: #443d60;--hh-ink: #ede7f6;--hh-sidebar-bg: #1a0a2e;--hh-sidebar-text: #b39ddb;--hh-sidebar-text-hover: #ede7f6;--hh-sidebar-text-active: #ff6f00;--hh-sidebar-hover-bg: rgba(255, 255, 255, .06);--hh-sidebar-active-bg: rgba(255, 111, 0, .1);--hh-sidebar-border: #332d4a;--hh-sidebar-section-label: #7e6baa;--hh-card-shadow: 0 1px 3px rgba(0, 0, 0, .5), 0 0 8px rgba(255, 111, 0, .05);--lumo-primary-color: #ff6f00;--lumo-primary-text-color: #ff6f00;--lumo-base-color: #1e1a2e;--lumo-body-text-color: #ede7f6;--lumo-header-text-color: #fff3e0;--lumo-secondary-text-color: #b39ddb;--lumo-contrast-10pct: rgba(255, 255, 255, .1);--lumo-contrast-20pct: rgba(255, 255, 255, .15);--lumo-contrast-50pct: rgba(255, 255, 255, .4)}html[data-theme=halloween] .sidebar-logo .logo-text{color:#ede7f6}html[data-theme=halloween] .sidebar-footer{border-top-color:#332d4a}html[data-theme=halloween] .user-info,html[data-theme=halloween] .user-name{color:#ede7f6}html[data-theme=halloween] .user-role{color:#7e6baa}html[data-theme=custom]{--hh-primary: var(--hh-custom-primary, #FF8C42);--hh-primary-dark: var(--hh-custom-primary-dark, #E0701E);--hh-primary-light: var(--hh-custom-primary-light, #FFF7F0);--lumo-primary-color: var(--hh-custom-primary, #FF8C42);--lumo-primary-text-color: var(--hh-custom-primary, #FF8C42)}html[data-theme=sky]{--hh-primary: #0EA5E9;--hh-primary-dark: #0284C7;--hh-primary-light: #E0F2FE;--hh-primary-subtle: #f0f9ff;--hh-sidebar-active-bg: #f0f9ff;--lumo-primary-color: #0EA5E9;--lumo-primary-text-color: #0284C7;--lumo-primary-color-50pct: rgba(14, 165, 233, .5);--lumo-primary-color-10pct: rgba(14, 165, 233, .1)}html[data-theme=emerald]{--hh-primary: #10B981;--hh-primary-dark: #059669;--hh-primary-light: #D1FAE5;--hh-primary-subtle: #ecfdf5;--hh-sidebar-active-bg: #ecfdf5;--lumo-primary-color: #10B981;--lumo-primary-text-color: #059669;--lumo-primary-color-50pct: rgba(16, 185, 129, .5);--lumo-primary-color-10pct: rgba(16, 185, 129, .1)}html[data-theme=amethyst]{--hh-primary: #8B5CF6;--hh-primary-dark: #7C3AED;--hh-primary-light: #EDE9FE;--hh-primary-subtle: #f5f3ff;--hh-sidebar-active-bg: #f5f3ff;--lumo-primary-color: #8B5CF6;--lumo-primary-text-color: #7C3AED;--lumo-primary-color-50pct: rgba(139, 92, 246, .5);--lumo-primary-color-10pct: rgba(139, 92, 246, .1)}html[data-theme=amber]{--hh-primary: #F59E0B;--hh-primary-dark: #D97706;--hh-primary-light: #FEF3C7;--hh-primary-subtle: #fffbeb;--hh-sidebar-active-bg: #fffbeb;--lumo-primary-color: #F59E0B;--lumo-primary-text-color: #D97706;--lumo-primary-color-50pct: rgba(245, 158, 11, .5);--lumo-primary-color-10pct: rgba(245, 158, 11, .1)}.seasonal-decorations{display:none;position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.seasonal-decorations>span{position:absolute;pointer-events:none;will-change:transform;display:block;-webkit-user-select:none;user-select:none;line-height:1}.sidebar-logo,.sidebar-footer{position:relative;z-index:2}vaadin-side-nav,.nav-section-label{position:relative;z-index:2}@media (prefers-reduced-motion: reduce){.seasonal-decorations{display:none!important}.sidebar-logo:before,.sidebar-logo:after,.sidebar-footer:before,.sidebar-footer:after{animation:none!important}.stats-card,.team-member,.live-item,.card,.content-card,.card-action,.bar,.bar-value,.live-dot,.timer-card,.status-badge,.tab-item{animation:none!important;transition:none!important}.stats-card:before{transition:none!important}.dashboard-content .stats-grid .stats-card,.dashboard-content .content-grid,.dashboard-content .chart-container{animation:none!important;opacity:1!important;transform:none!important}.bar-value{opacity:1!important}}@media (max-width: 1024px){.content-grid,.two-col-layout{grid-template-columns:1fr!important}.right-sidebar,.side-panel,[class*=sidebar-panel]{order:99}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.page-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.filter-bar,.toolbar,.action-bar{flex-wrap:wrap!important;gap:8px!important}}@media (max-width: 640px){.stats-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.stats-card{padding:12px!important}.stats-card .stat-value{font-size:1.25rem!important}.content-grid,.two-col-layout,.chart-container{grid-template-columns:1fr!important;gap:12px!important}.quick-actions{grid-template-columns:1fr 1fr!important;gap:8px!important}.card,.content-card{padding:14px!important;border-radius:12px!important}.page-header h2,.page-title{font-size:1.25rem!important}.calendar-grid,.vacation-calendar,.sickleave-calendar,.table-container,.div-table{overflow-x:auto!important;-webkit-overflow-scrolling:touch}}@media (max-width: 768px){vaadin-grid{max-height:60vh!important;height:auto!important;min-height:200px}}@media (max-width: 640px){vaadin-dialog-overlay::part(overlay){width:95vw!important;max-width:95vw!important;min-width:unset!important;max-height:90vh!important;border-radius:14px!important}vaadin-dialog-overlay::part(content){padding:16px!important}}@media (max-width: 768px){vaadin-app-layout vaadin-drawer-toggle{display:flex!important}vaadin-text-field,vaadin-select,vaadin-combo-box,vaadin-date-picker{--lumo-text-field-size: var(--lumo-size-m);min-height:44px}vaadin-button{min-height:44px;min-width:44px}}@media (max-width: 640px){.page-header vaadin-text-field,.page-header vaadin-combo-box,.page-header vaadin-select,.page-header vaadin-date-picker,.filter-bar vaadin-text-field,.filter-bar vaadin-combo-box,.filter-bar vaadin-select,.filter-bar vaadin-date-picker,vaadin-horizontal-layout vaadin-text-field,vaadin-horizontal-layout vaadin-combo-box,vaadin-horizontal-layout vaadin-select{width:100%!important;max-width:100%!important;min-width:unset!important}vaadin-horizontal-layout{flex-wrap:wrap!important;gap:8px!important}}@media (max-width: 640px){.hide-on-mobile{display:none!important}.full-width-mobile{width:100%!important;max-width:100%!important}.stack-on-mobile{flex-direction:column!important;align-items:stretch!important}.stack-on-mobile>*{width:100%!important;max-width:100%!important}}@media (max-width: 1024px){.hide-on-tablet{display:none!important}}@media (min-width: 641px){.show-only-mobile{display:none!important}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr!important;gap:8px!important}}@media (max-width: 640px){vaadin-form-layout{--vaadin-form-layout-column-spacing: 0 !important}vaadin-form-layout vaadin-form-item{--vaadin-form-item-label-width: 100% !important}.form-grid,.form-row{grid-template-columns:1fr!important;flex-direction:column!important}}html[data-theme=christmas] .seasonal-decorations{display:block}html[data-theme=christmas] .seasonal-decorations>span:before{content:"❄";display:block}html[data-theme=christmas] .seasonal-decorations>span{color:#1a5c3859;top:-20px;animation-name:snowfall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes snowfall{0%{transform:translateY(-20px) rotate(0);opacity:0}10%{opacity:1}90%{opacity:.8}to{transform:translateY(calc(100vh + 20px)) rotate(360deg);opacity:0}}html[data-theme=christmas] .particle-1{left:3%;font-size:14px;animation-duration:10s;animation-delay:0s}html[data-theme=christmas] .particle-2{left:12%;font-size:18px;animation-duration:13s;animation-delay:1.5s}html[data-theme=christmas] .particle-3{left:22%;font-size:11px;animation-duration:9s;animation-delay:3s}html[data-theme=christmas] .particle-4{left:35%;font-size:16px;animation-duration:11s;animation-delay:.5s}html[data-theme=christmas] .particle-5{left:45%;font-size:13px;animation-duration:14s;animation-delay:4s}html[data-theme=christmas] .particle-6{left:55%;font-size:20px;animation-duration:12s;animation-delay:2s}html[data-theme=christmas] .particle-7{left:65%;font-size:12px;animation-duration:10s;animation-delay:5.5s}html[data-theme=christmas] .particle-8{left:75%;font-size:17px;animation-duration:15s;animation-delay:1s}html[data-theme=christmas] .particle-9{left:85%;font-size:15px;animation-duration:8s;animation-delay:6s}html[data-theme=christmas] .particle-10{left:92%;font-size:13px;animation-duration:11s;animation-delay:3.5s}html[data-theme=christmas] .particle-11{left:8%;font-size:10px;animation-duration:12s;animation-delay:7s}html[data-theme=christmas] .particle-12{left:18%;font-size:19px;animation-duration:14s;animation-delay:2.5s}html[data-theme=christmas] .particle-13{left:28%;font-size:12px;animation-duration:9s;animation-delay:8s}html[data-theme=christmas] .particle-14{left:40%;font-size:15px;animation-duration:13s;animation-delay:4.5s}html[data-theme=christmas] .particle-15{left:50%;font-size:11px;animation-duration:10s;animation-delay:9s}html[data-theme=christmas] .particle-16{left:60%;font-size:18px;animation-duration:12s;animation-delay:1.2s}html[data-theme=christmas] .particle-17{left:70%;font-size:13px;animation-duration:11s;animation-delay:6.5s}html[data-theme=christmas] .particle-18{left:80%;font-size:16px;animation-duration:15s;animation-delay:3.8s}html[data-theme=christmas] .particle-19{left:88%;font-size:10px;animation-duration:9s;animation-delay:5s}html[data-theme=christmas] .particle-20{left:95%;font-size:14px;animation-duration:13s;animation-delay:7.5s}html[data-theme=christmas] .sidebar-logo:after{content:"";position:absolute;bottom:-2px;left:10%;width:4px;height:4px;border-radius:50%;box-shadow:0 0 5px 2px #ffc83299,24px 2px 5px 2px #dc323280,48px -1px 5px 2px #1a5c3899,72px 1px 5px 2px #ffc83299,96px -2px 5px 2px #dc323280,120px 1px 5px 2px #3296dc80,144px 0 5px 2px #ffc83299,168px 2px 5px 2px #dc323280;z-index:3;animation:twinkle-lights 3s ease-in-out infinite alternate}@keyframes twinkle-lights{0%{opacity:.6;filter:brightness(.9)}50%{opacity:1;filter:brightness(1.2)}to{opacity:.7;filter:brightness(1)}}html[data-theme=christmas] .sidebar-logo:before{content:"🎄";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:26px;opacity:.85;z-index:3}html[data-theme=christmas] .sidebar-footer:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:60px;background:linear-gradient(to top,rgba(26,92,56,.06) 0%,transparent 100%);pointer-events:none;z-index:0}html[data-theme=easter] .seasonal-decorations{display:block}html[data-theme=easter] .particle-1:before,html[data-theme=easter] .particle-4:before,html[data-theme=easter] .particle-7:before,html[data-theme=easter] .particle-10:before{content:"🌸";display:block}html[data-theme=easter] .particle-2:before,html[data-theme=easter] .particle-5:before,html[data-theme=easter] .particle-8:before,html[data-theme=easter] .particle-11:before{content:"🌼";display:block}html[data-theme=easter] .particle-3:before,html[data-theme=easter] .particle-6:before,html[data-theme=easter] .particle-9:before,html[data-theme=easter] .particle-12:before{content:"🦋";display:block}html[data-theme=easter] .seasonal-decorations>span{top:-20px;animation-name:petal-float;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes petal-float{0%{transform:translateY(-20px) translate(0) rotate(0);opacity:0}10%{opacity:.8}50%{transform:translateY(50vh) translate(15px) rotate(180deg)}90%{opacity:.6}to{transform:translateY(calc(100vh + 20px)) translate(-10px) rotate(360deg);opacity:0}}html[data-theme=easter] .particle-1{left:5%;font-size:16px;animation-duration:14s;animation-delay:0s}html[data-theme=easter] .particle-2{left:15%;font-size:14px;animation-duration:18s;animation-delay:3s}html[data-theme=easter] .particle-3{left:25%;font-size:15px;animation-duration:16s;animation-delay:5s}html[data-theme=easter] .particle-4{left:38%;font-size:18px;animation-duration:20s;animation-delay:1s}html[data-theme=easter] .particle-5{left:50%;font-size:12px;animation-duration:15s;animation-delay:7s}html[data-theme=easter] .particle-6{left:62%;font-size:17px;animation-duration:17s;animation-delay:2s}html[data-theme=easter] .particle-7{left:72%;font-size:14px;animation-duration:19s;animation-delay:6s}html[data-theme=easter] .particle-8{left:82%;font-size:16px;animation-duration:14s;animation-delay:4s}html[data-theme=easter] .particle-9{left:90%;font-size:15px;animation-duration:16s;animation-delay:8s}html[data-theme=easter] .particle-10{left:10%;font-size:17px;animation-duration:18s;animation-delay:10s}html[data-theme=easter] .particle-11{left:45%;font-size:11px;animation-duration:20s;animation-delay:9s}html[data-theme=easter] .particle-12{left:70%;font-size:14px;animation-duration:15s;animation-delay:11s}html[data-theme=easter] .particle-13,html[data-theme=easter] .particle-14,html[data-theme=easter] .particle-15,html[data-theme=easter] .particle-16,html[data-theme=easter] .particle-17,html[data-theme=easter] .particle-18,html[data-theme=easter] .particle-19,html[data-theme=easter] .particle-20{display:none}html[data-theme=easter] .sidebar-logo:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 80% 0%,rgba(255,235,100,.08) 0%,transparent 60%);pointer-events:none;z-index:0}html[data-theme=easter] .sidebar-logo:before{content:"🐣";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:24px;opacity:.85;z-index:3}html[data-theme=easter] .sidebar-footer:before{content:"🌱🌿🌱🌿🌱🌿🌱🌿";position:absolute;top:-12px;left:0;width:100%;font-size:10px;letter-spacing:4px;opacity:.45;pointer-events:none;z-index:0;text-align:center}html[data-theme=halloween] .seasonal-decorations{display:block}html[data-theme=halloween] .particle-1:before,html[data-theme=halloween] .particle-3:before,html[data-theme=halloween] .particle-5:before,html[data-theme=halloween] .particle-7:before,html[data-theme=halloween] .particle-9:before{content:"👻";display:block}html[data-theme=halloween] .particle-2:before,html[data-theme=halloween] .particle-4:before,html[data-theme=halloween] .particle-6:before,html[data-theme=halloween] .particle-8:before,html[data-theme=halloween] .particle-10:before{content:"🦇";display:block}html[data-theme=halloween] .seasonal-decorations>span{animation-name:ghost-float;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes ghost-float{0%{transform:translateY(0) translate(0) scale(1);opacity:0}15%{opacity:.5}50%{transform:translateY(-30px) translate(10px) scale(1.05);opacity:.6}85%{opacity:.4}to{transform:translateY(0) translate(0) scale(1);opacity:0}}html[data-theme=halloween] .particle-1{left:8%;top:15%;font-size:18px;animation-duration:8s;animation-delay:0s}html[data-theme=halloween] .particle-2{left:25%;top:35%;font-size:15px;animation-duration:10s;animation-delay:2s}html[data-theme=halloween] .particle-3{left:45%;top:55%;font-size:20px;animation-duration:12s;animation-delay:4s}html[data-theme=halloween] .particle-4{left:65%;top:20%;font-size:14px;animation-duration:9s;animation-delay:1s}html[data-theme=halloween] .particle-5{left:80%;top:65%;font-size:17px;animation-duration:11s;animation-delay:5s}html[data-theme=halloween] .particle-6{left:15%;top:75%;font-size:16px;animation-duration:10s;animation-delay:3s}html[data-theme=halloween] .particle-7{left:55%;top:85%;font-size:19px;animation-duration:8s;animation-delay:6s}html[data-theme=halloween] .particle-8{left:35%;top:10%;font-size:13px;animation-duration:12s;animation-delay:7s}html[data-theme=halloween] .particle-9{left:70%;top:45%;font-size:18px;animation-duration:9s;animation-delay:2.5s}html[data-theme=halloween] .particle-10{left:90%;top:30%;font-size:15px;animation-duration:11s;animation-delay:4.5s}html[data-theme=halloween] .particle-11,html[data-theme=halloween] .particle-12,html[data-theme=halloween] .particle-13,html[data-theme=halloween] .particle-14,html[data-theme=halloween] .particle-15,html[data-theme=halloween] .particle-16,html[data-theme=halloween] .particle-17,html[data-theme=halloween] .particle-18,html[data-theme=halloween] .particle-19,html[data-theme=halloween] .particle-20{display:none}html[data-theme=halloween] .sidebar-logo:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 50% 100%,rgba(255,111,0,.08) 0%,transparent 70%);animation:spooky-pulse 4s ease-in-out infinite alternate;pointer-events:none;z-index:0}@keyframes spooky-pulse{0%{opacity:.3}50%{opacity:.7}to{opacity:.4}}.invoice-type-badge{display:inline-block;padding:3px 8px;border-radius:5px;font-size:.6875rem;font-weight:600;line-height:1.4;margin-top:2px}.invoice-type-badge.abschlag{background:var(--hh-info-light);color:var(--hh-info-text)}.invoice-type-badge.schluss{background:var(--hh-violet-light);color:var(--hh-violet-text)}.invoice-type-badge.gutschrift{background:var(--hh-success-light);color:var(--hh-success-text)}.invoice-type-badge.storno{background:var(--hh-danger-light);color:var(--hh-danger-text)}.invoice-type-badge.reverse-charge{background:var(--hh-warning-light);color:var(--hh-warning-text)}.reminder-badge{display:inline-block;padding:3px 8px;border-radius:5px;font-size:.6875rem;font-weight:600;line-height:1.4;margin-top:2px;background:var(--hh-danger-light);color:var(--hh-danger-text)}html[data-theme=halloween] .sidebar-logo:before{content:"🎃";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:26px;opacity:.9;z-index:3;animation:spooky-pulse 4s ease-in-out infinite alternate}html[data-theme=halloween] .sidebar-footer:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:80px;background:linear-gradient(to top,rgba(123,31,162,.06) 0%,rgba(255,111,0,.03) 50%,transparent 100%);pointer-events:none;z-index:0}h1,.h1{font-family:"Outfit",var(--lumo-font-family);font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:var(--hh-on-surface);line-height:1.2;margin:0 0 .5rem}h2,.h2{font-family:"Outfit",var(--lumo-font-family);font-size:1.375rem;font-weight:700;letter-spacing:-.02em;color:var(--hh-on-surface);line-height:1.25;margin:0 0 .375rem}h3,.h3{font-family:"Outfit",var(--lumo-font-family);font-size:1.125rem;font-weight:700;letter-spacing:-.01em;color:var(--hh-on-surface);line-height:1.3;margin:0 0 .25rem}h4,.h4{font-family:"Outfit",var(--lumo-font-family);font-size:.9375rem;font-weight:600;color:var(--hh-on-surface);line-height:1.35;margin:0 0 .25rem}.section-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--hh-on-surface-muted);margin-bottom:.75rem}.mono,.mono-font,[data-mono],.stats-value,.timer-value,.inv-number,.inv-amount,.time-mono,.bar-value,.progress-value,.timeline-time,.catalog-item-number{font-family:JetBrains Mono,monospace!important}:focus-visible{outline:2px solid var(--hh-primary);outline-offset:2px;border-radius:4px}vaadin-button:focus-visible,vaadin-text-field:focus-visible,vaadin-select:focus-visible,vaadin-combo-box:focus-visible,vaadin-date-picker:focus-visible,vaadin-checkbox:focus-visible,vaadin-radio-button:focus-visible{outline:2px solid var(--hh-primary);outline-offset:2px}.btn:focus-visible,.card-action:focus-visible,.filter-chip:focus-visible,.tab-item:focus-visible,.page-btn:focus-visible,.row-btn:focus-visible{outline:2px solid var(--hh-primary);outline-offset:2px;box-shadow:0 0 0 4px #ff8c4226}.stats-card[role=button]:focus-visible,.team-member:focus-visible,.live-item:focus-visible,.request-card:focus-visible{outline:2px solid var(--hh-primary);outline-offset:2px;box-shadow:0 0 0 4px #ff8c4226}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (forced-colors: active){:focus-visible{outline:3px solid LinkText;outline-offset:2px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.stats-card:hover,.btn:hover,.btn-primary:hover,.feature-item:hover,.logo-icon-large:hover{transform:none!important}.progress-fill:after{animation:none!important;display:none}.seasonal-decorations{display:none!important}}html[data-dark-mode=on] .status-pill.draft,html[data-theme=dark] .status-pill.draft{background:#64748b33;color:var(--hh-gray-500)}html[data-dark-mode=on] .status-pill.sent,html[data-theme=dark] .status-pill.sent{background:#ff8c4226}html[data-dark-mode=on] .status-pill.paid,html[data-dark-mode=on] .status-pill.active,html[data-dark-mode=on] .status-pill.accepted,html[data-theme=dark] .status-pill.paid,html[data-theme=dark] .status-pill.active,html[data-theme=dark] .status-pill.accepted{background:#10b98126}html[data-dark-mode=on] .status-pill.overdue,html[data-dark-mode=on] .status-pill.rejected,html[data-theme=dark] .status-pill.overdue,html[data-theme=dark] .status-pill.rejected{background:#ef444426}html[data-dark-mode=on] .cal-block.vacation,html[data-theme=dark] .cal-block.vacation{background:#f59e0b26}html[data-dark-mode=on] .cal-block.sick,html[data-theme=dark] .cal-block.sick{background:#ef444426}html[data-dark-mode=on] .cal-block.sonderurlaub,html[data-theme=dark] .cal-block.sonderurlaub{background:#7c3aed26;color:#a78bfa}html[data-dark-mode=on] .cal-block.ueberstunden,html[data-theme=dark] .cal-block.ueberstunden{background:#0d948826;color:#5eead4}html[data-dark-mode=on] .cal-block.holiday,html[data-theme=dark] .cal-block.holiday{background:#10b9811a}html[data-dark-mode=on] .filter-chip,html[data-theme=dark] .filter-chip{background:var(--hh-surface);border-color:var(--hh-border-strong);color:var(--hh-on-surface-secondary)}html[data-dark-mode=on] .filter-chip.active,html[data-theme=dark] .filter-chip.active{background:var(--hh-primary);color:#fff;border-color:var(--hh-primary)}html[data-dark-mode=on] .bradford-badge.bradford-serious,html[data-theme=dark] .bradford-badge.bradford-serious{background:#ea580c26;color:#fb923c}html[data-dark-mode=on] .invoice-type-badge,html[data-theme=dark] .invoice-type-badge{opacity:.9}html[data-dark-mode=on] .login-view,html[data-theme=dark] .login-view{background:linear-gradient(135deg,#0a0e1a,#111827)}html[data-dark-mode=on] .hh-table thead th,html[data-dark-mode=on] .div-table-header>div,html[data-dark-mode=on] .balance-thead,html[data-theme=dark] .hh-table thead th,html[data-theme=dark] .div-table-header>div,html[data-theme=dark] .balance-thead{background:var(--hh-surface-variant)}html[data-dark-mode=on] .greeting-strip,html[data-theme=dark] .greeting-strip{background:var(--hh-surface);border-color:var(--hh-border)}@media (prefers-color-scheme: dark){html[data-dark-mode=system] .status-pill.draft{background:#64748b33;color:var(--hh-gray-500)}html[data-dark-mode=system] .status-pill.paid,html[data-dark-mode=system] .status-pill.active,html[data-dark-mode=system] .status-pill.accepted{background:#10b98126}html[data-dark-mode=system] .status-pill.overdue,html[data-dark-mode=system] .status-pill.rejected{background:#ef444426}html[data-dark-mode=system] .cal-block.vacation{background:#f59e0b26}html[data-dark-mode=system] .cal-block.sick{background:#ef444426}html[data-dark-mode=system] .cal-block.sonderurlaub{background:#7c3aed26;color:#a78bfa}html[data-dark-mode=system] .cal-block.ueberstunden{background:#0d948826;color:#5eead4}html[data-dark-mode=system] .filter-chip{background:var(--hh-surface);border-color:var(--hh-border-strong)}html[data-dark-mode=system] .bradford-badge.bradford-serious{background:#ea580c26;color:#fb923c}html[data-dark-mode=system] .hh-table thead th,html[data-dark-mode=system] .div-table-header>div,html[data-dark-mode=system] .balance-thead{background:var(--hh-surface-variant)}html[data-dark-mode=system] .greeting-strip{background:var(--hh-surface);border-color:var(--hh-border)}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--hh-gray-100) 25%,var(--hh-gray-200) 50%,var(--hh-gray-100) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:8px;color:transparent!important;pointer-events:none;-webkit-user-select:none;user-select:none}.skeleton *{visibility:hidden}.skeleton-text{height:14px;margin-bottom:8px;border-radius:4px}.skeleton-text.short{width:40%}.skeleton-text.medium{width:65%}.skeleton-text.long{width:90%}.skeleton-avatar{width:40px;height:40px;border-radius:10px}.skeleton-card{height:120px;border-radius:14px}.skeleton-row{height:48px;margin-bottom:4px;border-radius:8px}@keyframes toast-slide-in{0%{transform:translate(100%) translateY(-10px);opacity:0}to{transform:translate(0) translateY(0);opacity:1}}@keyframes toast-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:10000;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-radius:12px;background:var(--hh-surface);border:1px solid var(--hh-border);box-shadow:var(--hh-card-shadow-lg);font-size:.875rem;font-weight:600;color:var(--hh-on-surface);pointer-events:auto;animation:toast-slide-in .3s cubic-bezier(.16,1,.3,1) forwards;max-width:380px}.toast.closing{animation:toast-slide-out .25s ease-in forwards}.toast-icon{font-size:1.125rem;flex-shrink:0}.toast.toast-success{border-left:4px solid var(--hh-success)}.toast.toast-success .toast-icon{color:var(--hh-success)}.toast.toast-error{border-left:4px solid var(--hh-danger)}.toast.toast-error .toast-icon{color:var(--hh-danger)}.toast.toast-warning{border-left:4px solid var(--hh-warning)}.toast.toast-warning .toast-icon{color:var(--hh-warning)}.toast.toast-info{border-left:4px solid var(--hh-info)}.toast.toast-info .toast-icon{color:var(--hh-info)}.btn:active,.card-action:active,.filter-chip:active,.tab-item:active,.page-btn:active,.row-btn:active{transform:scale(.97);transition-duration:.05s}@keyframes success-flash{0%{box-shadow:0 0 #10b9814d}50%{box-shadow:0 0 0 6px #10b9811a}to{box-shadow:0 0 #10b98100}}.success-flash{animation:success-flash .6s ease-out}.dashboard-content,.page-content{animation:fadeUp .3s ease both}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--hh-on-surface-muted)}.empty-state-icon{font-size:3rem;opacity:.3;margin-bottom:1rem}.empty-state-title{font-size:1.125rem;font-weight:700;color:var(--hh-on-surface-secondary);margin-bottom:.5rem}.empty-state-description{font-size:.875rem;max-width:320px;line-height:1.5}.stats-card .stats-label{font-size:.6875rem;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--hh-gray-400)}.stats-card .stats-icon{width:28px;height:28px;border-radius:8px;font-size:.8125rem}.stats-card .stats-value{font-size:1.625rem;letter-spacing:-1px}.stats-card .stats-sub{font-size:.6875rem;color:var(--hh-gray-400)}.stats-card .stats-change{font-size:.6875rem;padding:.125rem .5rem}.card-title{font-size:.875rem;font-weight:700}.card-meta{font-family:JetBrains Mono,monospace;font-size:.625rem;color:var(--hh-gray-400);background:var(--hh-gray-100);padding:.1875rem .5rem;border-radius:5px}.team-member{padding:.5625rem .5rem;gap:.625rem;margin:0 -.5rem;background:transparent}.team-member:hover{background:var(--hh-surface-variant)}.team-member .member-avatar{width:32px;height:32px;border-radius:9px;font-size:.6875rem}.team-member .member-name{font-size:.8125rem}.team-member .member-detail{font-size:.6875rem}.greeting-strip{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--hh-surface);border:1px solid var(--hh-border);border-radius:16px;margin-bottom:1.25rem}.dashboard-content{padding:1.5rem 2rem!important}.content-grid{gap:.875rem;margin-bottom:.875rem}.content-grid:not(.has-sidebar){grid-template-columns:5fr 3fr}.content-grid.has-sidebar>:last-child{position:sticky;top:1rem;align-self:start}.sidebar-section-label{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--hh-gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;padding-left:2px}vaadin-dialog-overlay[theme~=pdf-preview]::part(overlay){border-radius:16px;box-shadow:0 25px 50px -12px #00000059,0 0 0 1px #0000000d;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}vaadin-dialog-overlay[theme~=pdf-preview]::part(content){padding:0!important;overflow:hidden}vaadin-dialog-overlay[theme~=pdf-preview]::part(header){display:none}.pdf-preview-dialog::part(content){padding:0!important;overflow:hidden}.pdf-preview-dialog::part(header){display:none}vaadin-dialog-overlay[theme~=pdf-preview]::part(overlay){animation:pdfDialogIn .3s cubic-bezier(.16,1,.3,1)}@keyframes pdfDialogIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.settings-layout{display:flex;min-height:calc(100vh - 120px);gap:0}.settings-sidebar{width:240px;min-width:240px;border-right:1px solid var(--hh-border);padding:1.25rem 0;position:sticky;top:0;align-self:flex-start;max-height:calc(100vh - 80px);overflow-y:auto;background:var(--hh-surface)}.settings-sidebar-group-label{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--hh-on-surface-muted);padding:1.25rem 1.25rem .375rem}.settings-sidebar-group-label:first-child{padding-top:0}.settings-sidebar-item{display:flex;align-items:center;gap:.625rem;padding:.5rem 1.25rem;cursor:pointer;border-left:3px solid transparent;transition:all .15s ease;-webkit-user-select:none;user-select:none}.settings-sidebar-item:hover{background:var(--hh-gray-50);transform:translate(2px)}.settings-sidebar-item.active{background:#ff8c420f;border-left-color:var(--hh-primary)}.settings-sidebar-item.active .settings-sidebar-icon{color:var(--hh-primary)}.settings-sidebar-item.active .settings-sidebar-label{color:var(--hh-primary);font-weight:600}.settings-sidebar-icon{width:16px;height:16px;color:var(--hh-on-surface-muted);transition:color .15s ease;flex-shrink:0}.settings-sidebar-label{font-size:.8125rem;font-weight:500;color:var(--hh-on-surface);transition:color .15s ease,font-weight .15s ease}.settings-content{flex:1;padding:1rem 2rem;max-width:880px;min-width:0}.settings-content>*{animation:fadeUp .3s ease both}@media (max-width: 768px){.settings-layout{flex-direction:column}.settings-sidebar{width:100%;min-width:unset;max-height:unset;position:static;border-right:none;border-bottom:1px solid var(--hh-border);padding:.75rem 0;display:flex;flex-wrap:wrap;align-items:center;overflow-x:auto;gap:0}.settings-sidebar-group-label{padding:.5rem .75rem .25rem;font-size:.625rem;width:100%}.settings-sidebar-item{border-left:none;border-bottom:3px solid transparent;padding:.5rem .75rem;white-space:nowrap}.settings-sidebar-item.active{border-bottom-color:var(--hh-primary);border-left-color:transparent}.settings-sidebar-item:hover{transform:none}.settings-content{padding:1rem}}[data-dark-mode=on] .settings-sidebar{background:var(--hh-surface);border-right-color:var(--hh-border)}[data-dark-mode=on] .settings-sidebar-item:hover{background:#ffffff0a}[data-dark-mode=on] .settings-sidebar-item.active{background:#ff8c421a}@media (prefers-color-scheme: dark){[data-dark-mode=system] .settings-sidebar{background:var(--hh-surface);border-right-color:var(--hh-border)}[data-dark-mode=system] .settings-sidebar-item:hover{background:#ffffff0a}[data-dark-mode=system] .settings-sidebar-item.active{background:#ff8c421a}}.billing-content{display:flex;flex-direction:column;gap:1.25rem;max-width:880px}.billing-content>*:nth-child(1){animation:fadeUp .4s ease .05s both}.billing-content>*:nth-child(2){animation:fadeUp .4s ease .15s both}.billing-content>*:nth-child(3){animation:fadeUp .4s ease .25s both}.billing-content>*:nth-child(4){animation:fadeUp .4s ease .35s both}.billing-hero{background:var(--hh-surface);border-radius:14px;padding:1.25rem 1.5rem;box-shadow:var(--hh-card-shadow);border:1px solid var(--hh-border);border-left:4px solid var(--hh-violet, #8B5CF6);position:relative;overflow:hidden;transition:all .25s ease}.billing-hero:hover{box-shadow:var(--hh-card-shadow-md)}.billing-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.billing-hero-info{flex:1;min-width:250px}.billing-hero .plan-name{font-size:1.375rem;font-weight:800;color:var(--hh-on-surface);margin:0 0 .375rem;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}.billing-hero .plan-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.billing-hero-pricing{text-align:right;min-width:180px}.billing-hero-pricing .price-main{font-family:JetBrains Mono,monospace;font-size:1.75rem;font-weight:800;color:var(--hh-on-surface);line-height:1;letter-spacing:-.02em}.billing-hero-pricing .price-suffix{font-family:Outfit,sans-serif;font-size:.875rem;font-weight:500;color:var(--hh-on-surface-muted);margin-left:.25rem}.billing-hero-pricing .price-breakdown{font-size:.8125rem;color:var(--hh-on-surface-muted);margin-top:.375rem}.billing-hero-meta{display:flex;gap:2rem;margin-top:1.25rem;flex-wrap:wrap}.billing-meta-item{display:flex;flex-direction:column;gap:.25rem}.billing-meta-item .meta-label{font-size:.6875rem;font-weight:600;color:var(--hh-on-surface-muted);text-transform:uppercase;letter-spacing:.05em}.billing-meta-item .meta-value{font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:600;color:var(--hh-on-surface)}.billing-cycle{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--hh-border)}.billing-cycle .cycle-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.billing-cycle .cycle-label{font-size:.75rem;font-weight:600;color:var(--hh-on-surface-muted);text-transform:uppercase;letter-spacing:.05em}.billing-cycle .cycle-value{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;color:var(--hh-on-surface-secondary)}.billing-hero.trial{border-top-color:var(--hh-warning, #F59E0B)}.billing-hero.past-due,.billing-hero.cancelled{border-top-color:var(--hh-danger, #EF4444)}.billing-warning{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:10px;font-size:.8125rem;font-weight:600;margin-top:1rem}.billing-warning.danger{background:#ef444414;color:var(--hh-danger-text, #991B1B)}.billing-warning.warning{background:#f59e0b14;color:var(--hh-warning-text, #92400E)}.billing-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.875rem;padding-bottom:.75rem;border-bottom:1px solid var(--hh-border)}.billing-section-title{font-size:1rem;font-weight:700;color:var(--hh-on-surface);margin:0}.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.625rem}.plan-card{background:var(--hh-surface);border-radius:12px;padding:1rem;border:2px solid var(--hh-border);position:relative;transition:all .25s ease;display:flex;flex-direction:column}.plan-card:hover{border-color:var(--hh-border-strong);box-shadow:var(--hh-card-shadow-md);transform:translateY(-2px)}.plan-card.current{border-color:var(--hh-violet, #8B5CF6);box-shadow:0 0 0 1px var(--hh-violet, #8B5CF6),var(--hh-card-shadow)}.plan-card.popular{border-color:var(--hh-primary)}.plan-card .plan-badge{position:absolute;top:-1px;right:1.25rem;padding:.25rem .75rem;border-radius:0 0 8px 8px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.plan-card.current .plan-badge{background:var(--hh-violet, #8B5CF6);color:#fff}.plan-card.popular .plan-badge{background:var(--hh-primary);color:#fff}.plan-card .plan-card-name{font-size:.9375rem;font-weight:700;color:var(--hh-on-surface);margin:.375rem 0 .5rem}.plan-card .plan-price{font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:800;color:var(--hh-on-surface);line-height:1;margin-bottom:.125rem}.plan-card .plan-price-sub{font-size:.6875rem;color:var(--hh-on-surface-muted);margin-bottom:1rem;display:block}.plan-card .plan-features{list-style:none;padding:0;margin:0 0 1rem;flex:1}.plan-card .plan-features li{display:flex;align-items:flex-start;gap:.375rem;padding:.2rem 0;font-size:.75rem;color:var(--hh-on-surface-secondary);line-height:1.35}.plan-card .plan-features li .feature-check{color:var(--hh-success, #10B981);font-weight:700;flex-shrink:0;margin-top:1px}.addon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.addon-card{background:var(--hh-surface);border-radius:12px;padding:1rem;border:1px solid var(--hh-border);display:flex;align-items:flex-start;gap:.75rem;transition:all .25s ease}.addon-card:hover{border-color:var(--hh-border-strong);box-shadow:var(--hh-card-shadow)}.addon-card.active{border-color:var(--hh-success, #10B981);background:#10b98105}.addon-card .addon-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0}.addon-card .addon-info{flex:1;min-width:0}.addon-card .addon-name{font-size:.9375rem;font-weight:700;color:var(--hh-on-surface);margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.addon-card .addon-desc{font-size:.8125rem;color:var(--hh-on-surface-muted);line-height:1.4;margin-bottom:.5rem}.addon-card .addon-price{font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:700;color:var(--hh-violet, #8B5CF6)}.addon-card .addon-action{flex-shrink:0;align-self:center}.billing-actions{display:flex;gap:.75rem;flex-wrap:wrap}.billing-action-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:12px;font-size:.875rem;font-weight:600;border:1.5px solid var(--hh-border-strong);background:var(--hh-surface);color:var(--hh-on-surface);cursor:pointer;transition:all .2s ease;font-family:inherit}.billing-action-btn:hover{border-color:var(--hh-gray-300, #CBD5E1);background:var(--hh-surface-variant);transform:translateY(-1px);box-shadow:var(--hh-card-shadow)}.billing-action-btn.danger{color:var(--hh-danger, #EF4444);border-color:#ef444433}.billing-action-btn.danger:hover{background:#ef44440f;border-color:var(--hh-danger, #EF4444)}@media (max-width: 1200px){.plan-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 800px){.addon-grid{grid-template-columns:1fr}}@media (max-width: 600px){.plan-grid{grid-template-columns:1fr}.billing-hero-top{flex-direction:column}.billing-hero-pricing{text-align:left}.billing-hero-meta{gap:1rem}.billing-actions{flex-direction:column}.billing-hero{padding:1.5rem}}.radar-member-card,.radar-project-card,.radar-nearest-card{transition:all .15s ease;border-radius:10px;position:relative}.radar-member-card:hover,.radar-project-card:hover{background:var(--hh-gray-50, #F8FAFC)!important;transform:translateY(-1px);box-shadow:0 2px 8px #0f172a0f}.radar-nearest-card{border:1px solid var(--hh-border, #F1F5F9)}.radar-nearest-card:hover{border-color:var(--hh-primary);box-shadow:0 2px 8px #ff8c421a}.radar-actions{opacity:0;transition:opacity .15s ease}.radar-member-card:hover .radar-actions,.radar-project-card:hover .radar-actions{opacity:1}.pulse-dot{animation:radarPulse 2s infinite}@keyframes radarPulse{0%,to{opacity:1;box-shadow:0 0 #10b98166}50%{opacity:.8;box-shadow:0 0 0 4px #10b98100}}.radar-filter-chip{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;border:1px solid var(--hh-border, #E2E8F0);background:var(--hh-white, #FFFFFF);color:var(--hh-gray-600, #475569)}.radar-filter-chip:hover{border-color:var(--hh-primary);color:var(--hh-primary)}.radar-filter-chip.active{background:var(--hh-primary);color:#fff;border-color:var(--hh-primary)}.radar-status-summary{display:flex;gap:12px;font-size:12px;color:var(--hh-gray-500);flex-wrap:wrap}.radar-status-summary .status-item{display:flex;align-items:center;gap:4px}.radar-empty-state{padding:32px 16px;text-align:center;color:var(--hh-gray-400);font-size:14px}.radar-empty-state vaadin-icon{color:var(--hh-gray-300);margin-bottom:8px}.radar-skeleton{background:linear-gradient(90deg,var(--hh-gray-100) 25%,var(--hh-gray-50) 50%,var(--hh-gray-100) 75%);background-size:200% 100%;animation:radarShimmer 1.5s infinite;border-radius:10px;height:52px;margin-bottom:4px}@keyframes radarShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.radar-map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;background:#ffffffe6;padding:16px 24px;border-radius:12px;box-shadow:var(--hh-card-shadow-md)}.team-radar-view .radar-sidebar::-webkit-scrollbar,.einsatzkarte-view .radar-sidebar::-webkit-scrollbar{width:4px}.team-radar-view .radar-sidebar::-webkit-scrollbar-thumb,.einsatzkarte-view .radar-sidebar::-webkit-scrollbar-thumb{background:var(--hh-gray-200);border-radius:2px}.hq-marker,.einsatzkarte-cluster-icon{background:none!important;border:none!important}.einsatzkarte-route-tooltip{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;background:#0f172ae6;color:#fff;border:none;border-radius:6px;padding:4px 8px}.einsatzkarte-route-tooltip:before{border-top-color:#0f172ae6}.weather-container{margin-bottom:16px}.weather-card{padding:0!important;overflow:hidden}.weather-current{display:flex;align-items:center;gap:16px;padding:20px 24px}.weather-icon-lg{font-size:2.5rem;line-height:1}.weather-info{flex:1;min-width:0}.weather-temp{display:block;font-family:JetBrains Mono,monospace;font-size:1.75rem;font-weight:700;color:var(--hh-ink);line-height:1.1}.weather-desc{display:block;font-size:.875rem;color:var(--hh-gray-600);font-weight:500;margin-top:2px}.weather-location{display:block;font-size:.75rem;color:var(--hh-gray-400);margin-top:2px}.weather-details{display:flex;flex-direction:column;gap:2px;text-align:right}.weather-forecast{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hh-border, #F1F5F9)}.weather-forecast-day{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;transition:background .15s ease}.weather-forecast-day:not(:last-child){border-right:1px solid var(--hh-border, #F1F5F9)}.weather-forecast-day:hover{background:var(--hh-gray-50)}.weather-forecast-day.risk{background:var(--hh-danger-light, #FEE2E2)}.weather-forecast-day.risk:hover{background:#fecaca}.forecast-day-name{font-size:.7rem;font-weight:600;color:var(--hh-gray-500);text-transform:uppercase;letter-spacing:.5px}.forecast-temp{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:500;color:var(--hh-gray-600)}.weather-risk-banner{display:flex;align-items:center;padding:10px 20px;background:linear-gradient(90deg,var(--hh-danger-light, #FEE2E2),rgba(254,226,226,.5));color:var(--hh-danger-text, #991B1B);font-size:.8rem;border-bottom:1px solid rgba(239,68,68,.15)}@media (max-width: 768px){.weather-current{padding:14px 16px;gap:12px}.weather-icon-lg{font-size:2rem}.weather-temp{font-size:1.4rem}.weather-forecast-day{padding:8px 4px}}.weather-card-premium{border-radius:16px;overflow:hidden;transition:all .3s ease;border:none!important;box-shadow:0 4px 24px #00000014,0 1px 2px #0000000a}.weather-card-premium:hover{box-shadow:0 8px 32px #0000001f,0 2px 4px #0000000f;transform:translateY(-2px)}.weather-card-premium .weather-current-premium{padding:1.5rem 1.75rem;display:flex;align-items:center;gap:1.25rem}.weather-card-premium .weather-icon-hero{font-size:2.75rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.weather-card-premium .weather-icon-hero.risk-float{animation:weather-float 3s ease-in-out infinite}.weather-card-premium .weather-temp-hero{font-family:JetBrains Mono,monospace;font-size:2.5rem;font-weight:800;letter-spacing:-.04em;line-height:1}.weather-card-premium .weather-temp-hero .temp-degree{font-size:1.5rem;font-weight:500;opacity:.7;vertical-align:super}.weather-card-premium .weather-desc-premium{font-size:.875rem;font-weight:500;margin-top:4px;opacity:.85}.weather-card-premium .weather-location-premium{font-size:.75rem;margin-top:2px;opacity:.6}.weather-card-premium .weather-meta{display:flex;flex-direction:column;gap:3px;font-size:.75rem;opacity:.75;text-align:right;margin-left:auto}.weather-card-premium .weather-forecast-premium{display:grid;grid-template-columns:repeat(4,1fr);background:#ffffff1f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.15)}.weather-card-premium .weather-forecast-day-premium{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;transition:background .15s ease;color:inherit}.weather-card-premium .weather-forecast-day-premium:not(:last-child){border-right:1px solid rgba(255,255,255,.1)}.weather-card-premium .weather-forecast-day-premium:hover{background:#ffffff14}.weather-card-premium .weather-forecast-day-premium.risk{background:#ef444433}.weather-card-premium .forecast-day-name-premium{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.weather-card-premium .forecast-icon-premium{font-size:1.25rem}.weather-card-premium .forecast-temp-premium{font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:500;opacity:.85}.weather-card-premium .weather-risk-banner-premium{display:flex;align-items:center;padding:10px 20px;background:#ef4444e6;color:#fff;font-size:.8rem;font-weight:600;gap:6px;animation:risk-pulse 3s ease-in-out infinite}@keyframes risk-pulse{0%,to{opacity:1}50%{opacity:.85}}@keyframes weather-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (max-width: 768px){.weather-card-premium .weather-current-premium{padding:1.25rem;gap:1rem}.weather-card-premium .weather-icon-hero,.weather-card-premium .weather-temp-hero{font-size:2rem}.weather-card-premium .weather-forecast-premium{grid-template-columns:repeat(2,1fr)}}.radar-weather-overlay{background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:10px;padding:8px 12px;box-shadow:0 2px 12px #0000001a,0 0 0 1px #0000000a;font-family:Outfit,sans-serif;font-size:12px;min-width:160px;line-height:1.4;color:var(--hh-ink, #0F172A)}.radar-weather-overlay.has-risk{border:2px solid var(--hh-danger, #EF4444);box-shadow:0 2px 12px #ef444433,0 0 0 1px #ef44441a}.radar-weather-overlay .overlay-main{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px}.radar-weather-overlay .overlay-main .overlay-temp{font-family:JetBrains Mono,monospace;font-weight:700}.radar-weather-overlay .overlay-details{display:flex;gap:8px;margin-top:3px;font-size:11px;color:var(--hh-gray-500, #64748B)}.radar-weather-overlay .overlay-risk{color:var(--hh-danger, #EF4444);font-weight:600;font-size:11px;margin-top:3px}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--hh-gray-100) 25%,var(--hh-gray-50) 50%,var(--hh-gray-100) 75%);background-size:800px 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px}.skeleton-card{background:var(--hh-surface);border-radius:14px;padding:18px;border:1px solid var(--hh-border)}.skeleton-line{height:14px;margin-bottom:10px;border-radius:6px}.skeleton-line.short{width:40%}.skeleton-line.medium{width:65%}.skeleton-line.long{width:90%}.skeleton-line.full{width:100%}.skeleton-circle{border-radius:50%}.skeleton-stat{height:36px;width:120px;border-radius:8px;margin-bottom:8px}.skeleton-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;width:100%}@media (max-width: 1200px){.skeleton-grid{grid-template-columns:repeat(2,1fr)}}html[data-dark-mode=on] .skeleton,html[data-dark-mode=system] .skeleton{background:linear-gradient(90deg,var(--hh-gray-800) 25%,var(--hh-gray-700) 50%,var(--hh-gray-800) 75%);background-size:800px 100%}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;min-height:300px}.empty-state-icon{width:72px;height:72px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;background:var(--hh-gray-100);color:var(--hh-gray-400)}.empty-state-icon vaadin-icon{width:32px;height:32px}.empty-state-title{font-size:1.125rem;font-weight:700;color:var(--hh-on-surface);margin:0 0 .5rem}.empty-state-subtitle{font-size:.9375rem;color:var(--hh-on-surface-muted);max-width:360px;margin:0 0 1.5rem;line-height:1.5}.empty-state-action{background:var(--hh-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:.5rem}.empty-state-action:hover{background:var(--hh-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #ff8c4240}.breadcrumbs{display:flex;align-items:center;gap:.375rem;padding:.5rem 0;font-size:.8125rem;color:var(--hh-on-surface-muted)}.breadcrumb-item{color:var(--hh-on-surface-muted);text-decoration:none;font-weight:500;transition:color .12s;cursor:pointer}.breadcrumb-item:hover{color:var(--hh-primary)}.breadcrumb-item.current{color:var(--hh-on-surface);font-weight:600;cursor:default}.breadcrumb-separator{color:var(--hh-gray-300);font-size:.75rem;-webkit-user-select:none;user-select:none}.command-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.command-palette{background:var(--hh-surface);border-radius:16px;width:580px;max-width:90vw;max-height:480px;overflow:hidden;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px var(--hh-border);animation:slideDown .2s ease;display:flex;flex-direction:column}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.command-palette-input{display:flex;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--hh-border);gap:.75rem}.command-palette-input vaadin-icon{color:var(--hh-gray-400);width:20px;height:20px;flex-shrink:0}.command-palette-input input{border:none;background:none;font-family:Outfit,sans-serif;font-size:1rem;font-weight:500;color:var(--hh-on-surface);width:100%;outline:none}.command-palette-input input::placeholder{color:var(--hh-gray-400)}.command-palette-input .cmd-k-hint{font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:600;color:var(--hh-gray-400);background:var(--hh-gray-100);padding:.25rem .5rem;border-radius:6px;white-space:nowrap}.command-palette-results{overflow-y:auto;flex:1;padding:.5rem}.command-palette-category{padding:.5rem .75rem .375rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--hh-gray-400)}.command-palette-item{display:flex;align-items:center;padding:.625rem .75rem;border-radius:10px;cursor:pointer;transition:background .1s;gap:.75rem}.command-palette-item:hover,.command-palette-item.selected{background:var(--hh-gray-100)}.command-palette-item-icon{width:32px;height:32px;min-width:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.875rem}.command-palette-item-icon.projekt{background:#ff8c421a;color:var(--hh-primary)}.command-palette-item-icon.kunde{background:var(--hh-info-light);color:var(--hh-info)}.command-palette-item-icon.rechnung{background:var(--hh-violet-light);color:var(--hh-violet)}.command-palette-item-icon.mitarbeiter{background:var(--hh-success-light);color:var(--hh-success)}.command-palette-item-icon.aktion{background:#ff8c421a;color:var(--hh-primary)}.command-palette-item-text{flex:1;min-width:0}.command-palette-item-title{font-weight:600;font-size:.875rem;color:var(--hh-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-palette-item-subtitle{font-size:.75rem;color:var(--hh-on-surface-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-palette-item-shortcut{font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:600;color:var(--hh-gray-400);background:var(--hh-gray-100);padding:.1875rem .5rem;border-radius:5px;white-space:nowrap}.command-palette-footer{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;border-top:1px solid var(--hh-border);font-size:.6875rem;color:var(--hh-gray-400)}.command-palette-footer kbd{font-family:JetBrains Mono,monospace;font-size:.625rem;background:var(--hh-gray-100);padding:.125rem .375rem;border-radius:4px;margin:0 .125rem}.command-palette-empty{text-align:center;padding:2rem 1rem;color:var(--hh-gray-400);font-size:.875rem}html[data-dark-mode=on] .command-palette-overlay{background:#0009}html[data-dark-mode=on] .command-palette-item:hover,html[data-dark-mode=on] .command-palette-item.selected{background:var(--hh-gray-700)}.shortcuts-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.shortcuts-panel{background:var(--hh-surface);border-radius:16px;width:480px;max-width:90vw;max-height:80vh;overflow-y:auto;padding:1.5rem;box-shadow:0 25px 50px -12px #00000040}.shortcuts-panel h3{font-size:1.125rem;font-weight:700;margin:0 0 1.25rem;color:var(--hh-on-surface)}.shortcut-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--hh-border)}.shortcut-row:last-child{border-bottom:none}.shortcut-label{font-size:.875rem;color:var(--hh-on-surface-secondary)}.shortcut-keys{display:flex;gap:.25rem}.shortcut-keys kbd{font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:600;background:var(--hh-gray-100);color:var(--hh-gray-600);padding:.25rem .5rem;border-radius:6px;border:1px solid var(--hh-gray-200);min-width:24px;text-align:center}.undo-toast{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--hh-ink);color:#fff;border-radius:10px;font-size:.875rem;font-weight:500;box-shadow:0 10px 25px #00000026}.undo-toast-action{background:none;border:none;color:var(--hh-primary);font-weight:700;font-size:.875rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background .12s}.undo-toast-action:hover{background:#ff8c4226}.bulk-actions-bar{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:var(--hh-primary-subtle);border:1px solid rgba(255,140,66,.2);border-radius:12px;margin-bottom:1rem;animation:fadeUp .2s ease}.bulk-actions-count{font-weight:700;font-size:.875rem;color:var(--hh-primary);white-space:nowrap}.bulk-actions-buttons{display:flex;gap:.5rem;flex:1}.bulk-action-btn{background:var(--hh-surface);border:1px solid var(--hh-border);border-radius:8px;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;color:var(--hh-on-surface);cursor:pointer;transition:all .12s;display:inline-flex;align-items:center;gap:.375rem}.bulk-action-btn:hover{border-color:var(--hh-primary);color:var(--hh-primary)}.bulk-actions-close{background:none;border:none;color:var(--hh-gray-400);cursor:pointer;padding:.25rem;border-radius:6px;display:flex;align-items:center;justify-content:center}.bulk-actions-close:hover{background:var(--hh-gray-100);color:var(--hh-gray-600)}.activity-feed{display:flex;flex-direction:column;gap:0}.activity-item{display:flex;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--hh-border);transition:background .12s}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:var(--hh-gray-50);margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem;border-radius:8px}.activity-avatar{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.6875rem;color:#fff;flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-text{font-size:.8125rem;color:var(--hh-on-surface);line-height:1.4}.activity-text strong{font-weight:600}.activity-time{font-family:JetBrains Mono,monospace;font-size:.6875rem;color:var(--hh-gray-400);margin-top:.25rem}@media (max-width: 768px){.command-palette{width:100%;max-width:100vw;border-radius:0 0 16px 16px;max-height:70vh}.command-palette-overlay{padding-top:0;align-items:flex-start}.stats-grid,.content-grid,.content-grid.has-sidebar{grid-template-columns:1fr}.customer-kpi-grid{grid-template-columns:1fr 1fr}.page-title{font-size:1.5rem}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem}.header-actions{width:100%;flex-wrap:wrap}.breadcrumbs{display:none}.bulk-actions-bar{flex-wrap:wrap}.bulk-actions-buttons{width:100%;flex-wrap:wrap}.card,.content-card{padding:1rem}.dashboard-content{padding:1rem!important}.shortcuts-panel{width:100%;max-width:100vw;border-radius:0;max-height:100vh}}@media (min-width: 768px) and (max-width: 1024px){.stats-grid,.skeleton-grid,.customer-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1400px){.dashboard-content{padding:2rem 3rem!important}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px}}@media print{vaadin-app-layout::part(drawer),vaadin-app-layout::part(navbar),.sidebar-logo,.sidebar-footer,.nav-section-label,vaadin-side-nav,.skip-link,.command-palette-overlay,.shortcuts-overlay,.bulk-actions-bar,.seasonal-decorations,.card-action,.header-actions,.page-header button,vaadin-button,.notification-center{display:none!important}vaadin-app-layout [slot=""],.dashboard-content{margin:0!important;padding:0!important;width:100%!important}body,html,.dashboard-content,.card,.content-card,.stats-card{background:#fff!important;color:#000!important;box-shadow:none!important;border-color:#ddd!important}.page-title{font-size:1.5rem;color:#000!important;margin-bottom:1rem}.stats-grid{grid-template-columns:repeat(4,1fr);gap:8px;page-break-inside:avoid}.stats-card{border:1px solid #ddd!important;padding:8px!important}.stats-card .stats-value{font-size:1.5rem}vaadin-grid{border:1px solid #ddd}.content-grid{grid-template-columns:1fr}.mono,.mono-font,.stats-value,.timer-value{font-family:JetBrains Mono,Courier New,monospace!important}a[href]:after{content:" (" attr(href) ")";font-size:.75rem;color:#666}.card,.content-card{page-break-inside:avoid}h2,h3{page-break-after:avoid}.invoice-header{page-break-inside:avoid}.invoice-footer{position:fixed;bottom:0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none!important;background:var(--hh-gray-100)!important}.pulse-active .status-dot{animation:none!important}}@media (prefers-contrast: high){:root{--hh-border: #999;--hh-border-strong: #666;--hh-gray-400: #555;--hh-gray-500: #333}.stats-card,.card,.content-card{border-width:2px}.status-badge{border:1px solid currentColor}:focus-visible{outline-width:3px;outline-offset:3px}}.dashboard-sections-container{display:flex;flex-direction:column}.dashboard-section{position:relative;border:2px solid transparent;border-radius:16px;transition:border-color .2s ease,background .2s ease,opacity .2s ease,transform .15s ease}.dashboard-section .drag-handle{display:none;position:absolute;top:10px;right:10px;cursor:grab;color:var(--hh-gray-400);padding:4px 10px;border-radius:8px;background:var(--hh-gray-100);font-size:18px;font-weight:700;z-index:10;line-height:1;-webkit-user-select:none;user-select:none;transition:color .15s,background .15s}.dashboard-section .drag-handle:hover{color:var(--hh-primary);background:var(--hh-primary-light)}.dashboard-section.edit-mode{border:2px dashed var(--hh-gray-200);border-radius:16px;cursor:grab;margin-bottom:.5rem}.dashboard-section.edit-mode:hover{border-color:var(--hh-primary)}.dashboard-section.edit-mode .drag-handle{display:flex;align-items:center;justify-content:center}.dashboard-section.dragging{opacity:.4;transform:scale(.98)}.dashboard-section.drag-over{border-color:var(--hh-primary)!important;border-style:solid!important;background:#ff8c420a}.dashboard-edit-toolbar{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--hh-ink, #0F172A);color:#fff;padding:.75rem 1.5rem;border-radius:14px;display:flex;gap:.75rem;align-items:center;box-shadow:0 10px 40px #00000040;z-index:100;animation:dashboardEditFadeUp .2s ease;white-space:nowrap}@keyframes dashboardEditFadeUp{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dashboard-edit-btn:hover{color:var(--hh-primary)!important;border-color:var(--hh-primary)!important}@media (max-width: 768px){.dashboard-edit-toolbar{padding:.5rem 1rem;gap:.5rem;font-size:.8rem;bottom:1rem}}.invoice-item-row{position:relative;transition:transform .15s,opacity .15s}.invoice-item-row .item-drag-handle{cursor:grab;color:var(--hh-gray-300);padding:4px 2px;font-size:18px;-webkit-user-select:none;user-select:none;line-height:1;align-self:center;transition:color .12s}.invoice-item-row .item-drag-handle:hover{color:var(--hh-gray-500)}.invoice-item-row .item-drag-handle:active{cursor:grabbing}.invoice-item-row.dragging{opacity:.4;transform:scale(.98)}.invoice-item-row.drag-over-above{border-top:2px solid var(--hh-primary);padding-top:0}.invoice-item-row.drag-over-below{border-bottom:2px solid var(--hh-primary);padding-bottom:0}.kanban-board{display:flex;gap:1rem;overflow-x:auto;padding:1rem 0;min-height:400px;align-items:flex-start}.kanban-column{flex:1;min-width:250px;max-width:320px;background:var(--hh-gray-50);border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.5rem;transition:background .2s,border-color .2s;border:2px solid transparent}.kanban-column-header{font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--hh-gray-500);padding:.5rem;display:flex;justify-content:space-between;align-items:center}.kanban-column-header .count{font-family:JetBrains Mono,monospace;font-size:.75rem;background:var(--hh-gray-200);padding:.125rem .5rem;border-radius:10px;color:var(--hh-gray-600)}.kanban-card{background:var(--hh-surface);border:1px solid var(--hh-border);border-radius:10px;padding:.75rem;cursor:grab;transition:all .15s}.kanban-card:hover{box-shadow:var(--hh-card-shadow-md);transform:translateY(-1px)}.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.4;transform:rotate(2deg) scale(.95)}.kanban-column.drag-over{background:#ff8c420d;border:2px dashed var(--hh-primary)}.kanban-card-title{font-weight:600;font-size:.875rem;margin-bottom:.25rem;color:var(--hh-on-surface)}.kanban-card-meta{font-size:.75rem;color:var(--hh-gray-500)}.kanban-card-meta .mono{font-family:JetBrains Mono,monospace}.list-item-bar{width:3px;border-radius:3px;flex-shrink:0}.list-item-bar.bar-success{background:var(--hh-success, #10B981)}.list-item-bar.bar-primary{background:var(--hh-primary, #FF8C42)}.list-item-bar.bar-warning{background:var(--hh-warning, #F59E0B)}.list-item-bar.bar-error{background:var(--hh-danger, #EF4444)}.list-item-bar.bar-info{background:var(--hh-info, #38BDF8)}.list-item-bar.bar-violet{background:var(--hh-violet, #8B5CF6)}.greeting-avatar{width:40px;height:40px;min-width:40px;border-radius:12px;background:linear-gradient(135deg,var(--hh-primary),var(--hh-primary-dark));color:#fff;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;line-height:1}.greeting-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;transition:transform .2s ease}.greeting-pill:hover{transform:scale(1.05)}.greeting-pill .live-dot{width:6px;height:6px;border-radius:50%;background:var(--hh-success);display:inline-block;animation:pulse 2s infinite}.greeting-pill.active-green{background:var(--hh-success-light);color:var(--hh-success-text)}.greeting-pill.sick{background:var(--hh-danger-light);color:var(--hh-danger-text)}.greeting-pill.vacation{background:var(--hh-info-light);color:var(--hh-info-text)}.sparkline{display:flex;align-items:flex-end;gap:2px;height:24px;margin-top:8px}.sparkline-bar{flex:1;border-radius:2px;transition:transform .15s ease;min-height:2px}.sparkline-bar.bar-past{background:var(--hh-gray-200, #E2E8F0)}.sparkline-bar.bar-recent{background:#ff8c4266}.sparkline-bar.bar-today{background:var(--hh-primary, #FF8C42);box-shadow:0 2px 8px #ff8c4233}.sparkline-bar:hover{transform:scaleY(1.15)}.cockpit-content{animation:fadeUp .3s ease both}.cockpit-bar-chart{display:flex;align-items:flex-end;gap:.5rem;height:220px;padding:1rem 0}.cockpit-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:.375rem}.cockpit-bar{width:100%;max-width:48px;background:var(--hh-primary);border-radius:6px 6px 0 0;min-height:4px;transition:height .4s ease,background .15s ease;opacity:.8}.cockpit-bar:hover{opacity:1;background:var(--hh-primary-dark)}.cockpit-bar-label{font-size:.625rem;color:var(--hh-on-surface-muted);text-align:center;white-space:nowrap}.cockpit-bar-amount{font-size:.5625rem;color:var(--hh-on-surface-muted);text-align:center;white-space:nowrap}.cockpit-action-list{display:flex;flex-direction:column;gap:.5rem}.cockpit-action-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-radius:10px;background:var(--hh-surface-variant);transition:background .15s ease}.cockpit-action-item:hover{background:var(--hh-gray-100)}.cockpit-mini-table{width:100%}.cockpit-table-header,.cockpit-table-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr;gap:.75rem;padding:.5rem 0;align-items:center}.cockpit-table-header{border-bottom:1px solid var(--hh-border-strong);padding-bottom:.625rem;margin-bottom:.25rem}.cockpit-table-row{border-bottom:1px solid var(--hh-border)}.cockpit-table-row:last-child{border-bottom:none}.cockpit-cell-right{text-align:right}.cockpit-suggestion-card{transition:transform .15s ease,box-shadow .15s ease}.cockpit-suggestion-card:hover{transform:translateY(-2px);box-shadow:var(--hh-card-shadow-md)}@media (max-width: 768px){.cockpit-bar-chart{height:160px}.cockpit-bar-amount{display:none}.cockpit-table-header,.cockpit-table-row{grid-template-columns:1fr 1fr}.cockpit-table-header>*:nth-child(n+3),.cockpit-table-row>*:nth-child(n+3){display:none}}a,button,vaadin-button,vaadin-tab,vaadin-checkbox,[role=button],[role=link],[role=tab],.card,.stats-card,.nav-item,.filter-pill,vaadin-side-nav-item,vaadin-list-box vaadin-item{transition:all .15s cubic-bezier(.4,0,.2,1)}*:focus-visible{outline:2px solid var(--hh-primary, #FF8C42)!important;outline-offset:2px;border-radius:4px}button:focus-visible,vaadin-button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--hh-primary, #FF8C42);outline-offset:3px}.card:hover,.stats-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a14}vaadin-button[theme~=primary]:hover:not([disabled]){transform:translateY(-1px);box-shadow:0 4px 12px #ff8c4240}.muted,.text-muted,.empty-state-subtitle,.card-subtitle{color:var(--hh-gray-700, #334155)!important}.empty-state{padding:2.5rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:empty-state-fade-in .3s ease-out}.empty-state-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--hh-primary-light, #FFF4ED),#FFFFFF);display:flex;align-items:center;justify-content:center;color:var(--hh-primary, #FF8C42);margin-bottom:.5rem}.empty-state-title{font-size:1rem;font-weight:600;color:var(--hh-ink, #0F172A);margin:0}.empty-state-subtitle{font-size:.875rem;color:var(--hh-gray-700, #334155);margin:0;max-width:320px;line-height:1.5}.empty-state-action{margin-top:1rem}@keyframes empty-state-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}main h2.page-title,main>h2:first-of-type{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--hh-ink, #0F172A);margin:0 0 .25rem}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-card,[class*=skeleton]{animation:skeleton-pulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--hh-gray-100, #F1F5F9) 25%,var(--hh-gray-200, #E2E8F0) 50%,var(--hh-gray-100, #F1F5F9) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}vaadin-notification-card[slot]{animation:toast-slide-in .25s cubic-bezier(.4,0,.2,1)}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}vaadin-notification-container>vaadin-notification-card:nth-of-type(n+3){display:none!important}vaadin-notification-card{cursor:pointer;transition:opacity .2s ease,transform .2s ease}vaadin-notification-card:hover{opacity:.85;transform:translateY(-1px)}vaadin-notification-card[slot]{animation:toast-slide-in .25s cubic-bezier(.4,0,.2,1),toast-auto-fade .2s ease-out 3.8s forwards}@keyframes toast-auto-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px);pointer-events:none}}@media (max-width: 768px){vaadin-notification-card[slot]{font-size:14px!important;max-width:90vw!important;margin-top:8px!important}vaadin-notification-container>vaadin-notification-card:nth-of-type(n+2){display:none!important}}.status-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.01em;line-height:1;transition:all .15s ease}[data-theme=dark]{--hh-primary: #FF9D5A;--hh-primary-dark: #FF7A1A;--hh-primary-light: #3D2A1A;--hh-primary-subtle: #2A1F12;--hh-ink: #F1F5F9;--hh-bg: #0F172A;--hh-surface: #1E293B;--hh-border-subtle: #334155;--hh-border-strong: #475569;--hh-gray-50: #1E293B;--hh-gray-100: #334155;--hh-gray-200: #475569;--hh-gray-500: #94A3B8;--hh-gray-600: #CBD5E1;--hh-gray-700: #E2E8F0;--hh-on-surface: #F1F5F9;--hh-on-surface-muted: #94A3B8;--hh-success: #34D399;--hh-success-light: #064E3B;--hh-warning: #FBBF24;--hh-warning-light: #451A03;--hh-error: #F87171;--hh-error-light: #450A0A;--hh-info: #60A5FA;--hh-info-light: #172554;--hh-violet: #A78BFA;--lumo-base-color: #0F172A;--lumo-body-text-color: #F1F5F9;--lumo-secondary-text-color: #CBD5E1;--lumo-tertiary-text-color: #94A3B8;--lumo-contrast-5pct: rgba(255, 255, 255, .05);--lumo-contrast-10pct: rgba(255, 255, 255, .1);--lumo-contrast-20pct: rgba(255, 255, 255, .2);color-scheme:dark}[data-theme=dark] body,[data-theme=dark] .dashboard-content{background:var(--hh-bg);color:var(--hh-on-surface)}[data-theme=dark] .card,[data-theme=dark] .stats-card,[data-theme=dark] vaadin-grid::part(row),[data-theme=dark] vaadin-dialog-overlay::part(overlay){background:var(--hh-surface);border-color:var(--hh-border-subtle);color:var(--hh-on-surface)}[data-theme=dark] .empty-state-icon{background:linear-gradient(135deg,var(--hh-primary-light),var(--hh-surface))}.theme-toggle{position:fixed;bottom:1.5rem;right:1.5rem;width:44px;height:44px;border-radius:50%;background:var(--hh-surface, #FFFFFF);border:1px solid var(--hh-border-strong, #E2E8F0);box-shadow:0 4px 12px #0f172a1a;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--hh-ink, #0F172A);z-index:100;transition:all .2s ease}.theme-toggle:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0f172a26}[data-theme=dark] .theme-toggle{background:var(--hh-surface);border-color:var(--hh-border-strong);color:var(--hh-on-surface)}[data-theme=dark] vaadin-button:not([theme*=primary]):not([theme*=success]):not([theme*=error]){background:var(--hh-surface, #1E293B)!important;border:1px solid var(--hh-border-subtle, #334155)!important;color:var(--hh-on-surface, #F1F5F9)!important}[data-theme=dark] vaadin-button:not([theme*=primary]):hover:not([disabled]){background:var(--hh-gray-100, #334155)!important;border-color:var(--hh-border-strong, #475569)!important}[data-theme=dark] input[type=text],[data-theme=dark] vaadin-text-field,[data-theme=dark] vaadin-email-field,[data-theme=dark] vaadin-password-field,[data-theme=dark] vaadin-combo-box,[data-theme=dark] vaadin-date-picker,[data-theme=dark] vaadin-time-picker{--lumo-contrast-10pct: rgba(255, 255, 255, .1)}[data-theme=dark] vaadin-text-field::part(input-field),[data-theme=dark] vaadin-combo-box::part(input-field){background:var(--hh-gray-100, #334155)}[data-theme=dark] .weather-day{background:#ffffff0d}[data-theme=dark] vaadin-side-nav-item[active]::part(item){background:var(--hh-primary-light, #3D2A1A);color:var(--hh-primary, #FF9D5A)}[data-theme=dark] vaadin-side-nav-item:hover::part(item){background:var(--hh-gray-100, #334155)}[data-theme=dark] vaadin-grid{background:var(--hh-surface, #1E293B);color:var(--hh-on-surface, #F1F5F9)}[data-theme=dark] vaadin-grid::part(header-cell),[data-theme=dark] vaadin-grid::part(footer-cell){background:var(--hh-bg, #0F172A);color:var(--hh-gray-600, #CBD5E1)}[data-theme=dark] vaadin-grid::part(row):hover{background:var(--hh-gray-100, #334155)}[data-theme=dark] .status-pill{box-shadow:0 0 0 1px #ffffff0d inset}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:9000;pointer-events:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:tour-fade-in .25s ease}@keyframes tour-fade-in{0%{opacity:0}to{opacity:1}}.tour-spotlight{position:fixed;border-radius:14px;box-shadow:0 0 0 9999px #0f172a8c,0 0 0 4px var(--hh-primary, #FF8C42),0 0 32px #ff8c4266;pointer-events:none;transition:all .35s cubic-bezier(.4,0,.2,1);z-index:9001}.tour-tooltip{position:fixed;background:var(--hh-surface, #FFFFFF);border-radius:14px;box-shadow:0 8px 24px #0f172a2e;padding:1.5rem;width:360px;z-index:9002;border:1px solid var(--hh-border-subtle, #F1F5F9);animation:tour-slide-up .3s cubic-bezier(.4,0,.2,1)}@keyframes tour-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .tour-tooltip{background:var(--hh-surface, #1E293B);border-color:var(--hh-border-strong, #475569)}.tour-tooltip-step{font-size:.75rem;font-weight:600;color:var(--hh-primary, #FF8C42);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}.tour-tooltip-title{font-size:1.125rem;font-weight:700;color:var(--hh-ink, #0F172A);margin:0 0 .5rem;line-height:1.3}.tour-tooltip-description{font-size:.875rem;color:var(--hh-gray-700, #334155);line-height:1.6;margin:0 0 1.25rem}.tour-tooltip-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tour-tooltip-skip{background:transparent;border:none;color:var(--hh-gray-500, #64748B);font-size:.875rem;font-weight:500;cursor:pointer;padding:.5rem .75rem;border-radius:8px;transition:all .15s ease}.tour-tooltip-skip:hover{background:var(--hh-gray-100, #F1F5F9);color:var(--hh-ink, #0F172A)}.tour-tooltip-progress{display:flex;gap:4px;flex:1;margin:0 1rem}.tour-progress-dot{width:8px;height:8px;border-radius:50%;background:var(--hh-gray-200, #E2E8F0);transition:all .2s ease}.tour-progress-dot.active{background:var(--hh-primary, #FF8C42);width:24px;border-radius:4px}.tour-tooltip-next{background:var(--hh-primary, #FF8C42);border:none;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;padding:.5rem 1.25rem;border-radius:8px;transition:all .15s ease;display:inline-flex;align-items:center;gap:.375rem}.tour-tooltip-next:hover{background:var(--hh-primary-dark, #E0701E);transform:translateY(-1px);box-shadow:0 4px 12px #ff8c424d}main{animation:page-fade-in .28s cubic-bezier(.4,0,.2,1)}@keyframes page-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}main .card,main .stats-card,main vaadin-grid{animation:card-fade-in .4s cubic-bezier(.4,0,.2,1) backwards}main>* .card:nth-child(1),main>* .stats-card:nth-child(1){animation-delay:0ms}main>* .card:nth-child(2),main>* .stats-card:nth-child(2){animation-delay:50ms}main>* .card:nth-child(3),main>* .stats-card:nth-child(3){animation-delay:.1s}main>* .card:nth-child(4),main>* .stats-card:nth-child(4){animation-delay:.15s}main>* .card:nth-child(5),main>* .stats-card:nth-child(5){animation-delay:.2s}main>* .card:nth-child(6),main>* .stats-card:nth-child(6){animation-delay:.25s}@keyframes card-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}vaadin-side-nav-item{animation:side-nav-slide-in .35s cubic-bezier(.4,0,.2,1) backwards}vaadin-side-nav-item:nth-child(1){animation-delay:30ms}vaadin-side-nav-item:nth-child(2){animation-delay:60ms}vaadin-side-nav-item:nth-child(3){animation-delay:90ms}vaadin-side-nav-item:nth-child(4){animation-delay:.12s}vaadin-side-nav-item:nth-child(5){animation-delay:.15s}vaadin-side-nav-item:nth-child(6){animation-delay:.18s}@keyframes side-nav-slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.status-pill{animation:pill-pop-in .3s cubic-bezier(.34,1.56,.64,1)}@keyframes pill-pop-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}vaadin-notification-card[theme~=achievement]{background:linear-gradient(135deg,var(--hh-success, #10B981),var(--hh-primary, #FF8C42))!important;color:#fff!important;box-shadow:0 8px 24px #ff8c4266!important;border-radius:16px!important;font-weight:600!important}.kpi-pulse{animation:kpi-pulse .6s cubic-bezier(.4,0,.2,1)}@keyframes kpi-pulse{0%{transform:scale(1)}50%{transform:scale(1.04);box-shadow:0 8px 32px #ff8c424d}to{transform:scale(1)}}.weather-container,.weather-card{padding:1rem 1.25rem!important;min-height:auto!important}.weather-current,.weather-now,.weather-header{margin-bottom:.5rem!important}.weather-temperature{font-size:2.5rem!important;line-height:1!important;margin-right:.5rem!important}.weather-forecast,.weather-days{padding:.5rem 0!important;gap:.25rem!important}.weather-day{padding:.5rem .25rem!important;font-size:.75rem!important}.weather-day-emoji,.weather-day-icon{font-size:1.25rem!important}.weather-day-temp,.weather-meta{font-size:.75rem!important}.stats-card,.kpi-card{padding:1.25rem 1.5rem!important;min-height:110px;display:flex;flex-direction:column;gap:.5rem}.stats-card-value,.kpi-value,.stats-value{font-size:2rem!important;font-weight:700!important;line-height:1.1!important;color:var(--hh-ink, #0F172A)!important;font-family:JetBrains Mono,monospace!important;letter-spacing:-.01em!important}.stats-card-label,.kpi-label,.stats-label{font-size:.75rem!important;font-weight:600!important;color:var(--hh-gray-600, #475569)!important;text-transform:uppercase!important;letter-spacing:.05em!important}.stats-card-hint,.kpi-hint,.stats-hint,.stats-card-subtitle{font-size:.75rem!important;color:var(--hh-gray-500, #64748B)!important;font-weight:500}.stats-card.hero,.kpi-card.hero{border-top:3px solid var(--hh-primary, #FF8C42)}.stats-card.hero .stats-card-value,.kpi-card.hero .kpi-value{color:var(--hh-primary, #FF8C42)!important}.dashboard-content>*+*{margin-top:1.5rem}.dashboard-section-header{font-size:1rem;font-weight:700;color:var(--hh-ink, #0F172A);margin:0 0 .75rem;letter-spacing:-.01em}.card .card-title,.card h3,.card-header h3{font-size:1rem!important;font-weight:700!important;color:var(--hh-ink, #0F172A)!important;margin:0!important;letter-spacing:-.01em!important}.card-subtitle,.card-meta{color:var(--hh-gray-600, #475569)!important;font-size:.8125rem}.dashboard-actions vaadin-button[theme~=primary]{box-shadow:0 4px 12px #ff8c4240}.dashboard-actions vaadin-button:not([theme~=primary]){background:transparent!important;border:1px solid var(--hh-border-strong, #E2E8F0)!important}.team-avatar,.avatar-circle{box-shadow:0 2px 6px #0f172a14;font-weight:700;letter-spacing:-.02em}@media (max-width: 768px){main{padding:.75rem!important}.stats-card,.kpi-card{min-height:90px;padding:.875rem 1rem!important}.stats-card-value,.kpi-value,.stats-value{font-size:1.5rem!important}.stats-card-label,.kpi-label{font-size:.6875rem!important}main h2.page-title,main>h2:first-of-type{font-size:1.5rem!important}.card{padding:1rem!important;border-radius:12px!important}.weather-temperature{font-size:2rem!important}.dashboard-actions{flex-direction:column;width:100%}.dashboard-actions vaadin-button{width:100%}.hwh-tour-popover,.tour-tooltip{width:calc(100vw - 32px)!important;max-width:360px;left:16px!important;right:16px!important}.theme-toggle{bottom:5rem}}@media (max-width: 480px){.stats-card,.kpi-card{min-height:80px}.stats-card-value,.kpi-value{font-size:1.25rem!important}vaadin-grid::part(cell):nth-child(n+5){display:none}}a[href="#main-content"]:focus{position:absolute;top:1rem;left:1rem;z-index:99999;padding:.75rem 1.25rem;background:var(--hh-primary, #FF8C42);color:#fff;border-radius:8px;font-weight:600;text-decoration:none}@media (hover: hover){.card:hover,vaadin-button:not([disabled]):hover{cursor:pointer}}@media (prefers-contrast: more){.card,.stats-card{border-color:var(--hh-ink, #0F172A)!important}.card-subtitle,.muted{color:var(--hh-ink, #0F172A)!important}}.hwh-skeleton{background:linear-gradient(90deg,var(--hh-gray-100, #F1F5F9) 25%,var(--hh-gray-200, #E2E8F0) 50%,var(--hh-gray-100, #F1F5F9) 75%);background-size:200% 100%;border-radius:8px;animation:skeleton-shimmer 1.5s ease-in-out infinite;pointer-events:none}.hwh-skeleton-text{height:1em;margin:.25rem 0}.hwh-skeleton-title{height:1.5rem;width:60%;margin-bottom:.5rem}.hwh-skeleton-card{height:110px;margin-bottom:1rem}@media print{.theme-toggle,.hwh-tour-overlay,.hwh-tour-popover,.tour-overlay,.tour-tooltip,vaadin-side-nav,.dashboard-actions,.menu-button,.notification-button{display:none!important}body{background:#fff!important;color:#000!important}.card{border:1px solid #CBD5E1!important;box-shadow:none!important;page-break-inside:avoid}}html{scroll-behavior:smooth}*{scrollbar-width:thin;scrollbar-color:var(--hh-gray-200, #E2E8F0) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--hh-gray-200, #E2E8F0);border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:var(--hh-gray-500, #64748B)}::selection{background:var(--hh-primary, #FF8C42);color:#fff}.card,.stats-card,.kpi-card,vaadin-button,.tour-spotlight,.hwh-tour-popover{will-change:transform}.time-mono,.mono,.currency,.number,[class*=value],[class*=count],[class*=amount]{font-feature-settings:"tnum" 1,"lnum" 1}.weather-card-premium{min-height:110px!important;height:110px!important;border-radius:14px!important;box-shadow:0 1px 3px #0f172a0a!important;border:1px solid var(--hh-border-subtle, #F1F5F9)!important;background:linear-gradient(135deg,#ebf4ff,#f0f9ff,#fef3e7)!important;display:flex!important;align-items:stretch!important;overflow:hidden!important;padding:0!important}[data-theme=dark] .weather-card-premium{background:linear-gradient(135deg,#1e293b,#0f172a,#1a1410)!important;border-color:var(--hh-border-strong, #475569)!important}.weather-card-premium:hover{transform:translateY(-1px)!important;box-shadow:0 4px 12px #0f172a14!important}.weather-card-premium .weather-current-premium{flex:0 0 auto!important;padding:1rem 1.25rem!important;display:flex!important;align-items:center!important;gap:.875rem!important;border-right:1px solid rgba(15,23,42,.06)}[data-theme=dark] .weather-card-premium .weather-current-premium{border-right-color:#ffffff14}.weather-card-premium .weather-icon-hero{font-size:2rem!important;line-height:1!important}.weather-card-premium .weather-temp-hero{font-size:1.75rem!important;font-weight:700!important;color:var(--hh-ink, #0F172A)!important}.weather-card-premium .weather-temp-hero .temp-degree{font-size:1rem!important;margin-left:1px}.weather-card-premium .weather-desc-premium{font-size:.75rem!important;color:var(--hh-gray-700, #334155)!important;margin-top:2px!important;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.weather-card-premium .weather-location-premium{font-size:.6875rem!important;color:var(--hh-gray-500, #64748B)!important;margin-top:1px!important}.weather-card-premium .weather-meta{flex:0 0 auto!important;padding:1rem!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:.25rem!important;font-size:.75rem!important;color:var(--hh-gray-700, #334155)!important;border-right:1px solid rgba(15,23,42,.06);text-align:left!important;margin:0!important}[data-theme=dark] .weather-card-premium .weather-meta{color:var(--hh-gray-700, #E2E8F0)!important;border-right-color:#ffffff14}.weather-card-premium .weather-forecast-premium{flex:1 1 auto!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-top:none!important;align-items:center!important}.weather-card-premium .weather-forecast-day-premium{flex-direction:row!important;align-items:center!important;justify-content:center!important;padding:.5rem!important;gap:.5rem!important;border-right:1px solid rgba(15,23,42,.04);color:var(--hh-gray-700, #334155)!important;font-size:.75rem!important;flex-wrap:nowrap!important}[data-theme=dark] .weather-card-premium .weather-forecast-day-premium{color:var(--hh-gray-700, #E2E8F0)!important;border-right-color:#ffffff0a}.weather-card-premium .weather-forecast-day-premium:last-child{border-right:none}.weather-card-premium .weather-forecast-day-premium .day-name{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.625rem!important;color:var(--hh-gray-500, #64748B);flex-shrink:0}.weather-card-premium .weather-forecast-day-premium .day-icon{font-size:1.25rem!important;flex-shrink:0}.weather-card-premium .weather-forecast-day-premium .day-temp{font-family:JetBrains Mono,monospace;font-weight:600;font-size:.75rem!important;color:var(--hh-ink, #0F172A)}[data-theme=dark] .weather-card-premium .weather-forecast-day-premium .day-temp{color:var(--hh-on-surface, #F1F5F9)}.weather-card-premium .weather-forecast-day-premium.today,.weather-card-premium .weather-forecast-day-premium:first-child{background:#ff8c4214}[data-theme=dark] .weather-card-premium .weather-forecast-day-premium.today,[data-theme=dark] .weather-card-premium .weather-forecast-day-premium:first-child{background:#ff8c421f}.weather-risk-indicator,.weather-card-premium .risk-pill{font-size:.625rem!important;padding:.125rem .375rem!important;border-radius:999px;margin-left:.25rem}@media (max-width: 768px){.weather-card-premium{height:auto!important;min-height:100px!important;flex-direction:column!important}.weather-card-premium .weather-current-premium,.weather-card-premium .weather-meta{border-right:none!important;border-bottom:1px solid rgba(15,23,42,.06)}.weather-card-premium .weather-forecast-premium{grid-template-columns:repeat(4,1fr)}.weather-card-premium .weather-forecast-day-premium{flex-direction:column!important;gap:.125rem!important}}@media (max-width: 768px){body:not(.hh-drawer-open) vaadin-side-nav{transform:translate(-100%);position:fixed;top:0;bottom:0;left:0;width:280px;z-index:9100;transition:transform .28s cubic-bezier(.4,0,.2,1);background:var(--hh-surface, #FFFFFF);box-shadow:4px 0 24px #0f172a1f;padding-top:env(safe-area-inset-top,0)}body.hh-drawer-open vaadin-side-nav{transform:translate(0)}body.hh-drawer-open:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:9000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:hh-drawer-fade .2s ease}@keyframes hh-drawer-fade{0%{opacity:0}to{opacity:1}}.hh-mobile-hamburger{display:flex!important;position:fixed;top:.875rem;left:.875rem;z-index:8000;width:44px;height:44px;border-radius:12px;background:var(--hh-surface, #FFFFFF);border:1px solid var(--hh-border-strong, #E2E8F0);align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0f172a14}main{padding:4rem 1rem 5rem!important}.hh-mobile-bottom-nav{display:flex!important;position:fixed;left:0;right:0;bottom:0;height:4rem;background:var(--hh-surface, #FFFFFF);border-top:1px solid var(--hh-border-subtle, #F1F5F9);z-index:8000;align-items:stretch;justify-content:space-around;padding:0 .5rem env(safe-area-inset-bottom,0);box-shadow:0 -2px 12px #0f172a0f}.hh-bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:.5rem .25rem;color:var(--hh-gray-500, #64748B);text-decoration:none;font-size:.6875rem;font-weight:600;transition:color .15s ease;cursor:pointer;min-height:56px;max-width:80px}.hh-bottom-nav-item:hover,.hh-bottom-nav-item.active{color:var(--hh-primary, #FF8C42)}.hh-bottom-nav-item svg{width:22px;height:22px;stroke-width:2}.hh-bottom-nav-item .label{font-size:.6875rem;line-height:1}.hh-fab{display:flex!important;position:fixed;bottom:5rem;right:1rem;width:56px;height:56px;border-radius:50%;background:var(--hh-primary, #FF8C42);color:#fff;align-items:center;justify-content:center;box-shadow:0 6px 20px #ff8c4266;cursor:pointer;border:none;z-index:7900;transition:all .2s cubic-bezier(.4,0,.2,1)}.hh-fab:hover,.hh-fab:active{transform:scale(1.05);box-shadow:0 8px 24px #ff8c4280}.hh-fab svg{width:24px;height:24px;stroke-width:2.5}.theme-toggle{bottom:7rem!important}vaadin-button,button:not(.hh-bottom-nav-item):not(.hh-fab):not(.tour-tooltip-skip):not(.theme-toggle){min-height:44px!important}[class*=page-header],.breadcrumb-container{padding:.5rem .75rem!important}.top-search-container input{font-size:16px!important}}@media (min-width: 769px){.hh-mobile-hamburger,.hh-mobile-bottom-nav,.hh-fab{display:none!important}}.nav-collapsible-section{margin-top:.5rem}.nav-section-toggle{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem .25rem;color:var(--hh-gray-500, #64748B);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;-webkit-user-select:none;user-select:none}.nav-section-toggle:hover{color:var(--hh-ink, #0F172A)}.nav-section-toggle .nav-chevron{transition:transform .2s ease}.nav-collapsible-section.collapsed .nav-chevron{transform:rotate(-90deg)}.nav-collapsible-section.collapsed>vaadin-side-nav{display:none}.theme-toggle:before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);right:0;background:var(--hh-ink, #0F172A);color:#fff;padding:.375rem .625rem;border-radius:6px;font-size:.75rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s ease}.theme-toggle:hover:before{opacity:1;transform:translateY(-2px)}[data-theme=dark] .theme-toggle:before{background:var(--hh-surface, #1E293B);color:var(--hh-on-surface, #F1F5F9)}.pill-good,.badge-good{background:var(--hh-success-light, #F0FDF4)!important;color:var(--hh-success, #10B981)!important}.pill-neutral,.badge-neutral{background:var(--hh-info-light, #EFF6FF)!important;color:var(--hh-info, #38BDF8)!important}.pill-warning,.badge-warning{background:var(--hh-warning-light, #FFFBEB)!important;color:var(--hh-warning, #F59E0B)!important}.pill-bad,.badge-bad{background:var(--hh-error-light, #FEF2F2)!important;color:var(--hh-error, #EF4444)!important}.notification-button[data-count]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);right:0;background:var(--hh-ink, #0F172A);color:#fff;padding:.375rem .625rem;border-radius:6px;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:100}.notification-button:hover:after{opacity:1}main h2+p,main .page-subtitle{font-size:.875rem!important;color:var(--hh-gray-600, #475569)!important;margin:.25rem 0 1.5rem!important;max-width:720px}.action-required{border-left:3px solid var(--hh-warning, #F59E0B);padding-left:.75rem;background:var(--hh-warning-light, #FFFBEB);border-radius:8px}[data-theme=dark] .action-required{background:var(--hh-warning-light, #451A03)}.dashboard-actions vaadin-button[theme~=primary]{box-shadow:0 4px 12px #ff8c424d;font-weight:600}.dashboard-actions vaadin-button:not([theme~=primary]){background:transparent!important;border:1.5px solid var(--hh-border-strong, #E2E8F0)!important;color:var(--hh-ink, #0F172A)!important;font-weight:500}main>h2:first-of-type,main h2.page-title{font-size:1.875rem!important;line-height:1.2!important;letter-spacing:-.025em!important;margin-bottom:.25rem!important}.hwh-help-fab{width:40px;height:40px;border-radius:50%;background:var(--lumo-primary-color-10pct);color:var(--lumo-primary-color);border:1px solid var(--lumo-primary-color-50pct);cursor:pointer;transition:all .15s ease;margin-right:var(--lumo-space-s)}.hwh-help-fab:hover{background:var(--lumo-primary-color);color:#fff;transform:scale(1.05)}.hwh-help-fab:focus-visible{outline:2px solid var(--lumo-primary-color);outline-offset:2px}.hwh-help-drawer{--vaadin-dialog-bg: white}[data-theme=dark] .hwh-help-drawer{--vaadin-dialog-bg: var(--lumo-shade-90pct)}@media (max-width: 768px){.timer-btn-start,.timer-btn-stop,.timer-btn-pause{min-height:56px!important;padding:.75rem 1.5rem!important;font-size:1rem!important}vaadin-button[theme~=primary],vaadin-button[theme~=error]{min-height:56px!important}.hwh-fab,.hwh-fab-button{min-width:64px!important;min-height:64px!important}.hwh-bottom-nav button,.hwh-bottom-nav a{min-height:56px!important}vaadin-grid vaadin-button{min-width:44px!important;min-height:44px!important}}@media (max-width: 480px){.timer-btn-start,.timer-btn-stop,.timer-btn-pause{min-height:64px!important;font-size:1.0625rem!important;font-weight:700!important}}@media (max-width: 768px){.hh-fab,.hh-mobile-hamburger,.hwh-help-fab{display:none!important}vaadin-drawer-toggle{min-width:48px!important;min-height:48px!important;margin:8px!important}main,[slot=navbar]+*{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))!important}main>h2:first-of-type,main h2.page-title,.dashboard-content>h2,.dashboard-content>.greeting-row{padding-top:env(safe-area-inset-top,0px)!important;margin-top:8px!important}vaadin-tabs,.hwh-tabs,[class*=TabBar]{overflow-x:auto!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important}vaadin-tabs::-webkit-scrollbar,.hwh-tabs::-webkit-scrollbar{display:none!important}vaadin-tabs vaadin-tab,.hwh-tabs>*{scroll-snap-align:start!important;flex-shrink:0!important}vaadin-grid::part(header-cell),vaadin-grid::part(cell){font-size:13px!important;min-width:120px!important;padding:8px 10px!important}vaadin-grid::part(header-cell){font-size:11px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.04em!important}vaadin-grid::part(row)>[part~=cell]:first-child,vaadin-grid::part(row)>[part~=header-cell]:first-child{min-width:160px!important}vaadin-grid .status-badge,vaadin-grid [class*=badge]{white-space:nowrap!important}vaadin-horizontal-layout{flex-wrap:wrap!important}.stats-grid,.kpi-grid{grid-template-columns:1fr!important;gap:12px!important}vaadin-form-layout{--vaadin-form-layout-column-spacing: 0 !important}vaadin-dialog-overlay::part(overlay){max-width:100vw!important;max-height:100vh!important;width:100%!important;height:100%!important;margin:0!important;border-radius:0!important}vaadin-dialog-overlay::part(header){position:sticky!important;top:0!important;background:var(--hh-surface, white)!important;border-bottom:1px solid var(--hh-border, #F1F5F9)!important;padding:16px!important;z-index:10!important}vaadin-dialog-overlay::part(content){overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;max-height:calc(100vh - 140px)!important;padding:16px!important}vaadin-dialog-overlay::part(footer){position:sticky!important;bottom:0!important;background:var(--hh-surface, white)!important;border-top:1px solid var(--hh-border, #F1F5F9)!important;padding:12px 16px!important;z-index:10!important;display:flex!important;gap:8px!important}vaadin-dialog-overlay::part(footer) vaadin-button{flex:1!important;min-height:48px!important}vaadin-dialog-overlay vaadin-form-layout{--vaadin-form-layout-column-spacing: 0 !important}vaadin-dialog-overlay vaadin-form-item{width:100%!important}vaadin-dialog-overlay vaadin-text-area{--vaadin-text-area-max-height: 100px !important}.hwh-help-drawer::part(overlay){width:100%!important;max-width:100%!important}.hwh-bottom-nav,[class*=bottom-nav]{padding-bottom:env(safe-area-inset-bottom,0px)!important;padding-left:env(safe-area-inset-left,0px)!important;padding-right:env(safe-area-inset-right,0px)!important}vaadin-side-nav-item{min-height:48px!important}vaadin-button{font-size:14px!important}.greeting-pills{flex-wrap:wrap!important;gap:6px!important}.greeting-pill{font-size:12px!important;padding:4px 10px!important}}@media (max-width: 430px){main>h2:first-of-type,main h2.page-title{font-size:1.5rem!important}vaadin-app-layout::part(drawer){--vaadin-app-layout-drawer-width: 85vw !important}}@media (max-width: 768px){.theme-toggle{bottom:calc(80px + env(safe-area-inset-bottom,0px))!important;right:1rem!important;width:40px!important;height:40px!important}.hwh-cmdk-button,.hwh-page-title-block{display:none!important}.hwh-topbar{flex-wrap:nowrap!important;height:56px!important;max-height:56px!important;align-items:center!important}.hwh-topbar .notification-bell{margin-left:auto!important}vaadin-app-layout::part(navbar-bottom){display:none!important}vaadin-app-layout::part(navbar){min-height:56px!important;background:var(--hh-surface, #FFFFFF)!important;border-bottom:1px solid var(--hh-border, #F1F5F9)!important}vaadin-app-layout::part(navbar) h1,vaadin-app-layout::part(navbar) h2{font-size:16px!important;font-weight:600!important}vaadin-app-layout::part(navbar):not([slot=navbar-bottom]){position:sticky!important;top:0!important;z-index:50!important}}@media (max-width: 932px) and (max-height: 500px) and (orientation: landscape){main{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))!important}}@media (max-width: 768px){html,body{overflow-x:hidden!important;max-width:100vw!important}main,vaadin-app-layout,.dashboard-content{overflow-x:hidden!important;max-width:100vw!important}.dashboard-content{display:flex!important;flex-direction:column!important}.dashboard-content>.page-header{order:0!important}.dashboard-content>.content-grid{order:1!important}.dashboard-content>.stats-grid{order:2!important;margin-top:12px!important}.content-grid.has-sidebar{display:flex!important;flex-direction:column!important;gap:.75rem!important;margin-bottom:0!important}.timer-sidebar{order:-1!important;background:linear-gradient(135deg,#fff,#fff8f2)!important;border:2px solid #FFD9B5!important;border-radius:16px!important;padding:16px!important;margin-bottom:12px!important;box-shadow:0 4px 20px #ff8c421f!important;position:relative!important}[data-theme=dark] .timer-sidebar{background:linear-gradient(135deg,#1e293b,#2d1f12)!important;border-color:#ff8c424d!important}.timer-sidebar .sidebar-section-label{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--hh-primary, #FF8C42)!important;display:block!important;margin-bottom:8px!important}.timer-sidebar .timer-card,.timer-card{background:#fff!important;border-radius:14px!important;padding:18px 16px!important;box-shadow:0 2px 8px #0f172a0f!important}[data-theme=dark] .timer-sidebar .timer-card,[data-theme=dark] .timer-card,html[data-dark-mode=on] .timer-sidebar .timer-card,html[data-dark-mode=on] .timer-card{background:var(--hh-surface, #1E293B)!important;color:var(--hh-on-surface, #F1F5F9)!important;box-shadow:0 2px 8px #0000004d!important}[data-theme=dark] .timer-sidebar,html[data-dark-mode=on] .timer-sidebar{background:linear-gradient(135deg,var(--hh-surface, #1E293B) 0%,rgba(255,140,66,.08) 100%)!important;border-color:#ff8c424d!important}[data-theme=dark] .live-status-card,html[data-dark-mode=on] .live-status-card{background:var(--hh-surface)!important;color:var(--hh-on-surface)!important}.theme-toggle{right:auto!important;left:16px!important;bottom:calc(80px + env(safe-area-inset-bottom,0px))!important;width:40px!important;height:40px!important;opacity:.7!important}.theme-toggle:hover{opacity:1!important}.timer-value,.timer-card .timer-value{font-size:36px!important;font-weight:700!important;font-family:JetBrains Mono,monospace!important;letter-spacing:-.02em!important}.timer-sidebar .timer-btn-start,.timer-sidebar .timer-btn-stop,.timer-sidebar .timer-btn-pause{width:100%!important;min-height:64px!important;padding:18px 20px!important;font-size:17px!important;font-weight:800!important;border-radius:12px!important;letter-spacing:.02em!important;text-transform:uppercase!important;box-shadow:0 4px 16px #10b98159!important}.timer-sidebar .timer-btn-stop{box-shadow:0 4px 16px #ef444459!important}.timer-sidebar .live-status-card{margin-top:12px!important}vaadin-grid{--_lumo-grid-row-min-height: auto}vaadin-grid::part(row){background:#fff!important;border-bottom:1px solid #F1F5F9!important;min-height:56px!important}[data-theme=dark] vaadin-grid::part(row){background:var(--hh-surface)!important;border-color:#ffffff14!important}vaadin-grid{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}vaadin-grid::part(header-cell),vaadin-grid::part(cell){font-size:13px!important;padding:12px 10px!important;white-space:normal!important;word-break:break-word!important;line-height:1.4!important}vaadin-grid::part(header-cell){font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.04em!important;background:#f8fafc!important;color:var(--hh-gray-500, #64748B)!important;padding:8px 10px!important}vaadin-grid::part(row)>[part~=cell]:first-child,vaadin-grid::part(row)>[part~=header-cell]:first-child{min-width:180px!important;font-weight:600!important;color:var(--hh-ink, #0F172A)!important}vaadin-grid::part(row)>[part~=cell]:not(:first-child){min-width:120px!important}vaadin-grid .status-badge,vaadin-grid [class*=badge],vaadin-grid [class*=Pill],vaadin-grid [class*=status]{white-space:nowrap!important}vaadin-grid::part(row)>[part~=cell]:last-child,vaadin-grid::part(row)>[part~=header-cell]:last-child{min-width:110px!important}.hh-fab{display:flex!important;position:fixed!important;right:16px!important;bottom:calc(80px + env(safe-area-inset-bottom,0px))!important;width:60px!important;height:60px!important;border-radius:50%!important;background:linear-gradient(135deg,#ff8c42,#ff6b1a)!important;color:#fff!important;border:none!important;box-shadow:0 8px 24px #ff8c4266!important;z-index:90!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:transform .2s ease!important}.hh-fab:active{transform:scale(.92)!important}.hh-fab:hover{transform:scale(1.05)!important;box-shadow:0 10px 28px #ff8c4280!important}.hh-fab svg{width:26px!important;height:26px!important;stroke:#fff!important}.page-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important;padding:8px 0!important}.page-header .page-title,.page-header h1,.page-header h2{font-size:24px!important;line-height:1.2!important}.page-header .header-actions{width:100%!important;flex-wrap:wrap!important;gap:8px!important}.page-header .header-actions vaadin-button{flex:1!important;min-width:0!important}.card,.stats-card,.content-card{box-shadow:0 1px 3px #0f172a0d!important;border-radius:14px!important}.notification-bell button,.notification-bell [role=button]{min-width:44px!important;min-height:44px!important}main,.dashboard-content{padding-left:12px!important;padding-right:12px!important}main h1,main h2{margin-top:12px!important;margin-bottom:8px!important}.greeting-pills,.greeting-strip{flex-wrap:wrap!important;gap:6px!important}.chart-card{padding:12px!important}.tab-bar,[class*=TabBar]{position:sticky!important;top:56px!important;z-index:30!important;background:var(--hh-bg, #F8FAFC)!important;padding:8px 0!important}}@media (max-width: 768px){vaadin-dev-tools,vaadin-dev-tools-link,vaadin-dev-tools-popover,[class*=dev-tools]{display:none!important}}.hwh-live-timer-pill{display:none;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:14px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #10b98159;margin-right:8px;transition:transform .2s ease}.hwh-live-timer-pill.active{display:inline-flex}.hwh-live-timer-pill:hover{transform:translateY(-1px)}.hwh-live-timer-pill .pulse-dot{width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse-fade 1.2s ease-in-out infinite}@keyframes pulse-fade{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.skeleton-line{height:14px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;border-radius:4px;animation:skeleton-wave 1.4s ease-in-out infinite}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 768px){.swipeable-card{position:relative;touch-action:pan-y;transition:transform .25s ease}.swipeable-card.swiped{transform:translate(-80px)}}@media (min-width: 769px) and (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)!important}vaadin-app-layout::part(drawer){--vaadin-app-layout-drawer-width: 220px !important}vaadin-button{min-height:44px!important}}vaadin-grid::part(cell) [class*=status],vaadin-grid::part(cell) [class*=Pill],vaadin-grid::part(cell) [class*=badge],vaadin-grid::part(cell) span[style*=background]{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}@media (min-width: 769px){vaadin-grid [part~=cell]:last-child,vaadin-grid [part~=header-cell]:last-child{min-width:100px!important}}.hwh-voice-recorder{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.voice-rec-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:24px;border:1.5px solid var(--hh-border-strong, #E2E8F0);background:#fff;color:var(--hh-ink, #0F172A);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:40px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.voice-rec-btn:hover{border-color:var(--hh-primary, #FF8C42);color:var(--hh-primary, #FF8C42)}.voice-rec-btn:active{transform:scale(.96)}.voice-rec-btn .voice-rec-icon{display:inline-flex;width:20px;height:20px}.voice-rec-btn[data-state=recording]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:#dc2626;box-shadow:0 0 0 4px #ef444433;animation:voice-rec-pulse 1.4s ease-in-out infinite}.voice-rec-btn[data-state=recording]:before{content:"";width:10px;height:10px;border-radius:50%;background:#fff;margin-right:4px;animation:voice-rec-blink 1s ease-in-out infinite}.voice-rec-btn[data-state=recording] .voice-rec-icon{display:none}.voice-rec-btn[data-state=recording] .voice-rec-label:before{content:"Stop · ";font-weight:800}@keyframes voice-rec-pulse{0%,to{box-shadow:0 0 0 4px #ef444433}50%{box-shadow:0 0 0 8px #ef444459}}@keyframes voice-rec-blink{0%,to{opacity:1}50%{opacity:.4}}.voice-rec-btn[data-state=uploading]{background:var(--hh-info-light, #E0F2FE);color:var(--hh-info, #38BDF8);border-color:var(--hh-info, #38BDF8);cursor:wait;pointer-events:none}.voice-rec-btn[data-state=uploading]:before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:voice-rec-spin .8s linear infinite}.voice-rec-btn[data-state=uploading] .voice-rec-icon{display:none}@keyframes voice-rec-spin{to{transform:rotate(360deg)}}.voice-rec-status{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;color:var(--hh-gray-500, #64748B);min-width:60px}.voice-rec-btn[data-state=recording]~.voice-rec-status{color:#ef4444;font-size:16px}@media (max-width: 768px){.voice-rec-btn{padding:12px 18px;font-size:15px;min-height:48px}.hwh-voice-recorder{width:100%}.voice-rec-btn{flex:1;justify-content:center}}.voice-quota-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;background:var(--hh-gray-100, #F1F5F9);color:var(--hh-gray-500, #64748B);font-size:12px;font-weight:600;font-family:JetBrains Mono,monospace}.voice-quota-pill.low{background:#f59e0b26;color:#b45309}.voice-quota-pill.empty{background:#ef444426;color:#b91c1c}.vacation-balance-ring{background:#fff;border:1px solid var(--hwh-border, #E2E8F0);border-radius:16px;padding:24px;margin-bottom:16px;transition:box-shadow .18s ease,transform .18s ease}.vacation-balance-ring:hover{box-shadow:0 6px 24px #0f172a0f}.vacation-balance-ring .ring-row{align-items:center;gap:32px}.vacation-balance-ring .ring-wrap{position:relative;width:160px;height:160px;flex-shrink:0}.vacation-balance-ring .ring-svg{width:160px;height:160px;display:block}.vacation-balance-ring .ring-bg{fill:none;stroke:var(--hwh-border, #E2E8F0);stroke-width:12}.vacation-balance-ring .ring-fg{fill:none;stroke:var(--lumo-primary-color, #FF8C42);stroke-width:12;stroke-linecap:round;transition:stroke-dasharray .4s ease}.vacation-balance-ring .ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.vacation-balance-ring .ring-big-number{font-family:JetBrains Mono,monospace;font-size:38px;font-weight:800;color:var(--lumo-primary-color, #FF8C42);line-height:1}.vacation-balance-ring .ring-sub-label{font-size:12px;color:var(--hwh-text-secondary, #64748B);margin-top:4px;letter-spacing:.02em}.vacation-balance-ring .ring-details{flex:1;min-width:0}.vacation-balance-ring .ring-title{font-size:13px;font-weight:700;color:var(--hwh-text-secondary, #64748B);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.vacation-balance-ring .ring-detail-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #F1F5F9}.vacation-balance-ring .ring-detail-row:last-of-type{border-bottom:none}.vacation-balance-ring .ring-detail-label{font-size:13px;color:var(--hwh-text-secondary, #64748B)}.vacation-balance-ring .ring-detail-value{font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700;color:#0f172a}.vacation-balance-ring .ring-detail-used .ring-detail-value{color:#f59e0b}.vacation-balance-ring .ring-detail-carry .ring-detail-value{color:#38bdf8}.vacation-balance-ring .ring-note{display:inline-block;margin-top:12px;padding:4px 10px;background:#38bdf81f;color:#0369a1;font-size:11px;font-weight:600;border-radius:6px}@media (max-width: 720px){.vacation-balance-ring .ring-row{flex-direction:column;align-items:flex-start;gap:20px}}
