:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f5f5f4;--foreground:#292524;--muted:#78716c;--border:#dedbd6;--surface:#fff;--primary:#292524;--primary-hover:#44403c;--danger:#b91c1c}.planning-shell{background:var(--background);min-height:100vh;color:var(--foreground);grid-template-columns:252px minmax(0,1fr);font-family:Arial,Helvetica,sans-serif;transition:grid-template-columns .18s;display:grid}.planning-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.planning-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:14px;padding:14px 12px;display:flex;overflow:hidden}.sidebar-top{align-items:center;gap:9px;min-height:38px;display:flex}.planning-brand{color:#fff;background:#292524;border-radius:7px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;font-weight:700;display:flex}.planning-sidebar h1{letter-spacing:-.02em;white-space:nowrap;margin:0;font-size:16px}.sidebar-toggle{color:var(--muted);background:0 0;border:0;border-radius:5px;width:28px;min-height:28px;margin-left:auto;padding:0;font-size:21px}.sidebar-toggle:hover:not(:disabled){color:var(--foreground);background:#f0eeeb}.create-plan{white-space:nowrap;background:#292524;border-color:#292524;justify-content:center;align-items:center;gap:7px;width:100%;min-height:36px;padding:0 10px;font-size:13px;font-weight:600;display:flex}.create-plan span:first-child{font-size:19px;font-weight:400;line-height:1}.planning-sidebar nav{gap:2px;display:grid}.planning-sidebar nav button{color:#71808c;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:37px;padding:0 10px;font-size:13px;display:flex}.planning-sidebar nav button.active{color:#2f3b45;background:#edf2f5;font-weight:600}.planning-sidebar nav button:hover:not(.active){color:#2f3b45;background:#f5f7f8}.nav-icon{text-align:center;width:18px;font-size:16px;line-height:1}.nav-count{color:var(--muted);margin-left:auto;font-size:11px}.sidebar-collapsed .planning-sidebar{align-items:center;padding:14px 10px}.sidebar-collapsed .sidebar-top{width:100%}.sidebar-collapsed .sidebar-toggle{margin-left:auto}.sidebar-collapsed .create-plan{width:38px;height:38px;min-height:38px;padding:0}.sidebar-collapsed .planning-sidebar nav{width:100%}.sidebar-collapsed .planning-sidebar nav button{justify-content:center;padding:0}.planning-user{border-top:1px solid var(--border);color:var(--muted);word-break:break-word;align-items:center;gap:9px;min-width:0;margin-top:auto;padding:14px 4px 0;font-size:12px;display:flex}.planning-user small,.planning-grid small{color:#a8a29e;margin-top:2px;font-weight:400;display:block}.user-avatar{color:#57534e;background:#eeece9;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.sidebar-footer{background:var(--surface);width:100%;margin-top:auto;padding-top:8px;position:sticky;bottom:0}.sidebar-footer .planning-user{margin-top:0}.logout-button{color:#52606d;background:#f1f5f7;border:0;border-radius:7px;justify-content:flex-start;align-items:center;gap:10px;width:100%;min-height:37px;padding:0 10px;font-size:13px;display:flex}.logout-button:hover:not(:disabled){color:#2f3b45;background:#e8eef1}.logout-button>span:first-child{text-align:center;width:18px;font-size:17px;line-height:1}.sidebar-collapsed .logout-button{justify-content:center;padding:0}.planning-main{min-width:0;padding:32px 36px}.planning-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:26px;display:flex}.planning-header p{color:var(--muted);letter-spacing:.08em;margin:0 0 5px;font-size:11px;font-weight:700}.planning-header h2{letter-spacing:-.03em;margin:0;font-size:26px}.planning-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.planning-actions select{border:1px solid var(--border);color:var(--foreground);background:#fff;border-radius:6px;min-height:38px;padding:8px}.planning-actions .secondary,.secondary{border-color:var(--border);color:var(--foreground);background:#fff}.planning-actions .secondary:hover:not(:disabled),.secondary:hover:not(:disabled){background:#f5f4f2;border-color:#c8c3bd}.plan-view-switcher{gap:4px;margin-top:13px;display:flex}.plan-view-switcher button{color:var(--muted);background:0 0;border:0;border-radius:5px;min-height:32px;padding:0 9px}.plan-view-switcher button:hover:not(:disabled){color:var(--foreground);background:#f0eeeb}.plan-view-switcher button.active{color:var(--foreground);background:#eeece9;font-weight:600}.plan-title-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.month-back,.header-delete{color:#64748b;background:0 0;border:0;border-radius:6px;width:34px;min-height:34px;padding:0;font-size:24px}.month-back:hover:not(:disabled),.header-delete:hover:not(:disabled){color:#2f3b45;background:#f1f5f7}.month-selector{position:relative}.month-title{color:#292524;letter-spacing:-.04em;background:0 0;border:0;min-height:38px;padding:0;font-size:27px;font-weight:700}.month-title:hover:not(:disabled){color:#57534e;background:0 0}.month-title span{color:#78716c;vertical-align:middle;margin-left:4px;font-size:15px}.month-options{z-index:15;background:#fff;border:1px solid #d9e0e5;border-radius:8px;min-width:210px;padding:4px;display:grid;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 8px 20px #2925241f}.month-options button{color:#3f4a54;text-align:left;background:0 0;border:0;border-radius:5px;min-height:32px;padding:0 9px}.month-options button:hover{background:#f1f5f7}.draft-select{color:#475569;background:#fff;border:1px solid #d9e0e5;border-radius:6px;min-height:32px;padding:4px 7px}.plan-status{color:#52606d;background:#eef2f4;border-radius:99px;padding:4px 8px;font-size:12px}.occupancy{color:#78716c;font-size:12px}.planning-actions{align-items:center}.planning-actions .plan-view-switcher{background:#eef2f4;border-radius:7px;margin-top:0;padding:3px}.planning-actions .plan-view-switcher button{min-height:32px}.planning-actions .plan-view-switcher button.active{background:#fff;box-shadow:0 1px 2px #2925241f}.header-delete{font-size:17px}.plan-legend{color:#667085;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px;font-size:11px;display:flex}.plan-legend span{align-items:center;gap:5px;display:flex}.plan-legend i{border-radius:2px;width:9px;height:9px;display:inline-block}.plan-legend .hard{background:#dc2626}.plan-legend .soft{background:#f59e0b}.plan-legend .early{background:#fef9c3}.plan-legend .late{background:#ffedd5}.plan-legend .night{background:#fee2e2}.plan-legend .vacation{background:#dbeafe}.plan-legend .wish{background:#dcfce7}.plan-legend .weekend{background:#e2e8f0}.plan-legend .holiday{background:#f3e8ff}.section-subtitle{color:#78716c!important;letter-spacing:0!important;margin:5px 0 0!important;font-size:13px!important;font-weight:400!important}.create-shift{background:#292524;border-color:#292524;font-weight:600}.dashboard-title{font-weight:700;font-size:30px!important}.dashboard-subtitle{color:#78716c!important;letter-spacing:0!important;margin:5px 0 0!important;font-size:13px!important;font-weight:400!important}.dashboard-overview{gap:20px;display:grid}.dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dashboard-card{background:#fff;border:1px solid #d9e0e5;border-radius:10px;gap:8px;min-height:160px;padding:18px;display:grid}.dashboard-card>svg{color:#64748b;margin-bottom:4px}.dashboard-card:nth-child(3)>svg{color:#d97706}.dashboard-card>span{color:#667085;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.dashboard-card>strong{color:#292524;letter-spacing:-.03em;font-size:24px;line-height:1.15}.dashboard-card>small{color:#78716c;font-size:12px}.dashboard-status{background:#eef2f4;border-radius:99px;justify-self:start;padding:4px 8px;color:#52606d!important}.dashboard-create{background:#292524;border-color:#292524;justify-self:start}@media (min-width:721px) and (max-width:980px){.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.planning-grid{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:auto}.planning-grid table{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content;font-size:12px}.planning-grid th,.planning-grid td{text-align:center;border-bottom:1px solid #f0eeeb;border-right:1px solid #f0eeeb;min-width:46px;padding:8px}.planning-grid thead th{z-index:1;background:#faf9f7;position:sticky;top:0}.planning-grid th:first-child{text-align:left;z-index:2;background:#fff;min-width:150px;position:sticky;left:0}.planning-grid thead th:first-child{z-index:3;background:#faf9f7}.shift{border-radius:4px;margin:1px;padding:2px 5px;font-family:monospace;display:inline-block}.shift.F{color:#854d0e;background:#fef9c3}.shift.S{color:#9a3412;background:#ffedd5}.shift.N{color:#991b1b;background:#fee2e2}.planning-shifts{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.planning-shifts h3{color:var(--foreground);margin:0 10px 0 0;font-size:14px}.planning-shifts span{border:1px solid var(--border);background:#fff;border-radius:4px;padding:4px 6px;font-family:monospace}.planning-loading{padding:48px}.planning-grid thead th.weekend{background:#f1f5f7}.planning-grid td.weekend{background:#fbfcfd}.planning-grid .weekend-start{border-left:2px solid #cbd5dc}.planning-grid .weekend-end{border-right:2px solid #cbd5dc}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}.grid-select{color:var(--foreground);font:inherit;border:0;border-radius:4px;min-width:42px;padding:3px}.management-list{gap:8px;max-width:760px;display:grid}.management-list form,.management-list>div{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.management-list form{margin-bottom:8px}.management-list form input{flex:1}.management-list>div span{color:var(--muted);flex:1;font-size:13px}.management-list .secondary{color:var(--foreground);background:#fff}.violations{gap:6px;margin-top:20px;display:grid}.violations h3{margin:0 0 4px;font-size:14px}.violations div{border-left:3px solid;border-radius:4px;padding:10px;font-size:13px}.violations .error{color:#9f1239;background:#fff1f2;border-color:#f43f5e}.violations .warning{color:#92400e;background:#fffbeb;border-color:#f59e0b}.violations-toggle{color:var(--foreground);text-align:left;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:5px;width:100%;min-height:32px;padding:0;display:flex}.violations-toggle:hover:not(:disabled){color:var(--foreground);background:0 0}.violations-toggle h3{margin:0}.violations-toggle svg{color:#64748b;flex:none;transition:transform .16s}.violations-toggle svg.expanded{transform:rotate(180deg)}.editor-backdrop{z-index:20;background:#29252459;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.editor{background:#fff;border-radius:8px;gap:14px;width:100%;max-width:850px;max-height:calc(100vh - 64px);padding:20px;display:grid;overflow:auto;box-shadow:0 18px 45px #29252440}.editor header,.editor footer{justify-content:space-between;align-items:center;display:flex}.editor h3,.editor h4{margin:0}.editor-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.editor label{color:#57534e;gap:4px;font-size:12px;display:grid}.editor label.wide{grid-column:1/-1}.editor textarea{resize:vertical;min-height:72px}.editor-row{gap:8px;display:flex}.editor-row input,.editor-row select{flex:1;min-width:0}.editor fieldset{border:1px solid var(--border);border-radius:6px;gap:16px;display:flex}.editor fieldset label{gap:5px;display:flex}.employee-workload{gap:8px;max-width:760px;margin-top:24px;display:grid}.employee-workload h3{margin:0 0 4px;font-size:16px}.workload-card{border-color:var(--border);color:var(--foreground);text-align:center;background:#fff;grid-template-columns:minmax(125px,1fr) minmax(100px,2fr) 52px 22px;place-items:center;gap:14px;width:100%;padding:14px;display:grid}.workload-card:not(:disabled):hover{background:#f8f7f5;border-color:#c8c3bd}.workload-card:disabled{cursor:default;opacity:1}.workload-name{font-weight:600}.workload-chart{background:#e9e6e1;border-radius:99px;width:100%;height:8px;display:block;overflow:hidden}.workload-chart>span{border-radius:inherit;height:100%;display:block}.workload-card.success .workload-chart>span{background:#16a34a}.workload-card.warning .workload-chart>span{background:#d97706}.workload-card.danger .workload-chart>span{background:#dc2626}.workload-info{color:var(--muted);justify-self:end;font-size:17px;line-height:1}.workload-card:hover .workload-info{color:var(--foreground)}.plan-actions{justify-content:flex-end;align-items:stretch;gap:8px;margin:14px 0 22px;display:flex}.plan-actions>button,.export-menu>button{height:38px}.new-plan-action{background:#292524;border-color:#292524;font-weight:600}.export-menu{display:flex;position:relative}.export-menu>button{justify-content:center;align-items:center;gap:7px;width:100%;display:flex}.export-menu>button span{line-height:1;display:inline-flex;transform:translateY(-1px)}.export-options{border:1px solid var(--border);z-index:10;background:#fff;border-radius:7px;min-width:174px;padding:4px;display:grid;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 8px 20px #2925241f}.export-options button{color:var(--foreground);text-align:left;background:0 0;border:0;border-radius:4px;min-height:32px;padding:0 9px}.export-options button:hover{background:#f5f4f2}.visually-hidden{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.create-employee{background:#292524;border-color:#292524;font-weight:600}.employee-table-wrap{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:auto}.employee-table{border-collapse:collapse;width:100%;min-width:680px}.employee-table th,.employee-table td{text-align:left;border-bottom:1px solid #f0eeeb;padding:13px 16px}.employee-table thead th{color:var(--muted);background:#faf9f7;font-size:12px;font-weight:600}.employee-table tbody tr:last-child th,.employee-table tbody tr:last-child td{border-bottom:0}.employee-table tbody th{font-size:14px}.employee-badge{color:#57534e;border:1px solid #d6d3d1;border-radius:99px;padding:5px 8px;font-size:12px;line-height:1;display:inline-block}.employee-table td:nth-child(4){align-items:center;gap:9px;min-width:190px;display:flex}.employee-workload-bar{background:#e9e6e1;border-radius:99px;width:110px;height:7px;overflow:hidden}.employee-workload-bar span{border-radius:inherit;height:100%;display:block}.employee-workload-bar.success span{background:#16a34a}.employee-workload-bar.warning span{background:#d97706}.employee-workload-bar.danger span{background:#dc2626}.employee-table td:nth-child(4) strong{min-width:38px;font-size:13px}.employee-actions{white-space:nowrap;text-align:right!important}.icon-button{color:var(--muted);background:0 0;border:0;border-radius:5px;width:30px;min-height:30px;padding:0;font-size:20px}.icon-button:hover:not(:disabled){color:var(--foreground);background:#f0eeeb}.employee-create-form{max-width:440px}.employee-create-form>label{color:#57534e;gap:5px;display:grid}.employee-create-form footer{margin-top:8px}.employee-editor{gap:20px;max-width:820px;padding:24px}.employee-editor header{align-items:flex-start}.employee-editor h3{font-size:20px}.dialog-close{color:var(--muted);background:0 0;border:0;border-radius:5px;width:32px;min-height:32px;padding:0;font-size:28px;line-height:1}.dialog-close:hover:not(:disabled){color:var(--foreground);background:#f0eeeb}.editor-tabs{gap:4px;margin-top:15px;display:flex}.editor-tabs button{color:var(--muted);background:0 0;border:0;border-radius:5px;min-height:32px;padding:0 8px}.editor-tabs button:hover:not(:disabled){color:var(--foreground);background:#f5f4f2}.editor-tabs button.active{color:var(--foreground);background:#eeece9;font-weight:600}.editor-section{gap:16px;display:grid}.editor-section>label{color:#57534e;gap:5px;display:grid}.editor-section label small,.field-description{color:var(--muted);margin:0;font-size:12px;font-weight:400}.editor-section fieldset{border:0;gap:6px;margin:0;padding:0;display:grid}.editor-section legend{color:#57534e;margin-bottom:5px;padding:0;font-size:12px}.choice-slider{background:#f1efec;border-radius:7px;gap:3px;width:max-content;padding:3px;display:flex}.choice-slider button{color:var(--muted);background:0 0;border:0;border-radius:5px;min-height:32px;padding:0 11px}.choice-slider button.active{color:var(--foreground);background:#fff;font-weight:600;box-shadow:0 1px 2px #2925241f}.editor-date-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.editor-date-grid label{color:#57534e;gap:5px;display:grid}.editor-list{border-top:1px solid var(--border);gap:10px;padding-top:18px;display:grid}.editor-list>div{justify-content:space-between;align-items:center;display:flex}.editor-list h4{font-size:15px}.add-link,.past-button{color:#57534e;background:0 0;border:0;min-height:30px;padding:0 6px}.add-link:hover:not(:disabled),.past-button:hover:not(:disabled){color:var(--foreground);background:#f0eeeb}.past-button{border:1px solid var(--border);border-radius:5px;justify-self:start;font-size:12px}.availability-row{background:#faf9f7;border:1px solid #ebe8e3;border-radius:7px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto 32px;align-items:center;gap:8px;padding:8px;display:grid}.availability-row input{min-width:0}.hard-chip{color:#b91c1c;background:#fee2e2;border-radius:99px;padding:4px 7px;font-size:11px;font-weight:700}.delete-icon{color:#b91c1c;background:0 0;border:0;border-radius:5px;width:30px;min-height:30px;padding:0;font-size:18px}.delete-icon:hover:not(:disabled){background:#fef2f2}.preference-grid{text-align:center;grid-template-columns:42px repeat(3,1fr);align-items:center;gap:5px;display:grid}.preference-grid>strong{color:#57534e;font-size:12px}.preference-cell{color:#a8a29e;background:#faf9f7;border:1px solid #e5e1dc;border-radius:5px;min-height:30px;padding:0}.preference-cell.positive{color:#15803d;background:#dcfce7;border-color:#86efac}.preference-cell.negative{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.analysis-panel{min-height:230px}.employee-editor footer{border-top:1px solid var(--border);grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;margin-top:4px;padding-top:16px;display:grid}.delete-employee{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.delete-employee:hover:not(:disabled){background:#fee2e2}.editor-status-badge{color:#52606d;border:1px solid #cfd8df;border-radius:99px;margin-top:5px;padding:3px 8px;font-size:12px;display:inline-block}.editor-tabs button.active{background:0 0;border-bottom:2px solid #292524;border-radius:0}.analysis-content{gap:20px;max-height:calc(100vh - 290px);padding-right:4px;display:grid;overflow:auto}.analysis-content h4{margin:0 0 9px;font-size:14px}.analysis-workload{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.analysis-progress{background:#e6edf2;border-radius:99px;height:9px;overflow:hidden}.analysis-progress span{border-radius:inherit;height:100%;display:block}.analysis-progress.success span,.analysis-bar-area .success{background:#16a34a}.analysis-progress.warning span,.analysis-bar-area .warning{background:#d97706}.analysis-progress.danger span,.analysis-bar-area .danger{background:#dc2626}.analysis-metrics{grid-template-columns:1fr 1fr;gap:12px;display:grid}.analysis-metrics article,.latest-weekend{background:#fff;border:1px solid #cfd8df;border-radius:8px;gap:8px;padding:15px;display:grid}.analysis-metrics span,.latest-weekend span{color:#667085;font-size:12px}.analysis-metrics strong{font-size:20px}.latest-weekend{grid-template-columns:1fr auto auto;align-items:center}.latest-weekend strong{background:#e6edf2;border-radius:99px;padding:5px 9px;font-size:12px}.analysis-table-wrap{border:1px solid #cfd8df;border-radius:8px;overflow:hidden}.analysis-table{border-collapse:collapse;width:100%}.analysis-table th,.analysis-table td{text-align:left;border-bottom:1px solid #e4e9ed;padding:10px 12px}.analysis-table tr:last-child td{border-bottom:0}.analysis-table th{color:#52606d;background:#e6edf2;font-size:12px}.analysis-chart{background:#e6edf2;border:1px solid #cfd8df;border-radius:8px;grid-template-columns:repeat(3,1fr);align-items:end;gap:20px;min-height:210px;padding:14px 22px;display:grid}.analysis-bar{grid-template-rows:auto 130px auto;place-items:center;gap:7px;display:grid}.analysis-bar strong{font-size:12px}.analysis-bar-area{background:#f7fafc;border-radius:4px;align-items:end;width:30px;height:130px;display:flex;overflow:hidden}.analysis-bar-area span{border-radius:4px 4px 0 0;width:100%;display:block}.analysis-bar small{color:#667085;text-transform:capitalize}.employee-editor{border-radius:14px;gap:16px;max-width:640px;padding:24px}.employee-editor header>div:first-child{flex:1;min-width:0}.employee-editor h3{font-size:17px;font-weight:600}.editor-status-badge{margin-top:3px}.dialog-close{width:26px;min-height:26px;margin:-4px -4px 0 12px;font-size:22px}.editor-tabs{border-bottom:1px solid #d9e0e5;gap:20px;width:100%;margin-top:18px;padding-bottom:0;overflow-x:auto}.editor-tabs button{white-space:nowrap;border-bottom:2px solid #0000;border-radius:0;flex:none;min-height:34px;padding:0 1px}.editor-tabs button.active{color:#292524;border-bottom-color:#292524}.editor-section{gap:12px}.editor-section>label,.editor-date-grid label{color:#3f4a54;gap:3px;font-size:13px;font-weight:600}.editor-section legend{color:#3f4a54;margin-bottom:4px;font-size:13px;font-weight:600}.employee-editor input{border-color:#d9e0e5;border-radius:6px;min-height:36px;padding:6px 9px}.choice-slider{background:#eaf0f4;border-radius:7px;gap:4px;width:100%;padding:3px}.choice-slider button{flex:1;min-height:30px;padding:0 8px}.choice-slider button.active{border-radius:5px}.editor-date-grid{gap:12px}.employee-editor footer{border-top:0;justify-content:space-between;margin-top:0;padding-top:4px;display:flex}.employee-editor footer>span{flex:1}.delete-employee{background:0 0;border:0;padding:0}.delete-employee:hover:not(:disabled){color:#991b1b;background:0 0}.employee-editor footer .secondary,.employee-editor footer button:not(.delete-employee):not(.secondary){min-height:36px}.employee-editor footer .secondary{margin-left:auto}.create-employee-dialog{border-radius:14px;gap:16px;max-width:640px;padding:24px}.create-employee-dialog header{align-items:flex-start}.create-employee-dialog h3{font-size:17px;font-weight:600}.create-employee-dialog .editor-section>label,.create-employee-dialog .editor-date-grid label{color:#3f4a54;gap:3px;font-size:13px;font-weight:600}.create-employee-dialog .editor-section legend{color:#3f4a54;margin-bottom:4px;font-size:13px;font-weight:600}.create-employee-dialog input{border-color:#d9e0e5;border-radius:6px;min-height:36px;padding:6px 9px}.create-employee-dialog footer{border-top:0;justify-content:space-between;align-items:center;gap:10px;margin-top:0;padding-top:4px;display:flex}.create-employee-dialog footer>span{flex:1}.create-employee-dialog footer button{min-height:36px}.create-employee-dialog footer .secondary{margin-left:auto}.shift-editor{border-radius:14px;gap:16px;max-width:640px;padding:24px}.shift-editor header{align-items:flex-start}.shift-editor h3{font-size:17px;font-weight:600}.shift-editor .editor-section>label,.shift-editor .editor-date-grid label{color:#3f4a54;gap:3px;font-size:13px;font-weight:600}.shift-editor .editor-section legend{color:#3f4a54;margin-bottom:4px;font-size:13px;font-weight:600}.shift-editor input{border-color:#d9e0e5;border-radius:6px;min-height:36px;padding:6px 9px}.shift-editor input:disabled{color:#667085;cursor:not-allowed;background:#f1f5f7}.shift-time-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.shift-time-grid label{color:#3f4a54;gap:3px;font-size:13px;font-weight:600;display:grid}.day-chips{flex-wrap:wrap;gap:8px;display:flex}.day-chips button{color:#667085;background:#fff;border-color:#d9e0e5;min-height:32px;padding:0 10px}.day-chips button.active{color:#2f3b45;background:#edf2f5;border-color:#52606d}.shift-editor footer{border-top:0;justify-content:space-between;align-items:center;gap:10px;margin-top:0;padding-top:4px;display:flex}.shift-editor footer>span{flex:1}.shift-editor footer button{min-height:36px}.shift-editor footer .secondary{margin-left:auto}.create-plan-dialog{border-radius:14px;gap:18px;max-width:680px;padding:24px}.create-plan-dialog header{align-items:flex-start}.create-plan-dialog h3{margin-top:12px;font-size:18px;font-weight:600}.step-indicator{align-items:center;gap:6px;display:flex}.step-indicator span{color:#71808c;background:#e8edf0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.step-indicator span.active{color:#fff;background:#292524}.step-indicator i{background:#d9e0e5;width:28px;height:1px}.create-plan-dialog .editor-section label{color:#3f4a54;gap:4px;font-size:13px;font-weight:600;display:grid}.create-plan-dialog select{background:#fff;border:1px solid #d9e0e5;border-radius:6px;min-height:36px;padding:6px 9px}.create-plan-text{color:#52606d;margin:0;font-size:13px}.optional-shifts{flex-wrap:wrap;gap:8px;display:flex}.optional-shifts label{color:#475569;background:#f1f5f7;border-radius:6px;align-items:center;gap:7px;padding:7px 10px;font-size:13px;display:flex}.optional-shifts input{accent-color:#292524}.review-section{gap:13px;max-height:410px;padding-right:2px;display:grid;overflow:auto}.review-summary{flex-wrap:wrap;gap:6px;display:flex}.review-summary span{color:#52606d;background:#eef2f4;border-radius:99px;padding:5px 8px;font-size:11px}.review-people{gap:6px;display:grid}.review-people article{background:#fff;border:1px solid #e0e6ea;border-radius:7px;overflow:hidden}.review-people article.has-entries{border-color:#d4dee4}.review-person{color:#3f4a54;text-align:left;background:0 0;border:0;grid-template-columns:135px 115px minmax(0,1fr) 18px;align-items:center;gap:7px;width:100%;min-height:42px;padding:7px 10px;display:grid}.review-person:hover:not(:disabled){background:#f8fafb}.review-person strong{font-size:13px}.review-person>span{color:#71808c;font-size:11px}.review-person>div{flex-wrap:wrap;gap:4px;display:flex}.review-person i,.review-details span{border-radius:99px;padding:3px 6px;font-size:10px;font-style:normal}.review-person i.vacation,.review-details .vacation{color:#15803d;background:#dcfce7}.review-person i.wish.soft,.review-details .wish.soft{color:#52606d;background:#eef2f4}.review-person i.wish.hard,.review-details .wish.hard{color:#b91c1c;background:#fee2e2}.review-person b{color:#71808c;font-size:13px}.review-details{border-top:1px solid #edf0f2;flex-wrap:wrap;gap:5px;padding:8px 10px;display:flex}.create-plan-dialog footer{border-top:0;justify-content:space-between;align-items:center;gap:10px;margin-top:0;padding-top:2px;display:flex}.create-plan-dialog footer>span{flex:1}.create-plan-dialog footer button{min-height:36px}.create-plan-dialog footer .secondary{margin-left:auto}.replan-confirmation{background:#fff;border-radius:14px;gap:16px;width:calc(100% - 32px);max-width:560px;padding:30px;display:grid}.replan-confirmation h3{color:#292524;margin:0;font-size:20px}.replan-confirmation p{color:#52606d;margin:0;font-size:14px;line-height:1.55}.replan-confirmation .replan-error{color:#b91c1c}.replan-confirmation footer{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.replan-confirmation footer button{min-height:38px}.replan-success{color:#2f5d43;z-index:60;background:#fff;border:1px solid #cfe0d5;border-radius:10px;align-items:center;gap:9px;max-width:calc(100vw - 32px);padding:10px 10px 10px 12px;font-size:13px;font-weight:600;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 10px 24px #2925241f}.replan-success>span{background:#e7f4ea;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}.replan-success button{box-shadow:none;color:#64748b;background:0 0;border:0;justify-content:center;align-items:center;width:22px;height:22px;min-height:22px;padding:0;font-size:18px;display:inline-flex}.replan-success button:hover:not(:disabled){box-shadow:none;color:#334155;background:0 0}.availability-editor{gap:18px}.availability-block,.preferences-section{gap:9px;display:grid}.section-heading{justify-content:space-between;align-items:center;display:flex}.section-heading h4,.preferences-section h4{margin:0;font-size:14px}.availability-entry{background:#eaf0f4;border-radius:8px;align-items:center;gap:8px;padding:9px;display:grid}.vacation-entry{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}.wish-entry{grid-template-columns:120px auto minmax(0,1fr) auto}.availability-entry input{background:#fff;min-width:0}.availability-entry button{min-height:36px}.strength-choice{background:0 0;gap:3px;display:flex}.strength-choice button{color:#667085;background:0 0;border:0;min-height:32px;padding:0 8px}.strength-choice button.active{color:#292524;background:#fff;border-radius:5px}.availability-list{gap:5px;display:grid}.saved-availability{color:#52606d;background:#f8fafb;border-radius:6px;justify-content:space-between;align-items:center;min-height:34px;padding:4px 7px 4px 10px;font-size:13px;display:flex}.empty-note{color:#8a969f;margin:0;font-size:13px}.past-toggle{color:#52606d;align-items:center;gap:6px;font-size:12px;display:flex}.past-toggle input{width:auto;min-height:auto}.preferences-section>label{color:#3f4a54;font-size:13px;font-weight:600}.preferences-section .field-description{line-height:1.45}.preference-grid-wrap{overflow-x:auto}.preference-grid{grid-template-columns:52px repeat(7,58px);gap:5px;min-width:485px}.preference-grid>strong{text-align:center;align-self:center}.preference-grid>strong:nth-child(8n+1){text-align:left}.preference-cell{white-space:nowrap;height:34px;min-height:34px;padding:0 3px;font-size:10px;overflow:hidden}.preference-cell.neutral{color:#9aa5ad;background:#fff;border-color:#d9e0e5}.preferences-section textarea{resize:vertical;border-color:#d9e0e5;border-radius:6px;min-height:64px;padding:8px 9px}.choice-slider button:hover:not(:disabled),.strength-choice button:hover:not(:disabled){color:#3f4a54;background:0 0;font-weight:600}.choice-slider button.active:hover:not(:disabled),.strength-choice button.active:hover:not(:disabled){color:#292524;background:#fff}.preference-cell:hover:not(:disabled){background:inherit;color:inherit;font-weight:600}.preference-cell.positive:hover:not(:disabled){color:#15803d;background:#dcfce7}.preference-cell.negative:hover:not(:disabled){color:#b91c1c;background:#fee2e2}.preference-cell.neutral:hover:not(:disabled){color:#9aa5ad;background:#fff}.month-back:hover:not(:disabled),.header-delete:hover:not(:disabled),.month-options button:hover:not(:disabled){color:#292524;background:0 0;font-weight:600}.day-chips button:hover:not(:disabled){color:#3f4a54;background:#fff;font-weight:600}.day-chips button.active:hover:not(:disabled){color:#2f3b45;background:#edf2f5}.delete-confirmation{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:12px 14px;display:flex}.delete-confirmation p{margin:0;font-size:13px;font-weight:600}.delete-confirmation>div{flex:none;gap:10px;display:flex}.delete-confirmation .secondary{color:#475569;background:#fff;border-color:#d9e0e5}.confirm-delete{background:#dc2626;border-color:#dc2626}.confirm-delete:hover:not(:disabled){background:#b91c1c}.shift-table-wrap{background:#fff;border:1px solid #d9e0e5;border-radius:9px;overflow:auto}.shift-table{border-collapse:collapse;width:100%;min-width:680px}.shift-table th,.shift-table td{text-align:left;border-bottom:1px solid #edf0f2;padding:12px 16px}.shift-table thead th{color:#667085;letter-spacing:.06em;text-transform:uppercase;background:#f3f6f8;font-size:11px;font-weight:600}.shift-table tbody tr:last-child th,.shift-table tbody tr:last-child td{border-bottom:0}.shift-table tbody th{font-size:14px;font-weight:600}.shift-table td{color:#52606d;font-size:13px}.difficulty-badge{color:#52606d;background:#eef2f4;border-radius:99px;padding:4px 8px;font-size:12px;display:inline-block}.qualification-cell{color:#78716c!important}.shift-actions{white-space:nowrap;text-align:right!important}a{color:inherit}button,input{font:inherit}button{background:var(--primary);border:1px solid var(--primary);color:#fff;cursor:pointer;border-radius:6px;min-height:38px;padding:0 14px}button:disabled{cursor:not-allowed;opacity:.55}button:hover:not(:disabled){color:var(--foreground);background:#f5f4f2;border-color:#c8c3bd}input{border:1px solid var(--border);border-radius:6px;min-height:38px;padding:8px 10px}.app-shell{min-height:100vh}.app-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;min-height:56px;padding:0 24px;display:flex}.brand-link{font-weight:700;text-decoration:none}.nav-links{gap:12px;display:flex}.nav-link{color:var(--muted);border-radius:6px;padding:8px 10px;text-decoration:none}.nav-link[aria-current=page]{color:var(--foreground);background:#eeece9}@media (max-width:720px){.planning-shell,.planning-shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.planning-sidebar{align-items:center;padding:14px 8px}.planning-sidebar h1,.planning-sidebar .create-plan span+span,.planning-sidebar nav button>span:not(.nav-icon),.planning-user>span:last-child,.sidebar-toggle{display:none}.sidebar-top,.planning-sidebar nav{width:100%}.planning-sidebar nav button{justify-content:center;padding:0}.create-plan{width:40px;height:40px;padding:0}.planning-main{padding:24px 16px}.planning-header{flex-direction:column}.planning-actions{justify-content:flex-start}.plan-actions{flex-wrap:wrap}.workload-card{grid-template-columns:1fr 50px 22px}.workload-chart{grid-area:2/1/auto/-1}.employee-editor{max-height:calc(100vh - 24px);padding:18px}.editor-tabs{flex-wrap:nowrap}.editor-date-grid{grid-template-columns:1fr}.availability-row{grid-template-columns:1fr auto 1fr 32px}.availability-row .hard-chip{grid-column:1/-1;justify-self:start}.employee-editor footer{flex-wrap:wrap}.employee-editor footer>span{display:none}.employee-editor footer .secondary{margin-left:auto}.create-employee-dialog{max-height:calc(100vh - 24px);padding:18px}.create-employee-dialog footer{flex-wrap:wrap}.create-employee-dialog footer>span{display:none}.create-employee-dialog footer .secondary{margin-left:auto}.shift-editor{max-height:calc(100vh - 24px);padding:18px}.shift-time-grid{grid-template-columns:1fr}.shift-editor footer{flex-wrap:wrap}.shift-editor footer>span{display:none}.shift-editor footer .secondary{margin-left:auto}.create-plan-dialog{max-height:calc(100vh - 24px);padding:18px}.review-person{grid-template-columns:1fr 18px}.review-person>span,.review-person>div{grid-column:1/-1}.create-plan-dialog footer{flex-wrap:wrap}.create-plan-dialog footer>span{display:none}.create-plan-dialog footer .secondary{margin-left:auto}.replan-confirmation{padding:24px}.vacation-entry,.wish-entry{grid-template-columns:1fr}.availability-entry>span{display:none}.strength-choice{justify-content:flex-start}.delete-confirmation{flex-direction:column;align-items:flex-start}.delete-confirmation>div{flex-wrap:wrap;justify-content:flex-end;align-self:flex-end}.dashboard-cards{grid-template-columns:1fr}}.page{max-width:920px;margin:0 auto;padding:48px 24px}.narrow-page{max-width:440px;margin:0 auto;padding:64px 24px}.form-stack,.panel-stack{gap:16px;display:grid}.field{gap:6px;display:grid}.checkbox-field,.actions-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.error-text{color:var(--danger)}.session-list{gap:12px;display:grid}.session-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.session-item h2{margin:0 0 6px;font-size:18px}.session-item p{margin:0 0 4px}.session-actions{justify-items:end;gap:8px;display:grid}.station-view{min-width:0}.station-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.station-toolbar h3{margin:0;font-size:18px}.station-toolbar p{color:var(--muted);margin:5px 0 0;font-size:12px}.station-summary{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.station-summary span{border-radius:99px;padding:5px 8px;font-size:11px}.station-summary .ok{color:#166534;background:#ecfdf3}.station-summary .hard,.station-invariants .hard{color:#9f1239;background:#fff1f2}.station-summary .soft,.station-invariants .soft{color:#92400e;background:#fffbeb}.station-alert{border-left:3px solid;border-radius:5px;margin:8px 0;padding:10px 12px;font-size:13px}.hard-alert{color:#9f1239;background:#fff1f2;border-color:#e11d48}.soft-alert{color:#92400e;background:#fffbeb;border-color:#f59e0b}.station-grid-wrap{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:auto}.station-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:900px}.station-grid th,.station-grid td{text-align:left;vertical-align:middle;border-bottom:1px solid #eeeae5;border-right:1px solid #eeeae5;padding:0}.station-grid thead th{color:#57534e;text-align:center;z-index:3;background:#faf9f7;height:54px;padding:8px 10px;font-size:12px;position:sticky;top:0}.station-grid thead th:first-child{text-align:left;z-index:4;min-width:200px;left:0}.station-grid thead th span,.station-grid thead th small{display:block}.station-grid thead th small{color:var(--muted);margin-top:3px;font-size:10px;font-weight:400}.station-area th{color:#44403c;letter-spacing:.04em;text-align:left;text-transform:uppercase;background:#f1f0ed;border-right:0;padding:7px 10px;font-size:12px}.station-area th small{color:var(--muted);margin-left:6px;font-size:10px;font-weight:400}.area-swatch{border-radius:2px;width:9px;height:9px;margin-right:7px;display:inline-block}.station-area-HAUS .area-swatch{background:#64748b}.station-area-NOTAUFNAHME .area-swatch{background:#b45309}.station-area-INTENSIV .area-swatch{background:#9f1239}.station-area-NAW .area-swatch{background:#166534}.station-group th{color:#fff;letter-spacing:.08em;text-align:left;text-transform:uppercase;background:#292524;padding:8px 10px;font-size:11px}.station-slot>th{z-index:2;background:#fff;min-width:200px;padding:8px 10px;font-size:12px;font-weight:600;position:sticky;left:0}.station-slot>th span,.station-slot>th small{display:block}.station-slot>th small{color:var(--muted);margin-top:2px;font-size:10px;font-weight:400}.station-slot>th em{color:#a8a29e;text-transform:uppercase;margin-top:3px;font-size:9px;font-style:normal;font-weight:400;display:block}.station-slot td{min-width:112px;height:63px}.station-cell-button{color:var(--foreground);text-align:left;background:0 0;border:0;border-radius:0;align-items:stretch;width:100%;min-height:62px;padding:4px;display:flex}.station-cell-button:hover,.station-cell-button:focus-visible,.station-cell-button[aria-pressed=true]{background:#f5f4f2;outline:none}.station-cell-button[aria-pressed=true]{box-shadow:inset 0 0 0 2px #57534e}.station-segments{gap:2px;width:100%;min-width:0;display:flex}.station-segment{background:#e7edf0;border-left:3px solid #64748b;border-radius:3px;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:5px;display:flex;overflow:hidden}.station-segment strong{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:11px;line-height:1.15;overflow:hidden}.station-segment small{color:#64748b;white-space:nowrap;margin-top:3px;font-size:9px}.station-segment.training{background:repeating-linear-gradient(-45deg,#fff,#fff 4px,#e7edf0 4px 8px);border:1px dashed #64748b}.station-segments.count-2 .station-segment:first-child{border-left-color:#b45309}.station-segments.count-3 .station-segment:nth-child(2){border-left-color:#9f1239}.station-empty{color:#a8a29e;text-align:center;width:100%;font-size:13px;display:block}.secondary-slot>th{color:#78716c;font-weight:400}.station-summary-row th{z-index:2;background:#faf9f7;padding:9px 10px;font-size:12px;font-weight:600;position:sticky;left:0}.station-summary-row td{vertical-align:top;background:#faf9f7;padding:6px}.station-summary-row.available th{border-top:2px solid #94a3b8}.station-summary-row.absence th{color:#78716c}.person-chip{background:#fff;border:1px solid #e7e5e4;border-radius:3px;margin:2px 0;padding:3px 4px;font-size:10px;display:block}.person-chip small{color:var(--muted)}.station-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 16px;margin:12px 0;font-size:11px;display:flex}.station-legend span{align-items:center;gap:5px;display:flex}.station-legend i{width:16px;height:10px;display:inline-block}.legend-solid{background:#e7edf0;border-left:3px solid #64748b}.legend-dashed{background:repeating-linear-gradient(-45deg,#fff,#fff 3px,#e7edf0 3px 6px);border:1px dashed #64748b}.legend-split{background:linear-gradient(90deg,#e7edf0 48%,#fff 48% 52%,#e7edf0 52%);border-left:3px solid #b45309}.legend-muted{border-bottom:1px dotted #a8a29e}.station-invariants{max-width:900px}.station-invariants h4{margin:14px 0 6px;font-size:13px}.station-invariants p{border-radius:5px;margin:4px 0;padding:5px 8px;font-size:11px}.station-invariants p strong{margin-right:5px}.station-loading{color:var(--muted);padding:20px 0}.vacation-type-select{color:#3f4a54;gap:4px;max-width:260px;font-size:13px;font-weight:600;display:grid}.vacation-type-select select{font-weight:400}.planning-main>.planning-grid,.planning-main>.plan-actions{display:none}.station-view-toggle{background:#eef2f4;border-radius:7px;align-self:flex-start;margin:0 0 14px;padding:3px}.station-export-menu{justify-content:flex-end;align-self:flex-end;width:max-content;margin:0 0 8px auto;display:flex}.station-export-menu>button{border:1px solid var(--border);color:var(--foreground);background:#fff;width:auto;height:32px;min-height:32px;padding:0 10px;font-size:12px}section.planning-header:has(+.station-view-toggle) .planning-actions>button:nth-of-type(3){display:none}.employee-day-view{min-width:0}.employee-day-caption{color:#667085;align-items:center;gap:12px;margin:0 0 10px;display:flex}.employee-day-caption strong{color:#292524;font-size:14px}.employee-day-caption span{font-size:11px}.employee-day-grid-wrap{border:1px solid var(--border);background:#fff;border-radius:8px;max-height:calc(100vh - 205px);overflow:auto}.employee-day-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content;font-size:12px}.employee-day-grid th,.employee-day-grid td{text-align:center;border-bottom:1px solid #f0eeeb;border-right:1px solid #f0eeeb;min-width:58px;padding:5px}.employee-day-grid thead th{z-index:3;background:#faf9f7;height:42px;position:sticky;top:0}.employee-day-grid thead th:first-child,.employee-day-grid tbody th{text-align:left;z-index:2;background:#fff;min-width:180px;position:sticky;left:0}.employee-day-grid thead th:first-child{z-index:4;background:#faf9f7}.employee-day-grid tbody th span{font-weight:600;display:block}.employee-day-grid small{color:#a8a29e;margin-top:2px;font-size:10px;font-weight:400;display:block}.employee-day-grid thead th span{font-size:13px;display:block}.employee-day-grid thead th small{text-transform:capitalize}.employee-day-grid td.weekend{background:#fbfcfd}.employee-day-grid th.weekend{background:#f1f5f7}.employee-day-grid td.holiday,.employee-day-grid th.holiday{background:#f5f0f8}.employee-entry{border:1px solid #0000;border-left:4px solid var(--entry-area,#475569);color:#292524;cursor:help;background:#fff;border-radius:4px;justify-content:center;align-items:center;width:100%;min-height:28px;padding:3px 4px;font-family:inherit;font-size:11px;font-weight:700;display:flex;position:relative}.employee-entry.regular{border-left-color:var(--entry-area,#64748b);color:#78716c;background:#f5f5f4;font-weight:500}.employee-entry.explicit.early{background:#fff7cc}.employee-entry.explicit.late{background:#ffe8cf}.employee-entry.explicit.night{background:#f4dfe2}.employee-entry.absence{color:#78716c;border-left:0;font-weight:500}.employee-entry.training{border-style:dashed}.employee-entry.locked .entry-pin{color:#292524;font-size:7px;position:absolute;bottom:1px;right:2px}.employee-tooltip{color:#fff;pointer-events:none;z-index:30;background:#292524;border-radius:6px;gap:4px;max-width:290px;padding:10px 12px;font-size:12px;display:grid;position:fixed;box-shadow:0 8px 24px #2925243d}.employee-tooltip strong{margin-bottom:2px;font-size:13px}.employee-tooltip span{color:#e7e5e4;line-height:1.35}@page{size:A3 landscape;margin:10mm}@media print{.planning-sidebar,.planning-header,.station-view-toggle,.station-export-menu,.plan-actions,.employee-tooltip,.month-options{display:none!important}.planning-shell{min-height:0;display:block}.planning-main{padding:0}.station-grid-wrap,.employee-day-grid-wrap{border:0;max-height:none;overflow:visible}.station-grid,.employee-day-grid{width:100%;min-width:0}.station-grid th,.station-grid td,.employee-day-grid th,.employee-day-grid td{position:static!important}.station-grid thead,.employee-day-grid thead{display:table-header-group}.station-cell-button,.employee-entry{break-inside:avoid}.employee-day-grid th:first-child,.employee-day-grid thead th:first-child{min-width:150px}.station-view,.employee-day-view{break-inside:auto}}
