/* Klavier-Erfolg · Apple-oriented web interface. Solid content; translucent navigation. */
:root{color-scheme:light;--paper:#f5f5f7;--white:#fff;--ink:#202124;--muted:#656871;--green:#0865c9;--line:#e2e4e9;--sage:#f0f2f6;--sand:#eaf2fd;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--serif:var(--sans);--ap-nav:#eef0f5ed;--ap-tint:#eaf2fd;--ap-input:#fff;--ap-shadow:0 4px 24px #182a4107;--ap-good:#267044;--ap-good-bg:#edf6ef;--ap-warn:#904b16;--ap-warn-bg:#fff3e9;--ap-error:#a1362c;--ap-error-bg:#fff0ed}
body{font:400 18px/1.5 var(--sans);background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%}
h1,h2,h3,.hero h1,.login h1,.question,.tile-bottom strong{font-family:var(--sans);font-weight:600;letter-spacing:-.035em}
h1,.title-row h1{font-size:clamp(30px,3.2vw,40px);line-height:1.15}h2{font-size:25px;line-height:1.25}h3{font-size:21px}.question{font-size:34px;line-height:1.25}.eyebrow{text-transform:none;letter-spacing:.01em;font-size:14px;color:var(--muted)}
button,.button{min-height:52px;border-radius:999px;padding:13px 23px;font-size:17px;font-weight:500;background:var(--green);color:#fff;box-shadow:none;transition:background .15s,transform .15s}button:hover,.button:hover{filter:brightness(.95)}button:active,.button:active{transform:scale(.985)}
.secondary{background:var(--white);color:var(--green);border-color:var(--line)}.quiet{background:transparent;color:var(--muted);min-height:44px;padding:10px 13px;font-size:15px}.text-link{color:var(--green);border:0;font-size:16px}.back{font-size:16px;color:var(--green)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.header{min-height:92px;background:var(--white);padding:20px 30px;border-color:var(--line)}.wordmark{color:var(--ink)}.wordmark .wordmark-symbol{font-family:Cormorant,Georgia,serif}.wordmark .wordmark-label strong{font-family:var(--sans);font-size:11px}.wordmark .wordmark-label small{font-family:var(--sans);color:var(--muted)}.application-name{color:var(--muted);font-size:16px}.header-tools{gap:14px}
.language-switch{background:var(--paper);border-color:var(--line);border-radius:13px;padding:3px}.language-switch button{min-height:44px;min-width:48px;border-radius:10px;padding:9px 13px;font-size:14px;color:var(--muted);background:transparent}.language-switch button.active{background:var(--white);color:var(--ink);box-shadow:0 1px 5px #182a4115}
.app-shell{grid-template-columns:238px minmax(0,1fr);min-height:calc(100dvh - 92px)}.sidebar{background:var(--ap-nav);border-color:var(--line);padding:30px 16px;gap:18px;min-height:560px}.sidebar-label{font-size:13px;color:var(--muted)}.sidebar nav .nav-item,.nav-item{min-height:52px;padding:13px 15px;border-radius:13px;font-size:16px;color:var(--muted);gap:12px}.nav-item .ui-icon{color:var(--green);width:21px;height:21px}.nav-item:hover{background:var(--ap-tint)}.nav-item.active{background:var(--white);color:var(--ink);font-weight:600;box-shadow:0 2px 7px #182a4108}.sidebar-bottom .nav-item{font-size:14px}.sidebar-signature{color:var(--muted);font-size:12px}.sidebar-bottom{padding-top:45px}
.sidebar nav .nav-item.active{color:var(--ink)}
@supports ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){.sidebar{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}}
.workspace,.single .workspace{background:var(--paper)}.wide{padding:36px 38px 55px;max-width:1400px}.narrow{padding:36px 38px 55px;max-width:920px}.footer{font-size:12px;color:var(--muted);padding:22px 38px;flex-wrap:wrap}
.hero{min-height:0;padding:0;margin-bottom:24px;background:transparent;border:0;border-radius:0;color:var(--ink);overflow:visible}.hero:before,.hero:after{display:none}.hero h1{font-size:clamp(32px,3.3vw,42px);line-height:1.15;margin-bottom:9px}.hero .eyebrow{font-size:14px;color:var(--muted);margin-bottom:10px}.hero p:not(.eyebrow){font-size:17px;color:var(--muted)}
.home-planning{gap:12px;margin-bottom:28px}.home-planning>.button:first-child{background:var(--white);color:var(--green);border-color:var(--line)}.home-planning>.button:nth-child(2){background:var(--green);color:#fff;border-color:transparent}
.home-grid{gap:14px;margin-bottom:28px}.tile{border:1px solid var(--line);border-radius:20px;min-height:155px;gap:20px;padding:23px;background:var(--white);color:var(--ink);box-shadow:var(--ap-shadow);transition:background .15s,transform .15s}.tile:hover{transform:translateY(-2px);box-shadow:var(--ap-shadow);background:var(--white)}.tile:active{transform:scale(.985)}.tile-icon{width:44px;height:44px;border:0;border-radius:13px;background:var(--ap-tint);color:var(--green)}.tile-students .tile-icon{background:var(--ap-good-bg);color:var(--ap-good)}.tile-contracts .tile-icon{background:var(--ap-warn-bg);color:var(--ap-warn)}.tile-bottom strong{font-size:21px;line-height:1.25;letter-spacing:-.025em}.tile-bottom small{font-size:14px;color:var(--muted);margin-top:7px}.tile .arrow{display:block;color:var(--muted);align-self:center}.tile .arrow .ui-icon{width:18px;height:18px}
.panel,.today-panel,.login{background:var(--white);border:1px solid var(--line);border-radius:22px;box-shadow:var(--ap-shadow)}.panel{padding:28px}.today-panel{padding:26px;margin-bottom:28px}.today-panel h2{font-size:24px}.calendar-summary{color:var(--muted);font-size:15px;gap:12px 22px}.subpanel{background:var(--sage);border-color:var(--line);border-radius:16px}.subpanel h2{font-size:21px}.panel.compact{padding:22px}.login{padding:34px;max-width:540px;margin:28px auto}.login h1{font-size:34px}.login>p{color:var(--muted);font-size:17px}.login .fine{font-size:14px}.single .narrow{max-width:760px}
label{font-size:17px;font-weight:500}input,select,textarea{min-height:56px;background:var(--ap-input);color:var(--ink);border-color:var(--line);border-radius:13px;font-size:18px;padding:14px 16px}textarea{line-height:1.55}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[type=checkbox],input[type=radio]{min-height:25px;padding:0}label small,.fine{font-size:14px;color:var(--muted)}.required{color:var(--green)}.check{font-size:17px}.form-footer>span,.wizard-footer>span{font-size:14px}.steps span{background:var(--line);height:5px;border-radius:8px}.steps .done{background:var(--green)}.wizard-top>span:last-child{font-size:14px}.for-student{font-size:17px}.choice{background:var(--white);border-color:var(--line);border-radius:18px;padding:22px;min-height:82px;font-size:20px}.choice:has(input:checked){background:var(--ap-tint);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.choice small{font-size:14px}.choice b{color:var(--muted)}
.notice{background:var(--ap-tint);color:var(--ink);border-color:var(--line);border-radius:16px;font-size:16px}.notice.error,.error{background:var(--ap-error-bg);color:var(--ap-error);border-color:var(--ap-error)}.document-language{font-size:14px}.empty{background:var(--sage);border-color:var(--line);color:var(--muted);border-radius:16px;font-size:16px}
.list{background:var(--white);border:1px solid var(--line);border-radius:20px;overflow:hidden}.list-row{padding:20px;border-color:var(--line)}.list-row:last-child{border-bottom:0}.list-row:hover{background:var(--sage)}.list-row strong{font-weight:500;font-size:18px}.list-row small{font-size:14px}.avatar,.round,.doc-icon{background:var(--ap-tint);color:var(--green);border-radius:50%;width:48px;height:48px;flex-basis:48px}.doc-icon{border-radius:13px}.avatar.large{border-radius:50%}.drafts>.eyebrow{font:600 23px/1.25 var(--sans);letter-spacing:-.025em;color:var(--ink)}.drafts .list-row{border-color:var(--line);border-radius:16px;background:var(--white)}.drafts .list-row small{font-size:14px}.drafts .round{background:var(--ap-tint);color:var(--green);border:0;border-radius:11px}.search-label{font-size:16px}.badge{font-size:13px;background:var(--ap-tint);color:var(--green);border:0;border-radius:999px;padding:6px 11px}
.lesson-card{border:1px solid var(--line);border-left:4px solid var(--green);border-radius:16px;background:var(--white);padding:18px;gap:18px}.lesson-card.place-visit{background:var(--white);border-left-color:var(--ap-warn)}.lesson-card.cancelled{background:var(--sage);opacity:.8}.lesson-time{font-weight:600;font-size:22px}.lesson-time small,.lesson-person small{font-size:14px;color:var(--muted)}.lesson-person strong{font-size:18px}.place-dot.alla:before{background:var(--green)}.place-dot.visit:before{background:var(--ap-warn)}
.calendar-tools{gap:12px}.calendar-tools .button{min-width:48px;min-height:48px}.calendar-tools strong{font-size:18px}.calendar-day{background:var(--white);border-color:var(--line);border-radius:18px;padding:15px}.calendar-day.is-today{background:var(--ap-tint);border-color:var(--green)}.calendar-day h2{font-size:16px;color:var(--ink)}.calendar-day h2 small{font-size:14px}.calendar-day .lesson-card{border-radius:12px}.calendar-day .lesson-person strong{font-size:15px}.calendar-day .lesson-person small{font-size:13px}.calendar-empty{color:var(--muted)}
.invoice-dashboard{margin-top:32px}.stat-card{background:var(--white);border-color:var(--line);border-radius:20px;padding:24px;box-shadow:var(--ap-shadow)}.stat-card span{font-size:16px}.stat-card strong{font-weight:600;letter-spacing:-.025em}.stat-card.status-overdue{background:var(--ap-warn-bg);border-color:var(--line)}.stat-card.status-paid{background:var(--ap-good-bg)}.status-overdue.badge{background:var(--ap-warn-bg);color:var(--ap-warn)}.status-paid.badge{background:var(--ap-good-bg);color:var(--ap-good)}.status-open.badge{background:var(--ap-tint);color:var(--green)}.ledger-row{background:var(--white);border-color:var(--line)}.ledger-row small{color:var(--muted)}.invoice-filters a{display:inline-flex;align-items:center;min-height:48px;border-radius:999px;background:var(--white);border-color:var(--line);font-size:16px}.invoice-filters [aria-current=page]{background:var(--ap-tint);border-color:var(--green);color:var(--green)}
.danger{background:var(--ap-error-bg);border-color:var(--ap-error);color:var(--ap-error)}.danger-outline{background:var(--ap-error-bg);color:var(--ap-error);border-color:var(--ap-error)}.draft-discard{color:var(--ap-error);border:0}.success-mark{background:var(--ap-good-bg);color:var(--ap-good);border:0;border-radius:50%}.success h1{font-size:34px}.pdf-preview{border-radius:16px}.summary dl{font-size:17px}.amount,.total{font-variant-numeric:tabular-nums}.booking-shell{max-width:760px;padding:36px 24px 60px}.booking-options{padding:5px}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--paper:#18181b;--white:#25262a;--ink:#f4f4f7;--muted:#b1b4bf;--green:#83bcff;--line:#41434b;--sage:#2d2f35;--sand:#203449;--ap-nav:#212329ed;--ap-tint:#203449;--ap-input:#25262a;--ap-shadow:none;--ap-good:#95d4ac;--ap-good-bg:#233b2e;--ap-warn:#f4bf88;--ap-warn-bg:#3a2d20;--ap-error:#ffada3;--ap-error-bg:#402724}button,.button,.home-planning>.button:nth-child(2){background:#0865c9;color:#fff}.secondary,.home-planning>.button:first-child{background:var(--white);color:var(--green)}.quiet,.language-switch button{background:transparent;color:var(--muted)}.language-switch button.active{background:var(--white);color:var(--ink)}.tile,.tile:hover{background:var(--white);color:var(--ink)}.danger,.danger-outline{background:var(--ap-error-bg);color:var(--ap-error)}input[type=checkbox],input[type=radio]{accent-color:#2186ef}}
@media(min-width:1351px){.home-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.wide,.narrow{padding:30px 26px 45px}.header{padding:18px 24px}.sidebar{padding:25px 12px}.sidebar nav .nav-item{font-size:15px;padding:13px 12px}.hero h1{font-size:35px}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{min-height:165px;padding:22px}.tile-bottom strong{font-size:21px}.today-panel{padding:23px}.calendar-week{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.app-shell{grid-template-columns:180px minmax(0,1fr)}.sidebar nav .nav-item{font-size:14px;gap:9px;padding:13px 10px}.wide,.narrow{padding:28px 22px 42px}.home-planning .text-link{margin-left:0}.question{font-size:30px}.tile{padding:19px;min-height:172px}.tile-bottom strong{font-size:20px}.tile-bottom small{font-size:14px}.panel{padding:24px 21px}.today-panel{padding:22px}.application-name{font-size:14px}.brand-group{gap:15px}}
@media(max-width:650px){.header{padding:18px 20px;gap:14px}.header-tools{gap:12px}.app-shell,.app-shell.single{grid-template-columns:minmax(0,1fr)}.sidebar{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:12px 16px;gap:0}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.sidebar nav .nav-item{min-height:48px;font-size:15px;padding:12px}.sidebar-bottom{padding-top:6px}.sidebar-bottom .nav-item{font-size:14px;min-height:44px}.wide,.narrow{padding:26px 20px 40px}.hero h1{font-size:32px}.hero .eyebrow{font-size:14px}.hero p:not(.eyebrow){font-size:17px}.hero{min-height:0;padding:0;margin-bottom:22px}.home-planning .button{font-size:16px}.home-grid{gap:12px}.tile{min-height:178px;border-radius:18px;padding:18px;gap:20px}.tile-icon{width:42px;height:42px;border-radius:12px}.tile-bottom strong{font-size:20px;overflow-wrap:anywhere}.tile-bottom small{font-size:14px}.tile .arrow{display:none}h1,.title-row h1{font-size:30px}h2{font-size:24px}.question{font-size:29px}.today-panel{padding:21px 17px;border-radius:20px}.calendar-summary{font-size:15px}.panel{padding:23px 19px;border-radius:20px}.login{padding:28px 22px;margin:12px auto}.login h1{font-size:30px}.list-row{padding:18px 15px;gap:14px}.drafts .list-row strong{font-size:16px}.drafts .list-row small{font-size:14px}.calendar-week{grid-template-columns:1fr}.calendar-day{padding:17px}.calendar-day h2{font-size:18px}.calendar-day .lesson-person strong{font-size:17px}.calendar-day .lesson-person small{font-size:14px}.lesson-card{gap:13px;padding:17px 14px}.lesson-time{font-size:21px}.lesson-person strong{font-size:17px}.invoice-stats{grid-template-columns:1fr;gap:10px}.stat-card{padding:19px}.stat-card span{font-size:16px}.stat-card strong{font-size:25px}.form-footer>span,.wizard-footer>span{font-size:14px}.wizard-footer button{font-size:16px}.footer{padding:22px 20px;font-size:12px}.booking-shell{padding:28px 20px 50px}}
@media(max-width:360px){.home-grid{grid-template-columns:1fr}.tile{min-height:138px}.title-row .button{width:100%}.wordmark .wordmark-label strong{font-size:8px}.application-name{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.tile:hover,button:active,.button:active{transform:none}}
@media(prefers-reduced-transparency:reduce){.sidebar{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(prefers-contrast:more){:root{--muted:#454852;--line:#737781}.sidebar{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}.nav-item.active{outline:2px solid var(--green)}.panel,.tile,.today-panel,.stat-card{box-shadow:none}}
@media(prefers-color-scheme:dark) and (prefers-contrast:more){:root{--muted:#d5d7df;--line:#858996}}
@media print{.header,.sidebar,.footer,.home-planning{display:none}.app-shell{display:block}.workspace,body{background:#fff;color:#111}.panel,.today-panel,.tile{box-shadow:none;break-inside:avoid}.wide,.narrow{padding:0;max-width:none}.pdf-preview{border:0}}
