:root{--primary: #2563eb;--primary-hover: #1d4ed8;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-hover: #f3f4f6;--border: #e5e7eb;--border-focus: #2563eb;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--radius: 6px;--transition: all .15s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-secondary);-webkit-font-smoothing:antialiased;height:100%;overflow:hidden;margin:0;padding:0}#root{height:100%;overflow:hidden}.pro-container{max-width:1280px;margin:0 auto;padding:16px}.pro-header{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.pro-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.pro-actions{display:flex;gap:12px;align-items:center}.pro-search{position:relative}.pro-search input{width:280px;padding:8px 12px 8px 32px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;background:var(--bg-primary);transition:var(--transition)}.pro-search:before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'%3E%3C/path%3E%3C/svg%3E") no-repeat;background-size:contain}.pro-search input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.btn-pro{padding:8px 16px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover)}.btn-icon{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-primary);cursor:pointer;transition:var(--transition);color:var(--text-secondary);font-size:16px}.btn-icon:hover{background:var(--bg-hover);border-color:var(--text-secondary)}.btn-icon.danger:hover{background:#fef2f2;color:var(--danger);border-color:var(--danger)}.pro-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.pro-table{width:100%;border-collapse:collapse}.pro-table th{text-align:left;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.pro-table td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text-primary)}.pro-table tbody tr:last-child td{border-bottom:none}.pro-table tbody tr:hover{background:var(--bg-hover)}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;line-height:1}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fed7aa;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.pro-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}.pro-modal{background:var(--bg-primary);border-radius:8px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow)}.pro-modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.pro-modal-title{font-size:16px;font-weight:600;color:var(--text-primary)}.pro-modal-close{width:28px;height:28px;border-radius:var(--radius);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);font-size:18px}.pro-modal-close:hover{background:var(--bg-hover)}.pro-modal-body{padding:24px;overflow-y:auto;flex:1}.pro-modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-primary)}.form-input,.form-select,.form-textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;background:var(--bg-primary);transition:var(--transition)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.form-textarea{resize:vertical;min-height:80px}.action-group{display:flex;gap:6px}.share-dropdown{position:relative;display:inline-block;z-index:20000}.dropdown-menu{position:fixed;top:auto;right:auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #00000026;z-index:25000;min-width:160px;padding:6px 0;margin-top:4px;font-weight:500}.dropdown-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:24999;background:transparent}.dropdown-item{display:block;width:100%;padding:10px 16px;background:none;border:none;text-align:left;font-size:14px;color:var(--text-primary);cursor:pointer;transition:var(--transition);white-space:nowrap}.dropdown-item:hover{background:var(--bg-hover);color:var(--primary)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.stat-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.stat-value{font-size:24px;font-weight:600;color:var(--text-primary)}.status-select{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--bg-primary);cursor:pointer}.status-select:focus{outline:none;border-color:var(--border-focus)}.link{color:var(--primary);text-decoration:none;cursor:pointer;font-weight:500}.link:hover{text-decoration:underline}.empty-state{padding:48px 24px;text-align:center;color:var(--text-secondary)}.empty-title{font-size:16px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.empty-text{font-size:14px;color:var(--text-secondary)}.icon-edit:before{content:"✎";font-size:14px}.icon-delete:before{content:"×";font-size:18px;font-weight:700}.icon-money:before{content:"€";font-size:14px}.icon-eye:before{content:"👁";font-size:14px}.icon-check:before{content:"✓";font-size:14px}button:not(.pro-modal-close){font-size:14px!important}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.pro-table a,.pro-table .link{color:var(--primary);text-decoration:none;font-weight:500}.pro-table a:hover,.pro-table .link:hover{text-decoration:underline}select.form-input{font-size:14px!important;height:40px!important;line-height:1.4!important;padding:10px 12px!important;min-height:40px!important;vertical-align:middle!important}select.form-input option{font-size:14px!important;padding:4px 8px;line-height:1.4}.form-select-compact{font-size:14px!important;padding:8px 12px!important;height:auto!important;line-height:1.4!important}.spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-right:4px}@keyframes spin{to{transform:rotate(360deg)}}.btn-pro:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.status{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500}.status-fertiggestellt{background-color:#d1fae5;color:#065f46}.status-nicht-fertiggestellt{background-color:#fee2e2;color:#991b1b}.status-in-bearbeitung,.status-auftrag,.status-entwurf{background-color:#e0e7ff;color:#3730a3}.birthday-header{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#f59e0b,#f97316);padding:.5rem 1.2rem;border-radius:8px;box-shadow:0 2px 8px #f59e0b4d;white-space:nowrap;height:auto;box-sizing:border-box;margin:0}@keyframes slideIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{box-shadow:0 2px 10px #667eea4d}50%{box-shadow:0 3px 15px #667eea80}}.birthday-icon{font-size:1.3rem;animation:bounce 1.5s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.birthday-text{display:flex;align-items:center;gap:.25rem;color:#fff;font-size:.9rem;font-weight:600;text-shadow:0 2px 5px rgba(0,0,0,.2)}.birthday-name{white-space:nowrap}.birthday-sparkle{font-size:1.2rem;animation:sparkle 2s ease-in-out infinite}.birthday-close{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.2rem;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;margin-left:.5rem;line-height:1}.birthday-close:hover{background:#ffffff4d;transform:scale(1.1)}@keyframes sparkle{0%,to{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.6;transform:scale(1.2) rotate(180deg)}}@media (max-width: 768px){.birthday-header{padding:.5rem 1rem;gap:.5rem}.birthday-icon{font-size:1.5rem}.birthday-text{font-size:.9rem}.birthday-sparkle{font-size:1.2rem}}.layout{height:100vh;display:flex;flex-direction:column;overflow:hidden}.layout-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;position:relative}.birthday-center{position:absolute;left:50%;transform:translate(-50%);z-index:1}.header-title{font-size:21px;font-weight:600;color:var(--color-text)}.header-user{display:flex;align-items:center;gap:16px}.user-name{font-size:15px;color:var(--color-text-secondary)}.btn-logout{padding:8px 16px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius);font-size:15px;color:var(--color-text);cursor:pointer;transition:all .2s ease}.btn-logout:hover{background:var(--color-background)}.layout-nav{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:65px;z-index:90;isolation:isolate}.nav-content{max-width:1400px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:center;gap:8px}.nav-link{padding:14px 16px;font-size:15px;color:var(--color-text-secondary);text-decoration:none;border-bottom:2px solid transparent;transition:all .2s ease;white-space:nowrap;display:inline-block;border-radius:var(--radius)}.nav-link:hover{color:var(--color-text);background:var(--color-background)}.nav-link-active{color:var(--color-primary);background:#3b82f61a}.nav-dropdown{position:relative;z-index:91!important}.nav-dropdown-toggle{padding:14px 16px;font-size:15px;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .2s ease;white-space:nowrap;border-radius:var(--radius)}.nav-dropdown-toggle:hover{color:var(--color-text);background:var(--color-background)}.nav-dropdown-toggle.active{color:var(--color-primary);background:var(--color-background)}.dropdown-arrow{font-size:10px;transition:transform .2s ease;margin-left:4px}.nav-dropdown-toggle.active .dropdown-arrow{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 6px #0000001a;margin-top:4px;padding:8px;z-index:999!important}.dropdown-link{display:block;padding:10px 16px;font-size:15px;color:var(--color-text-secondary);text-decoration:none;border-radius:calc(var(--radius) - 2px);transition:all .2s ease}.dropdown-link:hover{color:var(--color-text);background:var(--color-background)}.dropdown-link-active{color:var(--color-primary);background:#3b82f61a}.layout-main{flex:1;background:var(--color-background);overflow:auto;min-height:0}.main-content{max-width:1400px;margin:0 auto;padding:32px 24px;height:100%}@media (max-width: 768px){.nav-content{overflow-x:auto;padding-bottom:4px}.nav-dropdown-menu{position:fixed;left:50%;transform:translate(-50%);width:calc(100vw - 48px);max-width:320px}}@keyframes logoAnimation{0%,96.67%{transform:scale(1);opacity:.7}97%{transform:scale(1.2);opacity:1}98%{transform:scale(.9);opacity:.9}99%{transform:scale(1.05);opacity:.85}to{transform:scale(1);opacity:.7}}.powered-by-logo{animation:logoAnimation 30s ease-in-out infinite}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-background);padding:24px}.login-card{width:100%;max-width:400px;background:var(--color-surface);border-radius:var(--radius-lg);padding:48px 32px;box-shadow:var(--shadow-lg)}.login-title{font-size:32px;font-weight:600;color:var(--color-text);margin-bottom:8px;text-align:center}.login-subtitle{font-size:17px;color:var(--color-text-secondary);text-align:center;margin-bottom:32px}.login-form{margin-bottom:24px}.login-button{width:100%;margin-top:8px}.login-footer{text-align:center;padding-top:16px;border-top:1px solid var(--color-border)}.login-switch{background:none;border:none;color:var(--color-primary);font-size:15px;cursor:pointer;padding:0}.login-switch:hover{text-decoration:underline}.forgot-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.forgot-password-card{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 10px 40px #0003;max-width:450px;width:100%}.forgot-password-card h2{margin:0 0 1rem;font-size:1.75rem;color:#1a1a1a;text-align:center}.forgot-password-description{margin:0 0 2rem;color:#666;font-size:.95rem;line-height:1.5;text-align:center}.btn-primary,.btn-secondary{width:100%;padding:.875rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:1rem}.btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea}.btn-secondary:hover:not(:disabled){background:#f8f9fa}@media (max-width: 500px){.forgot-password-card{padding:1.5rem}.forgot-password-card h2{font-size:1.5rem}}.reset-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.reset-password-card{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 10px 40px #0003;max-width:450px;width:100%}.reset-password-card h2{margin:0 0 1rem;font-size:1.75rem;color:#1a1a1a;text-align:center}.reset-password-description{margin:0 0 2rem;color:#666;font-size:.95rem;line-height:1.5;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.95rem}.form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.password-requirements{margin-top:.75rem;padding:.75rem;background:#f8f9fa;border-radius:6px;font-size:.875rem}.password-requirements>div{padding:.25rem 0}.requirement-met{color:#28a745;font-weight:500}.requirement-unmet{color:#999}.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.95rem}.alert-error{background:#fee;border:1px solid #fcc;color:#c33}.alert-success{background:#efe;border:1px solid #cfc;color:#393}.btn-primary,.btn-full-width{width:100%;padding:.875rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.loading-spinner{width:40px;height:40px;margin:0 auto 1rem;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-icon{width:60px;height:60px;margin:0 auto 1rem;background:linear-gradient(135deg,#28a745,#20c997);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;font-weight:700}@media (max-width: 500px){.reset-password-card{padding:1.5rem}.reset-password-card h2{font-size:1.5rem}}.phonebook-widget{position:relative;min-width:300px;margin-right:auto}.phonebook-header,.phonebook-icon{display:none}.phonebook-search{position:relative}.phonebook-input{width:100%;padding:.5rem .75rem .5rem 2rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;transition:all .2s;background:#fff;color:#1e293b}.phonebook-input::placeholder{color:#94a3b8}.phonebook-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.phonebook-search:before{content:"📞";position:absolute;left:.5rem;top:50%;transform:translateY(-50%);font-size:1rem;z-index:1}.phonebook-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#64748b;font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .2s;z-index:2}.phonebook-clear:hover{color:#1e293b}.phonebook-loading,.phonebook-hint,.phonebook-no-results{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;color:#64748b;font-size:.875rem;text-align:center;z-index:1000;box-shadow:0 4px 6px #0000001a}.phonebook-results{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;max-height:400px;overflow-y:auto;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;z-index:1000;box-shadow:0 4px 6px #0000001a;padding:.5rem}.phonebook-result-item{padding:.75rem;border-bottom:1px solid #f3f4f6;transition:all .2s}.phonebook-result-item-simple{padding:.75rem}.phonebook-result-item:last-child{border-bottom:none}.phonebook-result-item:hover{background:#f9fafb}.phonebook-result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.phonebook-result-name{font-weight:600;font-size:.875rem;color:#1e293b}.phonebook-result-type{font-size:.7rem;padding:.125rem .375rem;background:#dbeafe;color:#1e40af;border-radius:.25rem;font-weight:500}.phonebook-result-position{font-size:.75rem;color:#64748b;margin-bottom:.375rem}.phonebook-result-customer-number{font-size:.7rem;color:#64748b;margin-bottom:.375rem}.phonebook-result-contacts{display:flex;flex-direction:column;gap:.25rem}.phonebook-contact-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.contact-label{font-weight:500;color:#64748b;min-width:45px}.contact-value{color:#1e293b;text-decoration:none}.phone-link{color:#3b82f6;font-weight:500;cursor:pointer;transition:color .2s}.phone-link:hover{color:#2563eb;text-decoration:underline}.email-link{color:#3b82f6;transition:color .2s}.email-link:hover{color:#2563eb;text-decoration:underline}.phonebook-result-address{margin-top:.375rem;padding-top:.375rem;border-top:1px solid #f1f5f9;font-size:.7rem;color:#64748b;line-height:1.3}.phonebook-results::-webkit-scrollbar{width:6px}.phonebook-results::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.phonebook-results::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.phonebook-results::-webkit-scrollbar-thumb:hover{background:#94a3b8}.dashboard-new{padding:0;background:#f8fafc;min-height:100vh;width:100%;max-width:100%;margin:0;display:flex;flex-direction:column}.dashboard-header{background:linear-gradient(135deg,#1e40af,#3730a3);color:#fff;padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px #0000001a}.header-left{display:flex;flex-direction:column;gap:.5rem}.dashboard-title{font-size:1.5rem;font-weight:700;margin:0;letter-spacing:-.025em}.dashboard-date{font-size:.9375rem;opacity:.9;font-weight:400}.header-right{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.dashboard-clock{font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums;text-shadow:0 2px 4px rgba(0,0,0,.1)}.quick-stats{background:#fff;padding:.5rem 1.5rem;display:flex;gap:1.5rem;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;justify-content:flex-start}.quick-stat{display:flex;align-items:center;gap:.75rem}.quick-stat-value{font-size:1.5rem;font-weight:700;color:#1e293b}.quick-stat-label{font-size:.875rem;color:#64748b;font-weight:500}.dashboard-main-grid{display:block;padding:1rem 1.5rem}.section-header{font-size:.8rem;font-weight:600;color:#1e293b;margin:0;padding:.15rem .75rem;display:flex;align-items:center;gap:.25rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.section-icon{font-size:1.125rem}.presence-section{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem;overflow:hidden}.grid{display:grid}.grid-cols-7{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(110px,1fr) minmax(80px,.7fr) minmax(150px,1.3fr) minmax(80px,.7fr) minmax(180px,1.5fr) minmax(120px,1fr);align-items:center}.gap-4{gap:1rem}.col-span-1{grid-column:span 1 / span 1;min-width:0}.items-center{align-items:center}.text-center{text-align:center}.employee-grid-header{padding:.1rem .75rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.grid-header-text{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;line-height:1.2}.employee-grid-body{background:#fff}.employee-grid-row{padding:.2rem .75rem;border-bottom:1px solid #f3f4f6;transition:background-color .2s;font-size:.875rem}.employee-grid-row .col-span-1{padding:.15rem 0}.employee-grid-row .employee-name,.employee-grid-row .employee-name *,.employee-grid-row .employee-name strong{color:#000!important}.employee-grid-row:hover{background-color:#f9fafb}.employee-grid-row:last-child{border-bottom:none}.employee-grid-row.working,.employee-grid-row.clocked_in{border-left:4px solid #10b981}.employee-grid-row.on_break{border-left:4px solid #f59e0b}.employee-grid-row.on_smoke_break{border-left:4px solid #8b5cf6}.employee-grid-row.clocked_out{border-left:4px solid #6b7280;opacity:.7;padding:.1rem .75rem;min-height:auto}.employee-grid-row.clocked_out .col-span-1{padding:.1rem 0}.employee-grid-row.clocked_out .employee-name{font-size:.75rem;line-height:1}.employee-grid-row.clocked_out .employee-name strong{font-size:.75rem}.employee-grid-row.clocked_out .status-badge,.employee-grid-row.clocked_out .time-value{font-size:.7rem;padding:.15rem .4rem}.employee-grid-row-absent{padding:.1rem .75rem}.employee-grid-row-absent .col-span-1,.employee-grid-row-absent .col-span-2,.employee-grid-row-absent .col-span-3{padding:.1rem 0}.employee-grid-row-absent .employee-name{font-size:.75rem;line-height:1}.employee-grid-row-absent .employee-name strong{font-size:.75rem}.employee-grid-row-absent .status-badge,.employee-grid-row-absent .date-text{font-size:.7rem;padding:.15rem .4rem}.employee-name{font-weight:500;color:#000!important;font-size:.8125rem;line-height:1.2}.employee-name strong{color:#000!important;font-weight:600;font-size:.8125rem}.employee-department{font-size:.6875rem;color:#6b7280!important;margin-top:.125rem}.time-value{color:#374151!important;font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:500}.current-order-info{display:inline-flex;flex-direction:column;align-items:center;gap:.125rem}.order-number{display:inline-block;padding:.125rem .25rem;background:#dbeafe;color:#1e40af;border-radius:.25rem;font-weight:600;font-size:.7rem;white-space:nowrap}.order-finish-time{font-size:.6rem;color:#6b7280!important;font-style:italic;white-space:nowrap}.pause-indicator{color:#f59e0b!important;font-weight:600}.customer-name{color:#111827!important;font-size:.875rem;word-wrap:break-word;max-width:150px;margin:0 auto}.location-text{font-size:.8125rem;max-width:200px;margin:0 auto}.location{display:inline;white-space:nowrap;color:#059669!important}.location-multiline{display:flex;flex-direction:column;align-items:center;line-height:1.3}.location-street{color:#059669!important;font-weight:500}.location-city{color:#059669!important;font-size:.75rem;margin-top:.125rem}.clickable-location{cursor:pointer;transition:all .2s ease}.clickable-location:hover{transform:scale(1.02)}.clickable-location:hover .location-street{color:#1e40af!important;text-decoration:underline}.clickable-location:hover .location-city{color:#1e40af!important}.no-data{color:#9ca3af!important;font-style:italic}.order-customer-main{font-size:.75rem;font-weight:600;color:#1e40af!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.order-number-small{font-size:.625rem;color:#6b7280!important;font-style:italic}.history-order-info{display:inline-flex;flex-direction:column;align-items:center;gap:.125rem;opacity:.7}.order-customer-history{font-size:.7rem;font-weight:500;color:#6b7280!important;text-decoration:line-through;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.order-history-small{font-size:.6rem;color:#9ca3af!important;font-style:italic}.order-history{display:inline-block;padding:.125rem .25rem;background:#f3f4f6;color:#6b7280!important;border-radius:.25rem;font-weight:500;font-size:.7rem;white-space:nowrap;text-decoration:line-through}.order-history-time{font-size:.6rem;color:#6b7280!important;font-style:italic;white-space:nowrap}.next-order-info{display:flex;flex-direction:column;align-items:center;gap:.125rem}.next-order-number{font-size:.75rem;font-weight:600;color:#7c3aed!important;padding:.125rem .375rem;background:#ede9fe;border-radius:.25rem}.next-order-time{font-size:.6875rem;color:#6b7280!important;font-style:italic}.next-order-customer{font-size:.8rem;font-weight:600;color:#333!important;margin-bottom:2px}.next-order-number-small{font-size:.7rem;color:#666!important;margin-bottom:2px}.status-vacation{background:#fbbf24;color:#78350f;padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.status-sick{background:#ef4444;color:#fff;padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.date-text{color:#374151;font-size:.875rem}.status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:.25rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.status-present{background:#10b981;color:#fff}.status-break{background:#f59e0b;color:#fff}.status-smoke{background:#8b5cf6;color:#fff}.status-absent{background:#6b7280;color:#fff}.project-paused{display:inline-block;margin-left:.5rem;padding:.125rem .375rem;background:#fef3c7;color:#92400e;border-radius:.25rem;font-size:.7rem;font-weight:700}.employee-details{padding-top:.75rem;border-top:1px solid #e2e8f0}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.875rem}.detail-label{color:#64748b;font-weight:500}.detail-value{color:#1e293b;font-weight:500}.project-info{margin-top:.75rem;padding:.75rem;background:#fff;border-radius:.375rem;border:1px solid #e2e8f0}.project-number{font-weight:700;color:#2563eb}.location{color:#059669}.project-paused{display:inline-block;margin-top:.5rem;padding:.25rem .5rem;background:#fef3c7;color:#92400e;border-radius:.25rem;font-size:.75rem;font-weight:600}.no-project{padding:.5rem;text-align:center}.no-project-text{font-size:.875rem;color:#94a3b8;font-style:italic}.schedule-section{display:none}.phonebook-section{margin-top:1rem}.schedule-list{display:flex;flex-direction:column;gap:1rem}.schedule-item{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;padding:.75rem;background:#f8fafc;border-radius:.375rem;border:1px solid #e2e8f0}.schedule-time{font-weight:600;color:#2563eb}.schedule-title{font-weight:500;color:#1e293b}.schedule-location{font-size:.875rem;color:#64748b}.no-schedule{padding:2rem;text-align:center;color:#94a3b8;font-style:italic}.no-employees{padding:3rem;text-align:center;color:#94a3b8;font-style:italic}.presence-section+.presence-section{margin-top:2rem}.bottom-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;padding:.75rem 1.5rem;width:100%;box-sizing:border-box;position:fixed;bottom:0;left:0;right:0;background:#f8fafc;z-index:100;box-shadow:0 -2px 8px #0000001a}.stat-card-new{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.25rem;transition:all .2s;min-width:0;width:100%}.stat-card-new:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.stat-icon{font-size:2.5rem}.stat-content{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:100%}.stat-content .stat-value{font-size:1.875rem;font-weight:700;color:#1e293b;text-align:center!important;width:100%;display:block}.stat-content .stat-label{font-size:.875rem;color:#64748b;font-weight:500;text-align:center!important;width:100%;display:block}.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.125rem;color:#64748b}@media (max-width: 1280px){.dashboard-main-grid{grid-template-columns:1fr}.presence-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.dashboard-header{flex-direction:column;gap:1rem;text-align:center}.dashboard-clock{font-size:2.5rem}.quick-stats{flex-wrap:wrap;gap:1.5rem}.quick-stat{flex:1 1 45%}.dashboard-main-grid{padding:1rem}.bottom-stats{flex-direction:column;padding:0 1rem 1rem}.presence-grid{grid-template-columns:1fr}}.dashboard{max-width:1200px;margin:0 auto}.page-title{font-size:32px;font-weight:600;margin-bottom:32px;color:var(--color-text)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:48px}.stat-card{background:var(--color-surface);padding:24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.stat-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:8px}.stat-value{font-size:32px;font-weight:600;color:var(--color-text)}.stat-value-warning{color:var(--color-warning)}.stat-value-danger{color:var(--color-danger)}.dashboard-section{margin-bottom:48px}.section-title{font-size:21px;font-weight:600;margin-bottom:24px;color:var(--color-text)}.text-center{text-align:center;color:var(--color-text-secondary);padding:24px}@keyframes pulse-subtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}.modal-overlay,.pro-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999999!important;animation:fadeIn .2s ease;pointer-events:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal,.pro-modal{background:#fff;border-radius:12px;width:90vw;max-width:1200px;height:98vh;max-height:98vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease;overflow:hidden}.modal.wide-modal,.pro-modal-large{max-width:1400px}.modal-header,.pro-modal-header{height:48px;padding:0 20px;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-title{font-size:16px;font-weight:600;color:#111827;letter-spacing:-.025em}.modal-close,.pro-modal-close{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;font-size:20px;line-height:1}.modal-close:hover,.pro-modal-close:hover{background:#f3f4f6;color:#111827}.tabs,.pro-tabs{height:40px;padding:0 24px;border-bottom:1px solid #f3f4f6;display:flex;align-items:center;gap:2px;flex-shrink:0;background:#fafafa}.tab,.pro-tab{position:relative;padding:0 16px;height:32px;border:none;background:transparent;color:#6b7280;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;border-radius:6px;display:flex;align-items:center}.tab:hover,.pro-tab:hover{color:#374151;background:#00000008}.tab.active,.pro-tab.active{background:#fff;color:#111827;box-shadow:0 1px 3px #00000014}.modal-body{flex:1;padding:0;overflow:hidden;position:relative}.tab-content{position:absolute;top:0;right:0;bottom:0;left:0;padding:20px 30px;overflow-y:auto;opacity:0;visibility:hidden;transform:translate(10px);transition:all .2s ease}.tab-content.active{opacity:1;visibility:visible;transform:translate(0)}.tab-content::-webkit-scrollbar{width:6px}.tab-content::-webkit-scrollbar-track{background:transparent}.tab-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.tab-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.form-section{margin-bottom:16px}.form-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:12px}.form-row-4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px;margin-bottom:12px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group.full-width{grid-column:1 / -1}.form-label{font-size:12px;font-weight:500;color:#374151;display:flex;align-items:center;gap:4px}.form-label .required{color:#ef4444;font-size:11px}.form-input,.form-select,.form-textarea{padding:0 10px;border:1px solid #e5e7eb;border-radius:5px;font-size:13px;background:#fff;transition:all .15s ease;color:#111827;font-family:inherit}input.form-input,.form-select{height:38px!important;line-height:36px!important;min-height:38px!important}textarea.form-input{height:auto!important;line-height:1.8!important;min-height:80px!important}.form-select{padding-top:4px!important;padding-bottom:4px!important;-webkit-appearance:none;-moz-appearance:none;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 8 4 4 4-4'/%3E%3C/svg%3E")!important;background-position:right 10px center!important;background-repeat:no-repeat!important;background-size:20px!important;padding-right:40px!important}.form-textarea{padding:8px 10px;resize:vertical;min-height:80px}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af;font-size:13px}.modal-footer{height:56px;padding:0 20px;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:#fafafa}.form-hint{font-size:12px;color:#9ca3af}.modal-actions{display:flex;gap:10px}.btn-modal{height:36px;padding:0 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.btn-secondary{background:#fff;color:#374151;border:1px solid #e5e7eb}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.checkbox-group{display:flex;align-items:center;gap:8px;height:36px}.checkbox{width:18px;height:18px;border:2px solid #e5e7eb;border-radius:4px;cursor:pointer;transition:all .15s ease}.checkbox:checked{background:#2563eb;border-color:#2563eb}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#111827}.radio-label input[type=radio],.radio-label span{cursor:pointer}.toggle{position:relative;width:44px;height:24px;background:#e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease}.toggle.active{background:#2563eb}.toggle-handle{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000026;transition:all .2s ease}.toggle.active .toggle-handle{transform:translate(20px)}.detail-modal{width:600px;height:auto;max-height:80vh}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding:24px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}.detail-value{font-size:14px;color:#111827;font-weight:500}.badge-modal{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;line-height:1;width:fit-content}.badge-modal.success{background:#d1fae5;color:#065f46}.badge-modal.info{background:#dbeafe;color:#1e40af}.badge-modal.warning{background:#fed7aa;color:#92400e}.badge-modal.secondary{background:#f3f4f6;color:#6b7280}.planning{max-width:100%;padding:0 24px}.planning-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;flex:1}.view-toggle,.navigation-controls{display:flex;gap:8px}.period-label{font-size:17px;font-weight:600;color:var(--color-text);margin-left:auto}.planning-timeline{background:var(--color-surface);border-radius:var(--radius-lg);overflow:auto;margin-bottom:24px;position:relative}.timeline-header{display:grid;grid-template-columns:100px 1fr;background:var(--color-background);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:100}.timeline-corner{padding:16px 12px;border-right:2px solid var(--color-border);font-weight:600;font-size:13px;color:var(--color-text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center}.kw-info{font-size:12px;color:var(--color-text-secondary);margin-top:4px}.timeline-employees{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr)}.timeline-employee-header{padding:16px 12px;border-right:1px solid var(--color-border);text-align:center}.employee-name{font-weight:600;font-size:15px;color:var(--color-text)}.employee-role{font-size:13px;color:var(--color-text-secondary);margin-top:4px}.timeline-days{grid-column:1 / -1}.timeline-day{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid var(--color-border)}.timeline-day:last-child{border-bottom:none}.timeline-day-info{grid-column:1;padding:12px;background:var(--color-background);border-right:2px solid var(--color-border);position:sticky;left:0;z-index:10}.timeline-day-info.is-today{background:#0071e30d;border-right-color:var(--color-primary)}.day-name{font-size:11px;text-transform:uppercase;color:var(--color-text-secondary);font-weight:500}.day-date{font-size:16px;color:var(--color-text);margin-top:2px;font-weight:600}.timeline-day-content{display:grid;grid-template-columns:60px 1fr;grid-column:2}.timeline-times{background:var(--color-background);border-right:1px solid var(--color-border);display:grid;grid-auto-rows:20px}.timeline-time{border-bottom:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:10px;color:var(--color-text-secondary)}.timeline-time.hour-mark{border-bottom:1px solid var(--color-border);font-weight:600;background:var(--color-background)}.timeline-employees-slots{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr)}.timeline-employee-column{border-right:1px solid var(--color-border);position:relative;display:grid;grid-auto-rows:20px}.timeline-employee-column:last-child{border-right:none}.timeline-slot{border-bottom:1px solid rgba(0,0,0,.05);cursor:pointer;transition:background .15s ease;position:relative}.timeline-slot:hover{background:#0071e314}.timeline-slot.hour-mark{border-bottom:1px solid var(--color-border)}.timeline-slot.quarter-mark{border-bottom-style:dotted}.timeline-status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;z-index:20}.timeline-status-vacation{background:#ff95001a;color:var(--color-warning)}.timeline-status-sick{background:#ff3b301a;color:var(--color-danger)}.timeline-assignment{position:relative;margin:2px 4px;padding:6px 8px;border-radius:6px;border-left:3px solid;cursor:pointer;transition:all .15s ease;overflow:hidden;font-size:11px;box-shadow:0 1px 2px #0000000d}.timeline-assignment:hover{transform:translate(2px);box-shadow:var(--shadow-sm)}.timeline-assignment-normal{background:#0071e31a;border-left-color:var(--color-primary)}.timeline-assignment-hoch{background:#ff95001a;border-left-color:var(--color-warning)}.timeline-assignment-notfall{background:#ff3b301a;border-left-color:var(--color-danger)}.timeline-assignment-actions{position:absolute;top:4px;right:4px;display:flex;gap:4px;opacity:0;transition:opacity .2s}.timeline-assignment:hover .timeline-assignment-actions{opacity:1}.assignment-order{color:var(--color-primary);font-weight:500}.assignment-title{color:var(--color-text);margin:2px 0}.assignment-customer{color:var(--color-text-secondary);font-size:10px}.timeline-day-info.is-weekend{background:#9696960d}.timeline-time.half-hour{font-size:9px;color:var(--color-text-secondary);opacity:.6}.timeline-header,.timeline-day{width:100%}.timeline-employees,.timeline-employees-slots{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.timeline-employees::-webkit-scrollbar,.timeline-employees-slots::-webkit-scrollbar{height:6px}.timeline-employees::-webkit-scrollbar-track,.timeline-employees-slots::-webkit-scrollbar-track{background:transparent}.timeline-employees::-webkit-scrollbar-thumb,.timeline-employees-slots::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.timeline-employee-header,.timeline-employee-column{width:100%;min-width:180px}.timeline-slot{position:relative}.timeline-slot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;transition:background .15s ease;pointer-events:none}.timeline-slot:hover:before{background:linear-gradient(90deg,transparent,rgba(0,113,227,.05),transparent)}.planning-timeline{scroll-behavior:smooth}.timeline-times{position:sticky;left:0;z-index:5;background:linear-gradient(to right,var(--color-background) 90%,transparent)}.btn-icon{width:18px;height:18px;padding:0;border:none;border-radius:3px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon-edit{background:#0071e333;color:var(--color-primary)}.btn-icon-edit:hover{background:var(--color-primary);color:#fff}.btn-icon-delete{background:#ff3b3033;color:var(--color-danger)}.btn-icon-delete:hover{background:var(--color-danger);color:#fff}.planning-month{background:var(--color-surface);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}.planning-month-week{margin-bottom:24px;border-bottom:1px solid var(--color-border);padding-bottom:16px}.planning-month-week:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.planning-month-week-header{display:flex;align-items:center;margin-bottom:12px}.week-number{font-size:14px;font-weight:600;color:var(--color-text-secondary);background:var(--color-background);padding:4px 12px;border-radius:var(--radius)}.planning-month-days{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.planning-month-day{background:var(--color-background);border-radius:var(--radius);padding:12px;min-height:120px;border:1px solid var(--color-border);transition:all .2s}.planning-month-day:hover{box-shadow:var(--shadow-sm)}.planning-month-day.is-today{border-color:var(--color-primary);background:#0071e308}.month-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.day-number{font-size:18px;font-weight:600;color:var(--color-text)}.day-name-short{font-size:12px;color:var(--color-text-secondary);text-transform:uppercase}.month-day-employees{display:flex;flex-direction:column;gap:6px}.month-employee-slot{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:var(--color-surface);border-radius:4px;cursor:pointer;transition:all .2s}.month-employee-slot:hover{background:#0071e30d}.month-employee-name{font-size:11px;font-weight:500;color:var(--color-text)}.month-status{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff}.month-status-vacation{background:var(--color-warning)}.month-status-sick{background:var(--color-danger)}.month-assignments{display:flex;align-items:center}.assignment-count{padding:2px 6px;background:var(--color-primary);color:#fff;border-radius:10px;font-size:10px;font-weight:600}.assignment-free{color:var(--color-text-secondary);font-size:10px}.planning-sidebar{background:var(--color-surface);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}.planning-sidebar h3{font-size:17px;font-weight:600;margin-bottom:16px}.unplanned-orders{display:grid;gap:12px;max-height:400px;overflow-y:auto}.unplanned-order{padding:12px;background:var(--color-background);border-radius:var(--radius);border-left:3px solid var(--color-primary);cursor:move;transition:all .2s ease}.unplanned-order:hover{transform:translate(4px);box-shadow:var(--shadow-sm)}.unplanned-order[draggable=true]:active{opacity:.5}.unplanned-order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.unplanned-order-title{font-weight:500;margin-bottom:4px}.unplanned-order-customer{font-size:13px;color:var(--color-text-secondary);margin-bottom:4px}.unplanned-order-date{font-size:12px;color:var(--color-text-secondary)}.planning-new{padding:0 24px}.planning-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.planning-controls{display:flex;align-items:center;gap:12px}.period-label{font-size:17px;font-weight:600;color:var(--color-text);margin-left:16px}.planning-container{display:grid;grid-template-columns:300px 1fr;gap:24px;margin-bottom:24px}.orders-list{background:var(--color-surface);border-radius:var(--radius-lg);padding:20px;max-height:calc(100vh - 200px);overflow-y:auto}.orders-list h3{font-size:17px;font-weight:600;margin-bottom:16px}.order-card{padding:12px;background:var(--color-background);border-radius:var(--radius);margin-bottom:12px;cursor:pointer;border:2px solid transparent;transition:all .2s}.order-card:hover{transform:translate(4px);box-shadow:var(--shadow-sm)}.order-card.selected{border-color:var(--color-primary);background:#0071e30d}.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.order-customer{font-size:13px;color:var(--color-text-secondary);margin-bottom:8px}.order-assignments{font-size:12px}.assignments-count{color:var(--color-success);font-weight:500}.no-assignments{color:var(--color-text-secondary);font-style:italic}.calendar-view{background:var(--color-surface);border-radius:var(--radius-lg);padding:24px;min-height:calc(100vh - 200px)}.no-order-selected{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-secondary);font-size:16px}.selected-order-info{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.selected-order-info h3{font-size:20px;margin-bottom:8px}.selected-order-info p{color:var(--color-text-secondary)}.week-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.day-column{background:var(--color-background);border-radius:var(--radius);overflow:hidden}.day-header{padding:12px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.day-header.is-today{background:#0071e31a;border-bottom-color:var(--color-primary)}.day-name{font-size:12px;text-transform:uppercase;color:var(--color-text-secondary)}.day-date{font-size:16px;font-weight:600;color:var(--color-text);margin-top:4px}.day-content{padding:12px;min-height:200px}.day-assignments{margin-bottom:12px}.assignment-block{position:relative;padding:8px;background:var(--color-surface);border-left:3px solid var(--color-primary);border-radius:var(--radius);margin-bottom:8px;font-size:13px}.assignment-time{font-weight:600;color:var(--color-text);margin-bottom:4px}.assignment-employee{color:var(--color-text-secondary)}.btn-delete-small{position:absolute;top:4px;right:4px;width:20px;height:20px;border:none;background:#ff3b301a;color:var(--color-danger);border-radius:50%;font-size:16px;cursor:pointer;opacity:0;transition:all .2s}.assignment-block:hover .btn-delete-small{opacity:1}.btn-delete-small:hover{background:var(--color-danger);color:#fff}.no-assignments-day{color:var(--color-text-secondary);font-style:italic;text-align:center;padding:20px 0;font-size:13px}.btn-add-assignment{width:100%;font-size:13px;padding:8px}.current-team{background:var(--color-background);border-radius:var(--radius);padding:20px}.current-team h3{font-size:16px;font-weight:600;margin-bottom:16px}.team-members{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.team-member{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--color-surface);border-radius:var(--radius)}.member-name{font-weight:500}.member-assignments{font-size:12px;color:var(--color-text-secondary)}.modal-large{max-width:800px;width:90%}.employee-selection{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.available-section,.busy-section{background:var(--color-background);border-radius:var(--radius);padding:16px}.available-section h3,.busy-section h3{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--color-text-secondary)}.employee-list{max-height:300px;overflow-y:auto}.employee-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:var(--radius);margin-bottom:6px;cursor:pointer;transition:all .2s}.employee-item.selected{background:#0071e31a;border:1px solid var(--color-primary)}.employee-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.employee-position{margin-left:auto;font-size:12px;color:var(--color-text-secondary)}.busy-reason{margin-left:auto;font-size:12px;padding:2px 8px;background:var(--color-surface);border-radius:var(--radius);color:var(--color-warning)}.no-employees{text-align:center;padding:20px;color:var(--color-text-secondary);font-style:italic}.badge-priority-normal{background:#0071e31a;color:var(--color-primary)}.badge-priority-hoch{background:#ff95001a;color:var(--color-warning)}.badge-priority-notfall{background:#ff3b301a;color:var(--color-danger)}.planning-overview{padding:0 24px;height:100%;overflow:hidden;display:flex;flex-direction:column}.planning-fullwidth{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:0 24px;height:100%;overflow:hidden;display:flex;flex-direction:column}.time-grid-selector{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface);border:none;border-radius:var(--radius)}.navigation-controls,.planning-controls{display:flex;align-items:center;gap:12px}.divider-vertical{width:1px;height:32px;background:var(--color-border);margin:0 8px}.week-label,.date-label{font-size:17px;font-weight:600;color:var(--color-text);min-width:200px;display:flex;align-items:center;gap:8px}.overview-grid{background:var(--color-surface);border-radius:var(--radius-lg);margin-bottom:24px;box-shadow:0 2px 8px #0000000d;border:none;width:100%;position:relative;flex:1;min-height:0;overflow:auto}.grid-table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0}.grid-table thead{position:sticky;top:0;z-index:10}.grid-header{background:var(--color-background)}.grid-corner{width:160px;padding:16px;border-right:none;border-bottom:none;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:12px;background:var(--color-background);position:sticky;left:0;z-index:11;text-align:left}.kw-info{color:var(--color-primary)}.grid-day-header{padding:12px 8px;text-align:center;border-right:none;border-bottom:none;height:80px;vertical-align:middle}.grid-day-header:last-child{border-right:none}.grid-day-header.is-today{background:linear-gradient(180deg,#0071e314,#0071e308);position:relative}.grid-day-header.is-today:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-primary)}.day-name{font-size:11px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.day-date{font-size:18px;font-weight:600;color:var(--color-text);margin-bottom:4px}.day-hours{font-size:10px;color:var(--color-text-secondary);opacity:.8}.grid-body{background:#fff}.employee-row{height:60px;border:none!important}.employee-row td{border:none!important}.employee-row:hover{background:#00000005}.employee-header{width:160px;padding:12px;border:none!important;background:var(--color-background);position:sticky;left:0;z-index:10;vertical-align:middle}.employee-name{font-weight:500;color:var(--color-text);margin-bottom:2px;font-size:10px}.employee-position{font-size:5px;color:var(--color-text-secondary)}.overview-grid *{box-sizing:border-box}.grid-body::-webkit-scrollbar{width:8px;height:8px}.grid-body::-webkit-scrollbar-track{background:var(--color-background)}.grid-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.grid-body::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.employee-day-cell{padding:8px 4px;border:none!important;height:60px;position:relative;transition:background-color .15s ease;overflow:visible;vertical-align:top;width:auto}.employee-day-cell:last-child{border-right:none}.employee-day-cell:hover{background:#0071e308}.employee-day-cell.is-today{background:#0071e30d}.employee-day-cell.non-workday{background:var(--color-background);cursor:default}.closed-day{text-align:center;color:var(--color-text-secondary);font-style:italic;font-size:13px}.status-block{padding:8px;border-radius:var(--radius);text-align:center;font-size:13px;font-weight:500}.status-vacation{background:#ff95001a;color:var(--color-warning)}.status-sick{background:#ff3b301a;color:var(--color-danger)}.workload-indicator{height:3px;background:var(--color-border);border-radius:1px;margin-bottom:4px;overflow:hidden}.workload-bar{height:100%;transition:width .3s}.workload-free{background:var(--color-success)}.workload-low{background:var(--color-primary)}.workload-medium{background:var(--color-warning)}.workload-high{background:var(--color-danger)}.time-grid-vertical{display:flex;flex-direction:column;font-size:9px;position:relative;overflow:hidden;padding-bottom:0}.time-row{display:grid;grid-template-columns:32px 1fr;min-height:15px;border-bottom:1px solid rgba(0,0,0,.03);cursor:pointer;transition:background-color .15s ease;position:relative;align-items:center}.time-row:last-child{border-bottom:none}.time-row.free:hover{background:#0071e30d}.time-row.starts-here{z-index:1}.time-label{padding:0 3px;color:var(--color-text-secondary);font-size:8px;font-weight:500;text-align:right;border:none;line-height:14px;background:var(--color-background)}.free-label{padding-left:8px}.assignment-block{position:absolute;left:40px;right:4px;top:0;background:var(--color-primary);border-radius:3px;padding:2px 4px;display:flex;justify-content:space-between;align-items:flex-start;overflow:hidden;box-shadow:0 1px 3px #00000026;transition:transform .15s ease,box-shadow .15s ease}.assignment-block:hover{transform:translate(1px);box-shadow:0 2px 4px #0003;z-index:10}.time-row.priority-hoch .assignment-block{background:var(--color-warning)}.time-row.priority-notfall .assignment-block{background:var(--color-danger)}.assignment-content{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.assignment-time-range{color:#ffffffe6;font-size:8px;font-weight:600}.assignment-text{color:#fff;font-size:9px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-title{color:#fff;font-size:8px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-customer{color:#fffc;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-block.is-regie .assignment-time-range{color:#000000b3}.assignment-block.is-regie .assignment-text,.assignment-block.is-regie .assignment-title{color:#000}.assignment-block.is-regie .assignment-customer{color:#0009}.assignment-block.is-team{border-left:4px solid #2196F3;position:relative}.assignment-block.is-team:before{content:"👥";position:absolute;top:2px;right:2px;font-size:10px;opacity:.8}.btn-delete-inline{width:20px;height:20px;border:none;background:#ff0000b3;color:#fff;border-radius:50%;font-size:14px;cursor:pointer;opacity:.8;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.assignment-block:hover .btn-delete-inline{opacity:1}.assignment-block.is-regie{background:linear-gradient(135deg,#fff4e6,#ffecb3);border-left:3px solid #ff9800}.assignment-block.is-regie:hover{background:linear-gradient(135deg,#ffecb3,#ffd54f)}.btn-delete-inline:hover{background:#dc0000e6;transform:scale(1.1)}.assignments-list{display:flex;flex-direction:column;gap:6px}.assignment-item{padding:6px 8px;background:var(--color-background);border-left:3px solid var(--color-primary);border-radius:var(--radius);font-size:12px;cursor:pointer;transition:all .2s}.assignment-item:hover{transform:translate(2px);box-shadow:var(--shadow-sm)}.assignment-item.priority-hoch{border-left-color:var(--color-warning)}.assignment-item.priority-notfall{border-left-color:var(--color-danger)}.assignment-time{font-weight:600;color:var(--color-text);margin-bottom:2px}.assignment-order{color:var(--color-primary);font-size:11px}.free-slot{text-align:center;color:var(--color-text-secondary);font-style:italic;font-size:12px;padding:20px 0}.overview-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px}.summary-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:24px}.summary-card h3{font-size:16px;font-weight:600;margin-bottom:20px}.summary-stats{display:flex;flex-direction:column;gap:12px}.employee-stat{display:flex;align-items:center;justify-content:space-between;gap:16px}.stat-name{font-size:14px;font-weight:500;min-width:140px}.stat-bar{flex:1;height:20px;background:var(--color-background);border-radius:10px;position:relative;overflow:hidden}.stat-fill{height:100%;border-radius:10px;transition:width .3s}.stat-value{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:600;color:var(--color-text)}.unplanned-list{display:flex;flex-direction:column;gap:8px}.unplanned-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-background);border-radius:var(--radius)}.unplanned-number{font-weight:600;color:var(--color-primary);min-width:100px}.unplanned-title{flex:1;font-size:14px}.badge{padding:2px 8px;border-radius:var(--radius);font-size:11px;font-weight:500;white-space:nowrap}.badge.priority-normal,.priority-normal{background:#0071e31a;color:var(--color-primary)}.badge.priority-hoch,.priority-hoch{background:#ff95001a;color:var(--color-warning)}.badge.priority-notfall,.priority-notfall{background:#ff3b301a;color:var(--color-danger)}.modal-assignment{max-width:1400px;width:98%}.assignment-form{display:flex;flex-direction:column;gap:16px;margin-top:16px}.employee-list{max-height:180px;overflow-y:auto;border:none;border-radius:var(--radius);padding:4px}.employee-header.employee-unavailable{position:relative;opacity:.7}.employee-header.employee-unavailable .employee-name{text-decoration:line-through;color:var(--color-text-secondary)}.time-grid-vertical.employee-unavailable{pointer-events:none;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.05) 10px,rgba(0,0,0,.05) 20px)}.time-grid-vertical.employee-unavailable .time-row{cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.selected-info{padding:16px;background:var(--color-background);border-radius:var(--radius);margin-bottom:20px}.selected-info h4{font-size:13px;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:8px}.selected-info p{font-size:15px;font-weight:500;color:var(--color-text)}.maintenance-section{margin-top:32px;background:var(--color-surface);border-radius:var(--radius-lg);padding:24px}.section-title{font-size:18px;font-weight:600;margin-bottom:20px;color:var(--color-text)}.maintenance-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:16px}.maintenance-card{background:var(--color-background);border-radius:var(--radius);padding:16px;border:none;transition:all .2s}.maintenance-card:hover{box-shadow:var(--shadow-sm)}.maintenance-card.overdue{border-color:var(--color-danger);background:#ff3b300d}.maintenance-card.due-soon{border-color:var(--color-warning);background:#ff95000d}.maintenance-header{display:flex;justify-content:space-between;margin-bottom:16px}.maintenance-info h3{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--color-text)}.customer-name{font-size:14px;color:var(--color-text-secondary);margin-bottom:4px}.equipment-info{font-size:13px;color:var(--color-text-secondary)}.maintenance-due{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.due-label{font-size:12px;color:var(--color-text-secondary)}.due-date{font-size:16px;font-weight:600;color:var(--color-text)}.overdue-badge,.due-badge{padding:2px 8px;border-radius:var(--radius);font-size:11px;font-weight:500;margin-top:4px}.overdue-badge{background:var(--color-danger);color:#fff}.due-badge{background:var(--color-warning);color:#fff}.maintenance-actions{display:flex;gap:8px}.maintenance-assignment-info{background:var(--color-background);border-radius:var(--radius);padding:16px}.maintenance-assignment-info h3{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--color-primary)}.maintenance-assignment-info p{margin-bottom:8px;font-size:14px}.assignment-block{cursor:grab;transition:opacity .2s,transform .2s;position:relative}.assignment-block:active{cursor:grabbing}.assignment-block.dragging{opacity:.5;transform:scale(.95)}.time-row.drop-target{background:#22c55e33!important;border:2px dashed var(--color-success);box-shadow:0 0 8px #22c55e4d}.assignment-block.resizing .resize-handle{background:#3b82f666;border-bottom:3px solid var(--color-primary);height:10px}.assignment-block.resizing{outline:2px solid var(--color-primary);outline-offset:-2px;background:#3b82f61a!important;box-shadow:0 4px 12px #3b82f64d;transition:none}.assignment-block.resizing:after{content:"";position:absolute;bottom:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary) 50%,transparent 50%);background-size:10px 100%;animation:moving-dashes .5s linear infinite}animation: pulse .5s ease-in-out infinite; } @keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.maintenance-alert{background:#ff95001a;border:1px solid rgba(255,149,0,.3);border-radius:var(--radius);padding:16px;margin-bottom:24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.alert-icon{font-size:18px}.alert-text{font-weight:500;color:var(--color-text)}.maintenance-quick-btn{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);padding:6px 12px;font-size:13px;cursor:pointer;transition:all .2s}.maintenance-quick-btn:hover{background:var(--color-primary-dark)}.maintenance-quick-btn.overdue{background:var(--color-danger)}.maintenance-calendar-btn{background:var(--color-surface);border:none;border-radius:var(--radius);padding:6px 8px;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.maintenance-calendar-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.maintenance-calendar-btn.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.3)}.maintenance-quick-list{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-radius:var(--radius);padding:6px 10px;margin-bottom:10px;border:1px solid #FFD39B;width:100%}.maintenance-quick-list>span{font-size:14px;font-weight:600;color:#e65100;margin-right:8px}.maintenance-quick-item{display:flex;align-items:center;gap:8px}.maintenance-quick-btn{background:#fff;color:#e65100;border:1px solid #FFD39B;border-radius:var(--radius);padding:6px 12px;font-size:13px;cursor:pointer;transition:all .2s}.maintenance-quick-btn:hover{background:#fff3e0;border-color:#ff9800}.maintenance-quick-btn.overdue{background:#ffebee;color:var(--color-danger);border-color:#ffcdd2}.maintenance-calendar-btn{background:#fff;border:1px solid #FFD39B;border-radius:var(--radius);padding:6px 8px;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.maintenance-calendar-btn:hover{background:#fff3e0;border-color:#ff9800}.maintenance-calendar-btn.selected{background:#ff9800;border-color:#f57c00}.planning-hint-simple{background:#e3f2fd;padding:8px 16px;margin-bottom:16px;border-radius:4px;display:inline-flex;justify-content:space-between;align-items:center;font-size:14px;max-width:fit-content}.planning-hint-simple button{background:none;border:none;font-size:18px;cursor:pointer;padding:0 4px;margin-left:12px}.modal-maintenance-detail{max-width:1400px;width:98%}.detail-section{margin-bottom:24px}.detail-section h3{font-size:16px;font-weight:600;margin-bottom:12px;color:var(--color-primary);border:none;padding-bottom:8px}.contact-info{background:var(--color-background);border-radius:var(--radius);padding:16px}.contact-item{margin-bottom:8px;display:flex;align-items:center;gap:8px}.contact-item:last-child{margin-bottom:0}.label{font-weight:500;color:var(--color-text-secondary);min-width:100px}.phone-link{color:var(--color-primary);text-decoration:none;font-weight:500}.phone-link:hover{text-decoration:underline}.equipment-details p,.service-details p{margin-bottom:8px}.notes-text{background:var(--color-background);border-radius:var(--radius);padding:12px;font-style:italic;color:var(--color-text-secondary)}@media (max-width: 1200px){.overview-grid{overflow-x:auto}.grid-header,.employee-row{min-width:900px}}.grid-day-header.is-holiday{background:repeating-linear-gradient(135deg,rgba(200,200,200,.1),rgba(200,200,200,.1) 10px,transparent 10px,transparent 20px);position:relative}.holiday-name{font-size:.7rem;color:var(--color-text-secondary);font-weight:500;margin-top:2px;opacity:.8;display:block}.employee-day-cell.is-holiday{background:repeating-linear-gradient(135deg,rgba(180,180,180,.15),rgba(180,180,180,.15) 10px,transparent 10px,transparent 20px);position:relative}.employee-day-cell.is-holiday:after{content:"";position:absolute;top:50%;left:10%;right:10%;height:1px;background:#9696964d;transform:translateY(-50%)}.holiday-block{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:8px;position:relative}.holiday-text{font-size:.75rem;font-weight:400;color:var(--color-text-secondary);opacity:.7;text-align:center}@media (max-width: 768px){.planning-overview-header{flex-direction:column;align-items:flex-start}.overview-controls{width:100%;justify-content:space-between}.overview-summary{grid-template-columns:1fr}.maintenance-alert{flex-direction:column;align-items:flex-start}}.planning-daily,.planning-fullwidth{padding:0 24px;height:100%;overflow:hidden;display:flex;flex-direction:column}.planning-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.header-left{display:flex;align-items:center;gap:20px}.header-right{display:flex;align-items:center;gap:12px}.time-grid-selector{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.time-grid-selector label{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.time-grid-selector .form-select{padding:4px 8px;font-size:14px;min-width:100px}.navigation-controls{display:flex;align-items:center;gap:12px}.date-label{font-size:17px;font-weight:600;color:var(--color-text);min-width:200px;display:flex;align-items:center;gap:8px}.today-badge{padding:2px 8px;background:var(--color-primary);color:#fff;border-radius:var(--radius);font-size:12px;font-weight:500}.weekend-message{background:var(--color-surface);border-radius:var(--radius-lg);padding:60px;text-align:center;margin-top:40px}.weekend-message h2{font-size:24px;margin-bottom:12px;color:var(--color-text)}.weekend-message p{color:var(--color-text-secondary)}.daily-grid-wrapper{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex:1;min-height:0;overflow:auto}.daily-grid{display:grid;grid-template-columns:60px repeat(16,180px);gap:0;min-width:max-content}.time-column{background:var(--color-background);border-right:2px solid var(--color-border);position:sticky;left:0;z-index:10}.time-header{height:80px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border)}.time-cell{height:50px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--color-text-secondary);border-bottom:1px solid rgba(0,0,0,.05);font-weight:500}.time-cell.hour-mark{border-bottom-color:var(--color-border);font-weight:600}.employee-column{border-right:1px solid var(--color-border);min-width:150px}.employee-column:last-child{border-right:none}.employee-header{height:80px;padding:12px;background:var(--color-surface);border-bottom:2px solid var(--color-border);display:flex;flex-direction:column;justify-content:center;gap:4px}.employee-header.status-vacation{background:#ff95001a}.employee-header.status-sick{background:#ff3b301a}.employee-name{font-size:12px;font-weight:600;color:#000!important;line-height:1.2;text-align:left}.employee-info{font-size:10px;color:var(--color-text-secondary)}.employee-header.status-vacation .employee-info,.employee-header.status-sick .employee-info{color:var(--color-warning);font-weight:500}.employee-header.status-sick .employee-info{color:var(--color-danger)}.schedule-grid{display:grid;grid-auto-rows:50px;position:relative}.schedule-cell{border-bottom:1px solid rgba(0,0,0,.05);cursor:pointer;transition:background-color .2s;position:relative}.schedule-cell.hour-mark{border-bottom-color:var(--color-border)}.schedule-cell.free:hover{background:#0071e30d}.schedule-cell.unavailable{background:var(--color-background);cursor:not-allowed}.schedule-cell.booked{padding:0;z-index:1}.schedule-cell.drag-over{background:#00c80026!important;border:1px dashed #4CAF50}.assignment-card.dragging{opacity:.5;cursor:grabbing!important}.assignment-card{cursor:grab}.assignment-card:active{cursor:grabbing}.resize-handle{position:absolute;bottom:0;left:0;right:0;height:8px;cursor:ns-resize;background:transparent;border-bottom:2px solid transparent;transition:all .2s;z-index:10}.resize-handle:hover{background:#3b82f64d;border-bottom:3px solid var(--color-primary);height:10px}.resize-handle:hover:before{content:"⋮⋮⋮";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);font-size:10px;color:var(--color-primary);font-weight:700;letter-spacing:2px}.assignment-card.resizing .resize-handle{background:#3b82f666;border-bottom:3px solid var(--color-primary);height:10px}.resizing-preview{background:var(--color-primary);color:#fff;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:500;pointer-events:none;box-shadow:0 2px 6px #0000004d;white-space:nowrap;animation:pulse .8s ease-in-out infinite}.resizing-preview:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--color-primary)}@keyframes pulse{0%{transform:translate(-50%,-100%) scale(1)}50%{transform:translate(-50%,-100%) scale(1.05)}to{transform:translate(-50%,-100%) scale(1)}}.assignment-card.resizing{outline:2px solid var(--color-primary);outline-offset:-2px;background:#3b82f61a!important;box-shadow:0 4px 12px #3b82f64d;transition:none}.assignment-card.resizing:after{content:"";position:absolute;bottom:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary) 50%,transparent 50%);background-size:10px 100%;animation:moving-dashes .5s linear infinite}@keyframes moving-dashes{0%{background-position:0 0}to{background-position:10px 0}}.resize-preview-text{background:var(--color-primary);color:#fff;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:600}.context-menu{position:fixed;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 6px #0000001a;z-index:1000;overflow:hidden}.context-menu-item{padding:8px 16px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:8px;transition:background-color .2s}.context-menu-item:hover{background:var(--color-background)}.context-menu-item.delete{color:var(--color-danger)}.context-menu-item.delete:hover{background:#ff3b301a}.assignment-card{position:absolute;top:2px;left:2px;right:2px;bottom:2px;background:var(--color-primary);border-radius:4px;padding:6px;color:#fff;font-size:11px;box-shadow:0 1px 3px #0003;display:flex;flex-direction:column;gap:2px;overflow:hidden;-webkit-user-select:none;user-select:none}.assignment-card.maintenance{background:linear-gradient(135deg,#ff9800,#f57c00)}.schedule-cell.priority-hoch .assignment-card{background:var(--color-warning)}.schedule-cell.priority-notfall .assignment-card{background:var(--color-danger)}.assignment-header{display:flex;justify-content:space-between;align-items:center}.assignment-time{font-size:10px;font-weight:600;opacity:.9}.assignment-number{font-weight:600;font-size:12px}.assignment-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-customer{font-size:10px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-daily,.modal.modal-assignment{max-width:1400px!important;width:98%!important}.modal-header-planning{background:linear-gradient(135deg,#f5f5f5,#e0e0e0);color:#000;padding:12px 20px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:2px solid var(--color-primary)}.modal-header-planning h2{color:#000;font-size:18px;font-weight:700}.modal-header-planning .modal-close{color:#000;opacity:.7;font-size:28px}.modal-header-planning .modal-close:hover{opacity:1}.modal-daily .modal-body,.modal-assignment .modal-body{overflow-y:auto;max-height:80vh;padding:16px;background:var(--color-background)}.assignment-form{display:flex;flex-direction:column;gap:16px}.order-details-card{background:#fff;border-radius:var(--radius-lg);padding:12px 16px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--color-primary)}.order-details-card h3{font-size:14px;font-weight:600;margin-bottom:10px;color:var(--color-text)}.order-details-grid{display:grid;grid-template-columns:1fr 2fr;gap:8px 16px}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-item.full-width{grid-column:1 / -1}.detail-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.3px}.detail-value{font-size:13px;color:var(--color-text);line-height:1.3}.detail-value.highlight{color:var(--color-primary);font-weight:600}.time-selection-card{background:#fff;border-radius:var(--radius-lg);padding:10px 14px;box-shadow:0 2px 8px #00000014;border-left:4px solid #28a745}.time-selection-card h3{font-size:13px;font-weight:600;margin-bottom:8px;color:var(--color-text)}.date-display{background:var(--color-background);padding:6px 8px;border-radius:var(--radius);border:1px solid var(--color-border);margin-bottom:8px;font-size:12px}.time-selection-card .form-row{gap:12px}.time-selection-card .form-group{margin-bottom:0}.time-selection-card .form-label{font-size:11px;margin-bottom:4px}.time-selection-card .form-input{padding:6px 10px;font-size:13px}.employee-selection-card{background:#fff;border-radius:var(--radius-lg);padding:12px 16px;box-shadow:0 2px 8px #00000014;border-left:4px solid #ff9800}.employee-selection-card h3{font-size:14px;font-weight:600;margin-bottom:10px;color:var(--color-text)}.employee-selection{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0}.available-section,.busy-section{background:var(--color-background);border-radius:var(--radius);padding:10px}.available-section h3,.busy-section h3{font-size:12px;font-weight:600;margin-bottom:8px;color:var(--color-text-secondary)}.employee-list{max-height:180px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius);padding:4px}.employee-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius);transition:background-color .2s;cursor:pointer;font-size:13px}.employee-item:hover{background:#0071e30d}.employee-item.selected{background:#0071e31a}.employee-item.disabled{opacity:.5;cursor:not-allowed}.employee-item .busy-reason{margin-left:auto;font-size:12px;color:var(--color-text-secondary)}.selected-slot-info{background:var(--color-background);border-radius:var(--radius);padding:16px;margin-bottom:20px}.selected-slot-info h3{font-size:14px;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:12px}.selected-slot-info p{font-size:14px;margin-bottom:4px}.time-inputs{display:flex;align-items:center;gap:12px}.time-inputs input[type=time]{flex:1}.time-inputs span{color:var(--color-text-secondary)}.orders-list-modal{max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius);padding:8px}.order-item,.maintenance-item{padding:12px;margin-bottom:8px;background:var(--color-background);border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:all .2s}.order-item:hover,.maintenance-item:hover{border-color:var(--color-primary);background:#0071e30d}.order-item.selected,.maintenance-item.selected{border-color:var(--color-primary);background:#0071e31a}.maintenance-item{background:linear-gradient(135deg,#FFF3E0,transparent)}.maintenance-badge{padding:2px 8px;background:#ff9800;color:#fff;border-radius:var(--radius);font-size:11px;font-weight:500}.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.order-number{font-weight:600;color:var(--color-primary)}.badge{padding:2px 8px;border-radius:var(--radius);font-size:11px;font-weight:500}.badge.priority-normal{background:#0071e31a;color:var(--color-primary)}.badge.priority-hoch{background:#ff95001a;color:var(--color-warning)}.badge.priority-notfall{background:#ff3b301a;color:var(--color-danger)}.order-title{font-weight:500;margin-bottom:4px}.order-customer{font-size:13px;color:var(--color-text-secondary)}.holiday-badge{display:inline-block;background:repeating-linear-gradient(135deg,rgba(200,200,200,.1),rgba(200,200,200,.1) 10px,transparent 10px,transparent 20px);color:var(--color-text-secondary);padding:.25rem .5rem;border-radius:.375rem;font-size:.875rem;font-weight:500;margin-left:.5rem;border:1px solid var(--color-border);opacity:.8}.holiday-message{background:repeating-linear-gradient(135deg,rgba(200,200,200,.1),rgba(200,200,200,.1) 10px,transparent 10px,transparent 20px);border:1px solid var(--color-border);border-radius:.75rem;padding:3rem;text-align:center;margin-top:2rem;position:relative}.holiday-message:after{content:"";position:absolute;top:50%;left:20%;right:20%;height:2px;background:#9696964d;transform:translateY(-50%)}.holiday-message h2{color:var(--color-text-secondary);margin-bottom:1rem;font-size:1.75rem;font-weight:500;opacity:.7}.holiday-message p{color:var(--color-text-secondary);font-size:1.125rem;opacity:.6}@media (max-width: 1200px){.daily-grid{overflow-x:auto}}@media (max-width: 768px){.daily-header{flex-direction:column;align-items:flex-start}.daily-controls{width:100%;flex-wrap:wrap}.daily-grid{grid-template-columns:60px repeat(auto-fit,minmax(120px,1fr))}}.assignment-card.is-team{border-left:4px solid #2196F3;position:relative}.assignment-card.is-team:after{content:"👥";position:absolute;top:2px;right:4px;font-size:10px;opacity:.8}.team-members-list{background:#f8f9fa;border-radius:6px;padding:12px;margin-top:8px;max-height:200px;overflow-y:auto}.team-member-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e0e0e0}.team-member-item:last-child{border-bottom:none}.member-position{color:#666;font-size:12px}.modal-small{max-width:500px}.daily-employee-header.employee-unavailable{opacity:.7}.daily-employee-header.employee-unavailable .employee-name{text-decoration:line-through;color:#000!important;opacity:.6}.employee-column.employee-unavailable .schedule-grid{pointer-events:none;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.05) 10px,rgba(0,0,0,.05) 20px)}.employee-column.employee-unavailable .time-slot{cursor:not-allowed}.time-terminal{min-height:100vh;min-height:calc(var(--vh, 1vh) * 100);height:100vh;height:calc(var(--vh, 1vh) * 100);background:#334155;color:#fff;display:flex;flex-direction:column;overflow:hidden;width:100%}.terminal-header{background:#475569;border-bottom:2px solid #64748b;padding:.75rem 2rem;display:flex;justify-content:space-between;align-items:center}.company-info{flex:1}.terminal-clock{display:flex;flex-direction:column}.clock-display{font-size:1.75rem;font-weight:700;color:#60a5fa;font-variant-numeric:tabular-nums;line-height:1}.date-display{font-size:.875rem;color:#94a3b8;margin-top:.25rem}.terminal-branding{text-align:center;flex:1}.terminal-branding h1{margin:0;font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:.1em}.company-name{font-size:.875rem;color:#94a3b8;margin-top:.25rem}.btn-terminal-fullscreen{padding:.5rem 1rem;background:#2563eb;color:#fff;border:none;border-radius:.5rem;font-weight:600;font-size:1.25rem;cursor:pointer;transition:all .2s;line-height:1;display:flex;align-items:center;justify-content:center}.btn-terminal-fullscreen:hover{background:#1d4ed8}.btn-terminal-logout{padding:.5rem 1.5rem;background:#dc2626;color:#fff;border:none;border-radius:.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-terminal-logout:hover{background:#b91c1c}.toast-notification{position:fixed;bottom:2rem;left:2rem;z-index:9999;padding:1rem 1.5rem;border-radius:.5rem;display:flex;align-items:center;gap:.75rem;animation:slideIn .3s ease;box-shadow:0 10px 25px #0000004d}@keyframes slideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-notification.success{background:#059669;color:#fff}.toast-notification.error{background:#dc2626;color:#fff}.toast-icon{font-size:1.25rem;font-weight:700}.toast-text{font-size:.9375rem;font-weight:500}.terminal-main{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.employee-select-screen{width:100%;max-width:500px}.select-panel{background:#1e293b;border:1px solid #334155;border-radius:.75rem;overflow:hidden}.panel-header{background:#334155;padding:1.25rem;border-bottom:1px solid #475569}.panel-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#fff;text-align:center;letter-spacing:.05em}.panel-body{padding:2rem}.select-form{display:flex;flex-direction:column;gap:1.5rem}.select-label{display:block;font-size:.875rem;font-weight:500;color:#fff;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.employee-select{width:100%;padding:1rem;background:#0f172a;border:1px solid #334155;border-radius:.5rem;color:#fff;font-size:1rem;cursor:pointer;transition:all .2s}.employee-select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.employee-select option{background:#0f172a;color:#fff;padding:.5rem}.btn-select-confirm{width:100%;padding:1rem;background:#2563eb;color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:all .2s}.btn-select-confirm:hover:not(:disabled){background:#1d4ed8}.btn-select-confirm:disabled{opacity:.5;cursor:not-allowed}.time-clock-screen{width:100%;max-width:900px;display:flex;flex-direction:column;gap:1rem}.employee-bar{background:#475569;border:1px solid #64748b;border-radius:.75rem;padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.employee-name{font-size:1.125rem;color:#fff!important}.employee-name strong{color:#fff!important}.employee-position{color:#94a3b8;font-size:.875rem}.current-status{display:flex;align-items:center;gap:.75rem}.status-label{color:#64748b;font-size:.875rem;font-weight:500;text-transform:uppercase}.status-value{padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.875rem}.status-value.clocked_out{background:#7f1d1d;color:#fca5a5}.status-value.clocked_in,.status-value.working{background:#14532d;color:#86efac}.status-value.on_break{background:#713f12;color:#fde047}.status-value.on_smoke_break{background:#4c1d95;color:#c4b5fd}.clock-buttons{display:flex;gap:1rem;justify-content:center;margin:1rem 0}.clock-btn{flex:1;max-width:300px;padding:1.25rem 1rem;border:none;border-radius:.75rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:70px;font-size:1.1rem;font-weight:700;letter-spacing:.1em}.clock-btn:disabled{opacity:.3;cursor:not-allowed}.btn-green{background:#059669;color:#fff}.btn-green:hover:not(:disabled){background:#047857;transform:translateY(-2px);box-shadow:0 10px 25px #0596694d}.btn-red{background:#dc2626;color:#fff}.btn-red:hover:not(:disabled){background:#b91c1c;transform:translateY(-2px);box-shadow:0 10px 25px #dc26264d}.btn-label{font-size:1rem;font-weight:700;letter-spacing:.1em}.break-section{background:#475569;border:1px solid #64748b;border-radius:.75rem;padding:.75rem}.break-section h3{margin:0 0 .5rem;font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;text-align:center}.break-buttons{display:flex;gap:1rem;justify-content:center}.break-btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;font-size:.875rem}.break-btn:disabled{opacity:.3;cursor:not-allowed}.btn-pause{background:#ea580c;color:#fff}.btn-pause:hover:not(:disabled){background:#c2410c}.btn-smoke{background:#7c3aed;color:#fff}.btn-smoke:hover:not(:disabled){background:#6d28d9}.btn-continue{background:#2563eb;color:#fff}.btn-continue:hover:not(:disabled){background:#1d4ed8}.today-stats{background:#1e293b;border:1px solid #334155;border-radius:.75rem;padding:1.5rem}.today-stats h3{margin:0 0 1.5rem;font-size:1rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-item label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1.5rem;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}.stat-value.hours{color:#60a5fa}.project-time-section{background:#475569;border:1px solid #64748b;border-radius:.75rem;padding:.75rem}.project-time-section h3{margin:0 0 .5rem;font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;text-align:center}.project-select-form{display:flex;flex-direction:column;gap:.5rem}.order-select{width:100%;padding:.5rem;background:#1e293b;border:1px solid #475569;border-radius:.5rem;color:#fff;font-size:.875rem;cursor:pointer;transition:all .2s}.order-select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.order-select option{background:#1e293b;color:#fff;padding:.5rem}.btn-project-start,.btn-project-stop{padding:.6rem 1.25rem;border:none;border-radius:.5rem;font-weight:600;font-size:.8rem;letter-spacing:.05em;cursor:pointer;transition:all .2s;text-transform:uppercase}.btn-project-start{background:#059669;color:#fff}.btn-project-start:hover:not(:disabled){background:#047857}.btn-project-start:disabled{opacity:.3;cursor:not-allowed}.btn-project-stop{background:#dc2626;color:#fff}.btn-project-stop:hover:not(:disabled){background:#b91c1c}.btn-project-stop:disabled{opacity:.3;cursor:not-allowed}.btn-project-switch{background:#0ea5e9;color:#fff;padding:1rem 2rem;border:none;border-radius:.5rem;font-weight:600;font-size:.9rem;letter-spacing:.05em;cursor:pointer;transition:all .2s;text-transform:uppercase}.btn-project-switch:hover:not(:disabled){background:#0284c7}.btn-project-switch:disabled{opacity:.3;cursor:not-allowed}.project-actions{display:flex;gap:1rem;justify-content:space-between}.paused-project-info{background:#713f12;padding:1rem;border-radius:.5rem;display:flex;align-items:center;gap:.75rem;margin-top:1rem;border:1px solid #854d0e}.paused-label{font-size:.875rem;color:#fde047;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.paused-value{font-size:1rem;color:#fef3c7;font-weight:500}.active-project{display:flex;flex-direction:column;gap:1rem}.project-info{background:#1e293b;padding:.75rem;border-radius:.5rem;display:flex;flex-direction:column;gap:.35rem}.project-label{font-size:.75rem;color:#fff;text-transform:uppercase;letter-spacing:.05em}.project-value{font-size:1.1rem;color:#60a5fa;font-weight:600}.project-timer{font-size:.875rem;color:#94a3b8}.other-projects{margin-top:1rem;padding-top:1rem;border-top:1px solid #334155}.other-projects h4{font-size:.875rem;color:#94a3b8;margin:0 0 .5rem}.project-item{padding:.5rem;background:#0f172a;border-radius:.25rem;font-size:.875rem;color:#cbd5e1;margin-bottom:.5rem}.mobile-time-display{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 0;width:100%}.mobile-clock{font-size:1.75rem;font-weight:700;color:#60a5fa;font-variant-numeric:tabular-nums;line-height:1}.mobile-date{font-size:.75rem;color:#94a3b8}.customer-info{margin-top:.5rem;padding:.75rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:.5rem;text-align:left}.customer-name{font-size:1rem;font-weight:600;color:#fff!important;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.25rem}.customer-name div,.customer-name span{color:#fff!important}.contact-person{color:#fff!important;font-weight:400;font-size:.875rem}.customer-contact{display:flex;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.phone-link{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:#22c55e1a;color:#86efac;text-decoration:none;border-radius:.5rem;border:1px solid rgba(34,197,94,.3);transition:all .2s;font-size:2.25rem;font-weight:600}.phone-link:hover{background:#22c55e33;border-color:#22c55e80;transform:translateY(-1px)}.customer-address{margin-top:.5rem}.maps-link{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:#fb923c1a;color:#fed7aa;text-decoration:none;border-radius:.5rem;border:1px solid rgba(251,146,60,.3);transition:all .2s;font-size:2.5rem;font-weight:600}.maps-link:hover{background:#fb923c33;border-color:#fb923c80;transform:translateY(-1px)}@media (max-width: 768px){.time-terminal{font-size:13px;height:100dvh;min-height:100dvh;padding-top:0;padding-bottom:0}.terminal-header{padding:.3rem .75rem;gap:.5rem;flex-direction:row;justify-content:flex-end;align-items:center;margin-top:3rem;flex-shrink:0}.company-info,.terminal-clock,.terminal-branding,.company-name{display:none}.btn-terminal-fullscreen{padding:.4rem .6rem;font-size:1.1rem;flex-shrink:0}.btn-terminal-logout{padding:.4rem .75rem;font-size:.75rem;flex-shrink:0}.terminal-main{padding:.5rem .4rem 1rem;align-items:flex-start;flex:1;overflow-y:auto}.time-clock-screen{gap:.4rem}.employee-bar{flex-direction:column;gap:.5rem;padding:.5rem;align-items:center;text-align:center}.employee-name{font-size:1rem;color:#fff!important;width:100%}.employee-name strong{color:#fff!important}.employee-position{font-size:.75rem}.mobile-time-display{display:flex!important;flex-direction:column;align-items:center;gap:.15rem;padding:.25rem 0;width:100%}.mobile-clock{font-size:1.75rem!important;font-weight:700;color:#60a5fa!important;font-variant-numeric:tabular-nums;line-height:1}.mobile-date{font-size:.85rem!important;color:#94a3b8!important}.current-status{width:100%;justify-content:center;gap:.5rem}.status-label{font-size:.75rem}.status-value{padding:.4rem .75rem;font-size:.75rem}.clock-buttons{gap:.5rem;margin:.4rem 0;flex-direction:row}.clock-btn{max-width:none;padding:.75rem .5rem;min-height:50px;font-size:.85rem}.btn-label{font-size:.8rem}.break-section{padding:0;background:transparent;border:none}.break-section h3{display:none}.break-buttons{gap:.5rem;margin:.4rem 0;flex-direction:row;display:flex}.break-btn{flex:1;max-width:none;padding:.75rem .5rem;min-height:50px;font-size:.85rem}.project-time-section{padding:.4rem}.project-time-section h3{display:none}.project-select-form{gap:.4rem}.select-label{font-size:.7rem;margin-bottom:.2rem}.order-select{padding:.4rem;font-size:.7rem}.btn-project-start{padding:.8rem .6rem;font-size:.85rem;min-height:60px}.btn-project-stop,.btn-project-switch{padding:.75rem .5rem;min-height:50px;font-size:.85rem}.project-info{padding:.4rem;gap:.25rem}.project-label{font-size:.65rem}.project-value{font-size:.8rem}.project-timer{font-size:.7rem}.project-actions{gap:.4rem;flex-direction:column}.customer-info{padding:.4rem;margin-top:.4rem}.customer-name{font-size:.8rem;margin-bottom:.25rem}.customer-contact{gap:.4rem;margin-bottom:.25rem}.phone-link{padding:.75rem 1rem;font-size:1.125rem}.maps-link{padding:.75rem 1rem;font-size:1.25rem}.paused-project-info{padding:.4rem;margin-top:.4rem}.paused-label{font-size:.65rem}.paused-value{font-size:.75rem}.toast-notification{bottom:.5rem;left:.5rem;right:.5rem;padding:.75rem}.toast-icon{font-size:1rem}.toast-text{font-size:.8rem}.stats-grid{grid-template-columns:1fr}}@keyframes drive{0%,to{transform:translate(-8px) rotate(-2deg)}25%{transform:translate(8px) rotate(2deg)}50%{transform:translate(-8px) rotate(-1deg)}75%{transform:translate(8px) rotate(1deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}50%{box-shadow:0 4px 20px #10b98180,0 2px 8px #10b9814d}}.btn-arrived.animated-truck .truck-icon{display:inline-block;animation:drive 2s ease-in-out infinite;margin-right:.5rem;font-size:2.2rem}.btn-arrived.animated-truck:not(:disabled){animation:pulse-glow 3s ease-in-out infinite}.btn-arrived.animated-truck:hover .truck-icon{animation:drive .5s ease-in-out infinite}.calendar-container{padding:1.5rem;background:#f8fafc;min-height:100vh}.calendar-page-header{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.calendar-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0}.calendar-actions{display:flex;gap:.5rem}.calendar-controls{display:flex;justify-content:space-between;align-items:center;background:#f1f5f9;padding:.5rem;border-radius:.5rem}.calendar-nav{display:flex;align-items:center;gap:1rem}.calendar-nav-buttons{display:flex;gap:.25rem}.nav-btn{background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;padding:.5rem .75rem;cursor:pointer;transition:all .2s;color:#475569;font-weight:500}.nav-btn:hover{background:#f8fafc;border-color:#cbd5e1}.nav-btn-icon{font-size:1.125rem}.calendar-month,.current-month-label{font-size:1.125rem;font-weight:600;color:#1e293b;min-width:200px;text-align:center}.calendar-view-selector{display:flex;gap:.25rem}.view-btn{background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;padding:.5rem 1rem;cursor:pointer;transition:all .2s;color:#64748b;font-weight:500}.view-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.view-btn:hover:not(.active){background:#f8fafc;border-color:#cbd5e1}.calendar{display:block;width:100%}.calendar-grid{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 1px 3px #0000001a}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#e2e8f0;border:1px solid #e2e8f0;border-radius:.5rem .5rem 0 0;overflow:hidden}.calendar-weekday{background:#1e293b;color:#fff;padding:.75rem .5rem;text-align:center;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#e2e8f0;border:1px solid #e2e8f0;border-top:none;border-radius:0 0 .5rem .5rem}.calendar-day{background:#fff;min-height:120px;height:120px;padding:.5rem;cursor:pointer;transition:background .2s;position:relative;display:flex;flex-direction:column;overflow:hidden}.calendar-day:hover{background:#f8fafc}.calendar-day-other{background:#fafafa;color:#94a3b8}.calendar-day-today{background:#eff6ff}.calendar-day-today .calendar-day-number{background:#3b82f6;color:#fff;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.calendar-day-holiday{background:#fef3c7!important;border:1px solid #fbbf24}.calendar-day-holiday:hover{background:#fde68a!important}.holiday-indicator{font-size:.75rem;margin-left:4px}.holiday-name{font-size:.65rem;color:#92400e;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute;top:8px;right:8px;background:#fef3c7e6;padding:2px 6px;border-radius:3px;max-width:50%;z-index:1}.calendar-day-number{font-size:.875rem;font-weight:500;color:#475569;position:absolute;top:8px;left:8px}.calendar-day-events{position:absolute;top:35px;left:4px;right:4px;bottom:4px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.calendar-event{padding:1px 4px;border-radius:3px;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;line-height:1.2;max-height:18px}.calendar-event-vacation{background:#fef3c7;color:#92400e;border-left:3px solid #f59e0b}.calendar-event-sick{background:#fee2e2;color:#991b1b;border-left:3px solid #ef4444}.calendar-event-work{background:#dbeafe;color:#1e40af;border-left:3px solid #3b82f6}.calendar-event-maintenance{background:#d1fae5;color:#065f46;border-left:3px solid #10b981}.calendar-event-meeting{background:#e9d5ff;color:#6b21a8;border-left:3px solid #a855f7}.calendar-event-text{display:block}.calendar-event-more{color:#64748b;font-size:.75rem;font-style:italic;margin-top:2px}.calendar-sidebar{display:flex;flex-direction:column;gap:1.5rem}.calendar-sidebar h2{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid #f1f5f9}.calendar-upcoming{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;max-height:600px;overflow-y:auto}.upcoming-event{padding:.75rem;background:#f8fafc;border-radius:.5rem;border-left:3px solid #3b82f6;transition:all .2s;margin-bottom:.75rem}.upcoming-event:hover{background:#f1f5f9;transform:translate(2px)}.upcoming-event-date{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.upcoming-event-title{font-size:.875rem;color:#1e293b;font-weight:500;margin-bottom:.5rem}.btn{padding:.625rem 1.25rem;border-radius:.375rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;border:none}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#fff;color:#475569;border:1px solid #e2e8f0}.btn-secondary:hover{background:#f8fafc}.btn-small{padding:.375rem .75rem;font-size:.8125rem}.modal{background:#fff;border-radius:.75rem;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:all .2s}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:#475569;margin-bottom:.5rem}.form-select,.form-input,.form-textarea{width:100%;padding:.625rem .75rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;transition:all .2s;background:#fff}.form-select:focus,.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-footer{padding:1.5rem;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.75rem;background:#f8fafc}@media (max-width: 1024px){.calendar{grid-template-columns:1fr}.calendar-sidebar{display:grid;grid-template-columns:1fr;gap:1rem}}@media (max-width: 768px){.calendar-day{min-height:80px;padding:.25rem}.calendar-event{font-size:.7rem}}.event-type-buttons{display:flex;gap:1rem}.type-btn{flex:1;padding:1rem;border:2px solid #e2e8f0;background:#fff;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.type-btn:hover{background:#f8fafc;transform:translateY(-1px)}.type-btn.active{color:#fff;border-color:transparent}.type-btn.active.vacation{background:#f59e0b}.type-btn.active.sick{background:#ef4444}.badge{display:inline-block;padding:.25rem .5rem;margin-left:.5rem;font-size:.75rem;font-weight:600;border-radius:.25rem;text-transform:uppercase}.badge-warning{background:#f59e0b;color:#fff}.badge-secondary{background:#6b7280;color:#fff}.event-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.vacation-summary{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-top:1rem}.vacation-summary h2{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid #f1f5f9}.employee-vacation-info{padding:.75rem;background:#f8fafc;border-radius:.5rem;margin-bottom:.5rem}.employee-name{font-weight:600;color:#1e293b;margin-bottom:.25rem}.vacation-stats{display:flex;gap:1rem;font-size:.875rem;color:#64748b}.vacation-stats span{display:flex;align-items:center}.form-info{padding:1rem;background:#eff6ff;border-radius:.5rem;margin-bottom:1rem;text-align:center;color:#1e40af}.event-pending{opacity:.7;border-style:solid}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.calendar-upcoming::-webkit-scrollbar{width:6px}.calendar-upcoming::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.calendar-upcoming::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.calendar-upcoming::-webkit-scrollbar-thumb:hover{background:#94a3b8}.calendar-legend{display:flex;justify-content:center;gap:2rem;margin-top:1rem;padding:.75rem;background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,0,0,.1)}.legend-vacation{background:#fef3c7;border-left:3px solid #f59e0b}.legend-sick{background:#fee2e2;border-left:3px solid #ef4444}.legend-holiday{background:#fef3c7;border:1px solid #fbbf24}.legend-text{font-size:.875rem;color:#475569;font-weight:500}.admin{max-width:1200px;margin:0 auto;padding:2rem}.admin-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--color-border);padding-bottom:0}.admin-tabs .btn{border-radius:.5rem .5rem 0 0;border-bottom:none;position:relative;padding-bottom:1rem}.admin-tabs .btn-primary{background:var(--color-primary);border-bottom:3px solid var(--color-primary);margin-bottom:-2px}.admin-tabs .btn-secondary{background:transparent;color:var(--color-text-secondary);border:none}.admin-tabs .btn-secondary:hover{background:var(--color-background-secondary)}.admin-content{margin-top:2rem}.admin-content .card{padding:2rem;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.admin-content h2{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:var(--color-text);border-bottom:2px solid var(--color-border);padding-bottom:.75rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;margin-bottom:1.25rem}.form-group{display:flex;flex-direction:column}.form-label{font-weight:500;margin-bottom:.5rem;color:var(--color-text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.025em}.form-input{padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.95rem;transition:all .2s}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.report-tabs{display:flex;gap:16px;margin-bottom:24px}.text-danger{color:var(--color-danger)}.btn-small{padding:6px 12px;font-size:14px}.settings-section{margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--color-border)}.settings-section:last-of-type{border-bottom:none}.settings-section h3{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.settings-section h3:before{content:"";display:inline-block;width:4px;height:1.25rem;background:var(--color-primary);border-radius:2px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.settings-group{background:var(--color-background-secondary);padding:1.25rem;border-radius:.5rem;border:1px solid var(--color-border)}.settings-group h4{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--color-text-secondary)}.working-hours{display:flex;flex-direction:column;gap:.875rem;background:var(--color-background-secondary);padding:1.25rem;border-radius:.5rem;border:1px solid var(--color-border)}.working-hours-row{display:grid;grid-template-columns:120px 130px auto 130px;align-items:center;gap:1rem;padding:.5rem;background:#fff;border-radius:.375rem;transition:all .2s}.working-hours-row:hover{box-shadow:0 2px 4px #0000000d}.day-label{font-weight:500;color:var(--color-text);font-size:.95rem}.time-input{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.95rem;background:#fff}.time-separator{text-align:center;color:var(--color-text-secondary);font-size:.875rem}.table{width:100%;border-collapse:separate;border-spacing:0;margin-top:1rem}.table thead{background:var(--color-background-secondary)}.table th{padding:.875rem;text-align:left;font-weight:600;color:var(--color-text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.025em;border-bottom:2px solid var(--color-border)}.table td{padding:.875rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.table tbody tr:hover{background:var(--color-background-hover)}.badge{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.8125rem;font-weight:500;background:var(--color-background-secondary);color:var(--color-text-secondary)}.badge-success{background:#10b981;color:#fff}.badge-danger{background:#ef4444;color:#fff}.btn-small{padding:.375rem .875rem;font-size:.875rem}.btn:disabled{opacity:.5;cursor:not-allowed}.number-ranges-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.number-range-item{padding:1.5rem;background:var(--color-background-secondary);border-radius:.5rem;border:1px solid var(--color-border)}.number-range-item h3{font-size:1.125rem;margin-bottom:1rem;color:var(--color-text);font-weight:600}.preview-text{padding:.75rem;background:#fff;border:1px solid var(--color-border);border-radius:.375rem;font-family:monospace;font-size:.95rem;color:var(--color-primary);text-align:center}.text-muted{color:var(--color-text-secondary);font-size:.95rem;margin-bottom:1.5rem;line-height:1.5}@media (max-width: 768px){.admin{padding:1rem}.admin-tabs{flex-wrap:wrap}.working-hours-row{grid-template-columns:1fr;gap:.5rem}.time-separator{display:none}.settings-grid,.number-ranges-grid{grid-template-columns:1fr}}.modal-large{max-width:800px!important;width:90%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--color-primary)}.admin .modal-body{padding:2rem;max-height:70vh;overflow-y:auto}.form-section{margin-bottom:2rem}.form-section:last-child{margin-bottom:0}.form-section-title{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.form-hint{display:block;color:var(--color-text-secondary);font-size:.875rem;margin-top:.25rem}.required{color:#ef4444}.icon-button{background:transparent;border:none;padding:.5rem;border-radius:.375rem;cursor:pointer;color:var(--color-text-secondary);transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:var(--color-background-secondary);color:var(--color-primary)}.icon-button.text-danger{color:#ef4444}.icon-button.text-danger:hover{background:#fee2e2}.text-success{color:#10b981}.text-danger{color:#ef4444}.holiday-btn-add,.holiday-btn-import{padding:.4rem .8rem;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.holiday-btn-add:hover,.holiday-btn-import:hover{background:#1d4ed8}.holiday-btn-add:disabled,.holiday-btn-import:disabled{opacity:.6;cursor:not-allowed}.admin-sessions-tab{padding:20px}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.tab-header h2{margin:0;font-size:24px;color:#333}.sessions-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px}@media (max-width: 1200px){.sessions-grid{grid-template-columns:1fr}}.sessions-section h3,.locks-section h3{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-size:18px;color:#333}.empty-state{padding:40px;text-align:center;color:#999;background:#f9f9f9;border-radius:8px;border:2px dashed #ddd}.sessions-list{display:flex;flex-direction:column;gap:15px}.session-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:box-shadow .2s}.session-card:hover{box-shadow:0 2px 8px #0000001a}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}.session-user{display:flex;align-items:center;gap:12px}.session-user svg{color:#06c}.session-name{font-weight:600;font-size:16px;color:#333}.session-email{font-size:13px;color:#666}.session-info{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.info-row{display:flex;justify-content:space-between;font-size:14px}.info-row .label{color:#666;font-weight:500}.session-locks{margin-top:15px;padding-top:15px;border-top:1px solid #f0f0f0}.locks-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:600;color:#555}.locks-header svg{color:#ff9800}.locks-header .btn-link{margin-left:auto;font-size:12px;color:#06c;background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.locks-header .btn-link:hover{color:#0052a3}.locks-list{display:flex;flex-direction:column;gap:8px}.lock-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#f9f9f9;border-radius:6px;font-size:13px}.lock-info{display:flex;gap:12px;align-items:center}.lock-type{font-weight:600;color:#333}.lock-id{color:#666;font-family:monospace}.lock-time{color:#999;font-size:12px}.btn-icon{background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;color:#666;transition:all .2s}.btn-icon:hover{background:#e0e0e0;color:#333}.locks-table{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.locks-table table{width:100%;border-collapse:collapse}.locks-table thead{background:#f5f5f5}.locks-table th{padding:12px 15px;text-align:left;font-weight:600;font-size:13px;color:#555;border-bottom:2px solid #e0e0e0}.locks-table td{padding:12px 15px;font-size:14px;border-bottom:1px solid #f0f0f0}.locks-table tbody tr:hover{background:#f9f9f9}.locks-table tbody tr:last-child td{border-bottom:none}.btn-sm{padding:6px 12px;font-size:13px}.btn-danger{background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:#6c757d;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;transition:background-color .2s;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.maintenance-documents{padding:1rem}.upload-section{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.upload-section h3{margin-top:0;margin-bottom:.5rem;color:#333}.upload-hint{color:#666;font-size:.9rem;margin-bottom:1rem}.upload-form{display:flex;flex-direction:column;gap:1rem}.file-input{padding:.5rem;border:2px dashed #ddd;border-radius:4px;cursor:pointer;background:#fff}.file-input:hover{border-color:#06c}.selected-file{margin-top:.5rem;padding:.5rem;background:#fff;border-radius:4px;display:flex;align-items:center;gap:.5rem}.file-size{color:#666;font-size:.9rem}.documents-section h3{margin-bottom:1rem;color:#333}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.document-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s;display:flex;flex-direction:column}.document-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.document-preview{width:100%;height:180px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;overflow:hidden}.document-thumbnail{width:100%;height:100%;object-fit:cover}.document-icon-large{font-size:4rem}.document-info{padding:.75rem;flex:1}.document-name{font-weight:600;color:#333;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}.document-description{color:#666;font-size:.85rem;margin-bottom:.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.document-meta{color:#999;font-size:.75rem;display:flex;gap:.5rem}.document-actions{padding:.5rem .75rem;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:.25rem}.info-message,.empty-message{text-align:center;padding:2rem;color:#666;background:#f8f9fa;border-radius:8px}.loading{text-align:center;padding:2rem;color:#666}.preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:9999999!important;padding:0}.preview-modal-content{position:relative;width:100vw;height:100vh;background:#fff;display:flex;flex-direction:column}.preview-header{background:#2c3e50;color:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;border-bottom:3px solid #34495e}.preview-title{flex:1;min-width:0}.preview-title strong{display:block;font-size:1.2rem;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-desc{display:block;font-size:.9rem;color:#bdc3c7;margin-top:.25rem}.preview-actions{display:flex;gap:1rem;align-items:center;flex-shrink:0}.btn-preview-action{background:#3498db;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:background .2s}.btn-preview-action:hover{background:#2980b9}.preview-container{flex:1;display:flex;align-items:center;justify-content:center;background:#1a1a1a;overflow:auto;padding:2rem}.preview-image{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 4px 20px #00000080}.preview-pdf{width:100%;height:100%;border:none;background:#fff}.preview-unsupported{text-align:center;padding:3rem;color:#999}.preview-unsupported .preview-icon{font-size:6rem;margin-bottom:1rem}.preview-unsupported .file-name{color:#666;font-weight:600;margin-top:1rem}.preview-footer{background:#f8f9fa;padding:.75rem 1.5rem;border-top:1px solid #e0e0e0;flex-shrink:0}.preview-meta{color:#666;font-size:.9rem;text-align:center}.close-modal{background:#e74c3ce6;color:#fff;border:none;border-radius:4px;width:auto;height:auto;padding:.6rem 1.2rem;font-size:1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-modal:hover{background:#c0392b}.team-calendar{max-width:100%;padding:0 24px}.team-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.team-calendar-legend{margin-top:24px;padding:16px;background:var(--color-surface);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center}.legend-label{font-weight:600;margin-right:8px;color:var(--color-text)}.legend-item{display:flex;align-items:center;gap:8px}.legend-color{width:20px;height:20px;border-radius:3px}.legend-name{font-size:15px;color:var(--color-text)}.tax-types-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:600;color:#1a1a1a;margin:0}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#1d4ed8}.tax-btn-add{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .2s}.tax-btn-add:hover{background:#1d4ed8}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.loading{text-align:center;padding:3rem;color:#6b7280;font-size:1.1rem}.error-message{background:#fee2e2;color:#dc2626;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid #dc2626}.tax-types-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.tax-types-table{width:100%;border-collapse:collapse}.tax-types-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.tax-types-table th{padding:1rem;text-align:left;font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.tax-types-table td{padding:1rem;border-bottom:1px solid #e5e7eb;color:#1f2937}.tax-types-table tbody tr:last-child td{border-bottom:none}.tax-types-table tbody tr:hover{background:#f9fafb}.tax-types-table tbody tr.inactive{opacity:.6}.tax-name{font-weight:500;color:#1f2937}.description{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6b7280}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#f3f4f6;color:#6b7280}.actions{display:flex;gap:.5rem}.btn-icon{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.btn-icon:hover{background:#f3f4f6}.btn-icon.btn-edit{color:#2563eb}.btn-icon.btn-edit:hover{background:#dbeafe}.btn-icon.btn-delete{color:#dc2626}.btn-icon.btn-delete:hover{background:#fee2e2}.no-data{text-align:center;padding:3rem!important;color:#9ca3af;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0}.tax-form{padding:1.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#374151;font-size:.875rem}.form-group input,.form-group textarea{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{resize:vertical;font-family:inherit}.checkbox-group{flex-direction:row;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;margin:0}.checkbox-group input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px;margin:1.5rem -1.5rem -1.5rem}@media (max-width: 768px){.tax-types-page{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.tax-types-table{font-size:.875rem}.tax-types-table th,.tax-types-table td{padding:.75rem .5rem}.form-row{grid-template-columns:1fr}}.caller-id-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.caller-id-popup{background:#fff;border-radius:1rem;box-shadow:0 10px 40px #0000004d;width:90%;max-width:500px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.caller-id-header{background:linear-gradient(135deg,#1e40af,#3730a3);color:#fff;padding:1rem 1.5rem;border-radius:1rem 1rem 0 0;display:flex;align-items:center;gap:.75rem}.caller-id-icon{font-size:1.5rem}.caller-id-header h3{flex:1;margin:0;font-size:1.125rem;font-weight:600}.caller-id-close{background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1;opacity:.8;transition:opacity .2s}.caller-id-close:hover{opacity:1}.caller-id-body{padding:1.5rem}.caller-id-found{text-align:center;margin-bottom:1.5rem}.caller-id-name{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.caller-id-type-badge{display:inline-block;padding:.25rem .75rem;background:#dbeafe;color:#1e40af;border-radius:.5rem;font-size:.875rem;font-weight:500}.caller-id-info-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #f3f4f6;font-size:.9375rem}.caller-id-info-row:last-of-type{border-bottom:none}.info-label{font-weight:500;color:#64748b}.info-value{color:#1e293b;font-weight:500}.caller-id-recent-orders{margin:1rem 0;padding:1rem;background:#f9fafb;border-radius:.5rem}.recent-orders-title{font-size:.875rem;font-weight:600;color:#64748b;margin-bottom:.5rem}.recent-order-item{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.875rem}.order-number{color:#3b82f6;font-weight:500}.order-status{color:#64748b}.caller-id-unknown{text-align:center;padding:2rem 1rem}.unknown-icon{font-size:3rem;margin-bottom:1rem}.unknown-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.unknown-number{font-size:1.5rem;font-weight:700;color:#3b82f6;margin-bottom:1rem}.unknown-hint{color:#64748b;font-size:.875rem}.caller-id-actions{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}.caller-id-actions button{flex:1;min-width:120px;padding:.75rem 1rem;border-radius:.5rem;font-weight:500;font-size:.9375rem;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-secondary{background:#f3f4f6;color:#1e293b}.btn-secondary:hover{background:#e5e7eb}:root{--color-primary: #0071e3;--color-secondary: #86868b;--color-success: #34c759;--color-warning: #ff9500;--color-danger: #ff3b30;--color-background: #f5f5f7;--color-surface: #ffffff;--color-text: #1d1d1f;--color-text-secondary: #86868b;--color-border: #d2d2d7;--shadow-sm: 0 2px 8px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--radius: 8px;--radius-lg: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-background);color:var(--color-text);line-height:1.47059;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:0 24px}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 24px;border:none;border-radius:var(--radius);font-size:17px;font-weight:400;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:#0077ed}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-background)}.btn-danger:hover{background:#ff453a}.form-group{margin-bottom:24px}.form-label{display:block;font-size:15px;color:var(--color-text-secondary);margin-bottom:8px}.form-input,.form-select,.form-textarea{width:100%;padding:11px 16px;font-size:17px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:border-color .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary)}.form-textarea{min-height:100px;resize:vertical}.table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden}.table th{text-align:left;padding:16px;font-size:13px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--color-background);border-bottom:1px solid var(--color-border)}.table td{padding:16px;border-bottom:1px solid var(--color-border)}.table tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:4px 12px;font-size:13px;font-weight:500;border-radius:100px;background:var(--color-background);color:var(--color-text-secondary)}.badge-success{background:#34c7591a;color:var(--color-success)}.badge-warning{background:#ff95001a;color:var(--color-warning)}.badge-danger{background:#ff3b301a;color:var(--color-danger)}.badge-primary{background:#0071e31a;color:var(--color-primary)}.badge-secondary{background:var(--color-background);color:var(--color-text-secondary)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#c53030}.btn-small{padding:6px 12px;font-size:13px}.loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--color-text-secondary)}.error{padding:24px;background:#ff3b301a;color:var(--color-danger);border-radius:var(--radius);margin-bottom:24px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-surface);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:32px;margin:24px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-title{font-size:24px;font-weight:600}.modal-close{width:32px;height:32px;border:none;background:transparent;cursor:pointer;font-size:24px;color:var(--color-text-secondary);transition:all .2s}.modal-close:hover{background:var(--color-background);border-radius:var(--radius)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-body{margin:20px 0}.modal-body p{margin:8px 0}.modal-confirm{max-width:500px}
