/* Sonnenseite: approved TEKTUNO vacation design, presentation only. */
:root{--ink:#202a43;--muted:#6d7183;--accent:#795ac3;--line:#e4e3ea;--paper:#f8f7f3;--lavender:#eee8fa;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper)}
body{font-size:14px}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:var(--ink);border-color:var(--line)}button{border-radius:9px;font-weight:600;padding:9px 13px;transition:background .15s}button:hover{background:#f0ebf8}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}p,small,.subline,.sources{color:var(--muted)}h1{font-size:30px;letter-spacing:-.7px;line-height:1.15}h2{font-size:18px;letter-spacing:-.35px}.shell{display:flex;flex-direction:column;min-height:100vh;max-width:1600px;margin:auto;padding:0 32px}.vacation-header{display:flex;align-items:center;gap:26px;min-height:94px;border-bottom:1px solid var(--line)}.vacation-brand{display:inline-block;text-decoration:none;color:var(--ink);flex:none}.tk-logo{display:flex;align-items:center;gap:9px}.tk-mark{width:29px;height:29px}.tk-word{font-size:32px;font-weight:800;letter-spacing:-1.6px;line-height:1.2}.tk-period{color:var(--accent)}.vacation-brand small{display:block;font-size:9px;letter-spacing:1.7px;color:var(--accent);margin-top:10px}.vac-icon{width:19px;height:19px;flex:none;color:var(--accent)}.vacation-label{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:white;padding:9px 12px;border-radius:9px;font-size:11px;font-weight:600}.profile{margin-left:auto;display:grid;grid-template-columns:1fr auto;gap:3px 16px;text-align:right;font-size:12px}.profile strong{grid-column:1}.profile small{grid-column:1;font-size:10px}.profile #logout{grid-column:2;grid-row:1/3;align-self:center;font-size:11px;color:var(--muted);padding:9px}.vacation-nav{display:flex;gap:4px;align-items:center;padding:17px 0;overflow-x:auto;flex-wrap:nowrap}.vacation-nav button{display:flex;align-items:center;gap:9px;white-space:nowrap;padding:11px 13px;color:var(--muted);font-size:12px;font-weight:500;flex:none}.vacation-nav button.active{background:var(--lavender);color:var(--ink);font-weight:600;box-shadow:none}.vacation-nav button:hover{background:#f0ebf8;color:var(--ink)}.back-to-tektuno{font-size:11px;color:var(--muted);text-decoration:none;white-space:nowrap}.vacation-nav .back-to-tektuno{margin-left:auto;padding:12px 6px 12px 20px}.back-to-tektuno:hover{text-decoration:underline}.main{width:100%;max-width:none;padding:0 0 30px}.topbar{margin:8px 0 16px;gap:26px;align-items:center;padding:18px 0}.topbar.sunshine{background:#f8eed9;border-radius:16px;padding:22px 26px;min-height:158px;position:relative;overflow:hidden}.vacation-intro{flex:1;min-width:0}.eyebrow{font-size:9px;letter-spacing:1.3px;color:var(--muted)}.sunshine .eyebrow{color:#876b39}.sunshine h1{font-family:Georgia,"Times New Roman",serif;font-size:37px;font-weight:400;letter-spacing:-1.1px}.topbar p{font-size:12px;margin:10px 0 0;line-height:1.6}.sunshine p{color:#716953}.hero-illustration{width:220px;max-width:21%;height:137px;object-fit:contain;flex:none;align-self:center}.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);border-color:var(--ink);color:white;white-space:nowrap;min-height:40px;font-size:12px}.primary:hover{background:#354362}.primary span{font-size:20px;line-height:1}.year-selection{font-size:10px;color:var(--muted);margin:8px 2px 0}.toolbar{gap:8px}.toolbar label{font-size:11px}.toolbar select{padding:5px 9px;font-size:12px}.cards{gap:14px;margin:14px 0 22px}.card,.panel{border:1px solid var(--line);border-radius:14px;background:white}.card{padding:17px 20px 17px 64px;position:relative;min-height:97px}.card>.vac-icon{position:absolute;left:20px;top:22px;width:23px;height:23px}.card.accent{background:#f3edf9}.card strong{display:inline-block;font-size:30px;color:var(--ink);margin:8px 12px 0 0;vertical-align:middle}.card span{display:block;font-size:11px;color:var(--muted)}.card small{font-size:10px;line-height:1.5}.panel{padding:22px}.section-head h2{margin:0}.month{font-size:14px;min-width:140px;height:34px;display:inline-flex;align-items:center;justify-content:center}#prev,#next{width:34px;height:34px;min-width:34px;padding:0;line-height:1;font-size:23px;display:inline-flex;align-items:center;justify-content:center}.legend{font-size:10px;gap:16px;color:var(--muted);margin:19px 0}.calendar{border-color:var(--line);border-radius:8px;overflow:hidden}.weekday{padding:10px;background:#faf9fc;font-size:10px;color:var(--muted);border-color:var(--line)}.day{min-height:108px;padding:9px 7px;border-color:var(--line)}.day.weekend{background:#f7f7fa}.day.empty{background:#fcfbfd}.day.today{box-shadow:inset 0 0 0 2px #ac92dc}.day-number{font-size:12px;color:var(--muted)}.event{background:#eee8fa;color:#654a9d;font-size:10px;border-radius:5px}.dot.approved{background:#b59bdd}.badge.approved{background:#eee8fa;color:#654a9d}.request-row.approved>td{background:#f8f4fd}.request-row.approved>td:first-child{box-shadow:inset 3px 0 #b59bdd}.holiday-label{background:#fcf0e3;color:#936f44}.school-label{background:#faf2df;color:#8b794e}.company-label{background:#eeeef3;color:#656478}.dot.holiday{background:#f1d7bd}.dot.school{background:#e9d994}th{background:#f7f6fa;color:var(--muted);font-size:10px;border-color:var(--line)}td{border-color:var(--line)}table{font-size:12px}.hint,#deductionHint{background:#f2edf9;color:#56466f}.badge{border-radius:6px}.empty-state{color:var(--muted)}dialog{color:var(--ink);border-color:var(--line);box-shadow:0 20px 70px #202a4320}dialog::backdrop{background:#202a4355}dialog label{font-weight:600}dialog input,dialog select,dialog textarea{font-weight:400}#message{background:var(--ink);box-shadow:0 8px 25px #202a4320}.login{max-width:540px;margin:8vh auto;padding:38px;border-color:var(--line);background:linear-gradient(160deg,#fff 65%,#faf0dc);box-shadow:0 12px 35px #202a4306}.login .vacation-brand{margin-bottom:37px}.login h1{font:36px/1.15 Georgia,serif;letter-spacing:-1px}.vacation-login-form{display:grid;gap:9px;margin:25px 0}.vacation-login-form label{font-weight:600}.vacation-login-form input{font-weight:400}.vacation-login-form a{font-size:12px;margin-top:9px}.login .back-to-tektuno{margin-top:15px}.sources{font-size:10px}.preview-controls{background:#eee8fa;border-bottom:1px solid #d8cdef;padding:10px 18px;font-size:12px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.preview-controls button{font-size:12px}.preview-controls strong{margin-right:auto}
@media(max-width:1100px){.shell{padding:0 22px}.vacation-nav .back-to-tektuno{display:none}.topbar.sunshine{gap:18px;padding:20px}.sunshine h1{font-size:31px}.hero-illustration{width:165px;height:120px;max-width:20%}.card{padding:17px 14px 17px 49px}.card>.vac-icon{left:16px;width:19px}.card small{display:block;margin-top:3px}.calendar{min-width:650px}.calendar-scroll{overflow:auto}}
@media(max-width:700px){.shell{padding:0 14px}.vacation-header{min-height:78px;gap:12px}.tk-word{font-size:27px}.tk-mark{width:25px;height:25px}.vacation-label{display:none}.profile{font-size:11px;max-width:54%;gap:3px 9px}.profile strong{overflow-wrap:anywhere}.profile #logout{padding:9px 0;font-size:10px}.vacation-nav{margin:0 -14px;padding:13px 14px;gap:5px}.vacation-nav button{min-height:44px;font-size:12px;padding:10px 12px}.topbar{flex-wrap:wrap;gap:16px}.topbar.sunshine{min-height:0;padding:22px 19px;display:grid;grid-template-columns:minmax(0,1fr) 95px;gap:15px 4px}.sunshine .vacation-intro{grid-column:1/3;padding-right:0}.sunshine h1{font-size:32px}.topbar p{font-size:12px}.sunshine #newRequest{justify-self:start;align-self:center;grid-row:2}.sunshine .hero-illustration{grid-row:2;grid-column:2;max-width:none;width:100%;height:77px;margin:0}.primary{min-height:44px}.year-selection{font-size:9px;gap:7px;flex-wrap:wrap}.year-selection .toolbar label{font-size:10px}.cards{gap:7px;margin:13px 0 18px}.card{padding:13px 10px;min-width:0}.card>.vac-icon{position:static;width:19px;height:19px;margin-bottom:7px}.card span{font-size:10px;min-height:25px;line-height:1.4}.card strong{font-size:25px;margin:5px 0 0}.card small{font-size:9px}.panel{padding:14px}.section-head{flex-wrap:wrap;gap:12px}.month{height:44px;font-size:13px;min-width:135px}#prev,#next{width:44px;height:44px;min-width:44px;font-size:23px}.toolbar{flex-wrap:wrap}.legend{gap:10px}.login{margin:20px 12px;padding:28px 23px}.login h1{font-size:31px}#message{left:15px;right:15px;bottom:15px;max-width:none}.form-grid{grid-template-columns:1fr}.sources{line-height:1.7}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
