/* Urlaubstafel 4.2. Loaded before company branding so custom colours keep priority. */
:root{--ink:#163440;--muted:#536975;--paper:#f3f7f9;--line:#dbe5e9}
body{font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.button{border-radius:11px;min-height:42px;font-weight:650;transition:background .15s,box-shadow .15s}
.button.primary{box-shadow:0 5px 13px #003c4514}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{border-radius:9px;background:#fcfdfd;min-height:44px}
.panel,.stat,.request-card{border-color:var(--line);border-radius:16px;box-shadow:0 5px 22px #15364105}
.page-heading h1{letter-spacing:-1.2px}.eyebrow{color:var(--teal);font-weight:750}
.sidebar{background:#fff;border-right:1px solid var(--line)}
.sidebar nav a{border-radius:10px;margin-bottom:5px}.sidebar nav a.active{box-shadow:inset 3px 0 var(--teal)}
.topbar{background:#ffffffed;border-bottom:1px solid var(--line)}
.stat{border-top:3px solid var(--teal)}
.calendar-caption{padding-top:25px;padding-bottom:22px}.year-table thead th{background:#edf4f6;color:var(--ink)}
.year-table tbody tr:hover .sticky-name{background:#f3f8fa}
.mini-month{border-radius:12px}.request-date{border-radius:12px}
.auth-page{background:#edf4f5}.auth-layout{border-radius:24px;box-shadow:0 28px 90px #15364118;overflow:hidden}
.auth-intro{background:linear-gradient(145deg,var(--teal-dark),var(--teal));color:white}
.auth-intro .eyebrow,.auth-intro .brand{color:white}.auth-intro h1{letter-spacing:-2px}
.auth-card{background:white}.auth-card h2{letter-spacing:-1px}
.platform{--teal:#007e87;--teal-dark:#00616a;background:#f6f9fb;color:#163440}
.platform .p-main,.platform .p-nav{max-width:1320px}
.p-nav{padding-top:22px;padding-bottom:22px;border-bottom:1px solid #dce7eb}
.p-brand{color:#163440;letter-spacing:-1.1px}.p-brand span{color:#536975}
.p-nav nav{font-size:14px;font-weight:600}.platform .primary{background:#007e87;border-color:#007e87}
.platform .primary:hover{background:#00616a;border-color:#00616a}
.hero{gap:48px;padding:78px 0 85px;position:relative}
.platform .hero h1{font-size:clamp(43px,5.1vw,70px);letter-spacing:-3.3px;line-height:1.06;margin:24px 0}
.hero h1 em{color:#007e87}.hero-copy{font-size:18px;line-height:1.75;color:#536975;max-width:510px}
.hero .eyebrow{font-size:11px;letter-spacing:1.3px}.hero-small{font-size:12px;color:#536975}
.hero-plan{transform:none;padding:26px;border:1px solid #cddfe5;border-radius:20px;box-shadow:0 30px 65px #0a475c15,0 0 0 12px #e7f1f4}
.mock-top{border-color:#deeaee}.mock-logo{background:#def3f1;color:#007e87}.mock-top strong{font-size:15px}
.mock-top small,.mock-person small{color:#536975;font-size:11px}.mock-top .badge{font-size:10px}
.mock-heading h2{font-size:23px}.mock-heading .eyebrow{font-size:10px}.mock-heading>span{background:#edf5f7;color:#416270}
.mock-calendar{grid-template-columns:110px repeat(7,minmax(0,1fr));gap:6px}
.mock-calendar b,.mock-label{font-size:11px;color:#536975}.mock-person{font-size:12px;height:50px}
.mock-person>span{background:#e5eff7;color:#325671;font-weight:700;width:30px;height:30px}
.mock-calendar i{height:35px;background:#f0f5f7;border-radius:6px}.mock-calendar .vacation{background:#bce9e2;color:#005c60;font-weight:700}
.mock-calendar .weekend{background:#e3e9ed}.mock-bottom{color:#536975;font-size:10px;border-color:#deeaee}
.live-dot{background:#00848a}.floating-note{transform:none;border-color:#cfe5df;bottom:-25px;right:18px;box-shadow:0 12px 30px #16344012}
.floating-note>span{background:#d6f2e5;color:#166749}.floating-note small{color:#536975}.demo-caption{color:#536975;font-size:10px}
.benefit-strip{background:#163440;color:#fff;padding:23px 26px;border:0;border-radius:14px;font-size:13px;gap:18px}
.p-section{margin-top:85px}.p-section>h2,.p-section .section-heading h2{font-size:clamp(28px,3vw,40px);letter-spacing:-1.4px}
.feature-grid{gap:20px;margin-top:30px}.feature-grid article{background:#fff;border:1px solid #dce7eb;border-radius:16px;padding:28px}
.step{display:inline-block;background:#e4f3f3;color:#00616a;padding:8px 11px;border-radius:6px;font-size:10px;font-weight:750;letter-spacing:1px}
.feature-grid h3{font-size:21px}.feature-grid p{color:#536975;font-size:15px;line-height:1.8}
.price-card{border-color:#dce7eb;border-radius:16px;padding:28px 22px;display:flex;flex-direction:column}
.price-card.featured{background:#e9f6f5;border:2px solid #007e87;box-shadow:0 10px 28px #007e8710}
.platform .price-card h3{font-size:38px}.price-card p,.price-card h3 small{color:#536975}.price-card li:before{color:#007e87}
.price-card ul{font-size:13px;line-height:2.4;flex:1}.price-card .button{margin-top:auto}
.cta-band{background:#163440;color:white;border-radius:20px;padding:42px;position:relative}
.cta-band .eyebrow{color:#93e6df}.cta-band h2{max-width:630px;font-size:36px}.cta-band .primary{background:#a9ece3;color:#123f43;border-color:#a9ece3}
.cta-band .primary:hover{background:#c5f6ef;border-color:#c5f6ef}
.p-form{border-color:#dce7eb;border-radius:20px;box-shadow:0 20px 60px #173e4910;padding:38px}.p-form>p{color:#536975}
.p-tabs a{border-color:#dce7eb;border-radius:10px;font-weight:600}.p-tabs a:hover{background:#e6f3f4}
.p-footer{color:#536975;border-color:#dce7eb;font-size:12px;line-height:1.9}
.faq-section details{background:white;border:1px solid #dce7eb;border-radius:12px;padding:18px 22px;margin:12px 0}
.faq-section summary{font-weight:650;cursor:pointer}.faq-section details p{color:#536975;line-height:1.8}
@media(max-width:1000px){.hero{grid-template-columns:1fr;padding:50px 0 75px;gap:50px}.hero>div:first-child{max-width:700px}.hero-plan{width:100%;max-width:650px;margin:0 auto}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{gap:14px}.feature-grid article{padding:23px}.p-nav nav{gap:15px}}
@media(max-width:700px){.p-main,.p-nav{padding-left:20px;padding-right:20px}.p-nav{align-items:flex-start}.p-nav nav{flex-wrap:wrap;justify-content:flex-end;gap:12px}.p-brand{font-size:23px}.p-brand span{font-size:8px}.platform .hero h1{font-size:46px;letter-spacing:-2.2px}.hero-copy{font-size:16px}.hero-plan{padding:18px;box-shadow:0 16px 35px #0a475c12,0 0 0 6px #e7f1f4}.mock-calendar{grid-template-columns:85px repeat(7,minmax(0,1fr));gap:4px}.mock-person{gap:5px;font-size:11px}.mock-person>span{width:23px;height:23px;font-size:8px}.mock-person small{font-size:9px}.mock-top .badge{display:none}.mock-bottom{font-size:9px}.mock-bottom>span:last-child{display:none}.floating-note{padding:11px 15px;right:10px}.benefit-strip{display:grid;grid-template-columns:1fr;padding:22px}.p-section{margin-top:55px}.feature-grid,.pricing-grid{grid-template-columns:1fr}.cta-band{padding:28px;align-items:flex-start}.cta-band h2{font-size:29px}.p-form{padding:24px;margin-top:30px}.p-form h1{font-size:34px}.auth-layout{border-radius:0}.p-footer{flex-direction:column}.section-heading{flex-wrap:wrap;gap:14px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
