.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:min(420px,calc(100vw - 48px));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:10px;font-size:14px;line-height:1.4;box-shadow:0 8px 24px #0000001f;pointer-events:auto;animation:toast-in .25s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.toast-success{background:#dcfce7;color:#14532d;border:1px solid #86efac}.toast-error{background:#fee2e2;color:#7f1d1d;border:1px solid #fca5a5}.toast-icon{flex-shrink:0;margin-top:1px}.toast-message{flex:1;font-weight:500}.toast-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;color:inherit;opacity:.7;cursor:pointer;border-radius:4px}.toast-close:hover{opacity:1}.toast-confirm{flex-wrap:wrap}.toast-confirm-actions{display:flex;gap:8px;width:100%;justify-content:flex-end;margin-top:4px}.toast-btn{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer}.toast-btn-cancel{background:#fff;color:#7f1d1d;border-color:#fca5a5}.toast-btn-ok{background:#dc2626;color:#fff}.toast-btn-ok:hover{background:#b91c1c}.missing-docs-banner{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:12px 14px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:14px}.missing-docs-banner-text{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.missing-docs-banner-text strong{font-size:14px}.missing-docs-banner-text span{color:#1e40af;line-height:1.4}.missing-docs-banner-link{color:#1d4ed8;font-weight:600;text-decoration:underline;width:fit-content}.missing-docs-banner-close{border:none;background:transparent;color:#1e40af;cursor:pointer;padding:2px;border-radius:6px;display:inline-flex;flex-shrink:0}.missing-docs-banner-close:hover{background:#2563eb1a}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform .2s ease}.sidebar-collapse,.sidebar-close{background:none;border:none;color:var(--color-text-muted);padding:6px;border-radius:var(--radius);cursor:pointer}.sidebar-collapse:hover,.sidebar-close:hover{background:var(--color-bg);color:var(--color-text)}.sidebar-collapse{display:flex}.sidebar-close{display:none}.sidebar-header{padding:20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border)}.logo{display:flex;align-items:center;min-width:0}.logo-img{height:36px;width:auto;max-width:160px;display:block;border-radius:8px;object-fit:contain}.layout.sidebar-collapsed .sidebar:not(.open) .logo-img{height:36px;width:36px;object-fit:cover;object-position:left center}.sidebar-nav{flex:1;padding:12px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius);font-size:14px;font-weight:500;color:var(--color-text-muted);margin-bottom:2px;transition:all .15s}.nav-item:hover{background:var(--color-bg);color:var(--color-text)}.nav-item.active{background:var(--color-primary-light);color:var(--color-primary)}.nav-group{margin-bottom:2px}.nav-group-toggle{width:100%;border:none;background:none;cursor:pointer;text-align:left}.nav-group-label{flex:1}.nav-group-chevron{margin-left:auto;flex-shrink:0;transition:transform .15s;opacity:.6}.nav-group-expanded .nav-group-chevron{transform:rotate(180deg)}.nav-group-children{margin:2px 0 4px 12px;padding-left:10px;border-left:1px solid var(--color-border)}.nav-subitem{padding:8px 12px;font-size:13px}.nav-subitem svg{width:18px;height:18px}.sidebar-footer{padding:16px;border-top:1px solid var(--color-border)}.user-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.user-info-link{width:100%;padding:6px 8px;border:none;background:none;text-align:left;cursor:pointer;border-radius:var(--radius);color:var(--theme-text, var(--color-text));transition:background .15s}.user-info-link:hover{background:var(--color-bg)}.user-info-link:hover .user-settings-icon{color:var(--theme-accent, var(--color-primary))}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;overflow:hidden;flex-shrink:0}.user-avatar-img{width:100%;height:100%;object-fit:cover}.user-name{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--theme-text, var(--color-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-settings-icon{flex-shrink:0;color:var(--color-text-muted);transition:color .15s}.logout-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:1px solid var(--color-border);border-radius:var(--radius);font-size:13px;color:var(--color-text-muted)}.logout-btn:hover{background:var(--color-bg);color:var(--color-danger)}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;transition:margin-left .2s ease}.layout.sidebar-collapsed .sidebar:not(.open){transform:translate(-100%);pointer-events:none}.layout.sidebar-collapsed .main-content{margin-left:0;width:100%;max-width:100%}.layout.sidebar-collapsed .page-content{width:100%;max-width:none}.header{height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50}.menu-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text);padding:6px;border-radius:var(--radius);cursor:pointer;flex-shrink:0}.menu-btn:hover{background:var(--color-bg)}.header-start{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.header-greeting{margin:0;font-size:1.25rem;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--theme-text, var(--color-text))}.header-space-title{margin:0;font-size:1.15rem;font-weight:700;line-height:1.2;white-space:nowrap;color:var(--theme-accent, var(--color-primary));letter-spacing:-.01em}.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.portal-switch{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;margin:0}.portal-switch input{position:absolute;opacity:0;width:0;height:0}.portal-switch-track{position:relative;width:42px;height:24px;border-radius:12px;background:var(--color-primary-light);border:1px solid var(--theme-accent, var(--color-primary));transition:background .15s,border-color .15s;flex-shrink:0}.portal-switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--theme-accent, var(--color-primary));box-shadow:0 1px 3px #0003;transition:transform .15s,background .15s}.portal-switch input:checked+.portal-switch-track{background:var(--theme-accent, var(--color-primary));border-color:var(--theme-accent, var(--color-primary))}.portal-switch input:checked+.portal-switch-track .portal-switch-thumb{transform:translate(18px);background:#fff}.portal-switch input:focus-visible+.portal-switch-track{outline:2px solid var(--theme-accent, var(--color-primary));outline-offset:2px}.notification-btn{display:flex;position:relative;padding:8px;border-radius:var(--radius);color:var(--color-text-muted)}.notification-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#dc2626;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1}.notification-btn:hover{background:var(--color-bg);color:var(--color-text)}.page-content{flex:1;padding:24px}@media(max-width:768px){.sidebar{transform:translate(-100%)}.layout:not(.sidebar-collapsed) .sidebar.open,.layout.sidebar-collapsed .sidebar.open{transform:translate(0)}.sidebar-collapse{display:none}.sidebar-close,.menu-btn{display:flex}.main-content,.layout.sidebar-collapsed .main-content{margin-left:0}.portal-switch{gap:0}.header{padding:0 12px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(#0f172a47,#0f172a61),var(--login-bg-image, url(/login-bg.jpg)) center center / cover no-repeat;padding:24px}.login-page--card-right{justify-content:flex-end;padding-right:clamp(24px,8vw,96px)}@media(max-width:720px){.login-page--card-right{justify-content:center;padding-right:24px}}.login-card{background:#fffffff5;border-radius:12px;padding:40px;width:100%;max-width:420px;box-shadow:0 20px 60px #00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:32px}.login-brand{display:block;height:90px;width:auto;max-width:266px;margin:0 0 20px;border-radius:0;object-fit:contain;object-position:center}.login-header h1{font-size:24px;font-weight:700;margin-bottom:4px}.login-header p{color:#64748b;font-size:14px}.login-btn{width:100%;justify-content:center;padding:12px;margin-top:8px}.dashboard-tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dashboard-tile{position:relative;display:flex;flex-direction:column;padding:0;overflow:hidden;text-decoration:none;color:inherit;background:var(--theme-surface, var(--color-surface));border-radius:var(--theme-radius, var(--radius));transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.dashboard-tile:focus-visible{outline:2px solid var(--theme-accent, var(--color-primary));outline-offset:2px}.dashboard-tile-media{aspect-ratio:4 / 3;width:100%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--theme-tile-media-bg, #f8fafc);overflow:hidden;line-height:0}.dashboard-tile-media img{width:100%;height:100%;object-fit:var(--theme-tile-media-object-fit, cover);object-position:center;display:block;filter:var(--theme-tile-media-filter, none);padding:var(--theme-tile-media-padding, 0);box-sizing:border-box;border:0}.dashboard-tile-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--tile-accent, var(--theme-accent, var(--color-primary)));opacity:.75}.dashboard-tile-label{padding:12px 10px 14px;text-align:center;font-size:14px;font-weight:600;color:var(--tile-accent, var(--theme-tile-label-color, var(--theme-accent, var(--color-primary))));background:var(--theme-tile-label-bg, transparent);line-height:1.3}.dashboard-tile-badge{position:absolute;top:10px;right:10px;z-index:3;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#dc2626;color:#fff;font-size:12px;font-weight:700;line-height:24px;text-align:center;box-shadow:0 2px 6px #dc262659;pointer-events:none}.dashboard-tile--framed{border:1px solid var(--theme-border, var(--color-border));box-shadow:var(--theme-shadow, var(--shadow))}.dashboard-tile--framed:hover,.dashboard-tile--framed:focus-visible{transform:translateY(-2px);box-shadow:var(--theme-shadow-hover, var(--shadow-md))}.dashboard-tile--band-top{border:0;box-shadow:none}.dashboard-tile-band{height:4px;background:var(--theme-accent, var(--color-primary));flex-shrink:0}.dashboard-tile--band-top:hover,.dashboard-tile--band-top:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px #0c19291a}.dashboard-tile--soft{border:0;box-shadow:var(--theme-shadow, var(--shadow))}.dashboard-tile--soft:hover,.dashboard-tile--soft:focus-visible{transform:translateY(-3px);box-shadow:var(--theme-shadow-hover, var(--shadow-md))}.dashboard-tile--soft .dashboard-tile-media{border-radius:calc(var(--theme-radius, 8px) - 2px) calc(var(--theme-radius, 8px) - 2px) 0 0}.dashboard-tile--dark-solid{border:0;box-shadow:none;background:var(--theme-background, #111318)}.dashboard-tile--dark-solid:hover,.dashboard-tile--dark-solid:focus-visible{box-shadow:0 8px 24px #00000073}.dashboard-tile--dark-solid .dashboard-tile-label{color:var(--tile-accent, var(--theme-tile-label-color, var(--theme-accent, #38bdf8)));background:var(--theme-surface, #1a1d24)}.dashboard-tile--image-footer{border:1px solid var(--theme-border, var(--color-border));box-shadow:var(--theme-shadow, var(--shadow))}.dashboard-tile--image-footer .dashboard-tile-media{aspect-ratio:1 / 1}.dashboard-tile--image-footer .dashboard-tile-label{border-top:3px solid var(--tile-accent, var(--theme-accent, var(--color-primary)));font-weight:600}.dashboard-tile--image-footer:hover,.dashboard-tile--image-footer:focus-visible{transform:translateY(-2px);box-shadow:var(--theme-shadow-hover, var(--shadow-md))}.dashboard-tile--banner{max-width:220px;flex-shrink:0;pointer-events:none}.dashboard-tile--banner-compact{max-width:88px;border-radius:8px;box-shadow:0 1px 4px #0f172a14}.dashboard-tile--active{box-shadow:var(--theme-shadow-hover, var(--shadow-md))}.dashboard-tile--banner-compact.dashboard-tile--active{box-shadow:0 2px 8px #0f172a1f}.dashboard-tile--banner:hover,.dashboard-tile--banner:focus-visible{transform:none}@media(max-width:1024px){.dashboard-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:768px){.dashboard-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.dashboard-tile-grid{grid-template-columns:1fr}.dashboard-tile--banner{max-width:100%}}[data-app-theme=sable-chaleureux] body{background:var(--theme-background, #f7f3ed)}[data-app-theme=bleu-rh-premium] .dashboard-tile,[data-app-theme=dark-pro] .dashboard-tile{border:0!important;outline:none!important;box-shadow:none!important}[data-app-theme=bleu-rh-premium] .dashboard-tile-media,[data-app-theme=dark-pro] .dashboard-tile-media,[data-app-theme=bleu-rh-premium] .dashboard-tile-media img,[data-app-theme=dark-pro] .dashboard-tile-media img{border:0!important;outline:none!important;padding:0!important;object-fit:cover!important}[data-app-theme=bleu-rh-premium] .dashboard-tile--banner-compact,[data-app-theme=dark-pro] .dashboard-tile--banner-compact,[data-app-theme=bleu-rh-premium] .dashboard-tile--active,[data-app-theme=dark-pro] .dashboard-tile--active{box-shadow:none!important}[data-app-theme=bleu-rh-premium] .dashboard-tile:hover,[data-app-theme=bleu-rh-premium] .dashboard-tile:focus-visible{box-shadow:0 8px 20px #0c19291a!important}[data-app-theme=dark-pro] .dashboard-tile:hover,[data-app-theme=dark-pro] .dashboard-tile:focus-visible{box-shadow:0 8px 24px #00000073!important}.admin-dashboard{display:flex;flex-direction:column;gap:28px}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.admin-stat-tile{--admin-stat-accent: var(--theme-accent, var(--color-primary));display:flex;align-items:center;gap:14px;padding:18px 16px;text-decoration:none;color:inherit;background:var(--theme-surface, var(--color-surface));border:1px solid var(--theme-border, var(--color-border));border-left:3px solid var(--admin-stat-accent);border-radius:var(--theme-radius, var(--radius));box-shadow:var(--theme-shadow, var(--shadow));transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.admin-stat-tile:hover,.admin-stat-tile:focus-visible{transform:translateY(-2px);border-color:var(--admin-stat-accent);border-left-color:var(--admin-stat-accent);box-shadow:var(--theme-shadow, 0 8px 20px rgba(0, 0, 0, .08))}.admin-stat-tile:focus-visible{outline:2px solid var(--admin-stat-accent);outline-offset:2px}.admin-stat-tile-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:12px;color:var(--admin-stat-accent);background:var(--color-bg)}.admin-stat-tile-body{min-width:0}.admin-stat-tile-value{font-size:1.75rem;font-weight:700;line-height:1.1;color:var(--admin-stat-accent);letter-spacing:-.02em}.admin-stat-tile-label{margin-top:4px;font-size:13px;font-weight:500;color:var(--color-text-muted);line-height:1.3}.admin-dashboard-section-title{margin:0 0 14px;font-size:15px;font-weight:650;color:var(--color-text)}.admin-pending-card{background:var(--theme-surface, var(--color-surface));border:1px solid var(--theme-border, var(--color-border));border-radius:var(--theme-radius, var(--radius));box-shadow:var(--theme-shadow, var(--shadow));overflow:hidden}.admin-pending-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;text-decoration:none;color:inherit;border-bottom:1px solid var(--color-border);transition:background .15s ease}.admin-pending-item:last-child{border-bottom:none}.admin-pending-item:hover,.admin-pending-item:focus-visible{background:var(--color-bg)}.admin-pending-title{font-weight:600;font-size:14px;color:var(--color-text)}.admin-pending-desc{margin-top:2px;font-size:13px;color:var(--color-text-muted)}.admin-pending-arrow{flex-shrink:0;color:var(--color-text-muted)}@media(max-width:900px){.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.admin-stat-grid{grid-template-columns:1fr}}.rubrique-page-intro{display:flex;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.rubrique-page-intro-content{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px}.rubrique-page-intro-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-muted);margin-bottom:2px}.rubrique-page-intro-title{margin:0;font-size:clamp(1.75rem,3vw,2rem);font-weight:700;line-height:1.15;color:var(--theme-accent, var(--color-primary));letter-spacing:-.02em}.rubrique-page-intro-content p{margin:0;color:var(--color-text-muted);font-size:14px}.rubrique-page-intro-actions{display:flex;justify-content:flex-end;align-items:flex-start;margin-left:auto}@media(max-width:640px){.rubrique-page-intro{align-items:flex-start}.dashboard-tile--banner-compact{max-width:72px}.rubrique-page-intro-actions{margin-left:0;width:100%}.rubrique-page-intro-actions .btn{width:100%;justify-content:center}}.timesheet-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-bottom:16px;overflow:visible}.timesheet-list-year-badges{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-left:auto;overflow:visible}.timesheet-list-year-label{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--color-text)}.timesheet-list-year-select{font-size:14px;font-weight:600;color:var(--color-primary);background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;padding:6px 10px;cursor:pointer}.timesheet-list-table th,.timesheet-list-table td{vertical-align:middle}.timesheet-list-actions-col{width:72px;padding-left:4px!important;padding-right:8px!important;text-align:right}.timesheet-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.timesheet-list-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:#2563eb;cursor:pointer;text-decoration:none}.timesheet-list-action-btn:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.timesheet-list-action-btn:disabled{opacity:.35;cursor:not-allowed}.timesheet-list-action-btn-danger{color:#dc2626}.timesheet-list-action-btn-danger:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.timesheet-list-month{font-weight:600}.timesheet-list-table-wrap{overflow-x:auto}.timesheet-list-metric-col{text-align:center;white-space:nowrap}.timesheet-summary-badge{display:inline-block;font-size:12px;line-height:1.3;color:#0f172a;padding:4px 10px;background:#f0fdf4;border:1px solid #86efac;border-radius:6px;white-space:nowrap}.timesheet-summary-badge-interactive{cursor:help}.timesheet-absence-detail{position:relative;display:inline-block;cursor:help}.timesheet-absence-value{font-weight:600;color:#0f172a;border-bottom:1px dashed #cbd5e1}.timesheet-summary-badge-interactive .timesheet-absence-value,.timesheet-summary-badge-interactive strong{border-bottom:none}.timesheet-absence-tooltip{display:none;position:absolute;top:calc(100% + 8px);left:50%;right:auto;transform:translate(-50%);z-index:30;min-width:240px;max-width:min(320px,calc(100vw - 32px));padding:10px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0f172a1f;text-align:left;font-weight:400;color:#0f172a}.timesheet-absence-detail-align-end .timesheet-absence-tooltip{left:auto;right:0;transform:none}.timesheet-absence-detail:hover .timesheet-absence-tooltip,.timesheet-absence-detail:focus .timesheet-absence-tooltip,.timesheet-absence-detail:focus-within .timesheet-absence-tooltip{display:block}.timesheet-absence-tooltip-title{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#64748b;margin-bottom:8px}.timesheet-absence-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;padding:4px 0}.timesheet-absence-tooltip-row>span:first-child{flex:1;min-width:0}.timesheet-absence-tooltip-row strong{font-weight:700;color:#15803d;white-space:nowrap;flex-shrink:0}.timesheet-export-actions{display:flex;flex-wrap:wrap;gap:8px}.timesheet-export-btn-loading{opacity:.75;cursor:wait}.timesheet-export-btn-loading svg{animation:timesheet-export-spin .8s linear infinite}@keyframes timesheet-export-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.timesheet-print-header{display:none}.timesheet-period-title{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.timesheet-period-nav{display:inline-flex;align-items:center;gap:6px}.timesheet-period-arrow{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #93c5fd;border-radius:8px;background:#eff6ff;color:#2563eb;cursor:pointer;flex-shrink:0}.timesheet-period-arrow:hover{background:#dbeafe;border-color:#2563eb}.timesheet-period-arrow:focus{outline:2px solid #2563eb;outline-offset:2px}.timesheet-period-select{font-size:inherit;font-weight:600;color:var(--color-primary);background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;padding:4px 10px;cursor:pointer}.timesheet-period-select:focus{outline:2px solid #2563eb;outline-offset:2px}.timesheet-view-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.timesheet-view-hint{font-size:14px;color:#64748b}.timesheet-summary-badges{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.timesheet-summary-badge{font-size:14px;color:#0f172a;padding:6px 12px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px}.timesheet-summary-badge strong{font-weight:700;color:#15803d}.timesheet-view-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.timesheet-view-switch input{position:absolute;opacity:0;width:0;height:0}.timesheet-view-switch-track{position:relative;width:44px;height:24px;background:#cbd5e1;border-radius:12px;transition:background .2s;flex-shrink:0}.timesheet-view-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.timesheet-view-switch input:checked+.timesheet-view-switch-track{background:#2563eb}.timesheet-view-switch input:checked+.timesheet-view-switch-track:after{transform:translate(20px)}.timesheet-view-switch-label{font-size:14px;font-weight:500;color:var(--color-text)}.timesheet-grid-wrap{overflow-x:auto;overflow-y:visible}.timesheet-grid-table{border-collapse:collapse;width:100%}.timesheet-grid-table th,.timesheet-grid-table td{text-align:center;padding:2px 1px;vertical-align:middle}.timesheet-grid-table th.timesheet-grid-day-col,.timesheet-grid-table td.timesheet-grid-day-col{width:30px;min-width:30px;max-width:30px;padding:2px 0!important}.timesheet-grid-sticky-col{position:sticky;left:0;background:#fff;z-index:2;min-width:160px;max-width:180px;text-align:left!important;padding:6px!important;vertical-align:top!important}.timesheet-grid-weekend,.timesheet-grid-holiday{background:#f8fafc;color:#94a3b8}.timesheet-grid-weekend-active{background:#fff7ed;color:#c2410c}.timesheet-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.timesheet-grid-day-label{font-size:8px;font-weight:400;line-height:1.1}.timesheet-grid-table th.timesheet-grid-day-col>div:first-child{font-size:11px;line-height:1.2}.timesheet-grid-row-title{font-weight:600;padding:4px 0;font-size:13px}.timesheet-leave-sync-hint{font-size:13px}.timesheet-grid-approved-badge{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 6px;border-radius:999px;background:#dcfce7;color:#166534}.timesheet-grid-pending-badge{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 6px;border-radius:999px;background:#ffedd5;color:#c2410c}.timesheet-grid-modified-badge{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 6px;border-radius:999px;background:#dbeafe;color:#1d4ed8}.timesheet-grid-day-locked .timesheet-grid-cell-picker-btn{background:#f0fdf4;border-color:#86efac;color:#166534;cursor:not-allowed}.timesheet-grid-day-pending-leave .timesheet-grid-cell-picker-btn{background:#fff7ed;border-color:#fb923c;color:#c2410c}.timesheet-grid-day-pending-leave .timesheet-grid-cell-readonly{color:#c2410c;font-weight:600}.timesheet-grid-day-modified-leave .timesheet-grid-cell-picker-btn{background:#eff6ff;border-color:#60a5fa;color:#1d4ed8}.timesheet-grid-day-modified-leave .timesheet-grid-cell-readonly{color:#1d4ed8;font-weight:600}.timesheet-grid-day-locked .timesheet-grid-cell-readonly{color:#166534;font-weight:600}.timesheet-grid-day-leave-blocked .timesheet-grid-cell-picker-btn:disabled{background:#f8fafc;border-color:#e2e8f0;color:#94a3b8;cursor:not-allowed;opacity:.75}.timesheet-grid-special-row-header{display:flex;align-items:center;gap:6px}.timesheet-grid-type-select{flex:1;min-width:0}.timesheet-grid-remove-row-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid #fca5a5;border-radius:6px;background:#fff;color:#dc2626;cursor:pointer}.timesheet-grid-remove-row-btn:hover{background:#fef2f2;border-color:#f87171}.timesheet-grid-actions-row td{padding:2px 0 6px!important;border-top:none;vertical-align:top}.timesheet-grid-data-row td{padding-bottom:2px!important;border-bottom:none}.timesheet-grid-week-actions-cell{border-left:1px solid #e2e8f0;padding:1px 0!important}.timesheet-grid-week-actions-inner{display:flex;align-items:center;justify-content:center;gap:2px;white-space:nowrap}.timesheet-grid-cell-picker{position:relative;width:100%}.timesheet-grid-cell-picker-btn{width:100%;height:26px;text-align:center;padding:0;border:1px solid var(--color-border);border-radius:3px;background:#fff;font-size:11px;font-weight:500;cursor:pointer;line-height:1}.timesheet-grid-cell-picker-btn:hover:not(:disabled){border-color:#93c5fd;background:#eff6ff}.timesheet-grid-cell-picker-btn:disabled{cursor:not-allowed;background:#f1f5f9;color:#94a3b8}.timesheet-grid-cell-picker-menu{margin:0;padding:4px 0;list-style:none;min-width:52px;background:#fff;border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #0f172a1f}.timesheet-grid-cell-picker-menu button{display:block;width:100%;padding:6px 12px;border:none;background:transparent;font-size:13px;text-align:center;cursor:pointer}.timesheet-grid-cell-picker-menu button:hover,.timesheet-grid-cell-picker-menu button.is-selected{background:#eff6ff;color:#2563eb;font-weight:600}.timesheet-grid-cell-readonly{display:inline-block;min-width:20px;font-size:12px;font-weight:500}.timesheet-grid-weekend .timesheet-grid-cell-picker-btn:disabled,.timesheet-grid-holiday .timesheet-grid-cell-picker-btn:disabled{background:#f1f5f9}.timesheet-grid-weekend-active .timesheet-grid-cell-picker-btn:not(:disabled){background:#fff;border-color:#fdba74}.timesheet-grid-total-col{min-width:52px;padding:2px 4px!important}.timesheet-grid-data-row td.timesheet-grid-total-col{vertical-align:top!important;padding-top:6px!important}.timesheet-grid-total{font-weight:600;font-size:11px;min-width:44px;padding:2px 4px!important}.timesheet-grid-totals-row{font-weight:600;background:#f8fafc}.timesheet-grid-totals-row .timesheet-grid-sticky-col{background:#f8fafc}.timesheet-grid-total-invalid{color:#dc2626;background:#fef2f2!important}.timesheet-form-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;align-items:center}.timesheet-add-leave-btn{background:#fff7ed;color:#c2410c;border:2px solid #fb923c;font-weight:700;box-shadow:0 1px 3px #fb923c40}.timesheet-add-leave-btn:hover{background:#ffedd5;border-color:#f97316;color:#9a3412}.timesheet-detailed-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.timesheet-weekend-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.timesheet-weekend-switch input{position:absolute;opacity:0;width:0;height:0}.timesheet-weekend-switch-track{position:relative;width:44px;height:24px;background:#cbd5e1;border-radius:12px;transition:background .2s;flex-shrink:0}.timesheet-weekend-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.timesheet-weekend-switch input:checked+.timesheet-weekend-switch-track{background:#2563eb}.timesheet-weekend-switch input:checked+.timesheet-weekend-switch-track:after{transform:translate(20px)}.timesheet-weekend-switch-label{font-size:14px;font-weight:500;color:var(--color-text)}.timesheet-detailed-meta{font-size:14px;color:#64748b}.timesheet-detailed-table{width:100%;border-collapse:collapse}.timesheet-detailed-table th,.timesheet-detailed-table td{padding:8px 10px;vertical-align:middle;border-bottom:1px solid var(--color-border)}.timesheet-detailed-table thead th{background:#f8fafc;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:#64748b}.timesheet-detailed-day-col{width:72px;white-space:nowrap}.timesheet-detailed-activity-slots{display:flex;flex-direction:column;gap:6px}.timesheet-detailed-activity-row{display:flex;align-items:center;gap:6px;--activity-control-height: 32px}.timesheet-detailed-activity-row .timesheet-detailed-select{flex:1;min-width:0;height:var(--activity-control-height);padding:0 8px;border:1px solid var(--color-border);border-radius:6px;background:#fff;font-size:13px}.timesheet-detailed-duration-btn{flex-shrink:0;width:var(--activity-control-height);height:var(--activity-control-height);min-width:var(--activity-control-height);padding:0;border:1px solid var(--color-border);border-radius:6px;background:#fff;color:#64748b;font-size:12px;font-weight:600;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.timesheet-detailed-duration-btn.is-half{font-size:10px;letter-spacing:-.02em}.timesheet-detailed-duration-btn:hover{border-color:#cbd5e1;color:#475569;background:#f8fafc}.timesheet-detailed-duration-btn:disabled{cursor:not-allowed;opacity:.5}.timesheet-detailed-day-num{display:inline-block;min-width:22px;font-weight:600;font-size:13px}.timesheet-detailed-day-label{margin-left:6px;font-size:11px;color:#64748b;text-transform:uppercase}.timesheet-detailed-activity-col{width:240px;min-width:200px}.timesheet-detailed-comment-col{width:auto}.timesheet-detailed-select,.timesheet-detailed-comment{font-size:14px}.timesheet-detailed-comment{width:100%;padding:8px 10px;border:1px solid var(--color-border);border-radius:6px;background:#fff}.timesheet-detailed-comment:disabled,.timesheet-detailed-select:disabled{background:#f8fafc;color:#64748b}.timesheet-detailed-weekend,.timesheet-detailed-holiday{background:#f8fafc}.timesheet-detailed-weekend-active{background:#fff7ed}.timesheet-detailed-weekend .timesheet-detailed-day-label,.timesheet-detailed-holiday .timesheet-detailed-day-label{color:#94a3b8}.timesheet-detailed-weekend-active .timesheet-detailed-day-label{color:#c2410c}.timesheet-detailed-weekend .timesheet-detailed-select:disabled,.timesheet-detailed-weekend .timesheet-detailed-comment:disabled,.timesheet-detailed-holiday .timesheet-detailed-select:disabled,.timesheet-detailed-holiday .timesheet-detailed-comment:disabled{background:#f1f5f9;border-color:#e2e8f0}.timesheet-detailed-weekend-active .timesheet-detailed-select:not(:disabled),.timesheet-detailed-weekend-active .timesheet-detailed-comment:not(:disabled){border-color:#fdba74}.timesheet-detailed-missing .timesheet-detailed-day-num{color:#dc2626}.timesheet-detailed-holiday-label{display:block;padding:8px 10px;font-size:14px;font-weight:500;color:#64748b;font-style:italic}.timesheet-detailed-week-actions-row td{padding:4px 10px 10px!important;border-bottom:1px solid #e2e8f0;background:#fafbfc}.timesheet-detailed-week-actions-inner{display:flex;align-items:center;justify-content:flex-start;gap:4px}.grid-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--color-border);border-radius:4px;background:#fff;color:#2563eb;cursor:pointer}.grid-icon-btn:hover{background:#eff6ff;border-color:#93c5fd}.grid-icon-btn-danger{color:#dc2626}.grid-icon-btn-danger:hover{background:#fef2f2;border-color:#fca5a5}.remote-work-week-grid{display:flex;flex-direction:column;gap:14px}.remote-work-week-range{font-size:14px;margin:0;flex:1;text-align:center;color:#0369a1;font-weight:500}.remote-work-week-range strong{color:#0f766e}.remote-work-week-nav{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:linear-gradient(90deg,#f0f9ff,#ecfdf5,#f0f9ff);border:1px solid #bae6fd}.remote-work-week-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #7dd3fc;border-radius:10px;background:#fff;color:#0284c7;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.remote-work-week-nav-btn:hover:not(:disabled){background:#e0f2fe;border-color:#38bdf8}.remote-work-week-nav-btn:disabled{opacity:.35;cursor:not-allowed}.remote-work-week-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid #bae6fd;box-shadow:0 2px 12px #0ea5e914}.remote-work-week-table{min-width:420px}.remote-work-week-table thead th{background:linear-gradient(180deg,#e0f2fe,#ccfbf1);color:#0f766e;border-color:#bae6fd!important;font-weight:700}.remote-work-week-table thead .timesheet-grid-sticky-col{background:linear-gradient(180deg,#dbeafe,#d1fae5)!important;color:#0369a1;font-size:11px;letter-spacing:.04em}.remote-work-week-table thead .timesheet-grid-day-label{color:#0d9488;font-weight:600}.remote-work-week-table thead .timesheet-grid-total-col{background:linear-gradient(180deg,#ccfbf1,#bae6fd)!important;color:#0f766e}.remote-work-week-table .timesheet-grid-sticky-col{background:#f8fafc!important}.remote-work-week-table .timesheet-grid-row-title{color:#047857;font-weight:700}.remote-work-week-table .timesheet-grid-total{color:#059669;font-weight:800;font-size:15px}.remote-work-week-table .timesheet-grid-weekend{background:#fffbeb!important;color:#b45309}.remote-work-week-table .timesheet-grid-holiday{background:#fef2f2!important;color:#dc2626}.remote-work-grid-past{background:#f1f5f9!important;color:#cbd5e1}.remote-work-day-toggle{width:32px;height:32px;border:2px solid #bae6fd;border-radius:10px;background:#fff;color:#0284c7;font-size:15px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease}.remote-work-day-toggle:hover:not(:disabled){border-color:#38bdf8;background:#f0f9ff}.remote-work-day-toggle-active{background:linear-gradient(145deg,#34d399,#10b981);border-color:#059669;color:#fff;box-shadow:0 2px 8px #10b98140}.remote-work-day-readonly{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;font-weight:700;color:#059669;background:#d1fae5;border-radius:10px}.remote-work-week-actions{justify-content:center;gap:10px}.remote-work-day-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.remote-work-day-toggle-blocked{opacity:.4;cursor:not-allowed;background:#f8fafc;border-color:#e2e8f0}.remote-work-day-mandatory{font-size:9px;color:#b45309;font-weight:700;background:#fef3c7;padding:1px 4px;border-radius:4px}.remote-work-week-table .timesheet-grid-week-actions-cell{background:#f0f9ff}.remote-work-form-page{--rw-blue: #0ea5e9;--rw-blue-dark: #0284c7;--rw-blue-light: #e0f2fe;--rw-blue-soft: #f0f9ff;--rw-green: #10b981;--rw-green-dark: #059669;--rw-green-light: #d1fae5;--rw-green-soft: #ecfdf5;--rw-teal: #14b8a6}.remote-work-form-fields{display:flex;flex-direction:column;gap:20px;max-width:760px}.remote-work-policy-banner{padding:16px 18px;border-radius:12px;background:linear-gradient(135deg,var(--rw-blue-soft) 0%,var(--rw-green-soft) 100%);border:1px solid #bae6fd;border-left:4px solid var(--rw-teal);color:#0f172a;font-size:14px;box-shadow:none}.remote-work-policy-banner strong{font-size:15px;color:#0369a1}.remote-work-policy-banner ul{margin:8px 0 0;padding-left:18px;color:#334155}.remote-work-policy-banner li+li{margin-top:4px}.remote-work-policy-banner p{margin:8px 0 0;color:#475569}.remote-work-form-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 18px;border-radius:12px;background:var(--rw-blue-soft);border:1px solid #bae6fd}.remote-work-form-toolbar .timesheet-weekend-switch input:checked+.timesheet-weekend-switch-track{background:var(--rw-teal)}.remote-work-form-toolbar .remote-work-toolbar-hint{margin:0;font-size:13px;color:#0369a1}.remote-work-location-card{max-width:520px;border-top:3px solid var(--rw-teal);background:linear-gradient(180deg,var(--rw-green-soft) 0%,#fff 40px);border-left:1px solid #a7f3d0;border-right:1px solid #a7f3d0;border-bottom:1px solid #a7f3d0}.remote-work-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.remote-work-form-page .btn-primary{background:var(--rw-teal);border-color:var(--rw-teal)}.remote-work-form-page .btn-primary:hover:not(:disabled){background:#0d9488;border-color:#0d9488}.remote-work-form-page .remote-work-btn-fill{color:#047857;border-color:#6ee7b7;background:var(--rw-green-soft)}.remote-work-form-page .remote-work-btn-fill:hover{background:var(--rw-green-light);border-color:var(--rw-green)}.expense-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-bottom:16px}.expense-list-year-label{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.expense-list-year-select{font-size:14px;font-weight:600;color:var(--color-primary);background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;padding:6px 10px;cursor:pointer}.expense-list-year-badges{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-left:auto}.expense-list-year-total{font-size:12px;padding:4px 10px;background:#f0fdf4;border:1px solid #86efac;border-radius:6px;white-space:nowrap}.expense-list-year-total strong{color:#15803d}.expense-list-year-km{font-size:12px;padding:4px 10px;background:#eff6ff;border:1px solid #93c5fd;border-radius:6px;white-space:nowrap}.expense-list-year-km strong{color:#1d4ed8}.expense-list-table{table-layout:fixed;width:100%}.expense-list-table th,.expense-list-table td{vertical-align:middle}.expense-list-data-col{width:calc((100% - 152px)/4)}.expense-list-month{font-weight:600}.expense-list-actions-col{width:152px;text-align:right}.expense-list-actions{display:flex;justify-content:flex-end;gap:4px}.expense-list-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:#2563eb;cursor:pointer;text-decoration:none}.expense-list-action-btn-danger{color:#dc2626}.expense-list-action-btn:disabled{opacity:.35;cursor:not-allowed}.expense-grid-wrap{overflow-x:auto}.expense-grid-table{width:100%;border-collapse:collapse;font-size:12px}.expense-grid-table th,.expense-grid-table td{padding:4px 6px;vertical-align:middle;border-bottom:1px solid var(--color-border);text-align:center}.expense-grid-table thead th{background:#f8fafc;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:#64748b;white-space:nowrap}.expense-grid-day-col{position:sticky;left:0;z-index:2;min-width:56px;background:#fff;text-align:left!important}.expense-grid-table thead .expense-grid-day-col{background:#f8fafc}.expense-grid-category-col{min-width:100px;max-width:130px}.expense-grid-category-cell{display:flex;flex-direction:column;align-items:stretch;gap:3px}.expense-grid-category-row{display:flex;align-items:center;justify-content:center;gap:4px}.expense-grid-inline-input{flex:1 1 0;min-width:0;max-width:none}.expense-grid-clip-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:2px;color:#2563eb;cursor:pointer}.expense-grid-clip-btn.expense-field-invalid{color:#dc2626;outline:1px solid #dc2626;border-radius:4px}.expense-grid-clip-btn input{display:none}.expense-grid-clip-btn--disabled{color:#94a3b8;cursor:not-allowed}.expense-grid-attachment-chips{display:flex;flex-wrap:wrap;gap:2px;justify-content:center}.expense-grid-vat-input{width:100%;max-width:80px;padding:3px 6px;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;text-align:right;background:#f8fafc;color:#64748b}.expense-grid-vat-input:disabled{background:#f1f5f9;color:#94a3b8}.expense-field-invalid{border-color:#dc2626!important;box-shadow:0 0 0 1px #dc2626}.expense-detailed-upload-btn.expense-field-invalid{color:#dc2626;outline:1px solid #dc2626;border-radius:4px;padding:2px 4px}.expense-detailed-km-summary{font-weight:600;color:#0f172a}.expense-detailed-km-degressive{font-weight:400;font-size:11px;color:#64748b}.expense-grid-comment-col{min-width:180px;text-align:left!important}.expense-grid-amount-input{width:100%;max-width:80px;padding:4px 6px;border:1px solid var(--color-border);border-radius:4px;font-size:12px;text-align:right;background:#fff}.expense-grid-amount-input:disabled{background:#f8fafc;color:#94a3b8}.expense-grid-holiday-cell{text-align:left!important}.expense-grid-comment-cell{display:flex;flex-direction:column;gap:4px}.expense-grid-comment-cell .timesheet-detailed-comment{width:100%}.expense-grid-totals-row{font-weight:600;background:#f8fafc}.expense-grid-totals-row .expense-grid-day-col{background:#f8fafc}.expense-grid-total-cell{font-weight:600;font-size:11px}.expense-detailed-vat-total{font-weight:600;color:#0f172a}.expense-detailed-total{margin-left:auto;font-weight:600;color:#0f172a}.expense-detailed-attachments{display:flex;flex-wrap:wrap;gap:4px}.expense-detailed-attachment-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;font-size:11px;color:#2563eb}.expense-detailed-attachment-chip a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}.expense-detailed-attachment-chip button{display:inline-flex;padding:0;border:none;background:transparent;color:#dc2626;cursor:pointer}.expense-detailed-upload-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.expense-detailed-upload-hint{font-size:11px}.expense-detailed-upload-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#2563eb;cursor:pointer}.expense-detailed-upload-btn input{display:none}.timesheet-grid-weekend-active .expense-grid-amount-input:not(:disabled){border-color:#fdba74}.timesheet-grid-holiday .expense-grid-day-col{background:#f8fafc}.timesheet-grid-weekend .expense-grid-day-col,.timesheet-grid-weekend-active .expense-grid-day-col{background:#fff7ed}.timesheet-grid-weekend-active .expense-grid-day-col{background:#fff}.expense-receipt-bar{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;font-size:14px}.expense-receipt-bar-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.expense-receipt-bar-text{line-height:1.4}.expense-receipt-bar--warning{padding:12px 16px;border-radius:var(--radius);background:#fef9c3;color:#854d0e;border:1px solid #fde047}.expense-receipt-bar--warning .expense-grid-clip-btn{color:#b45309}.file-upload-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-upload-hint{font-size:13px;line-height:1.4}.users-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.users-list-tabs{display:flex;gap:8px}.users-list-tab{padding:8px 18px;font-size:14px;font-weight:600;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text-muted);cursor:pointer}.users-list-tab-active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.users-presence-switch{display:flex;align-items:center;gap:12px;margin-left:auto}.users-presence-label{font-size:14px;font-weight:600;color:var(--color-text-muted)}.users-presence-label-active{color:#1d4ed8}.users-presence-toggle{position:relative;display:inline-block;width:48px;height:26px;cursor:pointer}.users-presence-toggle input{opacity:0;width:0;height:0}.users-presence-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:#cbd5e1;border-radius:26px;transition:background .2s}.users-presence-toggle-track:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 2px #0f172a26}.users-presence-toggle input:checked+.users-presence-toggle-track{background:#3b82f6}.users-presence-toggle input:checked+.users-presence-toggle-track:before{transform:translate(22px)}.users-list-name{font-weight:600}.users-list-actions-col{width:132px;text-align:right}.users-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.users-list-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:#2563eb;cursor:pointer;text-decoration:none}.users-list-action-btn-danger{color:#dc2626}.users-list-action-btn:disabled{opacity:.35;cursor:not-allowed}.payslip-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:16px}.payslip-year-filter{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--color-text-muted)}.payslip-year-filter select{min-width:120px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.payslip-year-group+.payslip-year-group{margin-top:28px}.payslip-year-title{margin:0 0 12px;font-size:1.1rem;font-weight:700;color:var(--theme-accent, var(--color-primary))}.payslip-table-wrap{overflow-x:auto}.payslip-actions-col{width:1%;white-space:nowrap;text-align:right}.payslip-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.payslip-deposit-card{max-width:960px}.payslip-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;padding:28px 20px;border:2px dashed var(--color-border);border-radius:12px;background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;text-align:center;transition:border-color .15s,background .15s,color .15s}.payslip-dropzone strong{color:var(--color-text);font-size:15px}.payslip-dropzone span{font-size:13px}.payslip-dropzone-active,.payslip-dropzone:hover{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.payslip-filename-hint{margin:16px 0;font-size:13px;color:var(--color-text-muted);line-height:1.5}.payslip-filename-hint code{font-size:12px;padding:2px 6px;border-radius:4px;background:var(--color-bg);color:var(--color-text)}.payslip-replace-toggle{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:14px;color:var(--color-text);cursor:pointer}.payslip-queue{overflow-x:auto;margin-bottom:16px}.payslip-queue select,.payslip-queue input[type=number]{width:100%;min-width:120px;padding:8px 10px;border:1.5px solid var(--color-input-border, var(--color-primary));border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:13px}.payslip-period-editors{display:flex;gap:8px;min-width:220px}.payslip-period-editors input[type=number]{width:90px;min-width:90px}.payslip-queue-file{font-weight:600;font-size:13px;word-break:break-all}.payslip-queue-status{font-size:12px;font-weight:600}.payslip-queue-status-ready{color:var(--color-text-muted)}.payslip-queue-status-uploading,.payslip-queue-status-uploaded{color:var(--color-primary)}.payslip-queue-status-done{color:var(--color-success)}.payslip-queue-status-error{color:var(--color-danger)}.payslip-deposit-actions{display:flex;gap:12px;flex-wrap:wrap}.iban-input-wrap{display:flex;flex-direction:column;gap:6px}.iban-input{font-variant-numeric:tabular-nums;letter-spacing:.04em;text-transform:uppercase}.iban-input-invalid{color:#dc2626;border-color:#fca5a5;background:#fef2f2}.iban-input-invalid:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.iban-input-valid{color:#15803d;border-color:#86efac;background:#f0fdf4}.iban-input-valid:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.iban-input-hint{margin:0;font-size:12px;color:var(--color-text-muted, #64748b)}.iban-input-hint-error{color:#dc2626}.bic-input{font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:uppercase}.bic-input-invalid{color:#dc2626;border-color:#fca5a5;background:#fef2f2}.bic-input-valid{color:#15803d;border-color:#86efac;background:#f0fdf4}.required-documents-panel .required-documents-alert{margin-bottom:12px;padding:12px 14px;border-radius:8px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:14px}.required-documents-panel .required-documents-alert-optional{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.required-documents-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.required-documents-item{padding:14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg)}.required-documents-item.is-complete{border-color:#86efac;background:#f0fdf4}.required-documents-item.is-pending{border-color:#fecaca;background:#fef2f2}.required-documents-item.is-optional{border-color:#bfdbfe;background:#f8fafc}.required-documents-item-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.required-documents-icon-ok{color:#16a34a;flex-shrink:0;margin-top:2px}.required-documents-icon-pending{color:#dc2626;flex-shrink:0;margin-top:2px}.required-documents-hint{margin:4px 0 0;font-size:12px;color:var(--color-text-muted, #64748b)}.required-documents-upload{display:flex;flex-direction:column;gap:10px;margin-top:8px}.required-documents-item .employee-profile-doc-list{margin-bottom:8px}.other-documents-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.other-documents-panel h3{margin:0 0 8px;font-size:14px}.employee-profile-page{max-width:720px}.employee-profile-form{display:flex;flex-direction:column;gap:16px}.employee-profile-section h2{font-size:16px;margin:0 0 4px}.employee-profile-photo-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:12px}.employee-profile-photo-preview{width:80px;height:80px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.employee-profile-photo-img{width:100%;height:100%;object-fit:cover}.employee-profile-photo-initials{font-size:28px;font-weight:700}.employee-profile-photo-actions{display:flex;flex-wrap:wrap;gap:8px}.employee-profile-photo-hint{flex-basis:100%;font-size:13px;margin:0}.employee-profile-photo-remove{color:#dc2626}.employee-profile-hint{font-size:13px;margin-bottom:16px}.employee-profile-doc-upload{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}.employee-profile-doc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.employee-profile-doc-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:var(--color-bg);border-radius:8px;font-size:14px}.employee-profile-doc-actions{display:flex;gap:6px;flex-shrink:0}.employee-profile-doc-delete{color:#dc2626;padding:8px 10px}.employee-profile-actions{margin-top:8px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.employee-profile-skip-hint{flex-basis:100%;margin:0;font-size:13px}.employee-profile-vehicle-toggle{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;margin-bottom:0;padding:12px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;cursor:pointer}.employee-profile-vehicle-toggle input{width:18px;height:18px;flex-shrink:0;cursor:pointer;accent-color:var(--color-primary)}.employee-profile-vehicle-fields{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.employee-profile-vehicle-fields .employee-profile-hint{margin-bottom:12px}.employee-profile-carte-grise-upload{margin-top:20px;padding-top:16px;border-top:1px solid var(--color-border)}.employee-profile-carte-grise-upload>label{display:block;font-weight:600;font-size:14px;margin-bottom:4px}.employee-profile-carte-grise-upload .employee-profile-doc-list{margin-top:12px}.employee-admin-profile-form .form-group{margin-bottom:12px}.employee-admin-profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.employee-admin-badge-complete{font-size:12px;padding:4px 10px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:600}.employee-admin-badge-pending{font-size:12px;padding:4px 10px;border-radius:999px;background:#fef3c7;color:#92400e;font-weight:600}.employee-admin-readonly dl{display:grid;grid-template-columns:160px 1fr;gap:10px 16px;font-size:14px;margin:0}.employee-admin-readonly dt{color:var(--color-text-muted)}.employee-admin-readonly dd{margin:0}.employee-admin-doc-list{list-style:none;padding:0;margin:12px 0 0;font-size:14px}.employee-admin-doc-list li{padding:6px 0;border-bottom:1px solid var(--color-border)}.employee-admin-doc-list li:last-child{border-bottom:none}.employee-admin-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.user-detail-header-actions{display:flex;gap:8px;flex-wrap:wrap}.user-detail-delete-btn{color:#dc2626;border-color:#fecaca}.user-detail-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.user-detail-tabs .users-list-tab{padding:8px 18px;font-size:14px;font-weight:600;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text-muted);cursor:pointer}.user-detail-tabs .users-list-tab-active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.user-detail-tab-panel{display:flex;flex-direction:column;gap:16px}.user-detail-hero{display:flex;gap:24px;align-items:flex-start;padding:24px}@media(max-width:640px){.user-detail-hero{flex-direction:column;align-items:center;text-align:center}}.user-detail-avatar{width:96px;height:96px;border-radius:50%;background:#eff6ff;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:28px;overflow:hidden;flex-shrink:0;border:3px solid #dbeafe}.user-detail-avatar-img{width:100%;height:100%;object-fit:cover}.user-detail-avatar-initials{line-height:1}.user-detail-hero-body{flex:1;min-width:0}.user-detail-profile-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.user-detail-active-row{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500}.user-detail-dl{display:grid;grid-template-columns:140px 1fr;gap:12px 16px;font-size:14px;margin:0}@media(max-width:640px){.user-detail-dl{grid-template-columns:1fr;gap:4px 0}.user-detail-dl dt{margin-top:8px}}.user-detail-dl dt{color:var(--color-text-muted)}.user-detail-dl dd{margin:0}.user-detail-section{margin-bottom:0}.user-detail-section h2{font-size:16px;margin:0 0 12px}.user-detail-project-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.user-detail-project-role{margin-left:8px;font-size:12px;padding:2px 8px;background:#f1f5f9;border-radius:6px;color:#475569}.user-detail-row-link{color:#1d4ed8;font-weight:500;text-decoration:none}.user-detail-row-link:hover{text-decoration:underline}.user-active-switch{position:relative;display:inline-block;width:42px;height:24px;cursor:pointer}.user-active-switch input{opacity:0;width:0;height:0}.user-active-switch input:disabled+.user-active-switch-slider{opacity:.5;cursor:not-allowed}.user-active-switch-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#cbd5e1;border-radius:24px;transition:background .2s}.user-active-switch-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.user-active-switch input:checked+.user-active-switch-slider{background:#22c55e}.user-active-switch input:checked+.user-active-switch-slider:before{transform:translate(18px)}.sms-root{position:relative}.sms-control{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:6px 10px;border:1.5px solid var(--color-input-border, var(--color-primary));border-radius:var(--radius);background:var(--color-surface);cursor:text;transition:border-color .15s,box-shadow .15s}.sms-control-open,.sms-control:focus-within{border-color:var(--color-input-border-strong, var(--color-primary));box-shadow:0 0 0 3px var(--color-primary-light)}.sms-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 6px 3px 10px;border-radius:999px;background:var(--color-primary-light);color:var(--theme-accent, var(--color-primary));font-size:13px;font-weight:600;line-height:1.3}.sms-chip-remove{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;border-radius:50%;opacity:.75}.sms-chip-remove:hover{opacity:1;background:var(--color-bg)}.sms-input{flex:1 1 120px;min-width:120px;border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important;padding:4px 2px!important;margin:0;font-size:14px;color:var(--color-text)}.sms-dropdown{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;margin:0;padding:6px;list-style:none;max-height:220px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--theme-shadow, 0 8px 24px rgba(0, 0, 0, .1))}.sms-option{display:block;width:100%;text-align:left;border:none;background:transparent;padding:8px 10px;border-radius:calc(var(--radius) - 2px);font-size:14px;color:var(--color-text);cursor:pointer}.sms-option:hover,.sms-option-active{background:var(--color-primary-light);color:var(--theme-accent, var(--color-primary))}.sms-empty{padding:10px;font-size:13px;color:var(--color-text-muted)}.sms-disabled{opacity:.65;pointer-events:none}.project-form-card{max-width:640px}.project-consultants-section{margin-top:8px;padding-top:16px;border-top:1px solid var(--color-border)}.project-consultants-header h2{margin:0 0 4px;font-size:16px;font-weight:650}.project-consultants-header p{margin:0 0 14px;font-size:13px}.project-consultant-card{padding:14px;margin-bottom:12px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg)}.project-consultant-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:14px;font-weight:600}.project-assignment-list{margin-top:16px}.project-assignment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-border)}.project-assignment-row-edit{align-items:flex-start}.project-assignment-row:last-child{border-bottom:none}.project-assignment-name{font-weight:600;font-size:14px}.btn-sm{padding:4px 10px;font-size:13px}.mileage-policy-card{margin-bottom:24px;padding:24px}.mileage-policy-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:16px}.mileage-bracket-config{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding:16px 18px;background:#f8fafc;border:1px solid var(--color-border);border-radius:10px}.mileage-bracket-config .form-group{margin-bottom:0;min-width:160px}.mileage-bracket-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mileage-formula-hint{font-size:13px;margin-bottom:20px;line-height:1.5}.mileage-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.mileage-urssaf-table{width:100%;border-collapse:separate;border-spacing:0}.mileage-urssaf-table thead th{padding:14px 20px;font-size:13px;font-weight:600;text-align:left;background:#f1f5f9;border-bottom:2px solid var(--color-border);white-space:nowrap}.mileage-urssaf-table thead th:first-child{border-top-left-radius:12px}.mileage-urssaf-table thead th:last-child{border-top-right-radius:12px}.mileage-urssaf-table thead th.mileage-col-tier1{background:#eff6ff;color:#1e40af}.mileage-urssaf-table thead th.mileage-col-actions,.mileage-urssaf-table tbody td.mileage-col-actions{text-align:right;width:120px}.mileage-urssaf-table tbody td{padding:16px 20px;font-size:14px;vertical-align:middle;border-bottom:1px solid #eef2f7}.mileage-urssaf-table tbody tr:last-child td{border-bottom:none}.mileage-urssaf-table tbody tr:nth-child(2n):not(.mileage-rate-edit-row){background:#fafbfc}.mileage-urssaf-table tbody tr:hover:not(.mileage-rate-edit-row){background:#f1f5f9}.mileage-urssaf-table tbody td.mileage-col-tier1{background:#eff6ff73}.mileage-urssaf-table tbody td.mileage-col-tier2{background:#fff7ed80}.mileage-urssaf-table tbody tr:hover td.mileage-col-tier1{background:#dbeafe8c}.mileage-urssaf-table tbody tr:hover td.mileage-col-tier2{background:#fef3c773}.mileage-cv-label{font-weight:600;color:var(--color-text)}.mileage-rate-value{font-variant-numeric:tabular-nums;font-weight:500}.mileage-urssaf-table td input{width:100%;max-width:110px;padding:8px 10px;border:1px solid var(--color-border);border-radius:6px;font-size:13px}.mileage-rate-edit-cv,.mileage-rate-edit-mid{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mileage-rate-edit-row{background:#f0f9ff!important}.mileage-rate-edit-row td{padding-top:18px;padding-bottom:18px}.mileage-rate-actions{display:flex;gap:8px;justify-content:flex-end}.mileage-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .15s ease;white-space:nowrap}.mileage-btn-sm{padding:6px 10px}.mileage-btn-seed{background:#fff7ed;color:#c2410c;border-color:#fdba74}.mileage-btn-seed:hover{background:#ffedd5;border-color:#fb923c}.mileage-btn-save{background:#16a34a;color:#fff}.mileage-btn-save:hover{background:#15803d}.mileage-btn-edit{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.mileage-btn-edit:hover{background:#dbeafe;border-color:#60a5fa}.mileage-btn-confirm{background:#16a34a;color:#fff}.mileage-btn-confirm:hover{background:#15803d}.mileage-btn-cancel{background:#fff;color:#64748b;border-color:#cbd5e1}.mileage-btn-cancel:hover{background:#f8fafc;color:#475569}.mileage-next-year-config{margin-bottom:16px}.mileage-next-year-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mileage-next-year-actions .mileage-btn-cancel{margin-left:auto}.mileage-btn:disabled{opacity:.55;cursor:not-allowed}.mileage-update-reminder{margin-bottom:16px;padding:14px 16px;background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;color:#1e3a5f}.mileage-update-reminder p{margin:8px 0 0;font-size:13px;line-height:1.5}.mileage-update-reminder a{color:#2563eb}.table-wrap{overflow-x:auto}.remote-work-settings-page{max-width:720px}.remote-work-settings-form{display:flex;flex-direction:column;gap:20px}.remote-work-settings-hint{font-size:13px;margin:8px 0 0}.remote-work-settings-weekdays{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.remote-work-settings-day{min-width:52px;padding:8px 10px;border:1px solid var(--color-border);border-radius:8px;background:#fff;font-size:13px;font-weight:600;cursor:pointer}.remote-work-settings-day:hover{border-color:var(--color-primary)}.remote-work-settings-day-active{background:#fef3c7;border-color:#d97706;color:#92400e}.remote-work-settings-switches{display:flex;flex-direction:column;gap:12px}.remote-work-settings-enabled-block{padding-bottom:0;margin-bottom:0;border-bottom:none}.remote-work-settings-enabled-block:has(+.form-group),.remote-work-settings-enabled-block:has(+.remote-work-settings-switches){padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid var(--color-border)}.remote-work-settings-enabled-block .timesheet-weekend-switch-label{font-size:15px;font-weight:600}.remote-work-settings-actions{display:flex;justify-content:flex-end}.personnel-register-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.personnel-register-search{flex:1;min-width:220px;max-width:420px}.personnel-register-count{font-size:14px}.personnel-register-table-wrap{overflow-x:auto}.personnel-register-table{min-width:720px}.personnel-register-actions{width:40px;padding-left:4px;padding-right:4px;text-align:center;white-space:nowrap}.avatar-crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:24px}.avatar-crop-modal{width:min(100%,400px);padding:20px}.avatar-crop-modal h2{margin:0 0 4px;font-size:18px}.avatar-crop-hint{font-size:13px;margin:0 0 16px}.avatar-crop-viewport{position:relative;width:280px;height:280px;margin:0 auto 16px;border-radius:50%;overflow:hidden;background:#e2e8f0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.avatar-crop-viewport:active{cursor:grabbing}.avatar-crop-image{position:absolute;top:50%;left:50%;max-width:none;pointer-events:none}.avatar-crop-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffffe6;pointer-events:none}.avatar-crop-zoom{display:flex;align-items:center;gap:10px;margin-bottom:16px}.avatar-crop-zoom-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text);cursor:pointer;flex-shrink:0}.avatar-crop-zoom-btn:disabled{opacity:.4;cursor:not-allowed}.avatar-crop-slider{flex:1;accent-color:var(--color-primary)}.avatar-crop-actions{display:flex;justify-content:flex-end;gap:8px}.nir-input-wrap{display:flex;flex-direction:column;gap:6px}.nir-input{font-variant-numeric:tabular-nums;letter-spacing:.04em}.nir-input-invalid{color:#dc2626;border-color:#fca5a5;background:#fef2f2}.nir-input-invalid:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.nir-input-valid{color:#15803d;border-color:#86efac;background:#f0fdf4}.nir-input-valid:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.nir-input-hint{margin:0;font-size:12px;color:var(--color-text-muted, #64748b)}.nir-input-hint-error{color:#dc2626}.account-page{max-width:760px}.account-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.account-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;font-size:14px;font-weight:600;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted);text-decoration:none;transition:background .15s,border-color .15s,color .15s}.account-tab:hover{color:var(--color-text);border-color:var(--color-text-muted)}.account-tab-active{background:var(--color-primary-light, #eff6ff);border-color:#93c5fd;color:var(--color-primary)}.account-tab-panel{display:flex;flex-direction:column;gap:16px}@media(max-width:480px){.account-tabs{display:grid;grid-template-columns:1fr 1fr}.account-tab{justify-content:center}}.theme-selector-section-title{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--color-text)}.theme-selector-section-title--spaced{margin-top:28px}.theme-selector-hint{margin:0 0 16px;font-size:14px}.theme-selector-tile-preview{display:block;height:72px;border-radius:6px;overflow:hidden;background:var(--color-tile-media-bg, #f1f5f9)}.theme-selector-tile-preview img{width:100%;height:100%;object-fit:cover;display:block}.theme-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.theme-selector-card{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px;text-align:left;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,box-shadow .15s}.theme-selector-card:hover{border-color:var(--color-text-muted)}.theme-selector-card--active{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.theme-selector-preview{display:flex;flex-direction:column;height:56px;border:1px solid;border-radius:6px;overflow:hidden}.theme-selector-preview-accent{height:4px;flex-shrink:0}.theme-selector-preview-media{flex:1}.theme-selector-label{font-size:14px;font-weight:600;color:var(--color-text)}.theme-selector-desc{font-size:12px;line-height:1.35;color:var(--color-text-muted)}:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-primary-light: #dbeafe;--color-success: #16a34a;--color-warning: #d97706;--color-danger: #dc2626;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-input-border: #2563eb88;--color-input-border-strong: #2563eb;--color-text: #0f172a;--color-text-muted: #64748b;--sidebar-width: 260px;--header-height: 64px;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 24px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius);font-size:14px;font-weight:500;border:none;transition:all .15s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg)}.btn-danger{background:var(--color-danger);color:#fff}.btn-cancel-request{margin-top:24px;width:fit-content;max-width:100%;padding-inline:1.2em;justify-content:flex-start;background:#fef2f2;color:#dc2626;border:2px solid #f87171;font-weight:700;box-shadow:0 1px 3px #dc26261f}.btn-cancel-request:hover:not(:disabled){background:#fee2e2;border-color:#ef4444;color:#b91c1c}.btn-cancel-request:disabled{opacity:.65;cursor:not-allowed}.leave-detail-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;align-items:center}.leave-detail-actions .btn-cancel-request{margin-top:0}.btn-validate-modification{font-weight:700;box-shadow:0 2px 8px #2563eb47}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1.5px solid var(--color-input-border, var(--color-primary));border-radius:var(--radius);font-size:14px;background:var(--color-surface);color:var(--color-text);color-scheme:light dark}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted);opacity:.85}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{opacity:.75;color:var(--color-text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-input-border-strong, var(--color-primary));box-shadow:0 0 0 3px var(--color-primary-light)}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=range]):not([type=submit]):not([type=button]):not([type=image]),select,textarea{border:1.5px solid var(--color-input-border, var(--color-primary));border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=range]):not([type=submit]):not([type=button]):not([type=image]):focus,select:focus,textarea:focus{outline:none;border-color:var(--color-input-border-strong, var(--color-primary));box-shadow:0 0 0 3px var(--color-primary-light)}[data-app-theme=dark-pro]{color-scheme:dark}[data-app-theme=dark-pro] .form-group input,[data-app-theme=dark-pro] .form-group select,[data-app-theme=dark-pro] .form-group textarea,[data-app-theme=dark-pro] input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),[data-app-theme=dark-pro] select,[data-app-theme=dark-pro] textarea{color:var(--color-text);background:var(--color-surface);border-color:var(--color-input-border, var(--color-primary));-webkit-text-fill-color:var(--color-text)}[data-app-theme=dark-pro] .form-group input:-webkit-autofill,[data-app-theme=dark-pro] .form-group input:-webkit-autofill:hover,[data-app-theme=dark-pro] .form-group input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);box-shadow:0 0 0 1000px var(--color-surface) inset;transition:background-color 9999s ease-in-out 0s}.badge{display:inline-flex;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.badge-pending{background:#fef3c7;color:#92400e}.badge-approved{background:#dcfce7;color:#166534}.badge-rejected{background:#fee2e2;color:#991b1b}.badge-draft{background:#f1f5f9;color:#475569}.badge-submitted{background:#dbeafe;color:#1e40af}.badge-modified{background:#dbeafe;color:#1d4ed8}.page-header{margin-bottom:24px}.page-header h1{font-size:24px;font-weight:700;margin-bottom:4px}.page-header p{color:var(--color-text-muted);font-size:14px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px}.stat-card .stat-value{font-size:28px;font-weight:700;color:var(--color-primary)}.stat-card .stat-label{font-size:13px;color:var(--color-text-muted);margin-top:4px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border);font-size:14px}.table th{font-weight:600;color:var(--color-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.table tr:hover td{background:var(--color-bg)}.empty-state{text-align:center;padding:48px 24px;color:var(--color-text-muted)}.alert{padding:12px 16px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.list-page-actions-col{width:112px;text-align:right;white-space:nowrap}.list-page-actions{display:flex;justify-content:flex-end;gap:6px}.list-page-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text-muted);transition:color .15s,border-color .15s,background .15s;cursor:pointer;padding:0}.list-page-action-btn:hover:not(:disabled){color:var(--color-primary);border-color:#93c5fd;background:#eff6ff}.list-page-action-btn-danger:hover:not(:disabled){color:#dc2626;border-color:#fecaca;background:#fef2f2}.list-page-action-btn:disabled{opacity:.5;cursor:not-allowed}.timesheet-print-header,.expense-print-summary{display:none}@media print{@page{size:A4 landscape;margin:10mm}body.timesheet-printing .sidebar,body.timesheet-printing .header,body.timesheet-printing .page-header,body.timesheet-printing .no-print,body.expense-printing .sidebar,body.expense-printing .header,body.expense-printing .page-header,body.expense-printing .no-print{display:none!important}body.timesheet-printing .main-content,body.expense-printing .main-content{margin-left:0!important;width:100%!important}body.timesheet-printing .page-content,body.expense-printing .page-content{padding:0!important;max-width:none!important}body.timesheet-printing .layout,body.expense-printing .layout{display:block!important}body.timesheet-printing .timesheet-print-header,body.expense-printing .timesheet-print-header{display:block!important;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #000}body.timesheet-printing .timesheet-print-header h2,body.expense-printing .timesheet-print-header h2{font-size:16px;margin-bottom:4px}body.timesheet-printing .timesheet-print-header p,body.expense-printing .timesheet-print-header p{font-size:12px;color:#334155}body.expense-printing .expense-print-summary{display:block!important;margin-bottom:10px;font-size:11px;color:#334155}body.expense-printing .expense-print-summary p{margin:0 0 4px}body.timesheet-printing .timesheet-grid-wrap,body.timesheet-printing .timesheet-detailed-wrap,body.expense-printing .expense-grid-wrap{overflow:visible!important;box-shadow:none!important;border:1px solid #000!important;break-inside:avoid}body.timesheet-printing .timesheet-grid-table,body.timesheet-printing .timesheet-detailed-table,body.expense-printing .expense-grid-table{min-width:0!important;width:100%!important;font-size:9px!important}body.timesheet-printing .timesheet-grid-sticky-col,body.expense-printing .expense-grid-day-col{position:static!important;background:#fff!important}body.timesheet-printing select,body.timesheet-printing input.timesheet-detailed-comment,body.expense-printing select,body.expense-printing input.timesheet-detailed-comment,body.expense-printing input.expense-grid-amount-input,body.expense-printing input.expense-grid-vat-input{border:none!important;background:transparent!important;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:0!important;box-shadow:none!important}body.expense-printing .expense-grid-clip-btn,body.expense-printing .expense-receipt-bar,body.expense-printing .expense-detailed-attachment-chip button{display:none!important}body.expense-printing .expense-field-invalid{border:none!important;box-shadow:none!important;color:inherit!important}body.timesheet-printing .timesheet-grid-cell-picker-btn,body.timesheet-printing .timesheet-detailed-duration-btn{border:none!important;background:transparent!important;min-width:auto!important;width:auto!important;height:auto!important;padding:0!important;font-size:inherit!important}body.timesheet-printing .timesheet-grid-total-invalid{color:inherit!important}}
