:root{--primary: #1a1a1a;--primary-dark: #0a0a0a;--primary-light: #2d2d2d;--accent: #4a4a4a;--accent-light: #6a6a6a;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e8e8e8;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--success: #2d2d2d;--warning: #525252;--danger: #404040;--info: #1a1a1a;--font-size-xs: .875rem;--font-size-sm: 1rem;--font-size-base: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.875rem;--font-size-3xl: 2.25rem;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--gray-50);color:var(--gray-900);line-height:1.7;font-size:var(--font-size-base);min-height:100vh;height:100%;overflow-x:hidden;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}body:has(.login-box){overflow:hidden;position:fixed;width:100%;height:100vh;touch-action:none}.navbar{background:var(--primary);color:#fff;padding:var(--spacing-sm) 0;box-shadow:var(--shadow-md);position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid var(--gray-900);transition:transform .3s cubic-bezier(.4,0,.2,1);will-change:transform}.navbar.navbar-hidden{transform:translate3d(0,-100%,0)}body{padding-top:60px}.nav-container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.navbar h1{font-size:var(--font-size-xl);font-weight:600;letter-spacing:-.025em}.nav-right{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.nav-right span{font-size:.75rem;font-weight:500;padding:.25rem .5rem;background:var(--accent);border-radius:var(--radius-md)}.nav-right .btn{font-size:.75rem;padding:.25rem .5rem;font-weight:500;background:#dc2626;color:#fff;border:2px solid #dc2626;border-radius:var(--radius-md)}.nav-right .btn:hover{background:#b91c1c;border-color:#b91c1c}.container{max-width:1400px;margin:var(--spacing-2xl) auto;padding:0 var(--spacing-xl);width:100%;overflow-x:hidden}.container:has(.login-box){min-height:100vh;height:100vh;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:15vh;overflow:hidden;position:relative;margin:0 auto;padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.login-box{max-width:520px;width:100%;margin:0 auto;background:#fff;padding:var(--spacing-2xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--gray-200)}.login-box h1{text-align:center;color:var(--primary);margin-bottom:var(--spacing-sm);font-size:var(--font-size-3xl);font-weight:700}.login-box h2{text-align:center;color:var(--gray-600);margin-bottom:var(--spacing-2xl);font-size:var(--font-size-xl);font-weight:400;line-height:1.4}.card{background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl);border:1px solid var(--gray-200);transition:all .3s ease;max-width:100%;overflow-x:auto}.card:hover{box-shadow:var(--shadow-lg)}.card h3{margin-bottom:var(--spacing-lg);color:var(--gray-900);font-size:var(--font-size-2xl);font-weight:700;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-300)}.card h4{margin:var(--spacing-lg) 0 var(--spacing-md) 0;color:var(--gray-800);font-size:var(--font-size-xl);font-weight:600}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:600;color:var(--gray-700)}.form-group input,.form-group select,.form-group textarea{width:100%;max-width:100%;padding:var(--spacing-md) var(--spacing-lg);border:2px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;color:var(--gray-900);background:#fff;transition:all .2s ease;font-size:16px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{resize:vertical;min-height:100px}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;font-size:var(--font-size-base);font-weight:400;padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border:2px solid var(--gray-200);transition:all .2s ease}.checkbox-label:hover{border-color:var(--gray-400);background:var(--gray-100)}.checkbox-label input[type=checkbox]{width:24px;height:24px;cursor:pointer;flex-shrink:0}.checkbox-label span{flex:1}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.btn{padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);text-decoration:none;box-shadow:var(--shadow-sm);min-height:44px}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--primary);color:#fff;border:2px solid var(--primary)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn-secondary{background:var(--gray-600);color:#fff;border:2px solid var(--gray-600)}.btn-secondary:hover{background:var(--gray-700);border-color:var(--gray-700)}.btn-tertiary{background:var(--gray-100);color:var(--gray-700);border:2px solid var(--gray-300)}.btn-tertiary:hover{background:var(--gray-200);border-color:var(--gray-400)}.btn-success{background:var(--gray-800);color:#fff;border:2px solid var(--gray-800)}.btn-success:hover{background:var(--gray-900);border-color:var(--gray-900)}.btn-danger{background:var(--gray-700);color:#fff;border:2px solid var(--gray-700)}.btn-danger:hover{background:var(--gray-800);border-color:var(--gray-800)}.btn-small{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.btn-large{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-xl)}.btn-full{width:100%}.error-message,.success-message{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:500;box-shadow:0 4px 12px #00000026;animation:slideDown .3s ease;min-width:300px;max-width:calc(100vw - 40px);text-align:center;word-wrap:break-word}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.error-message{background:#fee;color:#c00;border:2px solid #fcc}.success-message{background:#efe;color:#060;border:2px solid #cfc}.mobile-only{display:none}.table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0;margin-top:var(--spacing-lg);background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table th,.table td{padding:var(--spacing-lg);text-align:left;border-bottom:1px solid var(--gray-200);white-space:nowrap;min-width:100px}.table td:hover{border-bottom:1px solid var(--gray-200)!important}.table th{background:var(--gray-200);font-weight:700;color:var(--gray-900);font-size:var(--font-size-lg);text-transform:uppercase;letter-spacing:.05em}.table tbody tr{transition:background-color .2s}.table tbody tr:last-child td{border-bottom:none}.tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);border-bottom:3px solid var(--gray-200);position:relative;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab-btn{padding:var(--spacing-md) var(--spacing-xl);background:transparent;border:none;cursor:pointer;font-size:var(--font-size-lg);font-weight:600;color:var(--gray-600);transition:all .2s ease;white-space:nowrap;position:relative}.tab-btn:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:4px;background:transparent;transition:background .2s ease}.tab-btn:hover{color:var(--primary);background:var(--gray-50)}.tab-btn.active{color:var(--primary)}.tab-btn.active:after{background:#000}.tab-content{display:none}.tab-content.active{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.entries-container{border:2px solid var(--gray-300);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);background:#fff;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.entries-list{display:flex;flex-direction:column;gap:0;background:#fff}.entry-card{display:grid;grid-template-columns:130px 90px 120px 1fr 160px;align-items:center;padding:var(--spacing-lg) var(--spacing-lg);border-bottom:1px solid var(--gray-200);transition:background-color .2s ease;gap:var(--spacing-lg);min-height:70px}.entry-card:last-child{border-bottom:none}.entry-card:hover{background:var(--gray-50)}.entry-card-header{display:contents}.entry-card-date{font-size:var(--font-size-base);font-weight:600;color:var(--gray-900)}.entry-card-hours{font-size:var(--font-size-lg);font-weight:700;color:var(--primary)}.entry-card-body,.entry-card-row{display:contents}.entry-card-label{font-size:var(--font-size-sm);font-weight:600;color:var(--gray-600)}.entry-card-value{font-size:var(--font-size-base);color:var(--gray-900)}.entry-card-time{font-size:var(--font-size-base);color:var(--gray-700);font-weight:500}.entry-card-kostenstelle{font-size:var(--font-size-base);color:var(--gray-900);font-weight:600;margin-bottom:.25rem}.entry-card-description{font-size:var(--font-size-sm);color:var(--gray-600);margin-top:.25rem;line-height:1.4}.entry-card-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;align-items:center}.entries-header{display:grid;grid-template-columns:130px 90px 120px 1fr 160px;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--gray-100);color:var(--gray-800);gap:var(--spacing-lg);font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--gray-300)}.worker-grid{display:block;width:100%;max-width:500px;margin:var(--spacing-xl) 0}.worker-btn{display:block;background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.worker-btn:hover{background:var(--gray-50);border-color:var(--gray-400);box-shadow:var(--shadow-sm)}.worker-name{display:block;font-size:var(--font-size-lg);font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.worker-personalnummer{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--gray-700);margin-bottom:var(--spacing-xs)}.worker-email{display:block;font-size:var(--font-size-sm);color:var(--gray-600)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-wrap:wrap;gap:var(--spacing-md);width:100%;max-width:100%;box-sizing:border-box}.calendar-header.weekend{background:#fef2f2;color:#dc2626}.calendar-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.calendar-header-top h3{margin:0;flex:1}.calendar-controls{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.calendar-month{font-size:var(--font-size-2xl);font-weight:700;color:var(--gray-900);min-width:200px;text-align:center}.calendar-container{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-md);margin:var(--spacing-xl) 0}.calendar-header-day{background:var(--primary);color:#fff;padding:var(--spacing-md);text-align:center;font-weight:700;font-size:var(--font-size-lg);border-radius:var(--radius-md)}.calendar-day{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md);min-height:140px;transition:all .2s ease;cursor:pointer;display:flex;flex-direction:column}.calendar-day:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.table-responsive{overflow-x:auto;margin:var(--spacing-lg) 0;-webkit-overflow-scrolling:touch;max-width:100%}.data-table{width:100%;min-width:600px;border-collapse:collapse;background:#fff;border-radius:var(--radius-md);overflow:hidden}.data-table thead{background:var(--gray-800);color:#fff}.data-table th{padding:var(--spacing-lg) var(--spacing-md);text-align:left;font-weight:600;font-size:var(--font-size-base);border-bottom:2px solid var(--gray-300)}.data-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background .2s ease}.data-table tbody tr:hover{background:var(--gray-50)}.data-table tbody tr:last-child{border-bottom:none}.data-table td{padding:var(--spacing-md);font-size:var(--font-size-base);color:var(--gray-700)}.data-table td strong{color:var(--gray-900);font-weight:600}.status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;min-width:80px;text-align:center}.status-active{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-inactive{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.action-btn{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;min-width:80px;text-align:center;border:none;cursor:pointer;transition:all .2s ease}.action-btn-edit{background:#007bff;color:#fff;border:1px solid #0056b3}.action-btn-edit:hover{background:#0056b3;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.action-btn-delete{background:#dc3545;color:#fff;border:1px solid #c82333}.action-btn-delete:hover{background:#c82333;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg);overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-content{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-2xl);max-width:500px;width:100%;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:auto}.modal-content h3{margin:0 0 var(--spacing-xl) 0;font-size:var(--font-size-2xl);color:var(--gray-900)}.modal-content .form-group{margin-bottom:var(--spacing-lg)}.modal-content .checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);cursor:pointer}.modal-content .checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.btn-icon{background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;padding:var(--spacing-xs);transition:transform .2s ease}.btn-icon:hover{transform:scale(1.2)}.btn-danger-small{background:#dc3545;color:#fff;border:none;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger-small:hover{background:#c82333;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.calendar-day.today{background:var(--gray-100)}.calendar-day.has-entries{border-color:var(--accent);background:#fff}.calendar-day.sick-day{border-color:#dc2626;background:#fee2e2}.calendar-day.weekend,.calendar-day.weekend.has-entries{background:#fef2f2}.calendar-day-number{font-size:var(--font-size-xl);font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-sm)}.sick-indicator{background:#dc2626;color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);font-weight:700;text-align:center}.sick-note{font-size:var(--font-size-xs);color:#7f1d1d;font-style:italic;margin-top:var(--spacing-xs)}.day-entries{display:flex;flex-direction:column;flex-grow:1;align-items:center;justify-content:center}.day-total-simple{font-size:2rem;font-weight:700;color:var(--primary);text-align:center}.calendar-day-entry{background:var(--primary);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);font-weight:600;display:flex;justify-content:space-between;align-items:center}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--gray-200)}.detail-header h2{margin:0;font-size:var(--font-size-2xl)}.entries-table-container{overflow-x:auto;margin-bottom:var(--spacing-xl)}.entries-detail-table{width:100%;border-collapse:collapse;background:#fff}.entries-detail-table thead{background:var(--gray-100)}.entries-detail-table th{padding:var(--spacing-md);text-align:left;font-weight:700;font-size:var(--font-size-base);color:var(--gray-900);border-bottom:2px solid var(--gray-300)}.entries-detail-table td{padding:var(--spacing-md);border-bottom:1px solid var(--gray-200);font-size:var(--font-size-base);color:var(--gray-700)}.detail-summary-section{background:var(--gray-50);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:2px solid var(--gray-200)}.detail-summary-section h3{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-xl)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.summary-item{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-sm);border:2px solid var(--gray-200)}.summary-item.summary-total{background:var(--primary);color:#fff;border-color:var(--primary)}.summary-label{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-600)}.summary-item.summary-total .summary-label{color:#ffffffe6}.summary-value{font-size:2rem;font-weight:700;color:var(--primary)}.summary-item.summary-total .summary-value{color:#fff}.month-summary{margin-top:var(--spacing-2xl);padding:var(--spacing-xl);background:#fff;border-radius:var(--radius-lg);border:2px solid var(--gray-300);box-shadow:var(--shadow-md)}.month-summary h3{font-size:var(--font-size-xl);color:var(--gray-900);margin:0 0 var(--spacing-lg) 0;font-weight:700;text-align:center}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.stat-card{background:var(--gray-50);padding:var(--spacing-lg);border-radius:var(--radius-md);text-align:center;border:2px solid var(--gray-200);transition:all .2s ease}.stat-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card .stat-label{font-size:var(--font-size-base);color:var(--gray-600);margin-bottom:var(--spacing-md);font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:var(--font-size-sm)}.stat-card .stat-value{font-size:2.5rem;font-weight:700;color:var(--primary);line-height:1}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--spacing-lg)}.modal.active{display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.modal-content{background:#fff;padding:var(--spacing-2xl);border-radius:var(--radius-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:3px solid var(--gray-200)}.modal-header h3{font-size:var(--font-size-2xl);font-weight:700;color:var(--gray-900)}.modal-close{background:var(--gray-100);border:none;width:40px;height:40px;border-radius:var(--radius-full);font-size:var(--font-size-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gray-600);transition:all .2s ease}.modal-close:hover{background:var(--danger);color:#fff}.export-section{background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl)}.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.export-card{display:flex;flex-direction:column;gap:var(--spacing-lg)}.export-card h3{font-size:var(--font-size-xl);color:var(--gray-900);margin:0}.export-card .form-group{margin-bottom:0;flex:1}.export-card .btn-full{margin-top:auto}@media(max-width:768px){:root{--font-size-3xl: 2rem;--font-size-2xl: 1.625rem;--font-size-xl: 1.375rem}.navbar{padding:var(--spacing-xs) 0}.nav-container{padding:0 var(--spacing-md);flex-direction:row;gap:var(--spacing-sm)}.navbar h1{font-size:var(--font-size-base)}.nav-right span{display:none}.nav-right .btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.container{padding:0 var(--spacing-md);margin:0 auto}.container:has(.login-box){min-height:100vh;height:100vh;padding:var(--spacing-md);margin:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:15vh;overflow:hidden;position:fixed;inset:0}.login-box{margin:0 auto;padding:var(--spacing-lg);width:100%;max-width:520px;max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.card{padding:var(--spacing-lg)}.tabs{gap:0;margin-bottom:var(--spacing-lg)}.tab-btn{flex:1;min-width:120px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.mobile-only{display:block}.table{display:none}.form-row{grid-template-columns:1fr}.calendar-header-day{display:none}.calendar-container{grid-template-columns:1fr;gap:var(--spacing-xs);margin:var(--spacing-md) 0}.calendar-day{display:flex;flex-direction:column;min-height:auto;padding:var(--spacing-sm);border-left:4px solid var(--gray-300)}.calendar-day.has-entries{border-left-color:var(--primary)}.calendar-day.sick-day{border-left-color:#dc2626;background:#fee2e2}.calendar-day.today{background:var(--gray-100)}.sick-indicator{background:#dc2626;padding:var(--spacing-xs);font-size:var(--font-size-xs)}.sick-note{font-size:.75rem}.calendar-day-number{font-size:var(--font-size-base);font-weight:700;margin-bottom:var(--spacing-xs);color:var(--gray-700)}.day-entry{background:var(--gray-100);color:var(--gray-900);padding:var(--spacing-xs);border-radius:var(--radius-sm);font-size:var(--font-size-xs);margin-bottom:var(--spacing-xs);border-left:3px solid var(--primary)}.day-total{background:var(--gray-900);color:#fff;padding:var(--spacing-xs);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.worker-grid{max-width:100%}.month-summary{margin-top:var(--spacing-lg);padding:var(--spacing-lg)}.month-summary h3{font-size:var(--font-size-lg)}.summary-stats{grid-template-columns:1fr;gap:var(--spacing-md)}.stat-card{padding:var(--spacing-lg)}.stat-card .stat-value{font-size:2rem}.export-grid{grid-template-columns:1fr}.detail-header{flex-direction:column;gap:var(--spacing-md)}.entries-detail-table{font-size:var(--font-size-sm)}.entries-detail-table th,.entries-detail-table td{padding:var(--spacing-sm)}.summary-grid{grid-template-columns:1fr}.btn{width:100%;justify-content:center}.form-group .btn{margin-bottom:var(--spacing-sm)}.entries-header{display:none}.entry-card{grid-template-columns:1fr;gap:var(--spacing-xs);padding:var(--spacing-md)}.entry-card-date{font-size:var(--font-size-lg);font-weight:700}.entry-card-hours{font-size:var(--font-size-lg)}.entry-card-actions{justify-content:flex-start;margin-top:var(--spacing-sm)}.calendar-header{padding:var(--spacing-md)}.calendar-header-top{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.calendar-header-top h3{font-size:var(--font-size-lg);text-align:center}#back-to-workers-btn{width:100%;order:-1}.calendar-controls{flex-direction:column;gap:var(--spacing-sm);width:100%}.calendar-controls button{width:100%}.calendar-month,#current-month{font-size:var(--font-size-lg);min-width:auto;order:-1;margin:0!important}.modal{padding:var(--spacing-sm);align-items:flex-start;padding-top:10vh}.modal-content{padding:var(--spacing-lg);max-height:80vh;width:100%;max-width:100%;margin:0}.modal-content p{font-size:var(--font-size-base)!important;line-height:1.7;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;margin-bottom:var(--spacing-lg)!important}.modal-content button{width:100%!important;padding:var(--spacing-md)!important;font-size:var(--font-size-base)!important;margin-bottom:var(--spacing-sm)}.modal-content>div[style*="display: flex"]{flex-direction:column!important;gap:var(--spacing-sm)!important}.modal-content>div[style*="display: flex"] button{flex:1 1 auto!important;min-height:56px}#kostenstellen-list>div>div{flex-direction:column;align-items:flex-start!important;gap:var(--spacing-sm)}#kostenstellen-list button{width:100%}.form-row{grid-template-columns:1fr!important}.card>div[style*="display: flex"]{flex-direction:column!important;gap:var(--spacing-sm)!important}.card>div[style*="display: flex"] button{width:100%!important}}.list-container{display:flex;flex-direction:column;gap:var(--spacing-xs)}.list-item{background:#fff;border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);transition:all .2s ease;display:grid;grid-template-columns:2fr 3fr 1fr auto;gap:var(--spacing-md);align-items:center}.list-item:hover{box-shadow:var(--shadow-md);border-color:var(--gray-300);background:var(--gray-50)}.list-item-header{display:flex;flex-direction:column;gap:.25rem}.list-item-title{font-size:var(--font-size-base);font-weight:700;color:var(--primary);margin:0}.list-item-badge{background:var(--gray-100);color:var(--gray-700);padding:.25rem .625rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;display:inline-block;width:fit-content}.list-item-badge.badge-active{background:#dcfce7;color:#166534}.list-item-badge.badge-inactive{background:#fee2e2;color:#991b1b}.list-item-details{display:flex;flex-direction:column;gap:.375rem}.list-item-detail{display:flex;gap:.5rem;align-items:baseline}.list-item-detail-label{font-size:var(--font-size-xs);color:var(--gray-500);font-weight:600;min-width:100px}.list-item-detail-value{font-size:var(--font-size-sm);color:var(--gray-900);font-weight:400}.list-item-actions{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.list-item-actions button{min-width:90px;padding:.375rem .75rem;font-size:var(--font-size-sm)}.list-empty{background:var(--gray-50);border:2px dashed var(--gray-300);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;color:var(--gray-500)}.list-empty-text{font-size:var(--font-size-base);margin:0}@media(max-width:768px){.list-item{grid-template-columns:1fr;padding:var(--spacing-sm);gap:var(--spacing-sm)}.list-item-header{padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--gray-200)}.list-item-title{font-size:var(--font-size-base)}.list-item-detail{flex-direction:column;gap:.125rem}.list-item-detail-label{min-width:unset;font-size:.75rem}.list-item-actions{justify-content:flex-start;padding-top:var(--spacing-xs);border-top:1px solid var(--gray-200)}.list-item-actions button{flex:1;min-width:unset}}.text-center{text-align:center}.mt-1{margin-top:var(--spacing-md)}.mt-2{margin-top:var(--spacing-lg)}.mt-3{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-md)}.mb-2{margin-bottom:var(--spacing-lg)}.mb-3{margin-bottom:var(--spacing-xl)}.hidden{display:none!important}.loading{opacity:.6;pointer-events:none}
