.vue-recycle-scroller__resize-observer[data-v-08cc04ab]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;z-index:-1}.vue-recycle-scroller{position:relative}.vue-recycle-scroller.flow-mode{overflow-anchor:none}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.grid-mode:not(.page-mode){overflow:auto}.vue-recycle-scroller.direction-horizontal{display:flex}.vue-recycle-scroller__slot{flex:auto 0 0}.vue-recycle-scroller__item-wrapper{flex:1;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.flow-mode .vue-recycle-scroller__item-wrapper{overflow:visible;overflow-anchor:none}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.ready.flow-mode .vue-recycle-scroller__item-view{position:static;top:auto;left:auto;will-change:auto;overflow-anchor:none}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.vue-recycle-scroller__item-spacer{box-sizing:border-box;flex:0 0 auto;padding:0;margin:0;border:0;visibility:hidden;pointer-events:none;overflow-anchor:none}.sidebar-brand[data-v-02165463]{display:flex;align-items:center;justify-content:space-between}.session-timer[data-v-02165463]{font-size:.72rem;font-weight:600;color:#c8d5ff99;white-space:nowrap;padding:.2rem .5rem;border-radius:6px;background:#ffffff0f}.session-timer.session-warn[data-v-02165463]{color:#fbbf24;background:#fbbf241f}.sidebar-nav[data-v-02165463]{display:flex;flex-direction:column;gap:2px;margin-top:8px;flex:1;min-height:0;overflow-y:auto;padding:0 4px 0 0}.sidebar-group[data-v-02165463]{margin-top:12px}.sidebar-group[data-v-02165463]:first-child{margin-top:0}.sidebar-group-label[data-v-02165463]{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#c8d5ff80;padding:0 .8rem;margin-bottom:4px}[data-v-02165463] .dark .sidebar-group-label{color:#ffffff4d}.sidebar-icon[data-v-02165463]{display:inline-flex;width:22px;justify-content:center;font-size:.9rem;flex-shrink:0}.sidebar-badge[data-v-02165463]{margin-left:auto;background:#ef4444;color:#fff;font-size:.68rem;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;padding:0 5px;flex-shrink:0}.sidebar-badge-warning[data-v-02165463]{background:#f59e0b}.sidebar-footer-actions[data-v-02165463]{display:flex;gap:6px;padding:0 .5rem}.icon-btn[data-v-02165463]{flex:1;display:flex;align-items:center;justify-content:center;padding:.55rem;font-size:1rem;border-radius:8px}.logout-btn[data-v-02165463]{background:#d83b3b26;border-color:#d83b3b4d}.logout-btn[data-v-02165463]:hover{background:#d83b3b4d}.time-widget-mini[data-v-02165463]{margin:1rem;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;font-size:.85rem}.time-status[data-v-02165463]{display:flex;align-items:center;gap:.5rem;color:#fff}.time-status.active[data-v-02165463]{gap:.75rem}.indicator[data-v-02165463]{width:8px;height:8px;background:#4caf50;border-radius:50%;animation:pulse-02165463 2s infinite}@keyframes pulse-02165463{0%,to{opacity:1;box-shadow:0 0 #4caf50b3}to{opacity:1;box-shadow:0 0 0 4px #4caf5000}}.time-text[data-v-02165463]{font-weight:700;font-family:Courier New,monospace;font-size:.95rem;flex:1}.status-label[data-v-02165463]{flex:1;opacity:.9}.time-actions[data-v-02165463]{display:flex;gap:.35rem}.mini-btn[data-v-02165463]{padding:.3rem .5rem;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:3px;cursor:pointer;font-size:.8rem;transition:all .2s}.mini-btn[data-v-02165463]:hover{background:#ffffff4d}.mini-btn.start[data-v-02165463]{background:#4caf50b3}.mini-btn.start[data-v-02165463]:hover{background:#4caf50e6}.sync-status-bar[data-v-02165463]{display:flex;align-items:center;gap:.4rem;margin:.5rem 1rem;padding:.35rem .6rem;background:#ffffff14;border-radius:6px;font-size:.75rem;color:var(--muted)}.sync-dot[data-v-02165463]{font-size:.6rem;line-height:1}.sync-dot.syncing[data-v-02165463]{animation:spin-02165463 1s linear infinite}.sync-label[data-v-02165463]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes spin-02165463{to{transform:rotate(360deg)}}.toast-container[data-v-144fd6b8]{position:fixed;top:16px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 32px));pointer-events:none}.toast[data-v-144fd6b8]{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;box-shadow:0 6px 20px #0000002e;background:#fff;border-left:4px solid #64748b;color:#0f172a;font-size:14px;line-height:1.4;pointer-events:auto;cursor:pointer}.toast-info[data-v-144fd6b8]{border-left-color:#2563eb}.toast-success[data-v-144fd6b8]{border-left-color:#16a34a}.toast-warning[data-v-144fd6b8]{border-left-color:#d97706}.toast-error[data-v-144fd6b8]{border-left-color:#dc2626}.toast-body[data-v-144fd6b8]{flex:1;min-width:0}.toast-title[data-v-144fd6b8]{font-weight:600;margin-bottom:2px}.toast-msg[data-v-144fd6b8]{word-break:break-word}.toast-close[data-v-144fd6b8]{background:transparent;border:none;font-size:16px;cursor:pointer;color:#64748b;padding:2px 6px;border-radius:4px}.toast-close[data-v-144fd6b8]:hover{background:#0000000f}.toast-enter-active[data-v-144fd6b8],.toast-leave-active[data-v-144fd6b8]{transition:transform .2s ease,opacity .2s ease}.toast-enter-from[data-v-144fd6b8],.toast-leave-to[data-v-144fd6b8]{transform:translate(16px);opacity:0}.dark{background:#1e293b;color:#f1f5f9;box-shadow:0 6px 20px #00000080}.dark{color:#94a3b8}.dark{background:#ffffff14}.modal-subtitle[data-v-909de403]{font-size:.82rem;color:var(--muted);display:block;margin-top:2px}.modal-fade-enter-active[data-v-909de403],.modal-fade-leave-active[data-v-909de403]{transition:opacity .15s ease}.modal-fade-enter-from[data-v-909de403],.modal-fade-leave-to[data-v-909de403]{opacity:0}.confirm-hint[data-v-33e1b5ef]{font-size:.84rem;color:var(--muted);margin:0}.error-boundary[data-v-9f2ad054]{display:flex;justify-content:center;padding:32px 16px}.error-card[data-v-9f2ad054]{max-width:640px;width:100%;padding:24px;border-radius:12px;border:1px solid #fecaca;background:#fef2f2;color:#7f1d1d}.error-card h3[data-v-9f2ad054]{margin:0 0 8px;font-size:18px}.error-label[data-v-9f2ad054]{margin:0 0 12px;font-weight:500}.error-details[data-v-9f2ad054]{margin:12px 0;font-size:13px;color:#991b1b}.error-details pre[data-v-9f2ad054]{background:#0000000d;padding:8px;border-radius:6px;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-stack[data-v-9f2ad054]{font-size:11px;max-height:200px;overflow-y:auto}.error-actions[data-v-9f2ad054]{margin-top:12px}.dark{background:#1e0f0f;border-color:#7f1d1d;color:#fecaca}.dark{color:#fca5a5}.dark{background:#ffffff0d}:root{--bg: #f3f6ff;--panel: #ffffff;--surface: #eef2ff;--text: #1f2e55;--muted: #6d7b9f;--border: #dce3ff;--accent: #0f52ff;--green: #0f9f58;--danger: #d83b3b;--radius: 10px;--z-modal: 1000;--z-modal-nested: 1100;--z-toast: 10000;--sidebar-bg: #0f2cac;--sidebar-border: #0b238f;--sidebar-active-bg: #2851d6;--sidebar-active-border: #5b78ea;--sidebar-hover-bg: rgba(255,255,255,.1);--sidebar-item-color: rgba(231,239,255,.85);--sidebar-user-card-bg: rgba(255,255,255,.06);--sidebar-user-card-border: rgba(255,255,255,.12);--sidebar-user-small: rgba(200,213,255,.7);--sidebar-user-avatar-bg: #fff;--sidebar-user-avatar-color: #1d49c0;--sidebar-footer-border: rgba(255,255,255,.1);--footer-btn-bg: rgba(255,255,255,.06);--footer-btn-border: rgba(255,255,255,.15);--footer-btn-hover-bg: rgba(255,255,255,.12)}.dark{--bg: #1e1e1e;--panel: #2a2a2a;--surface: #333333;--text: #e0e0e0;--muted: #999999;--border: #444444;--accent: #4a90ff;--green: #3ddc84;--danger: #ef5350;--sidebar-bg: #1a1a1a;--sidebar-border: #333;--sidebar-active-bg: #3a3a3a;--sidebar-active-border: #555;--sidebar-hover-bg: #333;--sidebar-item-color: #e0e0e0;--sidebar-user-card-bg: #2a2a2a;--sidebar-user-card-border: #444;--sidebar-user-small: #aaa;--sidebar-user-avatar-bg: var(--surface);--sidebar-user-avatar-color: var(--text);--sidebar-footer-border: #444;--footer-btn-bg: #333;--footer-btn-border: #555;--footer-btn-hover-bg: #444}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:17px}input,textarea,select{background:var(--panel);color:var(--text);border-color:var(--border)}.dark input,.dark textarea,.dark select{background:var(--surface);color:var(--text);border-color:var(--border)}#app{min-height:100vh}.login-page{display:grid;place-items:center;min-height:100vh;background:linear-gradient(120deg,#e8efff,#f4f3ff)}.dark .login-page{background:linear-gradient(120deg,#1e1e1e,#262626)}.login-box{background:var(--panel);border-radius:16px;padding:26px;box-shadow:0 10px 25px #00000014;width:min(500px,92vw);color:var(--text)}.login-box h2{font-size:1.7rem;margin-bottom:.35rem}.text-muted{color:var(--muted);font-size:.95rem;margin-bottom:1rem}.form-row{margin:.55rem 0;display:flex;flex-direction:column;gap:5px}.form-row label{font-size:.88rem;color:var(--muted)}.form-row input,.form-row select{border:1px solid var(--border);border-radius:10px;padding:.65rem .75rem;font-size:1rem;background:var(--surface);color:var(--text)}.error{color:var(--danger);font-size:.92rem;margin-top:.45rem}.success{color:var(--green);font-size:.92rem;margin-top:.45rem}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);height:100vh;overflow:hidden;background:var(--bg)}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:#fff;display:flex;flex-direction:column;padding:12px 10px;height:100vh;overflow:hidden}.sidebar-brand{padding:.5rem .8rem .75rem}.sidebar-logo{font-weight:700;font-size:1.15rem;color:#fff;letter-spacing:.04em}.sidebar-item{background:transparent;border:0;color:var(--sidebar-item-color);border-radius:8px;text-align:left;padding:.55rem .8rem;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .15s ease;width:100%}.sidebar-item.active{background:var(--sidebar-active-bg);color:#fff;font-weight:600}.sidebar-item:hover{background:var(--sidebar-hover-bg);color:#fff}.sidebar-footer{margin-top:auto;display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--sidebar-footer-border)}.sidebar-user-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--sidebar-user-card-border);border-radius:10px;background:var(--sidebar-user-card-bg)}.sidebar-user-meta{display:flex;flex-direction:column;min-width:0}.sidebar-user-meta strong{font-size:.88rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-meta small{font-size:.78rem;color:var(--sidebar-user-small);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--sidebar-user-avatar-bg);color:var(--sidebar-user-avatar-color);font-weight:700;font-size:.85rem;flex-shrink:0}.footer-btn{border:1px solid var(--footer-btn-border);background:var(--footer-btn-bg);color:#fff;border-radius:8px;padding:.55rem .75rem;font-size:.85rem;cursor:pointer;transition:all .15s ease}.footer-btn:hover{background:var(--footer-btn-hover-bg)}.footer-btn.active{background:var(--sidebar-active-bg);border-color:var(--sidebar-active-border)}.section-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1rem}.section-tab{padding:.55rem 1.2rem;border:none;background:none;font-size:.9rem;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:.4rem;white-space:nowrap}.section-tab:hover{color:var(--text)}.section-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-count{background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;padding:.1rem .45rem;border-radius:99px;line-height:1.3}.sub-tab-row{display:flex;gap:.5rem;padding:0;margin-bottom:.75rem}.sub-tab-btn{padding:.45rem .9rem;border:none;border-bottom:2px solid transparent;background:none;font-weight:600;cursor:pointer;color:var(--muted);font-size:.85rem;transition:all .15s}.sub-tab-btn:hover{color:var(--accent)}.sub-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.section-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.section-header h2{margin:0;font-size:1.15rem;font-weight:700;color:var(--text)}.section-header-actions{display:flex;gap:8px;align-items:center}.btn{padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.btn:hover{background:var(--surface)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:#0a42d6;border-color:#0a42d6}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{background:#b32d2d;border-color:#b32d2d}.btn-sm,.btn-small{padding:.35rem .75rem;font-size:.82rem}.btn-icon{background:none;border:1px solid var(--border);padding:.3rem;font-size:1rem;cursor:pointer;color:var(--muted);border-radius:6px;transition:all .12s}.btn-icon:hover{background:var(--surface);border-color:var(--text)}.btn-icon.danger,.btn-icon.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-icon.btn-success{color:var(--success, #16a34a);border-color:var(--success, #16a34a)}.btn-close{background:var(--surface);border:none;color:var(--text);border-radius:var(--radius);width:38px;height:38px;font-size:1rem;cursor:pointer;display:grid;place-items:center;flex-shrink:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.5rem 1rem;color:var(--muted);gap:.5rem}.empty-state .empty-icon{font-size:2rem;margin-bottom:.25rem}.empty-state .empty-title{font-size:1rem;font-weight:600;color:var(--text)}.empty-state .empty-text{font-size:.88rem;color:var(--muted)}.empty-state p{margin:0;font-size:.92rem;color:var(--muted)}.empty-state .btn{margin-top:.5rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;justify-content:center;align-items:flex-start;padding:6vh 24px 24px;z-index:var(--z-modal);overflow-y:auto}.modal{width:min(780px,95vw);background:var(--panel);border-radius:16px;padding:20px 22px;box-shadow:0 20px 50px #0e1f573d;display:flex;flex-direction:column;gap:10px;max-height:90vh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;color:var(--text)}.modal.modal-sm{width:min(460px,95vw)}.modal.modal-lg{width:min(900px,95vw)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:2px}.modal-header h3{font-size:1.2rem;color:var(--text);margin:0}.modal-body{display:flex;flex-direction:column;gap:10px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:12px;border-top:1px solid var(--border)}.input{width:100%;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.92rem;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s;box-sizing:border-box}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f52ff1a}.input-sm{padding:.4rem .6rem;font-size:.85rem}.label{display:block;font-size:.84rem;font-weight:600;color:var(--muted);margin:.6rem 0 .25rem}.label.required:after{content:" *";color:var(--danger);margin-left:.15rem}textarea.input{resize:vertical;min-height:80px}.dashboard{padding:24px 32px 24px 36px;display:grid;gap:16px;background:transparent;height:100vh;overflow:auto}.dash-section{display:flex;flex-direction:column;gap:14px}.emp-avatar-sm{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface);color:var(--accent);font-size:.82rem;font-weight:700;vertical-align:middle;margin-right:6px}.emp-avatar-img{width:28px;height:28px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:6px}.avatar-upload-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.avatar-preview{position:relative;width:64px;height:64px;border-radius:50%;overflow:hidden;cursor:pointer;background:var(--surface);display:grid;place-items:center;border:2px solid var(--border);transition:border-color .15s}.avatar-preview:hover{border-color:var(--accent)}.avatar-preview.clickable{cursor:pointer}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{font-size:1.5rem;font-weight:700;color:var(--accent)}.avatar-preview-lg{width:80px;height:80px}.avatar-placeholder-lg{font-size:1.8rem}.avatar-edit-hint{position:absolute;bottom:0;right:0;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:.7rem;display:grid;place-items:center}.incomplete-badge{color:#d97706;font-size:.85rem;margin-left:4px;cursor:help}.avatar-actions{display:flex;gap:6px;align-items:center}.avatar-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#000000bf;display:grid;place-items:center;cursor:pointer}.avatar-lightbox img{max-width:min(400px,85vw);max-height:min(400px,85vh);border-radius:12px;object-fit:contain;box-shadow:0 8px 32px #0006;cursor:default}.avatar-lightbox-close{position:absolute;top:20px;right:24px;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}.text-muted-sm{color:var(--muted);font-size:.92rem}.hours-history-table{width:100%;border-collapse:collapse;font-size:.9rem}.hours-history-table th{text-align:left;padding:4px 6px;border-bottom:1px solid var(--border);color:var(--muted);font-weight:500;font-size:.85rem}.hours-history-table td{padding:3px 6px}.hours-history-input{width:100%;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.9rem}.skill-expiry-row{display:flex;align-items:center;gap:.5rem;padding:6px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.entry-storniert{opacity:.55;text-decoration:line-through}.badge-storniert{background:#d32f2f!important;color:#fff!important}.badge-changelog{background:var(--accent)!important;color:#fff!important;font-size:.75rem}.changelog-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.changelog-item{border-left:3px solid var(--border);padding:6px 10px;border-radius:0 6px 6px 0;background:var(--surface);font-size:.88rem}.changelog-item.changelog-created{border-left-color:var(--green)}.changelog-item.changelog-updated{border-left-color:var(--accent)}.changelog-item.changelog-storniert,.changelog-item.changelog-deleted{border-left-color:var(--danger)}.changelog-header{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.changelog-type{font-weight:600}.changelog-time,.changelog-actor{color:var(--muted);font-size:.82rem}.changelog-reason{margin-top:3px;color:var(--text)}.changelog-snapshot{margin-top:2px;color:var(--muted);font-size:.8rem}.storno-info{margin-bottom:12px;padding:10px;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.role-chip{display:inline-block;padding:4px 11px;border-radius:20px;font-size:.84rem;font-weight:600;background:var(--surface);color:var(--accent)}.skill-chip{margin:2px 4px 2px 0;background:var(--surface);color:var(--green)}.role-overview{display:grid;gap:10px}.role-overview-item{border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--panel)}.role-overview-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.role-overview-head strong{font-size:.96rem;color:var(--text)}.role-overview-head small{font-size:.84rem;color:var(--muted)}.role-perms-preview{display:flex;flex-wrap:wrap;gap:4px}.perm-pill{padding:4px 9px;border-radius:20px;font-size:.8rem;font-weight:500;display:inline-block}.pill-on{background:#d4f4e2;color:#1a7a42}.pill-off{background:var(--surface);color:var(--muted);text-decoration:line-through}.stat-list{display:grid;gap:8px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border-radius:8px;background:var(--panel);border:1px solid var(--border)}.stat-item.stat-total{background:var(--surface);font-weight:700}.stat-label{font-size:.92rem;color:var(--text)}.stat-val{font-size:1.05rem;font-weight:700;color:var(--accent)}.info-box{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:.9rem;color:var(--text);line-height:1.45}.link-btn.danger{color:var(--danger)}.pw-hints{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:9px 10px;margin:.4rem 0;font-size:.88rem;color:var(--muted)}.profile-avatar-lg{width:66px;height:66px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:1.45rem;font-weight:700;margin:0 auto 12px}.skill-picker{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;padding:.45rem .8rem;font-size:.86rem;cursor:pointer;transition:all .15s ease}.skill-tag.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.skill-catalog{display:grid;gap:8px;margin-top:12px;max-height:180px;overflow:auto;padding-right:4px}.skill-catalog-item{display:flex;flex-direction:column;gap:2px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:9px 10px}.skill-catalog-item strong{font-size:.92rem;color:var(--text)}.skill-catalog-item small{font-size:.8rem;color:var(--muted)}.employee-skill-list{display:flex;flex-wrap:wrap;gap:4px;min-width:150px}.employee-skill-list-detailed{min-height:42px;align-items:flex-start}.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.employee-list-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 12px}.employee-row-clickable{cursor:pointer;transition:background .16s ease}.employee-row-clickable:hover{background:var(--surface)}.employee-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.employee-detail-block{display:flex;flex-direction:column;gap:6px}.employee-detail-block-wide{grid-column:1 / -1}.employee-detail-block label{font-size:.84rem;font-weight:600;color:var(--muted)}.employee-role-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:10px;padding:.7rem 2.35rem .7rem .85rem;font-size:.98rem;font-weight:600;color:var(--text);background:var(--surface);background-repeat:no-repeat,no-repeat;background-position:0 0,right .85rem center;box-shadow:inset 0 1px #ffffff12,0 3px 10px #2238800f;transition:border-color .16s ease,box-shadow .16s ease,transform .12s ease;width:100%;box-sizing:border-box;min-width:0}.employee-role-select:hover{border-color:#9fb4ff}.employee-role-select:focus{outline:none;border-color:#5f85ff;box-shadow:0 0 0 3px #5f85ff2e,inset 0 1px #ffffffbf}.employee-detail-actions{display:flex;flex-direction:column;gap:10px;margin-top:6px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-items:stretch}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px;min-height:190px;height:100%;position:relative}.skill-card-clickable{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.skill-card-clickable:hover{transform:translateY(-2px);box-shadow:0 14px 28px #0e1f5714;border-color:#cfd9ff}.skill-card-head{display:flex;flex:1;justify-content:center;align-items:center;text-align:center}.skill-card-head>div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:100%}.skill-card-head h4{font-size:1.15rem;color:var(--text);margin:0;text-align:center;line-height:1.25}.skill-card-head small{font-size:.94rem;color:var(--muted)}.skill-count{position:absolute;top:14px;right:14px;font-size:.94rem;color:var(--accent);background:var(--surface);border-radius:999px;padding:4px 10px;white-space:nowrap}.skill-card-hint{width:100%;text-align:center;font-size:.95rem;color:var(--muted)}.skill-detail-summary{display:flex;flex-direction:column;gap:10px}.skill-count-row{display:flex;justify-content:flex-start}.skill-detail-subtitle{font-size:.95rem;color:var(--text);margin:4px 0 10px}.skill-empty-state{color:var(--muted);padding:12px 0}.skill-members-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.skill-member-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.modal-card-compact{width:min(460px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:2px}.modal-head h3{font-size:1.2rem;color:var(--text);margin-bottom:4px}.modal-head small{font-size:.88rem;color:var(--muted)}.modal-close{border:none;background:var(--surface);color:var(--text);border-radius:10px;width:38px;height:38px;font-size:1rem;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.secondary-btn{background:var(--surface);border-color:var(--border);color:var(--text)}.action.action-danger{background:#b32d2d;border-color:#9d2626}.action.action-danger:hover{background:#9d2626}.action{border:none;background:#0f52ff;color:#fff;border-radius:10px;padding:.75rem 1rem;font-weight:600;cursor:pointer;font-size:.96rem}.top-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px}.card-head{font-size:.84rem;color:var(--muted);display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.card-head span{font-size:.8rem;width:24px;height:24px;display:inline-grid;place-items:center;border-radius:50%;background:var(--surface)}.value{font-size:2rem;font-weight:700;color:var(--accent)}.meta{color:var(--muted);font-size:.86rem;margin-top:4px}.grid-2{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.panel{background:var(--panel);border-radius:12px;border:1px solid var(--border);padding:14px;display:flex;flex-direction:column;gap:10px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.panel-head h3{margin:0;font-size:1.15rem;color:var(--text)}.panel-head small{color:var(--muted);font-size:.86rem}.rbac-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.rbac-block{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px}.role-list{list-style:none;padding:0;display:grid;gap:8px}.role-list li{cursor:pointer;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text)}.role-list li.selected{background:#0f52ff;color:#fff;border-color:#0a3ba6}.role-list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.role-list-info{flex:1;min-width:0}.role-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:8px;font-size:.7rem;font-weight:600;background:var(--accent,#0f52ff);color:#fff;vertical-align:middle}.role-list li.selected .role-badge{background:#ffffff40}.role-usage{display:block;margin-top:4px;opacity:.8;font-style:italic}.role-delete-btn{flex:none;border:none;border-radius:50%;width:26px;height:26px;font-size:.85rem;line-height:1;cursor:pointer;background:#fde8e8;color:#c0392b;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .15s}.role-delete-btn:hover:not(:disabled){background:#f5b7b1}.role-delete-btn:disabled{cursor:not-allowed;opacity:.4}.role-list li.selected .role-delete-btn{background:#fff3;color:#fff}.role-list li.selected .role-delete-btn:hover:not(:disabled){background:#ffffff59}.permission-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem .65rem;border-radius:8px;margin:.2rem 0;background:var(--surface);font-size:.94rem}.perm-toggle{border:none;border-radius:50%;width:34px;height:34px;font-size:1.05rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;transition:background .15s}.perm-toggle:disabled{cursor:default;opacity:.5}.perm-on{background:#d4f4e2;color:#1a7a42}.perm-off{background:#fde8e8;color:#c0392b}.permission-table{width:100%;border-collapse:collapse;font-size:.94rem;color:var(--text)}.permission-table th{text-align:left;padding:8px 10px;border-bottom:2px solid var(--border);font-weight:600;color:var(--muted)}.permission-table td{padding:8px 10px;border-bottom:1px solid var(--border)}.perm-area-col{width:auto}.perm-col{width:80px;text-align:center!important}.perm-area{font-weight:500}.perm-cell{text-align:center}.perm-extra-label{display:block;font-size:.75rem;color:var(--muted);margin-top:2px}.small-table{width:100%;border-collapse:collapse;font-size:.95rem;color:var(--text)}.small-table th,.small-table td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left}.link-btn{background:transparent;border:none;color:var(--accent);cursor:pointer}.password-reset-cell{display:flex;flex-direction:column;gap:6px;min-width:200px}.password-reset-cell input{border:1px solid var(--border);border-radius:10px;padding:.55rem .65rem;font-size:.92rem;background:var(--panel);color:var(--text)}.employee-actions{display:grid;grid-template-columns:max-content max-content;align-items:start;column-gap:12px;row-gap:6px;width:max-content;margin:0 auto}.action-cell{border:1px solid var(--border);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}.action-cell-password{min-width:260px}.action-cell-delete{align-items:flex-start;min-width:120px}.action-label{font-size:.8rem;font-weight:700;color:var(--muted)}.pw-row{display:flex;align-items:center;gap:8px}.pw-input-sm{width:150px;border:1px solid var(--border);border-radius:8px;padding:.42rem .55rem;font-size:.88rem;background:var(--panel);color:var(--text)}.action-outline-btn{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:.42rem .75rem;color:var(--accent);cursor:pointer;font-weight:600}.action-outline-btn-danger{color:var(--danger);border-color:var(--danger)}.error-inline{color:var(--danger);font-size:.84rem;line-height:1.3;grid-column:1 / -1}.success-inline{color:var(--green);font-size:.84rem;line-height:1.3;grid-column:1 / -1}.section-note{font-size:.8rem;color:var(--muted);margin-top:.3rem}.noorders{color:var(--muted);font-style:italic;text-align:center;padding:10px 0}.dark .btn{color:var(--text);background:var(--surface);border-color:var(--border)}.dark .btn:hover{background:#444}.dark .btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.dark .btn-primary:hover{background:#3a7ae0;border-color:#3a7ae0}.dark .btn-secondary{background:#555;color:#fff;border-color:#666}.dark .btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.dark .btn-close{background:var(--surface);color:var(--text)}.dark .empty-state .empty-title{color:var(--text)}.dark .modal{background:var(--panel);color:var(--text)}.dark .modal-header h3{color:var(--text)}.dark .modal-footer{border-top-color:var(--border)}.dark .input,.dark .textarea,.dark select,.dark .select-employee,.dark .input-filter,.dark .employee-filter{background:var(--surface);color:var(--text);border-color:var(--border)}.dark .input:focus,.dark .textarea:focus,.dark select:focus,.dark .input-filter:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4a90ff26}.dark .panel{background:var(--panel);border-color:var(--border)}.dark .item-card,.dark .item-row{border-color:var(--border)}.dark .badge{background:var(--surface);color:var(--text)}.dark .badge.badge-approved{background:#2e7d32;color:#fff}.dark .badge.badge-rejected{background:#d32f2f;color:#fff}.dark .badge.badge-submitted{background:#f57c00;color:#fff}.dark .badge.badge-open{background:#757575;color:#fff}.dark .chip{background:var(--surface);color:var(--text)}.dark .table th{color:var(--muted)}.dark .table td{border-bottom-color:var(--border)}.dark .modal-content{background:var(--panel);border-color:var(--border)}.dark .modal-header,.dark .modal-footer{border-color:var(--border)}.dark .error-box{background:#ef53501a;border-color:var(--danger);color:var(--danger)}.dark .success-box{background:#3ddc841a;border-color:var(--green);color:var(--green)}.dark .calendar-section,.dark .time-entries{background:var(--panel);border-color:var(--border)}.dark .calendar-day{background:var(--surface);border-color:var(--border)}.dark .day-timeline{background:var(--panel);border-color:var(--border)}.dark .entries-table thead{background:var(--surface)}.dark .entries-table td{border-bottom-color:var(--border)}.dark .stat-card{background:var(--surface);border-color:var(--border);box-shadow:none}.dark .stat-card .stat-value,.dark .stat-card .stat-label{color:var(--text)}.dark .week-navigation{background:var(--surface);color:var(--text)}.dark .week-nav-btn{background:var(--panel);color:var(--text);border-color:var(--border)}.dark .day-header{background:var(--surface);color:var(--text)}.dark .today-btn{background:var(--panel);color:var(--accent);border-color:var(--border)}.dark .view-btn.active{background:var(--accent);color:#fff}.dark .active-session{background:var(--surface);border-color:var(--accent)}.dark .active-session h3,.dark .active-session .time-value,.dark .active-session .location-value,.dark .active-session .label{color:var(--text)}.dark .active-session .accuracy{color:var(--muted)}.dark .info-box,.dark .location-item{border-left-color:var(--accent)}.dark .pm-emp-cell{background:var(--panel)}.dark .pm-emp-head{background:var(--surface)}.dark .perm-on{background:#16a34a33;color:#4ade80}.dark .perm-off{background:#ef444433;color:#fca5a5}.dark .role-list li.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.dark .pm-day-head,.dark .pm-day-head.pm-weekend{background:var(--surface)}.dark .pm-day-cell.pm-weekend{background-color:#64643226}.dark .pm-row-striped .pm-emp-cell,.dark .pm-row-striped .pm-day-cell.kz-empty,.dark .pm-row-striped .pm-day-cell.kz-auto-free,.dark .pm-row-striped .pm-kw-hours{background-color:var(--surface)}.dark .pm-kw-over{background:#ef53501a;color:var(--danger)}.dark .pm-kw-ok{background:#3ddc841a;color:var(--green)}.dark .pm-holiday{background:#ef535014!important}.dark .pm-pal-erase{background:#ef53501a;color:var(--danger)}.dark .pm-kw-head{background:var(--surface)}.dark .planning-month-root{background:var(--panel)}.dark .pm-sidebar,.dark .pm-main-topbar,.dark .detail-header-card{background:var(--surface)}.dark .obj-card-type-bar,.dark .preview-type-bar{background:var(--surface);color:#8ab4ff}.dark .obj-card-footer{background:var(--surface);border-top-color:var(--border)}.dark h2,.dark h3,.dark h4,.dark p,.dark span,.dark label,.dark td,.dark li{color:var(--text)}.dark small{color:var(--muted)}.dark .fb-field-header{background:var(--surface);border-bottom-color:var(--border)}.dark .fb-section-card{background:#fbbf2414;border-color:#fbbf244d}.dark .fb-section-card .fb-field-header{background:#fbbf241a}.dark .protocol-badge{background:var(--surface);color:var(--accent)}.dark .qr-scan-area{background:var(--panel);border-color:var(--border)}.dark .qr-id-badge{background:var(--surface);border-color:var(--border)}.dark .step{background:var(--surface);color:var(--muted)}.dark .step.active{background:var(--accent);color:#fff}.dark .step.done{background:#3ddc8426;color:var(--green)}.dark .type-card{background:var(--panel);border-color:var(--border)}.dark .type-card:hover,.dark .type-card-selected{border-color:var(--accent);background:var(--surface)}.dark .addr-badge.billing{background:#4f82ff26;color:#8ab4ff}.dark .addr-badge.service,.dark .geocode-badge.confirmed{background:#3ddc8426;color:#6ee7a0}.dark .geocode-badge.pending{background:#facc1526}.dark .bc-assign-item.selected{background:#4a90ff1f}.dark .lo-billing-tag{background:#4f82ff26;color:#8ab4ff}.dark .lo-obj-badge{background:#4a90ff26}.dark .modal,.dark .modal-header{color:var(--text)}@media(max-width:1200px){.top-cards{grid-template-columns:repeat(2,1fr)}.grid-2,.rbac-grid{grid-template-columns:1fr}}@media(max-width:900px){.app-shell{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar{grid-row:1;height:auto;overflow:visible}.dashboard{padding:18px;height:auto;overflow:visible}.employee-detail-grid{grid-template-columns:1fr}}
