:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f4f6f8;line-height:1.45}*{box-sizing:border-box}body{margin:0}.topbar{height:68px;background:#101826;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,52px);position:sticky;top:0;z-index:10;box-shadow:0 3px 18px #0002}.brand{display:flex;align-items:baseline;gap:12px}.brand a{font-weight:800;font-size:20px;color:white;text-decoration:none}.brand span{font-size:12px;color:#aeb8c8}.topbar nav{display:flex;gap:8px}.topbar nav a{color:#dbe3ee;text-decoration:none;padding:9px 12px;border-radius:8px}.topbar nav a:hover{background:#ffffff12}.page{max-width:1480px;margin:auto;padding:32px clamp(14px,3vw,42px) 60px}.hero,.month-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.month-nav>div{text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#687386;font-size:11px;margin:0 0 4px}h1{font-size:clamp(28px,4vw,44px);margin:0;line-height:1.06}h2{font-size:18px;margin:0 0 18px}.muted{color:#6f7888}.small{font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat{background:white;border:1px solid #e4e8ee;border-radius:14px;padding:18px 20px;box-shadow:0 8px 22px #20304a0b}.stat span{display:block;color:#707a89;font-size:12px;margin-bottom:5px}.stat strong{font-size:24px}.positive{color:#157347}.negative{color:#b42318}.grid{display:grid;gap:18px;margin-top:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid #e2e7ed;border-radius:14px;padding:20px;box-shadow:0 8px 22px #20304a0a}.table-card{padding:0;overflow:hidden}.card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px}.card-head h2{margin:0}.badge{font-size:11px;padding:5px 9px;background:#eaf4ff;color:#1e5da8;border-radius:999px}.badge.closed{background:#edf0f4;color:#586271}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #cfd6df;background:white;color:#253043;border-radius:9px;padding:9px 13px;text-decoration:none;font:inherit;cursor:pointer}.button:hover{background:#f7f9fb}.button.primary{background:#1d5fd1;border-color:#1d5fd1;color:#fff}.button.warning{background:#fff5df;border-color:#f1c86f}.button.icon{font-size:20px;width:42px;height:42px;padding:0}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.toolbar form{margin:0}.summary-list{margin:0}.summary-list>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eef1f4}.summary-list>div:last-child{border:0}.summary-list dt{color:#687386}.summary-list dd{margin:0;font-weight:700}.ok{color:#157347}.table-wrap{overflow:auto}.time-table{width:100%;border-collapse:collapse;min-width:1240px;font-size:13px}.time-table th,.time-table td{padding:8px 7px;border-bottom:1px solid #edf0f3;text-align:left;vertical-align:middle}.time-table thead th{position:sticky;top:0;background:#f8fafc;z-index:1;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#697383}.time-table tfoot th{background:#fafbfc}.time-table tr.weekend,.time-table tr.holiday{background:#eef1f4}.time-table tr.today{background:#fff3b8}.time-table tr.vacation{background:#e4f0ff}.time-table tr.sick{background:#fde7e7}.time-table tr.today.vacation{background:#e4f0ff;box-shadow:inset 4px 0 0 #d39e00}.time-table tr.today.sick{background:#fde7e7;box-shadow:inset 4px 0 0 #d39e00}.time-table tr.today.holiday,.time-table tr.today.weekend{background:#fff3b8}.time-table td small{display:block;color:#596273;font-size:10px;max-width:100px}.time-table input[type=time]{width:94px}.time-table .minutes-input{width:68px}.time-table select{max-width:155px}.time-table input,.time-table select,.stack input,.stack select,.stack textarea,.form-row input,.form-row select{border:1px solid #cfd7e1;border-radius:7px;padding:7px 8px;background:#fff;font:inherit;color:#172033}.actions{width:30px}.mini{border:1px solid #d5dce5;background:white;border-radius:7px;padding:5px 8px;cursor:pointer}.stack{display:grid;gap:13px}.stack label{display:grid;gap:5px;font-size:12px;color:#5f6979}.form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form-row input{flex:1;min-width:200px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.week-grid input{width:100%}.version-list,.list{display:grid;margin-top:16px}.version-list a,.list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #edf0f3;text-decoration:none;color:inherit}.version-list small{color:#7a8493}.rule-box{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #edf0f3}.rule-box p{margin:0}.rule-box strong{white-space:nowrap}.schedule{padding:10px 0;border-bottom:1px solid #edf0f3}.schedule small{display:block;color:#6f7888;margin-top:4px}.pad-top{padding-top:14px}.inline{display:flex;gap:5px}.inline select{width:55px}.inline input{flex:1}.top-space{margin-top:20px}.footer{text-align:center;color:#8a93a1;padding:20px;font-size:12px}details summary{cursor:pointer;margin-top:15px;color:#1d5fd1}
@media(max-width:900px){.stats{grid-template-columns:1fr 1fr}.grid.two{grid-template-columns:1fr}.topbar{height:auto;align-items:flex-start;gap:12px;padding-top:13px;padding-bottom:13px}.topbar nav{flex-wrap:wrap}.brand span{display:none}.week-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.page{padding-top:22px}.stats{grid-template-columns:1fr 1fr}.stat{padding:14px}.stat strong{font-size:19px}.topbar{display:block}.topbar nav{margin-top:8px}.form-grid{grid-template-columns:1fr}.hero{align-items:flex-start}.month-nav h1{font-size:27px}}

.time-table td small.cap-note{color:#b42318;font-size:10px;max-width:130px;line-height:1.25;margin-top:2px}
.vacation-account{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;margin:0 0 18px;padding:14px 18px}.vacation-account>div{display:flex;flex-direction:column;gap:3px}.vacation-account span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#697383}.vacation-account strong{font-size:15px}
@media(max-width:700px){.vacation-account{grid-template-columns:1fr}.vacation-account>div{padding-bottom:8px;border-bottom:1px solid #edf0f3}.vacation-account>div:last-child{border-bottom:0;padding-bottom:0}}

/* v0.4 Komfortfunktionen */
.month-nav-actions{display:flex;align-items:center;gap:8px}.lock-notice,.missing-notice{border-radius:10px;padding:11px 14px;margin:0 0 14px}.lock-notice{background:#eef1f4;border:1px solid #d8dee6;color:#4d5969}.missing-notice{background:#fff1db;border:1px solid #f0c987;color:#754b00}.bulk-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #e2e7ed;border-radius:12px;padding:11px 14px;margin:0 0 14px}.bulk-toolbar select{border:1px solid #cfd7e1;border-radius:7px;padding:7px 9px;background:#fff}.select-col{width:34px;text-align:center!important}.row-select,.select-col input{width:17px;height:17px;accent-color:#1d5fd1}.time-table tr.missing{background:#fff1db;box-shadow:inset 4px 0 0 #e39a2d}.time-table tr.today.missing{background:#fff3b8;box-shadow:inset 4px 0 0 #e39a2d}.time-table tr.vacation.missing{background:#e4f0ff;box-shadow:none}.time-table tr.sick.missing{background:#fde7e7;box-shadow:none}.time-table td small.missing-note{color:#a45600;font-weight:700;max-width:none}.vacation-account{grid-template-columns:2fr 1fr 1fr auto;align-items:center}.vacation-link{align-items:flex-end!important}.year-table,.simple-table{width:100%;border-collapse:collapse;font-size:13px;min-width:900px}.year-table th,.year-table td,.simple-table th,.simple-table td{padding:10px 9px;border-bottom:1px solid #edf0f3;text-align:left;white-space:nowrap}.year-table thead th,.simple-table thead th{background:#f8fafc;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#697383;position:sticky;top:0}.year-table tfoot th{background:#fafbfc}.year-table a,.simple-table a{color:#1d5fd1;text-decoration:none}.pdf-status{text-decoration:none;font-weight:700}.small-value{font-size:15px!important}.danger{color:#b42318}.toolbar .button{white-space:nowrap}
@media(max-width:900px){.vacation-account{grid-template-columns:1fr 1fr}.vacation-link{align-items:flex-start!important}.month-nav-actions{flex-wrap:wrap}}
@media(max-width:560px){.month-nav{align-items:flex-start}.month-nav-actions{flex-direction:column}.bulk-toolbar{align-items:stretch}.bulk-toolbar .button{width:100%}}

/* v0.5 Selbstständige Tätigkeit */
.section-label{margin-top:28px}.compact-list>div{align-items:center}.compact-list span{display:flex;flex-direction:column}.compact-list small{color:#7a8493}.compact-list a{color:#1d5fd1;text-decoration:none}.pad-card{padding:18px 20px 0}.project-table{min-width:1050px}.muted-row{opacity:.68}.client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-item{border:1px solid #e2e7ed;border-radius:10px;padding:12px 14px;background:#fafbfc}.client-item summary{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0;color:#172033}.client-item summary span{font-size:12px}.checkbox-label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important;color:#172033!important}.checkbox-label input{width:17px;height:17px;accent-color:#1d5fd1}.or-separator{display:flex;align-items:center;gap:10px;color:#8b94a2;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.or-separator:before,.or-separator:after{content:"";height:1px;background:#e2e7ed;flex:1}.stack label small{color:#77808f;font-size:11px}.self-entry-table{width:100%;border-collapse:collapse;min-width:1200px;font-size:13px}.self-entry-table th,.self-entry-table td{padding:8px 7px;border-bottom:1px solid #edf0f3;text-align:left;vertical-align:middle}.self-entry-table thead th{background:#f8fafc;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#697383}.self-entry-table tfoot th{background:#fafbfc}.self-entry-table input{border:1px solid #cfd7e1;border-radius:7px;padding:6px 7px;font:inherit;color:#172033;background:#fff}.self-entry-table input[type=date]{width:135px}.self-entry-table input[type=time]{width:94px}.duration-input{width:72px}.description-input{width:320px}.center{text-align:center!important}.nowrap{white-space:nowrap}.self-month-table{min-width:1150px}.project-meta{display:flex;gap:10px;flex-wrap:wrap}.project-meta span{background:#f3f6f9;border-radius:8px;padding:6px 9px;font-size:12px}
@media(max-width:900px){.client-grid{grid-template-columns:1fr}.project-table{min-width:900px}}

/* v0.5.1 – klar getrennte Hauptnavigation */
.topbar{min-height:74px;height:auto;padding-top:8px;padding-bottom:8px;gap:20px}
.main-nav{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
.topbar .main-nav>a,.nav-area a{color:#dbe3ee;text-decoration:none}
.nav-standalone{padding:10px 11px;border-radius:9px;white-space:nowrap}
.nav-standalone:hover,.nav-standalone.active{background:#ffffff14;color:#fff}
.nav-area{display:flex;flex-direction:column;gap:2px;border:1px solid #ffffff1a;background:#ffffff08;border-radius:11px;padding:5px 7px 6px;min-width:max-content;transition:background .15s,border-color .15s}
.nav-area-label{font-size:9px;line-height:1.1;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#9eabbd;padding:0 5px}
.nav-area-links{display:flex;align-items:center;gap:2px}
.nav-area-links a{font-size:13px;padding:5px 7px;border-radius:7px;white-space:nowrap}
.nav-area-links a:hover{background:#ffffff10;color:#fff}
.nav-area.employee.active{background:#1d5fd126;border-color:#6f9eea80}
.nav-area.employee.active .nav-area-label{color:#9fc1ff}
.nav-area.employee .nav-area-links a.active{background:#2b6fd2;color:#fff}
.nav-area.self-employed.active{background:#16866b26;border-color:#65b9a680}
.nav-area.self-employed.active .nav-area-label{color:#92d8c8}
.nav-area.self-employed .nav-area-links a.active{background:#247f6b;color:#fff}
@media(max-width:1120px){
  .topbar{align-items:flex-start;flex-direction:column;gap:8px}
  .main-nav{width:100%;flex-wrap:wrap}
}
@media(max-width:700px){
  .main-nav{align-items:stretch;gap:7px}
  .nav-area{flex:1 1 100%;width:100%}
  .nav-area-links{justify-content:space-between}
  .nav-area-links a{flex:1;text-align:center}
  .nav-standalone{flex:1;text-align:center}
}

/* v0.5.2 – Anmeldung, Benutzertrennung und Administration */
.user-menu{display:flex;align-items:center;gap:10px;margin-left:auto;color:#eef3f8;min-width:max-content}
.user-menu>span{display:flex;flex-direction:column;line-height:1.15;text-align:right}.user-menu small{color:#9eabbd;font-size:10px;margin-top:2px}.logout-button{color:#172033;background:#fff}
.auth-page{margin:0;min-height:100vh;background:linear-gradient(145deg,#101a2b,#192842 60%,#123b35);display:grid;place-items:center;padding:22px;color:#172033}
.auth-shell{width:min(100%,520px)}.auth-card{background:#fff;border-radius:18px;padding:30px;box-shadow:0 25px 70px #0005}.auth-card.wide{width:min(100%,620px)}.auth-brand{font-size:27px;font-weight:900;letter-spacing:.06em;color:#14233a;margin-bottom:24px}.auth-card h1{margin-top:0}.auth-submit{width:100%;justify-content:center;margin-top:4px}.auth-error{background:#fde7e7;border:1px solid #efb6b6;color:#8f1f1f;border-radius:9px;padding:10px 12px;margin:12px 0 16px}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;padding:10px 0}.admin-user-list{display:grid;gap:14px}.admin-user-card details{border-top:1px solid #edf0f3;margin-top:14px;padding-top:4px}.admin-user-card details summary{font-weight:700}.user-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.user-meta span{background:#f3f6f9;border-radius:8px;padding:7px 9px;font-size:12px}.danger-button{border-color:#e4a2a2!important;color:#a61b1b!important;background:#fff5f5!important}.no-margin{margin:0}.compact-hero{padding:10px 0 2px}.compact-hero h2{font-size:22px;margin:0}.auth-card label small{color:#77808f;font-size:11px}
@media(max-width:1260px){.user-menu{width:100%;justify-content:flex-end;margin-left:0}.topbar{flex-wrap:wrap}}
@media(max-width:700px){.user-menu{justify-content:space-between}.user-menu>span{text-align:left}.permission-grid{grid-template-columns:1fr}.auth-card{padding:22px}}
