@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}:root{--bg-color:#f1f5f9;--bg-gradient:linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--panel-bg:#fff;--panel-bg-hover:#f8fafc;--panel-border:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent:#009fe3;--accent-hover:#0087c2;--accent-light:#e6f6fd;--accent-glow:#009fe326;--success:#10b981;--success-hover:#059669;--success-light:#ecfdf5;--success-bg:#10b9811a;--warning:#f59e0b;--warning-hover:#d97706;--warning-light:#fffbeb;--warning-bg:#f59e0b1a;--danger:#ef4444;--danger-hover:#dc2626;--danger-light:#fef2f2;--danger-bg:#ef44441a;--sidebar-width:250px;--sidebar-bg:#fff;--header-height:56px;--radius:12px;--radius-sm:8px;--shadow-xs:0 1px 2px #0000000d;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -1px #0000000a;--shadow-lg:0 10px 25px #00000014}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-color);color:var(--text-primary);min-height:100vh;font-family:Inter,sans-serif}#root{min-height:100vh}.layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--panel-border);z-index:100;box-shadow:var(--shadow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{border-bottom:1px solid var(--panel-border);padding:1.25rem 1.5rem}.logo{flex-direction:column;align-items:center;gap:.35rem;display:flex}.logo-img{object-fit:contain;width:160px;height:auto}.logo-subtitle{color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;font-size:.6rem;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:.75rem;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:.75rem;padding:.65rem .875rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{background:var(--bg-color);color:var(--text-primary)}.nav-item.active{background:var(--accent-light);color:var(--accent);font-weight:600}.nav-item.active .nav-icon svg{stroke:var(--accent)}.nav-icon{flex-shrink:0;align-items:center;display:flex}.nav-icon svg{stroke:var(--text-muted);transition:stroke .15s}.nav-item:hover .nav-icon svg{stroke:var(--text-primary)}.sidebar-footer{border-top:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:1rem;display:flex}.user-info{align-items:center;gap:.75rem;display:flex}.user-avatar{color:#fff;background:linear-gradient(135deg,#009fe3,#0077b6);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.8rem;font-weight:700;display:flex}.user-details{flex-direction:column;display:flex}.user-name{color:var(--text-primary);font-size:.8rem;font-weight:600}.user-role{color:var(--text-muted);font-size:.7rem}.logout-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:.5rem;transition:all .15s;display:flex}.logout-btn:hover{background:var(--danger-light);color:var(--danger)}.logout-btn:hover svg{stroke:var(--danger)}.main-area{margin-left:var(--sidebar-width);background:var(--bg-color);flex-direction:column;flex:1;min-height:100vh;display:flex}.top-header{height:var(--header-height);border-bottom:1px solid var(--panel-border);background:#fff;justify-content:flex-end;align-items:center;padding:0 2rem;display:flex}.page-content{flex:1;padding:1.5rem 2rem;overflow-y:auto}.lang-switcher{background:var(--bg-color);border-radius:99px;gap:2px;padding:3px;display:flex}.lang-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:99px;padding:.35rem .6rem;font-size:.75rem;font-weight:500;transition:all .15s}.lang-btn:hover{color:var(--text-primary)}.lang-btn.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-xs)}.login-page{background:var(--bg-gradient);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{border:1px solid var(--panel-border);width:100%;max-width:400px;box-shadow:var(--shadow-lg);background:#fff;border-radius:20px;padding:2.5rem;animation:.4s cubic-bezier(.16,1,.3,1) slideUp}.login-header{text-align:center;margin-bottom:2rem}.login-logo{width:220px;height:auto;margin-bottom:1rem}.login-header h1{color:var(--accent);font-size:1.4rem;font-weight:700}.login-header p{color:var(--text-muted);margin-top:.4rem;font-size:.875rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-btn{width:100%;margin-top:.5rem;padding:.75rem;font-size:.95rem}.login-lang{justify-content:center;margin-top:1.5rem;display:flex}.error-msg{background:var(--danger-light);color:var(--danger);border-radius:var(--radius-sm);text-align:center;border:1px solid #ef444426;padding:.625rem 1rem;font-size:.8rem}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.form-input,select,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local]{border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--text-primary);background:#fff;padding:.6rem .8rem;font-family:inherit;font-size:.875rem;transition:all .15s}.form-input:focus,select:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}select{cursor:pointer}.color-input{cursor:pointer;border:1px solid var(--panel-border);width:50px;height:38px;padding:2px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.form-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.form-actions{gap:.75rem;margin-top:1.25rem;display:flex}.form-card{border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-xs);background:#fff;margin-bottom:1.5rem;padding:1.5rem;animation:.25s slideDown}.form-card h3{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem;font-weight:600}.btn{border-radius:var(--radius-sm);cursor:pointer;color:#fff;box-shadow:var(--shadow-xs);border:none;align-items:center;gap:.5rem;padding:.6rem 1.15rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;pointer-events:none}.btn.primary{background:var(--success)}.btn.primary:hover{background:var(--success-hover);box-shadow:var(--shadow)}.btn.danger{background:var(--danger)}.btn.danger:hover{background:var(--danger-hover)}.btn.secondary{border:1px solid var(--panel-border);color:var(--text-secondary);background:#fff}.btn.secondary:hover{background:var(--bg-color);color:var(--text-primary)}.btn.warning{background:var(--warning)}.btn.warning:hover{background:var(--warning-hover)}.btn-icon{cursor:pointer;border-radius:var(--radius-sm);color:var(--text-muted);background:0 0;border:none;padding:.35rem .5rem;font-size:.95rem;transition:all .15s}.btn-icon:hover{background:var(--bg-color)}.btn-icon.edit:hover{color:var(--accent);background:var(--accent-light)}.btn-icon.delete:hover{color:var(--danger);background:var(--danger-light)}.btn-icon.save:hover{color:var(--success);background:var(--success-light)}.btn-icon.cancel:hover{color:var(--warning);background:var(--warning-light)}.page-container{animation:.25s fadeIn}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-header h1{color:var(--text-primary);font-size:1.35rem;font-weight:700}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1.5rem;display:flex}.dashboard{flex-direction:column;gap:1.5rem;display:flex}.timer-card{border:1px solid var(--panel-border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-xs);background:#fff;padding:2rem}.timer-project{margin-bottom:1.25rem}.project-select{background:var(--bg-color);border:1px solid var(--panel-border);color:var(--text-primary);cursor:pointer;text-align:center;border-radius:99px;min-width:200px;padding:.45rem 1.25rem;font-family:inherit;font-size:.85rem}.time-display{padding:1.25rem 0}.time{font-variant-numeric:tabular-nums;letter-spacing:-2px;color:var(--text-primary);font-size:3.5rem;font-weight:700}.time.running{color:var(--success);animation:2s infinite pulse}.stop-fields{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:1rem 0;display:flex}.stop-fields .form-input{max-width:240px}.pause-input{max-width:110px!important}.controls{justify-content:center;gap:.75rem;margin-top:.75rem;display:flex}.controls .btn{min-width:150px;padding:.75rem 1.75rem;font-size:.95rem}.entries-card{border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-xs);background:#fff;padding:1.25rem 1.5rem}.entries-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.entries-header h2{font-size:1rem;font-weight:600}.data-table{border-collapse:collapse;border:1px solid var(--panel-border);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-xs);background:#fff;overflow:hidden}.data-table th{background:var(--bg-color);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--panel-border);padding:.7rem 1rem;font-size:.7rem;font-weight:600}.data-table td{border-bottom:1px solid var(--panel-border);color:var(--text-secondary);padding:.7rem 1rem;font-size:.85rem}.data-table tbody tr{transition:background .1s}.data-table tbody tr:hover{background:var(--panel-bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.row-inactive td{opacity:.45}.actions-cell{align-items:center;gap:.2rem;display:flex}.form-input.small{max-width:80px}.form-input.inline{max-width:130px;padding:.35rem;font-size:.75rem}.project-dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:.5rem;display:inline-block}.status-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:99px;padding:.2rem .55rem;font-size:.65rem;font-weight:600}.status-badge.active,.status-badge.running{background:var(--success-light);color:var(--success)}.status-badge.inactive{background:var(--danger-light);color:var(--danger)}.status-badge.pending{background:var(--warning-light);color:var(--warning)}.role-badge{border-radius:99px;padding:.2rem .55rem;font-size:.65rem;font-weight:600}.role-badge.admin{color:#7c3aed;background:#f5f3ff}.role-badge.employee{background:var(--accent-light);color:var(--accent)}.date-range-picker-wrapper{position:relative}.date-range-trigger{border:1px solid var(--panel-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);background:#fff;align-items:center;gap:.5rem;min-width:260px;padding:.6rem .875rem;font-size:.85rem;transition:all .15s;display:flex}.date-range-trigger:hover{border-color:var(--accent)}.date-range-trigger.open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.date-range-trigger svg{stroke:var(--text-muted);flex-shrink:0}.date-range-dropdown{z-index:1000;border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);background:#fff;padding:1rem;animation:.2s slideDown;position:absolute;top:calc(100% + 4px);left:0}.rdp{--rdp-accent-color:var(--accent);--rdp-background-color:var(--accent-light)}.rdp-root{font-family:Inter,sans-serif;font-size:.85rem}.rdp-day_button{border-radius:var(--radius-sm)}.rdp-selected .rdp-day_button{background:var(--accent)!important;color:#fff!important}.rdp-range_middle .rdp-day_button{background:var(--accent-light)!important;color:var(--accent)!important}.rdp-today:not(.rdp-selected) .rdp-day_button{color:var(--accent);font-weight:700}.rdp-disabled .rdp-day_button{color:var(--text-muted);opacity:.4;text-decoration:line-through}.holiday-dot{background:var(--danger);border-radius:50%;width:4px;height:4px;margin:1px auto 0}.date-range-footer{border-top:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:.75rem;display:flex}.date-range-preview{color:var(--text-secondary);font-size:.8rem;font-weight:500}.date-range-actions{gap:.5rem;margin-left:auto;display:flex}.calc-info{background:var(--accent-light);border-radius:var(--radius-sm);color:var(--accent);align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.8rem;font-weight:500;display:flex}.calc-info .calc-detail{color:var(--text-muted);font-size:.75rem;font-weight:400}.settings-section{border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-xs);background:#fff;margin-bottom:1.25rem;padding:1.5rem}.settings-section h2{margin-bottom:.25rem;font-size:1rem;font-weight:600}.settings-section p{color:var(--text-muted);margin-bottom:1rem;font-size:.8rem}.settings-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.settings-row .form-input{flex:1;min-width:300px}.api-status{border-radius:99px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.75rem;display:inline-flex}.api-status.ok{background:var(--success-light);color:var(--success)}.api-status.error{background:var(--danger-light);color:var(--danger)}.holiday-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem;margin-top:.75rem;display:grid}.holiday-item{background:var(--bg-color);border-radius:var(--radius-sm);align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.8rem;display:flex}.holiday-date{color:var(--text-primary);min-width:80px;font-weight:600}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-top:.5rem;display:grid}.recipient-table{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.recipient-row{background:var(--bg-color);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem;display:flex}.recipient-label{min-width:220px}.recipient-label strong{color:var(--text-primary);font-size:.8rem;display:block}.recipient-label small{color:var(--text-muted);font-size:.65rem}.recipient-row .form-input{flex:1;min-width:250px}.export-buttons{gap:.4rem;display:flex}.btn.export{border-radius:var(--radius-sm);background:var(--bg-color);border:1px solid var(--panel-border);color:var(--text-secondary);cursor:pointer;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.72rem;transition:all .15s;display:inline-flex}.btn.export:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.total-badge{background:var(--accent-light);color:var(--accent);border-radius:99px;padding:.45rem .9rem;font-size:.8rem;font-weight:600}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.project-card{border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-xs);background:#fff;transition:all .15s;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.project-card.inactive{opacity:.45}.project-color-bar{height:3px}.project-card-body{padding:1.15rem}.project-card-body h3{color:var(--text-primary);margin-bottom:.35rem;font-size:.95rem}.project-card-body p{color:var(--text-muted);margin-bottom:.875rem;font-size:.8rem}.project-card-actions{justify-content:space-between;align-items:center;display:flex}.balance-cards{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.balance-card{border:1px solid var(--panel-border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-xs);background:#fff;padding:1.15rem}.balance-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.7rem;display:block}.balance-value{color:var(--text-primary);font-size:1.6rem;font-weight:700}.balance-value.used{color:var(--warning)}.balance-value.remaining{color:var(--success)}.report-section{margin-bottom:2rem}.report-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.report-header h2{font-size:1.1rem;font-weight:600}.project-bars{flex-direction:column;gap:.65rem;display:flex}.bar-row{align-items:center;gap:.875rem;display:flex}.bar-label{width:130px;color:var(--text-primary);flex-shrink:0;font-size:.85rem;font-weight:500}.bar-track{background:var(--bg-color);border-radius:99px;flex:1;height:26px;overflow:hidden}.bar-fill{opacity:.85;border-radius:99px;min-width:4px;height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.bar-value{width:100px;color:var(--text-muted);text-align:right;flex-shrink:0;font-size:.8rem}.text-success{color:var(--success);font-weight:600}.text-danger{color:var(--danger);font-weight:600}.empty-state{text-align:center;color:var(--text-muted);padding:2rem;font-size:.85rem}.loading{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.add-entry-form{border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-xs);background:#fff;margin-bottom:1.5rem;padding:1.5rem;animation:.25s slideDown}.add-entry-form h3{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem;font-weight:600}.view-toggle{background:var(--bg-color);border-radius:var(--radius-sm);gap:2px;padding:2px;display:inline-flex}.view-btn{border-radius:var(--radius-sm);cursor:pointer;width:34px;height:34px;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.view-btn:hover{color:var(--text-primary)}.view-btn.active{color:var(--accent);box-shadow:var(--shadow-xs);background:#fff}.cal-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.cal-nav{align-items:center;gap:.5rem;display:flex}.cal-title{text-align:center;text-transform:capitalize;min-width:180px;font-size:1.1rem;font-weight:700}.cal-arrow{border:1px solid var(--panel-border);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);background:#fff;justify-content:center;align-items:center;font-size:1.1rem;transition:all .15s;display:flex}.cal-arrow:hover{border-color:var(--accent);color:var(--accent)}.cal-summary{flex-wrap:wrap;gap:.75rem;display:flex}.cal-stat{border:1px solid var(--panel-border);border-radius:var(--radius-sm);min-width:110px;box-shadow:var(--shadow-xs);background:#fff;flex-direction:column;align-items:center;padding:.5rem 1rem;display:flex}.cal-stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:.65rem;font-weight:500}.cal-stat-value{color:var(--text-primary);font-size:1rem;font-weight:700}.cal-stat.positive .cal-stat-value{color:var(--success)}.cal-stat.negative .cal-stat-value{color:var(--danger)}.cal-grid{border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-xs);background:#fff;grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.cal-weekday{text-align:center;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-color);border-bottom:1px solid var(--panel-border);padding:.5rem;font-size:.7rem;font-weight:600}.cal-weekday:nth-child(6),.cal-weekday:nth-child(7){color:var(--text-muted);opacity:.6}.cal-cell{border-right:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);cursor:pointer;min-height:72px;padding:.4rem;transition:all .15s;position:relative}.cal-cell:nth-child(7n){border-right:none}.cal-cell:hover:not(.empty){background:var(--accent-light)}.cal-cell.empty{cursor:default;background:var(--bg-color)}.cal-cell.weekend{background:#f8fafc}.cal-cell.holiday{background:#fef2f2}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--accent);border-radius:2px}.cal-cell.expanded{background:var(--accent-light)}.cal-cell.day-full{background:#ecfdf5}.cal-cell.day-partial{background:#fffbeb}.cal-cell.day-missing{background:#fef2f2}.cal-day-num{color:var(--text-primary);margin-bottom:.2rem;font-size:.8rem;font-weight:600}.cal-cell.weekend .cal-day-num,.cal-cell.holiday .cal-day-num{color:var(--text-muted)}.cal-cell.today .cal-day-num{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;display:flex}.cal-holiday-name{color:var(--danger);text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;line-height:1.2;overflow:hidden}.cal-hours{align-items:baseline;gap:.2rem;display:flex}.cal-actual{color:var(--text-primary);font-size:.85rem;font-weight:700}.cal-actual.overtime{color:var(--warning)}.cal-expected{color:var(--text-muted);font-size:.6rem;font-weight:400}.cal-cell.day-full .cal-actual{color:var(--success)}.cal-cell.day-partial .cal-actual{color:var(--warning)}.cal-detail-card{border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;margin-top:1rem;padding:1rem;animation:.2s slideDown}.cal-detail-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.cal-detail-header h3{font-size:.95rem;font-weight:600}.data-table.compact{font-size:.8rem}.data-table.compact th,.data-table.compact td{padding:.4rem .6rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (width<=768px){.sidebar{width:56px}.sidebar .nav-label,.sidebar .user-details,.sidebar .logo span:not(.logo-icon){display:none}.sidebar-header{text-align:center;padding:.875rem .5rem}.nav-item{justify-content:center;padding:.65rem}.main-area{margin-left:56px}.page-content{padding:1rem}.time{font-size:2.25rem}.balance-cards{grid-template-columns:1fr}}.vacation-overview-card{border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-xs);background:#fff;margin-bottom:1.5rem;padding:1.5rem}.vacation-matrix-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.vacation-matrix-header h3{color:var(--text-primary);font-size:1rem;font-weight:600}.vacation-matrix-nav{align-items:center;gap:.5rem;display:flex}.vacation-matrix-table{border-collapse:separate;border-spacing:0;border:1px solid var(--panel-border);border-radius:var(--radius-sm);width:100%;overflow:hidden}.vacation-matrix-table th,.vacation-matrix-table td{text-align:center;border-right:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);min-width:28px;padding:.35rem;font-size:.75rem}.vacation-matrix-table th:last-child,.vacation-matrix-table td:last-child{border-right:none}.vacation-matrix-table tbody tr:last-child td{border-bottom:none}.vacation-matrix-table th{background:var(--bg-color);color:var(--text-muted);font-weight:600}.vacation-matrix-table th.user-col{text-align:left;background:var(--bg-color);z-index:2;min-width:140px;padding-left:.75rem;position:sticky;left:0}.vacation-matrix-table td.user-col{text-align:left;color:var(--text-primary);z-index:1;background:#fff;padding-left:.75rem;font-weight:500;position:sticky;left:0}.vacation-matrix-table td.weekend{background:#f8fafc}.vacation-matrix-table th.weekend{color:var(--text-secondary);background:#e2e8f0}.vacation-cell{border-radius:3px;width:100%;height:20px;display:block}.vacation-cell.approved{background:var(--success)}.vacation-cell.pending{background:var(--warning)}.vacation-matrix-legend{color:var(--text-secondary);gap:1rem;margin-top:1rem;font-size:.75rem;display:flex}.legend-item{align-items:center;gap:.4rem;display:flex}.legend-color{border-radius:2px;width:12px;height:12px}.legend-color.approved{background:var(--success)}.legend-color.pending{background:var(--warning)}.toast-stack{z-index:1000;flex-direction:column;gap:.5rem;max-width:min(420px,100vw - 2rem);display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.toast{cursor:pointer;background:#fff;border-left:4px solid #6b7280;border-radius:8px;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;font-size:.9rem;animation:.18s ease-out toast-in;display:flex;box-shadow:0 4px 12px #0000001f}.toast-success{color:#065f46;background:#ecfdf5;border-left-color:#059669}.toast-error{color:#991b1b;background:#fef2f2;border-left-color:#dc2626}.toast-info{color:#1e3a8a;background:#eff6ff;border-left-color:#009fe3}.toast-icon{font-weight:700}.toast-msg{flex:1;line-height:1.4}.toast-close{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;margin-left:.25rem;padding:0;font-size:1.1rem}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.feedback-fab{color:#fff;cursor:pointer;z-index:900;background:#f59e0b;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .12s,box-shadow .12s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 16px #f59e0b73}.feedback-fab:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b8c}.feedback-fab:active{transform:translateY(0)}.modal-backdrop{z-index:950;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out fade-in;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:560px;max-height:90vh;animation:.18s ease-out slide-up;display:flex;box-shadow:0 12px 40px #0000002e}.modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-header h3{margin:0;font-size:1.05rem}.modal-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.modal-close:hover{color:#1f2937}.modal-body{flex:1;padding:1.25rem;overflow-y:auto}.modal-footer{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:.5rem;padding:.85rem 1.25rem;display:flex}.modal-footer .btn-text{margin-right:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.pill-group{flex-wrap:wrap;gap:.5rem;display:flex}.pill{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.85rem;transition:all .12s;display:inline-flex}.pill:hover{color:#009fe3;border-color:#009fe3}.pill.active{color:#fff;background:#009fe3;border-color:#009fe3}.pill.active.dark{background:#1f2937;border-color:#1f2937}.page-url-display{color:#1f2937;word-break:break-all;background:#f3f4f6;border-radius:4px;padding:.25rem .5rem;font-family:monospace;font-size:.8rem;display:inline-block}.feedback-filter-bar{border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1rem;padding:.75rem 0;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.filter-label{color:#6b7280;margin-right:.25rem;font-size:.85rem}.feedback-list{flex-direction:column;gap:.6rem;display:flex}.feedback-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.9rem 1.1rem;transition:border-color .12s,box-shadow .12s}.feedback-card:hover{border-color:#009fe3;box-shadow:0 2px 8px #009fe314}.feedback-card-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.feedback-card-head h3{flex:1;min-width:200px;margin:0;font-size:.98rem}.feedback-card-icon{font-size:1.1rem}.feedback-card-desc{color:#4b5563;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.2rem 0;font-size:.88rem;display:-webkit-box;overflow:hidden}.feedback-card-meta{color:#9ca3af;font-size:.8rem}.feedback-badge{white-space:nowrap;border-radius:4px;padding:.15rem .55rem;font-size:.75rem;font-weight:500;display:inline-block}.feedback-badge.status-open{color:#0369a1;background:#e0f2fe}.feedback-badge.status-in_discussion{color:#854d0e;background:#fef9c3}.feedback-badge.status-approved{color:#1e40af;background:#dbeafe}.feedback-badge.status-in_progress{color:#9a3412;background:#fed7aa}.feedback-badge.status-done{color:#065f46;background:#d1fae5}.feedback-badge.status-rejected{color:#991b1b;background:#fee2e2}.feedback-badge.prio-low{color:#6b7280;background:0 0;padding-left:0}.feedback-badge.prio-medium{color:#d97706;background:0 0;padding-left:0}.feedback-badge.prio-high{color:#dc2626;background:0 0;padding-left:0;font-weight:600}.feedback-badge.type{color:#4b5563;background:#f3f4f6}.feedback-meta{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.85rem;display:flex}.feedback-author{color:#9ca3af;font-size:.85rem}.feedback-description{white-space:pre-wrap;margin-bottom:1rem;line-height:1.5}.page-url-row{background:#f9fafb;border-radius:6px;margin-bottom:1rem;padding:.55rem .8rem;font-size:.85rem}.admin-actions-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;padding:.85rem 1rem;display:flex}.admin-actions-label{color:#1e40af;letter-spacing:.05em;font-size:.72rem;font-weight:700}.admin-actions-hint{color:#6b7280;font-size:.78rem}.spec-btn{width:fit-content}.feedback-discussion{margin-top:1rem}.feedback-discussion-label{color:#6b7280;letter-spacing:.05em;margin-bottom:.75rem;font-size:.72rem;font-weight:700}.comment{gap:.7rem;margin-bottom:.85rem;display:flex}.comment-avatar{color:#fff;background:#009fe3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:600;display:flex}.comment-body{flex:1}.comment-head{align-items:center;gap:.5rem;margin-bottom:.2rem;display:flex}.comment-time{color:#9ca3af;font-size:.8rem}.comment-delete{margin-left:auto;padding:.1rem .35rem;font-size:.85rem}.comment-body p{white-space:pre-wrap;margin:0;line-height:1.45}.comment-form{margin-top:.5rem}.comment-form textarea{resize:vertical;width:100%}.comment-form-actions{color:#9ca3af;justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.78rem;display:flex}.btn-text{cursor:pointer;background:0 0;border:none;padding:.4rem .6rem;font-size:.85rem}.btn-text.delete{color:#dc2626}.btn-text.delete:hover{background:#fef2f2;border-radius:4px}.page-url-link{border:1px solid #0000;text-decoration:none;transition:background .12s,border-color .12s;color:#009fe3!important}.page-url-link:hover{background:#e0f2fe;border-color:#bae6fd}.nav-section+.nav-section{border-top:1px solid #ffffff14;margin-top:.85rem;padding-top:.85rem}.nav-section-title{letter-spacing:.1em;color:#fff6;text-transform:uppercase;padding:.25rem .9rem .4rem;font-size:.65rem;font-weight:700}
