:root{--bg:#eef1f4;--card:#fff;--text:#15171a;--muted:#707781;--accent:#e0202a;--accent-dark:#b80f18;--ink:#11151b;--ink2:#1b222c;--line:#e5e8ec;--ok:#178650;--warn:#b56a00;--shadow:0 16px 42px rgba(12,18,28,.10);--radius:18px}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(145deg,#0c1016 0,#1d252f 260px,var(--bg) 260px);color:var(--text);min-height:100vh}a{color:inherit}.shell{max-width:1180px;margin:auto;padding:20px}.topbar{display:flex;align-items:center;justify-content:space-between;color:#fff;padding:5px 2px 26px;gap:18px}.brand{display:flex;align-items:center;gap:11px;font-weight:950;letter-spacing:.08em;font-size:1rem}.brandmark{width:39px;height:39px;border-radius:11px;background:var(--accent);display:grid;place-items:center;font-size:.82rem;box-shadow:0 8px 24px rgba(224,32,42,.35)}.brand span{color:#ff4c53}.nav{display:flex;align-items:center;gap:14px;font-size:.92rem}.nav a{color:#fff;text-decoration:none;opacity:.88}.nav a:hover{opacity:1}.hero-title{color:#fff;margin:4px 0 18px;font-size:clamp(1.75rem,4vw,2.45rem);letter-spacing:-.035em}.hero-sub{color:#bfc8d2;margin:-10px 0 20px}.card{background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.9);border-radius:var(--radius);box-shadow:var(--shadow);padding:21px;margin-bottom:18px}.card.soft{box-shadow:none;border-color:var(--line)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-12{grid-column:span 12}.metric-card{position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;right:-28px;top:-30px;background:rgba(224,32,42,.07)}.metric{font-size:2rem;font-weight:950;letter-spacing:-.04em}.metric.negative{color:var(--accent)}.metric.positive{color:var(--ok)}.muted{color:var(--muted)}.eyebrow{font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}h1,h2,h3{margin-top:0}h2{letter-spacing:-.025em}h3{margin-bottom:10px}label{font-weight:800;font-size:.88rem;display:block;margin-bottom:7px}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #dfe3e8;border-radius:12px;font-size:16px;background:#fff;color:#111;outline:none;transition:.16s border,.16s box-shadow}input:focus,select:focus,textarea:focus{border-color:#9aa4b1;box-shadow:0 0 0 4px rgba(31,41,55,.07)}textarea{min-height:96px;resize:vertical}input[type=file]{padding:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;padding:11px 15px;font-weight:850;text-decoration:none;cursor:pointer;background:var(--ink);color:#fff;min-height:42px;transition:.15s transform,.15s opacity}.btn:hover{transform:translateY(-1px)}.btn.red{background:linear-gradient(135deg,var(--accent),var(--accent-dark))}.btn.light{background:#f0f2f5;color:#15171a}.btn.green{background:var(--ok)}.btn.danger{background:#fff0f1;color:#a7131b}.btn.sm{padding:7px 10px;min-height:34px;font-size:.84rem}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.tablewrap{overflow:auto;border-radius:12px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:12px 11px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}th{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:#f7f8fa;white-space:nowrap}td.amount,th.amount{text-align:right;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#edf0f3;font-size:.78rem;font-weight:850;white-space:nowrap}.badge.locked{background:#ffe6e7;color:#a3151b}.badge.ok{background:#e8f7ef;color:#12643b}.badge.warn{background:#fff4dc;color:#84530b}.login{max-width:430px;margin:10vh auto;padding:0 18px}.login .card{padding:30px}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.flash{padding:12px 14px;background:#e8f7ef;color:#12643b;border:1px solid #cbeedb;border-radius:11px;margin-bottom:14px;font-weight:650}.error{background:#fde9ea;color:#8d1c20;border-color:#f6c8cb}.mobile-entry{display:grid;grid-template-columns:1fr 1fr;gap:13px}.mobile-entry .wide{grid-column:1/-1}.big-hours input{font-size:2rem;font-weight:950;text-align:center;padding:17px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.empty{padding:26px;text-align:center;color:var(--muted)}.person-row{padding:16px 0;border-bottom:1px solid var(--line)}.person-row:last-child{border-bottom:0}.person-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.receipt-link{text-decoration:none;font-weight:800;color:#b7131d}.receipt-link:hover{text-decoration:underline}.totals{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.totalbox{background:#f5f6f8;border-radius:14px;padding:14px}.totalbox.net{background:#161b22;color:#fff}.totalbox.net .muted{color:#bdc4cd}.big-total{font-size:1.3rem;font-weight:950;margin-top:4px}.hint{font-size:.86rem;color:var(--muted);line-height:1.45}.divider{height:1px;background:var(--line);margin:20px 0}
@media(max-width:780px){body{background:linear-gradient(145deg,#0c1016 0,#1d252f 190px,var(--bg) 190px)}.shell{padding:13px}.grid{display:block}.grid>*{margin-bottom:13px}.topbar{align-items:flex-start;padding-bottom:20px}.brand{font-size:.85rem}.brandmark{width:34px;height:34px}.nav{font-size:.82rem;gap:8px}.nav span{display:none}.card{border-radius:15px;padding:16px}.mobile-entry{grid-template-columns:1fr}.mobile-entry .wide{grid-column:auto}.actions.stack-mobile{display:grid;grid-template-columns:1fr 1fr}.actions.stack-mobile .btn{width:100%}.metric{font-size:1.65rem}.hide-mobile{display:none}.totals{grid-template-columns:1fr 1fr}th,td{padding:10px 8px;font-size:.9rem}.hero-title{margin-top:0}.toolbar>form{width:100%}.toolbar>form .actions{width:100%}.toolbar>form input{flex:1}.freelancer-save{position:sticky;bottom:10px;z-index:5;box-shadow:0 8px 24px rgba(224,32,42,.25)}}
@media(max-width:460px){.totals{grid-template-columns:1fr}.actions.stack-mobile{grid-template-columns:1fr}.topbar{gap:8px}.brand{letter-spacing:.04em}.brandmark{display:none}}
@media print{body{background:#fff}.topbar,.actions,.no-print{display:none!important}.shell{max-width:none;padding:0}.card{box-shadow:none;border:0;padding:0}.tablewrap{border:0}}

/* 4Wheel Store Original-CI */
.brand-logo-wrap{background:#fff;border-radius:12px;padding:5px 8px;box-shadow:0 8px 24px rgba(0,0,0,.18);display:flex;align-items:center}
.brand-logo{display:block;width:118px;height:auto;max-height:52px;object-fit:contain}
.brand-title{font-size:.9rem;white-space:nowrap}
.brand-title span{color:#e0202a}
.login-logo{display:flex;justify-content:center;margin:-8px 0 22px}
.login-logo img{width:min(100%,285px);height:auto;display:block}
.login-brand{justify-content:center;text-align:center;margin-bottom:18px}
.login .card{border-top:5px solid var(--accent)}
@media(max-width:780px){.brand-logo{width:92px;max-height:42px}.brand-logo-wrap{padding:4px 6px;border-radius:9px}.brand-title{font-size:.75rem}}
@media(max-width:460px){.brand-title{display:none}.brand-logo{width:96px}.brandmark{display:none}}

/* Monatsabschluss & Stundenvortrag */
.close-card{border-top:5px solid var(--accent);background:linear-gradient(180deg,#fff 0,#fbfbfc 100%)}
.close-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;align-items:stretch;margin:16px 0}
.hours-input-wrap{position:relative;max-width:320px}.hours-input-wrap input{font-size:1.55rem;font-weight:950;padding-right:48px}.hours-input-wrap span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-weight:900;color:var(--muted)}
.close-preview{background:#f2f4f6;border:1px solid var(--line);border-radius:14px;padding:16px}.close-preview .metric{font-size:1.65rem}
.close-button{min-width:280px;padding:14px 18px}.totals.five{grid-template-columns:repeat(5,1fr)}
@media(max-width:780px){.close-grid{grid-template-columns:1fr}.close-button{width:100%;min-width:0}.totals.five{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.totals.five{grid-template-columns:1fr}}

/* V5: Monatsstatus & individuelle Stundenlöhne */
.status-card{border-left:5px solid var(--accent);padding:18px 21px}.status-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.status-title{font-size:1.35rem;font-weight:950;letter-spacing:-.025em;margin-bottom:4px}.status-percent{font-size:1.75rem;font-weight:950;color:var(--accent)}.progress-track{height:10px;background:#edf0f3;border-radius:999px;overflow:hidden;margin-top:15px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-dark));border-radius:999px;transition:width .25s ease}.wage-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#161b22;color:#fff;font-size:.8rem;font-weight:900}.freelancer-admin-grid{display:grid;grid-template-columns:1.1fr 1.25fr auto;gap:12px;align-items:end}.wage-form,.password-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.toggle-form{display:flex;align-items:end}.freelancer-admin-grid label{font-size:.78rem;margin-bottom:5px}
@media(max-width:900px){.freelancer-admin-grid{grid-template-columns:1fr}.wage-form,.password-form{grid-template-columns:1fr auto}.toggle-form .btn{width:100%}}
@media(max-width:520px){.status-head{align-items:flex-start}.status-percent{font-size:1.35rem}.status-title{font-size:1.15rem}.wage-form,.password-form{grid-template-columns:1fr}.wage-form .btn,.password-form .btn{width:100%}}
.rate-lock{font-size:.78em;opacity:.72;margin-left:4px;vertical-align:1px}
