*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.toolbar{-webkit-backdrop-filter:blur(12px);z-index:100;background:#ffffffd9;border-bottom:1px solid #e5e7ebcc;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex;position:sticky;top:0}.toolbar-left,.toolbar-right{align-items:center;gap:6px;display:flex}.toolbar-center{border-left:1px solid #e5e7eb99;border-right:1px solid #e5e7eb99;align-items:center;margin:0 8px;padding:0 16px;display:flex}.toolbar-button{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;flex-direction:row;align-items:center;gap:6px;min-width:auto;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000a}.toolbar-button:hover:not(:disabled){color:#1f2937;background:#f8fafc;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 2px 4px #3b82f61a}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.toolbar-button span:first-child{font-size:16px}.toolbar-button.active{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-color:#3b82f6;box-shadow:0 2px 8px #3b82f64d}.toolbar-button.active:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-1px)}.toolbar-button.toggle-button{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border-color:#6366f1;box-shadow:0 2px 8px #6366f14d}.toolbar-button.toggle-button:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5 0%,#4338ca 100%);transform:translateY(-1px)}.toolbar-button.nav-button{color:#475569;background:#f1f5f9;border-color:#e2e8f0;padding:8px 12px}.toolbar-button.nav-button:hover:not(:disabled){color:#1e293b;background:#e2e8f0;border-color:#cbd5e1}.page-container{flex-direction:column;width:100%;min-height:calc(100vh - 60px);padding:0;display:flex}.page-container.centered{justify-content:center;align-items:center;padding:24px}.page-container h1{color:#333;font-size:32px;font-weight:600}.page-container.modal{background-color:#fff;border-radius:8px;min-height:auto;margin:20px;box-shadow:0 2px 8px #0000001a}.page-container.overlay{z-index:1000;color:#fff;background-color:#00000080;position:fixed;inset:0}.tabs{background:#f1f5f9cc;border-radius:14px;gap:4px;width:fit-content;margin:20px 0;padding:6px;display:flex}.tabs button{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s}.tabs button:hover:not(.active){color:#374151;background:#fff9}.tabs button.active{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);font-weight:600;box-shadow:0 2px 8px #3b82f64d}.tab-content{flex:1;margin-top:24px;overflow:hidden}.tab-content h2{color:#1e293b;margin-bottom:16px;font-size:22px;font-weight:700}.tab-content p{color:#64748b;font-size:14px;line-height:1.5}.login-overlay{z-index:1000;background-color:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-container{background:#fff;border-radius:16px;flex-direction:column;gap:24px;width:420px;padding:32px;display:flex;box-shadow:0 10px 40px #0000004d}.login-container h1{text-align:center;margin:0;font-size:28px;font-weight:600}.login-container>p{text-align:center;color:#666;margin:0}.login-input{box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;padding:12px 16px;font-size:16px}.login-input:focus{border-color:#0070f3;outline:none}.login-hint{color:#666;text-align:center;margin:0;padding-top:10px;font-size:14px}.login-error{color:#e00;text-align:center;margin:0;font-size:14px}.login-actions{justify-content:center;align-items:center;gap:12px;display:flex}.login-button{color:#fff;cursor:pointer;background-color:#0070f3;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:500;transition:background-color .2s}.login-button:hover:not(:disabled){background-color:#0051cc}.login-button:disabled{cursor:not-allowed;background-color:#ccc}.login-loading{color:#666;font-size:14px}.login-spinner{border:2px solid #ccc;border-top-color:#0070f3;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.external-projects-page{background:#f8fafc;min-height:calc(100vh - 60px)}.project-list-view{background:#f8fafc;min-height:calc(100vh - 60px);padding:24px}.project-list-header{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-radius:16px;margin-bottom:24px;padding:20px 24px;box-shadow:0 2px 8px #0000000f}.project-list-header h1{background:linear-gradient(135deg,#1e293b 0%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:28px;font-weight:700}.project-list-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.project-search-input{background:#fff;border:1px solid #e5e7ebcc;border-radius:12px;flex:1;min-width:240px;padding:10px 16px;font-size:14px;transition:all .2s;box-shadow:0 1px 3px #0000000a}.project-search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.project-search-input::placeholder{color:#9ca3af}.project-list-actions{gap:8px;display:flex}.project-list-actions button{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .2s;box-shadow:0 1px 2px #0000000a}.project-list-actions button:hover:not(:disabled){color:#1f2937;background:#f8fafc;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 2px 4px #3b82f61a}.project-list-actions button:disabled{opacity:.5;cursor:not-allowed}.project-list-filter{background:#f1f5f9cc;border-radius:10px;gap:4px;padding:4px;display:flex}.project-list-filter button{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s}.project-list-filter button:hover:not(.active){color:#374151;background:#fff9}.project-list-filter button.active{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:0 2px 6px #3b82f64d}.project-list-content{flex-direction:column;gap:12px;display:flex}.project-section{background:#fff;border:1px solid #e5e7eb80;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #00000014}.project-section-header{cursor:pointer;color:#374151;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-left:4px solid #0000;justify-content:space-between;align-items:center;padding:14px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.project-section-header:hover{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%)}.project-section-header span:last-child{color:#9ca3af;font-size:12px;transition:transform .2s}.project-section.expanded .project-section-header{border-left-color:#3b82f6}.project-section.expanded .project-section-header span:last-child{transform:rotate(90deg)}.project-section-header.archive{background:linear-gradient(135deg,#fefce8 0%,#fef3c7 100%);border-left-color:#f59e0b}.project-section-header.archive:hover{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%)}.project-section-header.deleted{color:#991b1b;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border-left-color:#ef4444}.project-section-header.deleted:hover{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%)}.project-section-content{padding:8px 12px 12px}.project-row{cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;margin:4px 0;padding:12px 16px;transition:all .2s;display:flex}.project-row:hover{background:#f1f5f9;border-color:#3b82f633;transform:translate(4px)}.project-row.selected{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-color:#3b82f64d;border-left-style:solid;border-left-width:3px}.project-row.has-duplicate{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-left:3px solid #f59e0b}.project-row-left{flex-direction:column;flex:1;gap:4px;display:flex}.project-name{color:#1e293b;font-size:14px;font-weight:600}.project-status{color:#64748b;font-size:12px}.project-row-right{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.project-lead{color:#475569;font-size:13px;font-weight:500}.project-members{color:#94a3b8;background:#f1f5f9;border-radius:10px;padding:2px 8px;font-size:11px}.project-detail-view{background:#f8fafc;max-width:1200px;min-height:calc(100vh - 60px);margin:0 auto;padding:24px}.project-detail-header{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.project-detail-header h1{background:linear-gradient(135deg,#1e293b 0%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:700}.close-button{cursor:pointer;color:#64748b;background:#fff;border:1px solid #e5e7ebcc;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:18px;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000a}.close-button:hover{color:#ef4444;background:#fef2f2;border-color:#fecaca;transform:scale(1.05)}.project-detail-content{flex-direction:column;gap:20px;display:flex}.project-detail-section{background:#fff;border:1px solid #e5e7eb80;border-radius:16px;padding:24px;box-shadow:0 1px 3px #00000014}.project-detail-section h2{color:#1e293b;border-bottom:1px solid #f1f5f9;margin-bottom:20px;padding-bottom:12px;font-size:18px;font-weight:600}.form-group{margin-bottom:20px}.form-group label{color:#374151;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:500;display:flex}.form-group input[type=text],.form-group input[type=date],.form-group textarea{background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;width:100%;padding:12px 16px;font-size:14px;transition:all .2s;box-shadow:0 1px 2px #0000000a}.form-group input[type=text]:focus,.form-group input[type=date]:focus,.form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-group input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;width:18px;height:18px}.form-group textarea{resize:vertical;min-height:80px}.project-presale-badge{color:#2563eb;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-radius:20px;align-items:center;gap:6px;margin-bottom:16px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.section-header-with-actions{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.section-header-with-actions h2{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-actions{gap:8px;display:flex}.section-actions button{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;box-shadow:0 1px 2px #0000000a}.section-actions button:hover{color:#1f2937;background:#f8fafc;border-color:#3b82f6;transform:translateY(-1px)}.member-table{border-collapse:separate;border-spacing:0 4px;width:100%}.member-table th,.member-table td{text-align:left;padding:12px 16px}.member-table th{text-transform:uppercase;letter-spacing:.5px;color:#64748b;background:0 0;border-bottom:1px solid #f1f5f9;font-size:12px;font-weight:600}.member-table tbody tr{background:#f8fafc;border-radius:10px;transition:all .2s}.member-table tbody tr:hover{background:#f1f5f9;transform:translate(4px)}.member-table td:first-child{color:#1e293b;border-radius:10px 0 0 10px;font-weight:500}.member-table td:last-child{border-radius:0 10px 10px 0}.hours-input{text-align:center;background:#fff;border:1px solid #e5e7ebcc;border-radius:8px;width:80px;padding:8px 12px;font-size:14px;transition:all .2s}.hours-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.comment-input{background:#fff;border:1px solid #e5e7ebcc;border-radius:8px;width:200px;padding:8px 12px;font-size:14px;transition:all .2s}.comment-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.remove-button{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;font-size:18px;transition:all .2s}.remove-button:hover{background:#fef2f2;transform:scale(1.1)}.member-table-empty{text-align:center;color:#94a3b8;background:#f8fafc;border-radius:12px;padding:40px 24px;font-size:14px}.project-detail-footer{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-radius:16px;align-items:center;gap:16px;margin-top:24px;padding:16px 24px;display:flex;position:sticky;bottom:24px;box-shadow:0 2px 8px #0000000f}.project-detail-footer button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:12px;padding:12px 28px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #3b82f64d}.project-detail-footer button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.project-detail-footer button:disabled{cursor:not-allowed;box-shadow:none;background:linear-gradient(135deg,#cbd5e1 0%,#94a3b8 100%)}.save-alert{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:10px;padding:10px 18px;font-size:14px;font-weight:500;box-shadow:0 2px 8px #10b9814d}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-content{background:#fff;border-radius:20px;width:90%;max-width:500px;max-height:85vh;padding:28px;animation:.3s slideUp;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.modal-content.large{min-width:600px;max-width:900px}.modal-content h2{color:#1e293b;margin-bottom:20px;font-size:20px;font-weight:700}.modal-hint{color:#64748b;margin-bottom:20px;font-size:14px;line-height:1.5}.modal-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:20px;display:flex}.modal-actions button{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.modal-actions button:hover{background:#f8fafc;border-color:#94a3b8}.modal-actions button:last-child{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-color:#0000;box-shadow:0 2px 8px #3b82f64d}.modal-actions button:last-child:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.form-input{background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;width:100%;padding:12px 16px;font-size:14px;transition:all .2s;box-shadow:0 1px 2px #0000000a}.form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-input::placeholder{color:#9ca3af}select.form-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.lead-combobox{position:relative}.lead-combobox-button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;display:flex}.lead-combobox-dropdown{z-index:100;background:#fff;border:1px solid #ddd;border-radius:4px;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.lead-combobox-search{border:none;border-bottom:1px solid #eee;width:100%;padding:8px 12px;font-size:14px}.lead-combobox-list{max-height:250px;overflow-y:auto}.lead-combobox-item{cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.lead-combobox-item:hover{background:#f5f5f5}.lead-combobox-item.selected{background:#e3f2fd}.lead-combobox-empty{text-align:center;color:#999;padding:12px}.copy-project-list{max-height:400px;margin:16px 0;padding:4px;overflow-y:auto}.copy-project-item{cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:14px 16px;transition:all .2s;display:flex}.copy-project-item:hover{background:#f1f5f9;border-color:#3b82f633;transform:translate(4px)}.copy-project-item.selected{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-color:#0000;box-shadow:0 2px 8px #3b82f64d}.copy-project-name{margin-bottom:4px;font-size:14px;font-weight:600}.copy-project-info{opacity:.7;font-size:12px}.empty-state{text-align:center;color:#94a3b8;background:#f8fafc;border-radius:12px;padding:48px;font-size:14px}.user-list{max-height:350px;margin:16px 0;padding:4px;overflow-y:auto}.user-item{cursor:pointer;color:#374151;background:#f8fafc;border:1px solid #0000;border-radius:10px;margin-bottom:6px;padding:14px 16px;font-weight:500;transition:all .2s}.user-item:hover{background:#f1f5f9;border-color:#3b82f633;transform:translate(4px)}.user-item:active{background:#e2e8f0}.internal-projects-view{background:#f8fafc;flex-direction:column;height:100%;padding:24px;display:flex}.internal-projects-view .tabs{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-radius:14px;gap:8px;width:fit-content;margin-bottom:24px;padding:8px;display:flex;box-shadow:0 2px 8px #0000000f}.internal-projects-view .tabs button{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.internal-projects-view .tabs button:hover:not(.active){color:#374151;background:#f1f5f9cc}.internal-projects-view .tabs button.active{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:0 2px 8px #3b82f64d}.internal-projects-view .tab-content{flex:1;overflow:hidden}.internal-projects-list-view{flex-direction:column;height:100%;display:flex}.internal-projects-header{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:20px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.internal-projects-header h1{background:linear-gradient(135deg,#1e293b 0%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:24px;font-weight:700}.create-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:1px solid #e5e7ebcc;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:20px;transition:all .2s;display:flex;box-shadow:0 2px 8px #3b82f64d}.create-button:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.search-container{margin-bottom:20px}.search-input{background:#fff;border:1px solid #e5e7ebcc;border-radius:12px;width:100%;padding:12px 16px;font-size:14px;transition:all .2s;box-shadow:0 1px 3px #0000000a}.search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:#9ca3af}.projects-list{flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.project-item{background:#fff;border:1px solid #e5e7eb80;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 20px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000f}.project-item:hover{background:#f8fafc;border-color:#3b82f633;transform:translate(4px)}.project-info{flex-direction:column;flex:1;gap:6px;display:flex}.project-info .project-name{color:#1e293b;font-size:15px;font-weight:600}.project-status{gap:8px;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600}.status-badge.active{color:#2563eb;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%)}.status-badge.archive{color:#b45309;background:linear-gradient(135deg,#fefce8 0%,#fef3c7 100%)}.project-actions{gap:6px;display:flex}.edit-button,.delete-button{cursor:pointer;background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:16px;transition:all .2s;display:flex}.edit-button:hover{background:#eff6ff;border-color:#3b82f6;transform:scale(1.05)}.delete-button:hover{background:#fef2f2;border-color:#fecaca;transform:scale(1.05)}.alert-info{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-radius:12px;padding:14px 20px;animation:.3s slideUp;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px #3b82f64d}.department-list-view{flex-direction:column;height:100%;display:flex}.department-list-header{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:20px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.department-list-header h1{background:linear-gradient(135deg,#1e293b 0%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:24px;font-weight:700}.department-list-actions{align-items:center;gap:8px;display:flex}.refresh-button{cursor:pointer;background:#fff;border:1px solid #e5e7ebcc;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:18px;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000a}.refresh-button:hover{background:#f8fafc;border-color:#3b82f6;transform:rotate(90deg);box-shadow:0 2px 8px #3b82f626}.department-list-container{flex:1;gap:20px;display:flex;overflow:hidden}.department-list{background:#fff;border:1px solid #e5e7eb80;border-radius:16px;flex:0 0 320px;padding:8px;overflow-y:auto;box-shadow:0 1px 3px #00000014}.department-item{cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;margin:4px 0;padding:14px 18px;transition:all .2s;display:flex}.department-item:hover{background:#f1f5f9;border-color:#3b82f633;transform:translate(4px)}.department-item.selected{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-left:3px solid #3b82f6;font-weight:600}.department-name{color:#374151;flex:1;font-size:14px}.department-item.selected .department-name{color:#1e40af}.department-count{color:#475569;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.department-item.selected .department-count{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:0 2px 6px #3b82f64d}.department-detail-container{background:#fff;border:1px solid #e5e7eb80;border-radius:16px;flex:1;overflow-y:auto;box-shadow:0 1px 3px #00000014}.department-detail-view{flex-direction:column;height:100%;padding:24px;display:flex}.department-detail-header{margin-bottom:24px}.department-detail-header h2{background:linear-gradient(135deg,#1e293b 0%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:24px;font-weight:700}.linked-projects-section{flex:1;margin-bottom:20px}.linked-projects-section h3{text-transform:uppercase;letter-spacing:.5px;color:#64748b;border-bottom:1px solid #f1f5f9;margin-bottom:16px;padding-bottom:12px;font-size:14px;font-weight:600}.linked-projects-list{flex-direction:column;gap:10px;display:flex}.linked-project-item{background:#f8fafc;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 18px;transition:all .2s;display:flex}.linked-project-item:hover{background:#f1f5f9;border-color:#3b82f633;transform:translate(4px)}.linked-project-info{flex-direction:column;flex:1;gap:4px;display:flex}.linked-project-name{color:#1e293b;font-size:15px;font-weight:600}.linked-project-date{color:#64748b;font-size:12px}.remove-link-button{cursor:pointer;background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:16px;transition:all .2s;display:flex}.remove-link-button:hover{background:#fef2f2;border-color:#fecaca;transform:scale(1.05)}.department-detail-actions{border-top:1px solid #f1f5f9;padding-top:20px}.add-project-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #3b82f64d}.add-project-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.add-project-button:disabled{cursor:not-allowed;box-shadow:none;background:linear-gradient(135deg,#cbd5e1 0%,#94a3b8 100%)}.add-project-button:hover:not(:disabled){background:#0051cc}.add-project-button:disabled{cursor:not-allowed;background:#ccc}.departments-list{background:#f8fafc;border:1px solid #e5e7ebcc;border-radius:12px;flex-direction:column;gap:6px;max-height:240px;padding:12px;display:flex;overflow-y:auto}.checkbox-label{cursor:pointer;background:#fff;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:all .2s;display:flex}.checkbox-label:hover{background:#f1f5f9;border-color:#3b82f633}.checkbox-label:has(input:checked){background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-color:#3b82f64d}.checkbox-label span{color:#374151;font-size:14px}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#3b82f6;width:18px;height:18px}.error-message{color:#dc2626;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border-left:3px solid #ef4444;border-radius:12px;margin-bottom:16px;padding:14px 16px;font-size:14px}.user-status-header{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.user-status-header h1{background:linear-gradient(135deg,#1e293b 0%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:24px;font-weight:700}.user-status-controls{align-items:center;gap:12px;display:flex}.sort-controls{background:#f1f5f9cc;border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex}.sort-button{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s}.sort-button:hover:not(.active){color:#374151;background:#fff9}.sort-button.active{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:0 2px 6px #3b82f64d}.sort-direction{cursor:pointer;color:#64748b;background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;margin-left:8px;padding:0;font-size:16px;font-weight:700;transition:all .2s;display:flex}.sort-direction:hover{color:#3b82f6;background:#f8fafc;border-color:#3b82f6}.user-status-table-container{background:#fff;border:1px solid #e5e7eb80;border-radius:16px;flex:1;margin-bottom:24px;overflow-x:auto;box-shadow:0 1px 3px #00000014}.user-status-table{border-collapse:separate;border-spacing:0;width:100%;min-width:900px}.user-status-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:#64748b;z-index:10;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #f1f5f9;padding:16px 20px;font-size:12px;font-weight:600;position:sticky;top:0}.user-status-table th:first-child{border-radius:16px 0 0}.user-status-table th:last-child{border-radius:0 16px 0 0}.user-status-table td{border-bottom:1px solid #f1f5f9;padding:16px 20px}.user-status-table tbody tr{transition:all .2s}.user-status-table tbody tr:hover{background:#f8fafc}.user-status-table tbody tr:last-child td:first-child{border-radius:0 0 0 16px}.user-status-table tbody tr:last-child td:last-child{border-radius:0 0 16px}.user-name-input{background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;width:100%;padding:10px 14px;font-size:14px;transition:all .2s;box-shadow:0 1px 2px #0000000a}.user-name-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.toggle-switch{width:48px;height:26px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 100%);border-radius:26px;transition:all .3s;position:absolute;inset:0;box-shadow:inset 0 1px 3px #0000001a}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:inset 0 1px 3px #0000001a,0 2px 8px #3b82f64d}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.department-select{cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") right 12px center/16px no-repeat;border:1px solid #e5e7ebcc;border-radius:10px;width:100%;padding:10px 40px 10px 14px;font-size:14px;transition:all .2s}.department-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.norm-cell{align-items:flex-start;gap:12px;display:flex}.norm-info{background:#f8fafc;border-radius:10px;flex-direction:column;flex:1;gap:4px;padding:10px 12px;display:flex}.norm-line{color:#475569;font-size:12px}.norm-empty{color:#94a3b8;font-size:12px;font-style:italic}.norm-actions{align-items:center;gap:8px;display:flex}.preset-select{cursor:pointer;background:#fff;border:1px solid #e5e7ebcc;border-radius:8px;padding:8px 12px;font-size:12px;transition:all .2s}.preset-select:focus{border-color:#3b82f6;outline:none}.norm-edit-button,.norm-add-button{cursor:pointer;background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:16px;transition:all .2s;display:flex}.norm-edit-button:hover{background:#eff6ff;border-color:#3b82f6;transform:scale(1.05)}.norm-add-button:hover{background:#f0fdf4;border-color:#22c55e;transform:scale(1.05)}.user-status-footer{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-radius:16px;justify-content:center;padding:20px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.save-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:12px;padding:14px 32px;font-size:15px;font-weight:600;transition:all .3s;box-shadow:0 2px 8px #3b82f64d}.save-button:disabled{cursor:not-allowed;box-shadow:none;background:linear-gradient(135deg,#cbd5e1 0%,#94a3b8 100%);transform:scale(1)}.save-button.has-changes{animation:2s infinite pulse;transform:scale(1.05);box-shadow:0 4px 16px #3b82f666}@keyframes pulse{0%,to{box-shadow:0 4px 16px #3b82f666}50%{box-shadow:0 4px 24px #3b82f699}}.save-button.has-changes:hover:not(:disabled){transform:scale(1.08);box-shadow:0 6px 20px #3b82f680}.alert{z-index:2000;-webkit-backdrop-filter:blur(8px);border-radius:14px;padding:16px 24px;font-size:14px;font-weight:500;animation:.3s ease-out slideIn;position:fixed;top:80px;right:24px;box-shadow:0 10px 25px #00000026}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.alert-success{color:#fff;background:linear-gradient(135deg,#10b981f2 0%,#059669f2 100%);border-left:4px solid #059669}.alert-error{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444f2 0%,#dc2626f2 100%);border-left:4px solid #dc2626}.alert-error:hover{transform:translate(-4px)}.loading{text-align:center;color:#666;padding:48px;font-size:16px}.user-norm-view{flex-direction:column;min-width:540px;min-height:600px;display:flex}.user-norm-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;display:flex}.user-norm-header h2{background:linear-gradient(135deg,#1e293b 0%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:22px;font-weight:700}.user-norm-actions{gap:10px;display:flex}.button-primary,.button-secondary{cursor:pointer;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.button-primary{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;box-shadow:0 2px 8px #3b82f64d}.button-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.button-primary:disabled{box-shadow:none;cursor:not-allowed;background:linear-gradient(135deg,#cbd5e1 0%,#94a3b8 100%)}.button-secondary{color:#374151;background:#fff;border:1px solid #e5e7ebcc;box-shadow:0 1px 2px #0000000a}.button-secondary:hover{background:#f8fafc;border-color:#94a3b8}.button-small{cursor:pointer;background:#fff;border:1px solid #e5e7ebcc;border-radius:8px;margin-left:8px;padding:6px 12px;font-size:12px;transition:all .2s}.button-small:hover{background:#f8fafc;border-color:#94a3b8}.user-norm-content{flex:1;padding-right:8px;overflow-y:auto}.user-norm-section{margin-bottom:24px}.user-norm-section h3{text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:16px;font-size:14px;font-weight:600}.divider{background:linear-gradient(90deg,#0000 0%,#e2e8f0 50%,#0000 100%);height:1px;margin:24px 0}.presets-container{gap:10px;padding:4px;display:flex;overflow-x:auto}.preset-button{cursor:pointer;background:#f8fafc;border:1px solid #e5e7ebcc;border-radius:12px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-width:150px;height:80px;padding:12px 14px;transition:all .2s;display:flex}.preset-button:hover{background:#f1f5f9;border-color:#3b82f64d;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.preset-name{color:#1e293b;margin-bottom:4px;font-size:13px;font-weight:600;line-height:1.3}.preset-hours{color:#64748b;flex-direction:column;gap:2px;font-size:11px;display:flex}.working-days-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.working-day-button{cursor:pointer;background:#f8fafc;border:1px solid #e5e7ebcc;border-radius:10px;padding:10px 8px;font-size:13px;font-weight:500;transition:all .2s}.working-day-button:hover:not(.active){background:#f1f5f9;border-color:#3b82f64d}.working-day-button.active{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-color:#0000;box-shadow:0 2px 8px #3b82f64d}.time-input-field{align-items:center;gap:12px;margin-bottom:12px;padding:8px 0;display:flex}.time-input-field label{width:130px;font-size:14px;font-weight:600}.time-input-controls{align-items:center;gap:8px;display:flex}.time-input{text-align:center;border:1px solid #e5e7ebcc;border-radius:10px;width:90px;padding:10px 12px;font-size:14px;transition:all .2s}.time-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.time-unit{color:#64748b;font-size:14px}.time-buttons{flex-direction:column;gap:4px;display:flex}.time-button{cursor:pointer;color:#64748b;background:#f8fafc;border:1px solid #e5e7ebcc;border-radius:6px;justify-content:center;align-items:center;width:32px;height:20px;padding:0;font-size:12px;font-weight:600;transition:all .2s;display:flex}.time-button:hover{color:#fff;background:#3b82f6;border-color:#3b82f6}.total-hours{background:#f8fafc;border-radius:10px;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;font-size:15px;font-weight:600;display:flex}.total-hours .error{color:#ef4444}.checkbox-label{cursor:pointer;align-items:center;gap:12px;padding:8px 0;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#3b82f6;border-radius:4px;width:20px;height:20px}.period-inputs{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.period-input{align-items:center;gap:12px;display:flex}.period-input label{color:#64748b;width:auto;font-weight:500}.period-input input[type=date]{background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;padding:10px 14px;font-size:14px;transition:all .2s}.period-input input[type=date]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.validation-errors{background:linear-gradient(135deg,#fee2e2cc 0%,#fecacacc 100%);border-left:4px solid #ef4444;border-radius:12px;margin-top:20px;padding:16px 20px}.validation-title{color:#dc2626;margin-bottom:10px;font-size:13px;font-weight:600}.validation-errors>div:not(.validation-title){color:#b91c1c;margin-bottom:4px;font-size:13px}.validation-error-message{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border-radius:12px;margin-top:20px;padding:14px 18px;font-size:14px;font-weight:500}.departments-view{background:#f8fafc;min-height:100%;padding:24px}.departments-header{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-radius:16px;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:24px;padding:16px 24px;display:flex;box-shadow:0 2px 8px #0000000f}.departments-header .close-button{cursor:pointer;color:#64748b;background:#fff;border:1px solid #e5e7ebcc;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;margin-right:auto;padding:0;font-size:16px;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000a}.departments-header .close-button:hover{color:#ef4444;background:#fef2f2;border-color:#fecaca;transform:scale(1.05)}.departments-table-container{background:#fff;border:1px solid #e5e7eb80;border-radius:16px;overflow-x:auto;box-shadow:0 1px 3px #00000014}.departments-table{border-collapse:separate;border-spacing:0;width:100%}.departments-table thead{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%)}.departments-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:#64748b;border-bottom:1px solid #f1f5f9;padding:16px 20px;font-size:12px;font-weight:600}.departments-table th:first-child{border-radius:16px 0 0}.departments-table th:last-child{border-radius:0 16px 0 0}.departments-table td{border-bottom:1px solid #f1f5f9;padding:16px 20px}.departments-table tbody tr{cursor:pointer;transition:all .2s}.departments-table tbody tr:hover{background:#f8fafc}.departments-table tbody tr.selected{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%)}.departments-table tbody tr:last-child td{border-bottom:none}.departments-table tbody tr:last-child td:first-child{border-radius:0 0 0 16px}.departments-table tbody tr:last-child td:last-child{border-radius:0 0 16px}.department-name-input{background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;width:280px;padding:10px 14px;font-size:14px;transition:all .2s;box-shadow:0 1px 2px #0000000a}.department-name-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.dept-lead-combobox{width:320px;position:relative}.combobox-button{cursor:pointer;background:#fff;border:1px solid #e5e7ebcc;border-radius:10px;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;font-size:14px;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000a}.combobox-button:hover{border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.combobox-text{text-align:left;text-overflow:ellipsis;white-space:nowrap;color:#374151;flex:1;overflow:hidden}.combobox-arrow{color:#9ca3af;margin-left:8px;font-size:10px;transition:transform .2s}.combobox-picker{z-index:1000;background:#fff;border:1px solid #e5e7ebcc;border-radius:14px;width:340px;margin-top:6px;animation:.2s slideUp;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 10px 25px #0000001f}.combobox-search{border-bottom:1px solid #f1f5f9;padding:12px}.combobox-search-input{border:1px solid #e5e7ebcc;border-radius:10px;width:100%;padding:10px 14px;font-size:14px;transition:all .2s}.combobox-search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.combobox-list{max-height:280px;padding:8px;overflow-y:auto}.combobox-empty{text-align:center;color:#94a3b8;padding:20px 12px;font-size:14px}.combobox-item{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;margin:2px 0;padding:10px 12px;font-size:14px;transition:all .2s;display:flex}.combobox-item:hover{background:#f1f5f9}.combobox-item.selected{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-left:2px solid #3b82f6}.combobox-checkmark{color:#2196f3;font-weight:700}.alert-success{color:#fff;background-color:#4caf50}.alert-error{color:#fff;background-color:#f44336}.team-view{flex-direction:column;width:100%;display:flex}.team-header{padding:16px;font-size:18px;font-weight:700}.team-table-header{z-index:10;background-color:gray;align-items:center;padding:8px 16px;display:flex;position:sticky;top:0}.department-row{border-bottom:1px solid #e0e0e0}.department-row-header{cursor:pointer;background-color:#80808066;align-items:center;padding:16px;transition:background-color .2s;display:flex}.department-row-header:hover{background-color:#80808080}.user-row{padding:4px 0}.user-row-header{cursor:pointer;background-color:#80808033;align-items:center;padding:0 16px;transition:background-color .2s;display:flex}.user-row-header:hover{background-color:#8080804d}.project-row{align-items:center;padding:0 16px;display:flex}.day-cell{border-radius:4px;justify-content:center;align-items:center;width:40px;height:30px;font-size:12px;display:flex;position:relative}.day-cell-today{color:#fff;background-color:#2c2c2e}.status-filled{background-color:#00ff004d}.status-vacation{background-color:#ffff004d}.status-day-off{background-color:#0000ff4d}.status-sick-leave{background-color:#ff00004d}.status-weekend{background-color:#0000ff4d}.status-empty{background-color:#8080804d}.project-name{font-size:12px;font-weight:700}.planned-overlay{color:#0f0;font-size:10px;position:absolute;top:2px}.end-date-marker{opacity:.8;position:absolute;right:2px}.discipline-view{background:#f8fafc;flex-direction:column;height:100%;display:flex}.discipline-header{-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-radius:16px;margin:16px 16px 0;padding:20px 24px;box-shadow:0 2px 8px #0000000f}.discipline-header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.discipline-title{background:linear-gradient(135deg,#1e293b 0%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:22px;font-weight:700}.discipline-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.discipline-mode-toggle{background:#f1f5f9cc;border-radius:10px;gap:4px;padding:4px;display:flex}.discipline-mode-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:500;transition:all .2s}.discipline-mode-btn:hover:not(.active){color:#374151;background:#fff9}.discipline-mode-btn.active{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:0 2px 6px #3b82f64d}.discipline-select{cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") right 10px center/16px no-repeat;border:1px solid #e5e7ebcc;border-radius:10px;min-width:140px;padding:10px 36px 10px 14px;font-size:14px;transition:all .2s}.discipline-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.discipline-refresh-btn{cursor:pointer;color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #3b82f64d}.discipline-refresh-btn:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.discipline-close-btn{cursor:pointer;color:#64748b;background:#fff;border:1px solid #e5e7ebcc;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:16px;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000a}.discipline-close-btn:hover{color:#ef4444;background:#fef2f2;border-color:#fecaca;transform:scale(1.05)}.discipline-content{flex:1;padding:16px;overflow:auto}.discipline-loading{color:#64748b;justify-content:center;align-items:center;height:100%;font-size:16px;display:flex}.discipline-empty{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;display:flex}.discipline-empty-icon{color:#22c55e;font-size:64px}.discipline-empty-text{color:#475569;font-size:18px;font-weight:600}.discipline-table-container{background:#fff;border:1px solid #e5e7eb80;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014}.discipline-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.discipline-table thead{z-index:10;position:sticky;top:0}.discipline-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:#64748b;white-space:nowrap;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #f1f5f9;padding:16px;font-size:12px;font-weight:600}.discipline-table th:first-child{border-radius:16px 0 0}.discipline-table th:last-child{border-radius:0 16px 0 0}.discipline-table th.center{text-align:center}.discipline-table td{border-bottom:1px solid #f1f5f9;padding:16px}.discipline-table tbody tr{transition:all .2s}.discipline-table tbody tr:hover{background:#f8fafc}.discipline-table tbody tr:last-child td:first-child{border-radius:0 0 0 16px}.discipline-table tbody tr:last-child td:last-child{border-radius:0 0 16px}.discipline-user-cell{flex-direction:column;gap:4px;display:flex}.discipline-user-name{color:#1e293b;font-weight:600}.discipline-user-dept{color:#64748b;font-size:12px}.discipline-stat{text-align:center;font-weight:500}.discipline-stat.total{color:#1e293b;font-weight:700}.discipline-stat.filled{color:#22c55e}.discipline-stat.vacation{color:#3b82f6}.discipline-stat.sick{color:#f59e0b}.discipline-stat.unfilled{color:#ef4444}.discipline-stat.missed{color:#ef4444;background:#ef44441a;border-radius:8px;padding:4px 10px;font-weight:700;display:inline-block}.discipline-error{z-index:2000;-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#fee2e2f2 0%,#fecacaf2 100%);border-left:4px solid #ef4444;border-radius:14px;max-width:400px;padding:16px 20px;animation:.3s ease-out slideIn;position:fixed;top:80px;right:24px;box-shadow:0 10px 25px #0000001f}.discipline-error-title{color:#dc2626;margin-bottom:8px;font-weight:600}.discipline-error-message{color:#b91c1c;font-size:14px}.discipline-error-close{cursor:pointer;color:#fff;background:#dc2626;border:none;border-radius:8px;margin-top:12px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.discipline-error-close:hover{background:#b91c1c}.profile-view{background:#f8fafc;flex-direction:column;gap:24px;width:100%;min-height:100vh;padding:32px 48px;display:flex}.profile-header{justify-content:flex-end;display:flex}.profile-close-btn{cursor:pointer;color:#64748b;background:#fff;border:1px solid #e5e7ebcc;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:18px;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000a}.profile-close-btn:hover{color:#ef4444;background:#fef2f2;border-color:#fecaca;transform:scale(1.05)}.profile-card{background:#fff;border:1px solid #e5e7eb80;border-radius:16px;width:100%;padding:32px;box-shadow:0 1px 3px #00000014}.profile-avatar-section{border-bottom:1px solid #f1f5f9;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:20px;display:flex}.profile-avatar{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;font-size:28px;display:flex;box-shadow:0 4px 12px #3b82f64d}.profile-user-info{flex:1}.profile-user-name{color:#1e293b;margin-bottom:4px;font-size:20px;font-weight:700}.profile-user-telegram{color:#64748b;font-size:14px}.profile-access-badge{border-radius:10px;align-items:center;gap:8px;margin-bottom:20px;padding:10px 16px;font-size:14px;font-weight:500;display:inline-flex}.profile-access-badge.full{color:#15803d;background:linear-gradient(135deg,#22c55e1a 0%,#15803d1a 100%);border:1px solid #22c55e33}.profile-access-badge.limited{color:#d97706;background:linear-gradient(135deg,#f59e0b1a 0%,#d977061a 100%);border:1px solid #f59e0b33}.profile-section{margin-bottom:16px}.profile-section:last-child{margin-bottom:0}.profile-section-title{text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:12px;font-size:12px;font-weight:600}.profile-list{flex-direction:column;gap:8px;display:flex}.profile-list-item{color:#374151;background:#f8fafc;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;transition:all .2s;display:flex}.profile-list-item:hover{background:#f1f5f9}.profile-list-icon{font-size:16px}.profile-logout-section{margin-top:8px}.profile-logout-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:none;border-radius:12px;width:100%;padding:14px 20px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #ef44444d}.profile-logout-btn:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.profile-empty{color:#64748b;text-align:center;padding:40px}.export-view{background:#f8fafc;flex-direction:column;gap:24px;width:100%;min-height:100vh;padding:32px 48px;display:flex}.export-card{background:#fff;border:1px solid #e5e7eb80;border-radius:16px;width:100%;padding:32px;box-shadow:0 1px 3px #00000014}.export-title{background:linear-gradient(135deg,#1e293b 0%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:20px;font-weight:700}.export-subtitle{color:#64748b;margin:0 0 24px;font-size:14px}.export-pickers{gap:16px;margin-bottom:24px;display:flex}.export-picker-group{flex-direction:column;flex:1;gap:8px;display:flex}.export-picker-label{text-transform:uppercase;letter-spacing:.5px;color:#64748b;font-size:12px;font-weight:600}.export-select{cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") right 12px center/16px no-repeat;border:1px solid #e5e7ebcc;border-radius:12px;padding:12px 40px 12px 16px;font-size:15px;transition:all .2s;box-shadow:0 1px 2px #0000000a}.export-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.export-select:disabled{opacity:.6;cursor:not-allowed}.export-buttons{gap:12px;display:flex}.export-btn-cancel{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7ebcc;border-radius:12px;flex:1;padding:14px 20px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 1px 2px #0000000a}.export-btn-cancel:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.export-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.export-btn-start{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 8px #3b82f64d}.export-btn-start:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.export-btn-start:disabled{opacity:.7;cursor:not-allowed;transform:none}.export-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:2000;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.export-modal{background:#fff;border-radius:20px;width:90%;max-width:440px;padding:28px;animation:.3s slideUp;box-shadow:0 20px 50px #0003}.export-modal-title{color:#1e293b;margin:0 0 16px;font-size:18px;font-weight:700}.export-modal-message{color:#475569;white-space:pre-line;margin:0 0 20px;font-size:14px;line-height:1.6}.export-modal-link{color:#3b82f6;word-break:break-all;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:13px}.export-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.export-modal-btn{cursor:pointer;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .2s}.export-modal-btn.primary{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;box-shadow:0 2px 6px #3b82f64d}.export-modal-btn.primary:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-1px)}.export-modal-btn.secondary{color:#374151;background:#fff;border:1px solid #e5e7ebcc}.export-modal-btn.secondary:hover{background:#f8fafc;border-color:#94a3b8}
