:root{--green-950:#17291d;--green-900:#203c29;--green-800:#2f5d3a;--green-700:#3f7448;--green-100:#e8f1e4;--cream-50:#fffdf7;--cream-100:#fbf6e8;--cream-200:#f1e6cf;--sand-300:#d8c6a5;--brown-600:#8a5a35;--brown-700:#6e4427;--text:#213324;--muted:#6f765f;--white:#fff;--shadow:0 28px 90px #203c292e;--shadow-soft:0 18px 55px #203c291a;color:var(--text);background:var(--cream-100);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{background:var(--cream-100);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.kicker{color:var(--brown-600);letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:900}.kicker.light{color:#efe2bd}.brand-mark{width:fit-content;color:var(--cream-50);letter-spacing:-.08em;background:#fffdf71f;border:1px solid #fffdf740;border-radius:18px;align-items:center;gap:4px;padding:10px 12px;font-size:1.35rem;font-weight:950;display:flex}.brand-mark span:nth-child(2){color:#f2d597}.brand-mark.small{background:var(--green-900);color:#fff;border:0}.login-page{background:radial-gradient(circle at 14% 16%,#3f744847,#0000 28%),radial-gradient(circle at 82% 88%,#8a5a352e,#0000 30%),linear-gradient(135deg,#fffdf7 0%,#fbf6e8 52%,#f1e6cf 100%);justify-content:center;align-items:center;min-height:100vh;padding:28px;display:flex}.login-shell{width:min(1180px,100%);min-height:680px;box-shadow:var(--shadow);background:var(--white);border:1px solid #d8c6a5a6;border-radius:40px;grid-template-columns:1.05fr .95fr;display:grid;overflow:hidden}.login-brand{color:#fff;background:linear-gradient(135deg,#17291df5,#2f5d3aeb),radial-gradient(circle at 80% 20%,#ffffff2e,#0000 24%);flex-direction:column;justify-content:space-between;padding:54px;display:flex;position:relative;overflow:hidden}.login-brand:before,.login-brand:after{content:"";border:1px solid #fffdf729;border-radius:999px;position:absolute}.login-brand:before{width:340px;height:340px;top:-100px;right:-130px}.login-brand:after{width:260px;height:260px;bottom:-100px;left:-120px}.login-brand-content{z-index:1;position:relative}.login-brand h1{letter-spacing:-.08em;max-width:660px;margin:0 0 22px;font-size:clamp(3rem,6vw,5.8rem);line-height:.9}.login-brand p{color:#f5ead2;max-width:570px;margin:0;font-size:1.12rem;line-height:1.75}.value-list{z-index:1;gap:12px;display:grid;position:relative}.value-list div{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf71a;border:1px solid #fffdf729;border-radius:22px;padding:16px 18px}.value-list strong{color:var(--cream-50);margin-bottom:4px;display:block}.value-list span{color:#e9dcbf;font-size:.95rem}.login-panel{background:linear-gradient(#fffdf7f0,#fbf6e8f0);justify-content:center;align-items:center;padding:54px;display:flex}.login-card{width:100%;max-width:440px;box-shadow:var(--shadow-soft);background:#ffffffd6;border:1px solid #d8c6a5cc;border-radius:32px;padding:38px}.login-card h2{letter-spacing:-.06em;color:var(--green-950);margin:0;font-size:clamp(2.2rem,4vw,3.1rem);line-height:.95}.card-intro{color:var(--muted);margin:14px 0 30px;line-height:1.65}.login-form{gap:18px;display:grid}.login-form label{color:var(--green-950);gap:8px;font-size:.95rem;font-weight:800;display:grid}.login-form input{border:1px solid var(--sand-300);background:var(--cream-50);width:100%;min-height:54px;color:var(--green-950);border-radius:16px;outline:none;padding:0 16px;transition:border-color .18s,box-shadow .18s,background .18s}.login-form input::placeholder{color:#9c9b8a}.login-form input:focus{border-color:var(--green-800);background:#fff;box-shadow:0 0 0 4px #2f5d3a21}.login-form button{background:linear-gradient(135deg, var(--green-800), var(--green-900));color:#fff;border:0;border-radius:17px;min-height:56px;margin-top:6px;font-weight:900;transition:transform .16s,box-shadow .16s,opacity .16s;box-shadow:0 14px 28px #2f5d3a40}.login-form button:hover{transform:translateY(-2px);box-shadow:0 18px 36px #2f5d3a4d}.login-form button:disabled{opacity:.68;cursor:not-allowed;transform:none}.app-layout{background:radial-gradient(circle at 90% 5%, #3f744824, transparent 26%), var(--cream-100);grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--cream-50);border-right:1px solid #d8c6a5bf;flex-direction:column;gap:34px;min-height:100vh;padding:28px;display:flex;position:sticky;top:0}.sidebar-nav{gap:8px;display:grid}.sidebar-nav a{color:var(--muted);border-radius:16px;padding:13px 16px;font-weight:800}.sidebar-nav a.active{background:var(--green-100);color:var(--green-900)}.logout-button{background:var(--green-900);color:#fff;border:0;border-radius:16px;min-height:48px;margin-top:auto;font-weight:900}.dashboard-main{padding:30px}.dashboard-hero{color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#17291dfa,#2f5d3af0),radial-gradient(circle at 80% 15%,#ffffff2e,#0000 24%);border-radius:34px;justify-content:space-between;align-items:flex-start;gap:24px;padding:38px;display:flex}.dashboard-hero h1{letter-spacing:-.08em;margin:0 0 14px;font-size:clamp(2.6rem,5vw,5rem);line-height:.92}.dashboard-hero p{color:#f3e7c9;max-width:650px;margin:0;line-height:1.7}.user-pill{text-align:right;background:#fffdf71f;border:1px solid #fffdf733;border-radius:20px;min-width:150px;padding:14px 16px}.user-pill span,.user-pill strong{display:block}.user-pill span{color:#f6ecd7}.user-pill strong{color:#fff;text-transform:uppercase}.stats-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px;display:grid}.stat-card{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #d8c6a5bf;border-radius:26px;padding:24px}.stat-card.soft{background:var(--green-100)}.stat-card.warm{background:#fff3d9}.stat-card span{color:var(--brown-600);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:900}.stat-card strong{color:var(--green-950);letter-spacing:-.05em;margin:10px 0 6px;font-size:2.2rem;line-height:1;display:block}.stat-card p{color:var(--muted);margin:0}.content-card{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #d8c6a5bf;border-radius:30px;margin-top:24px;padding:28px}.section-header{margin-bottom:20px}.section-header h2{color:var(--green-950);letter-spacing:-.05em;margin:0;font-size:2rem}.table{border:1px solid var(--cream-200);background:var(--cream-50);border-radius:22px;overflow:hidden}.table-row{border-bottom:1px solid var(--cream-200);grid-template-columns:90px 1fr 150px;align-items:center;gap:14px;padding:16px 18px;display:grid}.table-row:last-child{border-bottom:0}.table-head{background:var(--green-100);color:var(--green-900);font-weight:900}.role-badge{background:var(--green-100);width:fit-content;color:var(--green-900);border-radius:999px;padding:7px 11px;font-weight:900}.empty-state{color:var(--muted);padding:22px}.message{border-radius:16px;margin-top:18px;padding:14px 16px;font-weight:800}.message.error{color:#991b1b;background:#fee2e2}.loading-page{background:var(--cream-100);place-items:center;min-height:100vh;display:grid}.loading-card{box-shadow:var(--shadow-soft);text-align:center;background:#fff;border-radius:28px;padding:30px}@media (width<=980px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:430px}.app-layout{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;min-height:auto;position:static;overflow-x:auto}.sidebar-nav{grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}.logout-button{margin-top:0;margin-left:auto;padding:0 18px}.stats-grid{grid-template-columns:1fr}}@media (width<=640px){.login-page,.dashboard-main{padding:14px}.login-brand,.login-panel,.login-card,.dashboard-hero,.content-card{padding:24px}.login-shell{border-radius:26px}.login-brand{min-height:auto}.value-list{margin-top:36px}.sidebar{padding:16px}.dashboard-hero{flex-direction:column}.user-pill{text-align:left;width:100%}.table-row{grid-template-columns:1fr}}.clean-hero{align-items:stretch;min-height:300px}.season-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf721;border:1px solid #fffdf738;border-radius:28px;width:min(320px,100%);padding:24px}.season-card span{color:#f2d597;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:.78rem;font-weight:900;display:block}.season-card strong{color:#fff;letter-spacing:-.04em;margin-bottom:10px;font-size:1.5rem;display:block}.season-card p{color:#f4e9cf;margin:0;font-size:.95rem}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px;display:grid}.action-card{min-height:260px;box-shadow:var(--shadow-soft);background:#ffffffeb;border:1px solid #d8c6a5cc;border-radius:32px;flex-direction:column;justify-content:space-between;gap:22px;padding:28px;transition:transform .18s,box-shadow .18s;display:flex}.action-card:hover{transform:translateY(-4px);box-shadow:0 28px 70px #203c2929}.primary-action{background:linear-gradient(135deg,#fffdf7f0,#e8f1e4f0)}.action-icon{background:var(--green-100);border-radius:20px;place-items:center;width:56px;height:56px;font-size:1.7rem;display:grid}.action-card span{color:var(--brown-600);letter-spacing:.13em;text-transform:uppercase;font-size:.78rem;font-weight:900}.action-card h2{color:var(--green-950);letter-spacing:-.05em;margin:10px 0;font-size:1.8rem;line-height:1.05}.action-card p{color:var(--muted);margin:0;line-height:1.65}.action-card button,.quick-actions button{background:var(--green-900);color:#fff;border:0;border-radius:999px;width:fit-content;min-height:44px;padding:0 18px;font-weight:900;box-shadow:0 12px 26px #203c292e}.home-section{grid-template-columns:1.4fr .8fr;gap:20px;margin-top:24px;display:grid}.home-card{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #d8c6a5cc;border-radius:32px;padding:30px}.home-card h2{color:var(--green-950);letter-spacing:-.06em;margin:0 0 14px;font-size:2rem}.home-card p{color:var(--muted);line-height:1.65}.muted-card{background:var(--green-100)}.quick-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.quick-actions button{background:var(--cream-100);color:var(--green-900);border:1px solid var(--sand-300);box-shadow:none}.sidebar-nav a{cursor:default}@media (width<=980px){.action-grid,.home-section{grid-template-columns:1fr}.clean-hero{min-height:auto}}@media (width<=640px){.action-card,.home-card,.season-card{border-radius:24px;padding:22px}.action-grid,.home-section{gap:14px}}.addons-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px;display:grid}.addon-card{min-height:290px;box-shadow:var(--shadow-soft);background:#fffffff0;border:1px solid #d8c6a5d9;border-radius:32px;flex-direction:column;justify-content:space-between;gap:22px;padding:28px;transition:transform .18s,box-shadow .18s,opacity .18s;display:flex}.addon-card.enabled:hover{transform:translateY(-4px);box-shadow:0 28px 70px #203c2929}.addon-card.locked{opacity:.58}.addon-icon{background:var(--green-100);border-radius:22px;place-items:center;width:62px;height:62px;font-size:2rem;display:grid}.addon-status{color:var(--brown-600);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:.76rem;font-weight:900;display:inline-flex}.addon-card h2{color:var(--green-950);letter-spacing:-.05em;margin:0 0 10px;font-size:1.9rem;line-height:1.05}.addon-card p{color:var(--muted);margin:0;line-height:1.65}.addon-card button,.primary-button{background:var(--green-900);color:#fff;border:0;border-radius:999px;width:fit-content;min-height:46px;padding:0 20px;font-weight:900;box-shadow:0 12px 26px #203c292e}.addon-card button:disabled{color:#6f6758;cursor:not-allowed;box-shadow:none;background:#c9bea8}@media (width<=1100px){.addons-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.addons-grid{grid-template-columns:1fr}.addon-card{border-radius:24px;min-height:auto;padding:22px}}.fahrtenbuch-page{gap:24px;display:grid}.module-header{color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#17291dfa,#2f5d3af0);border-radius:34px;justify-content:space-between;align-items:flex-start;gap:24px;padding:34px;display:flex}.module-header h1{letter-spacing:-.08em;margin:0 0 14px;font-size:clamp(2.6rem,5vw,4.8rem);line-height:.92}.module-header p{color:#f3e7c9;max-width:720px;margin:0;line-height:1.7}.fahrtenbuch-grid{grid-template-columns:.85fr 1.15fr;gap:22px;display:grid}.module-form{gap:16px;margin-top:22px;display:grid}.module-form label{color:var(--green-950);gap:8px;font-weight:850;display:grid}.module-form input,.module-form select,.module-form textarea{border:1px solid var(--sand-300);background:var(--cream-50);width:100%;min-height:52px;color:var(--green-950);border-radius:16px;outline:none;padding:0 15px}.module-form textarea{resize:vertical;min-height:90px;padding:14px 15px}.module-form input:focus,.module-form select:focus,.module-form textarea:focus{border-color:var(--green-800);box-shadow:0 0 0 4px #2f5d3a21}.module-form button,.secondary-button{background:var(--green-900);color:#fff;border:0;border-radius:999px;width:fit-content;min-height:48px;padding:0 20px;font-weight:900}.module-form button:disabled{color:#6f6758;cursor:not-allowed;background:#c9bea8}.secondary-button{background:var(--cream-100);color:var(--green-900)}.calculated-box{background:var(--green-100);border:1px solid #d8c6a5cc;border-radius:20px;gap:6px;padding:16px;display:grid}.calculated-box span{color:var(--muted);font-size:.9rem}.calculated-box strong{color:var(--green-950);font-size:1.5rem}.trip-table{border:1px solid var(--cream-200);background:var(--cream-50);border-radius:22px;margin-top:20px;overflow:hidden}.trip-row{border-bottom:1px solid var(--cream-200);grid-template-columns:120px 130px 1.4fr 110px 110px 110px;align-items:center;gap:14px;padding:16px 18px;display:grid}.trip-row:last-child{border-bottom:0}.trip-head{background:var(--green-100);color:var(--green-900);font-weight:900}.message.success{background:var(--green-100);color:var(--green-900)}@media (width<=1180px){.fahrtenbuch-grid{grid-template-columns:1fr}.trip-row{grid-template-columns:1fr 1fr}.trip-head{display:none}}@media (width<=640px){.module-header{border-radius:24px;flex-direction:column;padding:24px}.trip-row{grid-template-columns:1fr}}.vehicle-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.vehicle-card{min-height:126px;box-shadow:var(--shadow-soft);text-align:left;background:#ffffffeb;border:1px solid #d8c6a5d9;border-radius:26px;align-items:center;gap:14px;padding:18px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.vehicle-card:hover{transform:translateY(-3px);box-shadow:0 24px 60px #203c2924}.vehicle-card.active{border-color:var(--green-800);background:var(--green-100)}.vehicle-icon{background:var(--cream-50);border-radius:20px;flex:none;place-items:center;width:54px;height:54px;font-size:1.8rem;display:grid}.vehicle-card strong,.vehicle-card span,.vehicle-card small{display:block}.vehicle-card strong{color:var(--green-950);margin-bottom:4px;font-size:1.05rem}.vehicle-card span{color:var(--brown-600);margin-bottom:4px;font-weight:800}.vehicle-card small{color:var(--muted)}.empty-vehicle-card{border:1px dashed var(--sand-300);color:var(--muted);background:#fff;border-radius:24px;padding:22px}.report-card{justify-content:space-between;align-items:end;gap:24px;display:flex}.report-card h2{margin:0 0 8px}.report-card p{color:var(--muted);margin:0}.report-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.report-controls label{color:var(--green-950);gap:8px;font-weight:850;display:grid}.report-controls input,.report-controls select{border:1px solid var(--sand-300);background:var(--cream-50);min-height:46px;color:var(--green-950);border-radius:14px;padding:0 14px}.report-controls button{background:var(--green-900);color:#fff;border:0;border-radius:999px;min-height:46px;padding:0 18px;font-weight:900}.report-controls button:disabled{color:#6f6758;cursor:not-allowed;background:#c9bea8}@media (width<=1180px){.vehicle-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.report-card{flex-direction:column;align-items:stretch}}@media (width<=640px){.vehicle-cards{grid-template-columns:1fr}.vehicle-card{border-radius:22px}.report-controls{flex-direction:column;align-items:stretch}.report-controls button{width:100%}}.report-message{background:var(--green-100);width:100%;color:var(--green-900);border-radius:14px;margin-top:12px;padding:12px 14px;font-weight:800}
