:root{--primary: #0d9488;--primary-600: #0f766e;--primary-50: #f0fdfa;--secondary: #9333ea;--secondary-50: #faf5ff;--tertiary: #ec4899;--tertiary-50: #fdf2f8;--bg: #f8fafc;--surface: #ffffff;--text: #0f172a;--muted: #64748b;--line: #e2e8f0;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--radius-lg: 20px;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .08);--shadow-md: 0 4px 14px rgba(15, 23, 42, .08);--shadow-lg: 0 14px 36px rgba(15, 23, 42, .14);--gap: 16px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}.center{display:grid;place-items:center;height:100vh;color:var(--muted)}.app{display:flex;flex-direction:column;min-height:100vh;max-width:520px;margin:0 auto}.app-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 14px;position:sticky;top:0;background:#f8fafcd9;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);z-index:10}.app-header .brand{display:flex;flex-direction:column;line-height:1.1}.app-header .brand b{font-size:18px;font-weight:700;letter-spacing:-.01em}.app-header .brand span{font-size:12px;color:var(--muted);margin-top:2px}.app-header .brand-logo{height:22px;width:auto;display:block}.app-main{flex:1;padding:4px 20px 96px}.tabbar{position:fixed;bottom:0;left:0;right:0;max-width:520px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{background:none;border:none;color:var(--muted);font-size:12px;font-weight:600;padding:12px 8px 14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;transition:color .15s ease}.tabbar button svg{width:22px;height:22px}.tabbar button.active{color:var(--primary)}.screen-head{margin:12px 0 18px}.screen-head h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.02em}.screen-head p{margin:4px 0 0;font-size:14px;color:var(--muted)}.day-cards{display:flex;flex-direction:column;gap:14px}.day-card{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.day-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.day-card:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.day-card .icon-tile{flex:0 0 56px;height:56px;border-radius:16px;display:grid;place-items:center;color:#fff}.day-card .icon-tile svg{width:28px;height:28px}.day-card .body{flex:1;min-width:0}.day-card .body h3{margin:0;font-size:17px;font-weight:700;letter-spacing:-.01em}.day-card .body p{margin:3px 0 0;font-size:13px;color:var(--muted)}.day-card .badge{display:inline-block;margin-top:8px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px}.day-card .chevron{flex:0 0 auto;color:var(--line)}.day-card .chevron svg{width:20px;height:20px}.accent-primary .icon-tile{background:linear-gradient(135deg,#14b8a6,#0d9488)}.accent-primary .badge{background:var(--primary-50);color:var(--primary-600)}.accent-secondary .icon-tile{background:linear-gradient(135deg,#a855f7,#9333ea)}.accent-secondary .badge{background:var(--secondary-50);color:var(--secondary)}.accent-tertiary .icon-tile{background:linear-gradient(135deg,#f472b6,#ec4899)}.accent-tertiary .badge{background:var(--tertiary-50);color:var(--tertiary)}.back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--muted);font-size:14px;font-weight:600;padding:6px 0;margin:6px 0 10px;cursor:pointer}.back-btn svg{width:18px;height:18px}.exercise-list{display:flex;flex-direction:column;gap:12px}.exercise-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.exercise-card .ex-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.exercise-card .ex-name{font-size:16px;font-weight:700;letter-spacing:-.01em}.exercise-card .ex-last{font-size:12px;color:var(--muted);white-space:nowrap}.input-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:600;color:var(--muted)}.field .input-wrap{position:relative;display:flex;align-items:center}.field input{width:100%;background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;font-size:16px;font-weight:600;color:var(--text);transition:border-color .15s ease,background .15s ease;-moz-appearance:textfield}.field input::placeholder{color:#334155;opacity:1}.field input::-webkit-outer-spin-button,.field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field input:focus{outline:none;border-color:var(--primary);background:#fff}.field .unit{position:absolute;right:14px;font-size:13px;font-weight:600;color:#475569;pointer-events:none}.exercise-card .ex-head-right{display:flex;align-items:center;gap:10px}.ex-del{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;background:none;border:none;border-radius:8px;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease}.ex-del:hover{background:#fef2f2;color:var(--error)}.add-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;padding:14px;background:none;border:1.5px dashed var(--line);border-radius:var(--radius);color:var(--muted);font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease}.add-toggle:hover{border-color:var(--primary);color:var(--primary-600);background:var(--primary-50)}.add-panel{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.add-row{display:flex;gap:8px;align-items:center}.add-row input{flex:1;min-width:0;background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:12px 13px;font-size:15px;color:var(--text)}.add-row input:focus{outline:none;border-color:var(--primary);background:#fff}.add-row .select{flex:1;min-width:0}.add-action{flex:0 0 auto;padding:12px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}.add-action:disabled{background:var(--line);color:var(--muted);cursor:default}.add-divider{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:12px;font-weight:600;margin:16px 0}.add-divider:before,.add-divider:after{content:"";flex:1;height:1px;background:var(--line)}.add-divider:before{margin-right:10px}.add-divider:after{margin-left:10px}.add-close{display:block;margin:14px auto 0}.day-del{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;background:none;border:none;border-radius:8px;color:var(--line);cursor:pointer;transition:background .15s ease,color .15s ease}.day-del:hover{background:#fef2f2;color:var(--error)}.day-card[role=button]{outline:none}.template-input{width:100%;background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;font-size:16px;color:var(--text)}.template-input:focus{outline:none;border-color:var(--primary);background:#fff}.accent-picker{display:flex;gap:12px}.accent-swatch{width:44px;height:44px;border-radius:12px;border:2px solid transparent;cursor:pointer;padding:0;transition:box-shadow .15s ease,border-color .15s ease}.accent-swatch.accent-primary{background:linear-gradient(135deg,#14b8a6,#0d9488)}.accent-swatch.accent-secondary{background:linear-gradient(135deg,#a855f7,#9333ea)}.accent-swatch.accent-tertiary{background:linear-gradient(135deg,#f472b6,#ec4899)}.accent-swatch.selected{border-color:var(--text);box-shadow:0 0 0 3px #0f172a14}.ex-save{width:100%;margin-top:12px;padding:11px;font-size:14px;font-weight:700;color:var(--primary-600);background:var(--primary-50);border:1.5px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,color .15s ease}.ex-save:hover:not(:disabled){background:var(--primary);color:#fff}.ex-save:active:not(:disabled){transform:translateY(1px)}.ex-save:disabled{background:transparent;border-color:var(--line);color:var(--muted);cursor:default}.ex-notes{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.note-latest{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.note-latest .note-label{flex:0 0 auto;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary-600);background:var(--primary-50);padding:2px 8px;border-radius:999px}.note-latest .note-text{font-size:14px;color:var(--text);line-height:1.4}.note-add{display:flex;gap:8px;align-items:center}.note-add input{flex:1;min-width:0;background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;font-size:15px;color:var(--text)}.note-add input:focus{outline:none;border-color:var(--primary);background:#fff}.note-btn{flex:0 0 44px;height:44px;display:grid;place-items:center;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:filter .15s ease}.note-btn:hover{filter:brightness(1.05)}.note-btn:disabled{background:var(--line);color:var(--muted);cursor:default}.btn-primary,.btn-secondary{width:100%;padding:16px;font-size:16px;font-weight:700;border:none;border-radius:var(--radius);cursor:pointer;transition:filter .15s ease,transform .1s ease}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--line)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.55;cursor:default}.save-bar{margin-top:20px}.save-bar .hint{text-align:center;font-size:13px;color:var(--muted);margin:0 0 10px}.link-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;font-weight:600}.link-btn:hover{color:var(--text)}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%) translateY(10px);background:var(--text);color:#fff;padding:13px 20px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:8px;opacity:0;pointer-events:none;z-index:50;transition:opacity .25s ease,transform .25s ease}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast.error{background:var(--error)}.toast .dot{width:18px;height:18px;border-radius:50%;background:var(--success);display:grid;place-items:center;color:#fff}.toast.error .dot{background:#ffffff40}.feld-label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin:14px 0 8px}.select{width:100%;background:var(--surface);color:var(--text);border:1.5px solid var(--line);border-radius:var(--radius);padding:14px;font-size:16px;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.select:focus{outline:none;border-color:var(--primary)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.stepper{margin:14px 0}.stepper-label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:8px}.stepper-row{display:flex;align-items:center;gap:10px}.stepper-btn{flex:0 0 52px;height:52px;font-size:26px;background:var(--surface);color:var(--primary);border:1.5px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.stepper-btn:active{background:var(--primary);color:#fff;border-color:var(--primary)}.stepper-input{flex:1;text-align:center;background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:13px;font-size:16px;font-weight:700;color:var(--text);-moz-appearance:textfield}.stepper-input:focus{outline:none;border-color:var(--primary)}.stepper-input::-webkit-outer-spin-button,.stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-einheit{color:var(--muted);font-size:14px;font-weight:600}.status{margin:12px 0;font-size:14px;font-weight:600;color:var(--primary-600)}.fehler{color:var(--error);font-size:14px;font-weight:600}.hinweis{color:var(--muted);font-size:12px;margin-top:8px}.segment{display:flex;gap:4px;background:#eef2f6;padding:4px;border-radius:var(--radius);margin:8px 0 18px}.segment button{flex:1;padding:10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.segment button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.chart{margin-top:18px}.login{max-width:380px;margin:0 auto;padding:72px 24px}.login .login-logo{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#14b8a6,#0d9488);display:grid;place-items:center;margin:0 auto 20px;color:#fff;box-shadow:var(--shadow-md)}.login .login-logo svg{width:30px;height:30px}.login .login-logo-img{display:block;width:100%;max-width:230px;height:auto;margin:0 auto 26px}.login h1{text-align:center;font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}.login .sub{text-align:center;color:var(--muted);font-size:14px;margin:0 0 28px}.login-form{display:grid;gap:12px}.login-form input{width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:15px;font-size:16px;font-weight:500;color:var(--text)}.login-form input:focus{outline:none;border-color:var(--primary)}:root{--ease: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1)}button,[role=button],.tabbar,.day-card{-webkit-tap-highlight-color:transparent}.day-card,.tabbar button,.add-toggle{-webkit-user-select:none;user-select:none}.screen-head .eyebrow{display:block;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--primary-600);margin-bottom:6px}@media (prefers-reduced-motion: no-preference){@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes viewIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .55s var(--ease) both}.view-home,.view-detail{animation:viewIn .42s var(--ease) both}.day-cards>*{animation:rise .55s var(--ease) both}.day-cards>*:nth-child(1){animation-delay:.06s}.day-cards>*:nth-child(2){animation-delay:.12s}.day-cards>*:nth-child(3){animation-delay:.18s}.day-cards>*:nth-child(4){animation-delay:.24s}.day-cards>*:nth-child(5){animation-delay:.3s}.day-cards>*:nth-child(n+6){animation-delay:.36s}.view-home .add-toggle{animation:rise .55s var(--ease) both;animation-delay:.34s}.exercise-list>*{animation:rise .5s var(--ease) both}.exercise-list>*:nth-child(1){animation-delay:.04s}.exercise-list>*:nth-child(2){animation-delay:.09s}.exercise-list>*:nth-child(3){animation-delay:.14s}.exercise-list>*:nth-child(4){animation-delay:.19s}.exercise-list>*:nth-child(5){animation-delay:.24s}.exercise-list>*:nth-child(n+6){animation-delay:.28s}}.day-card{border-color:#0f172a0f;box-shadow:0 1px 2px #0f172a0a,0 10px 28px -14px #0f172a38;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}.day-card:active{transform:scale(.975);transition-duration:.12s}@media (hover: hover) and (pointer: fine){.day-card:hover{transform:translateY(-3px);box-shadow:0 1px 2px #0f172a0d,0 18px 40px -18px #0f172a4d}.day-card:hover .chevron{transform:translate(3px);color:var(--muted)}}.day-card .icon-tile{border-radius:18px;transition:transform .45s var(--ease-spring)}.day-card:active .icon-tile{transform:scale(.94)}.accent-primary .icon-tile{box-shadow:inset 0 1px 1px #ffffff80,0 8px 18px -8px #0d9488b3}.accent-secondary .icon-tile{box-shadow:inset 0 1px 1px #ffffff80,0 8px 18px -8px #9333ea99}.accent-tertiary .icon-tile{box-shadow:inset 0 1px 1px #ffffff80,0 8px 18px -8px #ec489999}.day-card .chevron{transition:transform .45s var(--ease),color .3s ease}.btn-primary:active,.ex-save:active:not(:disabled),.add-action:active:not(:disabled),.add-toggle:active,.note-btn:active:not(:disabled){transform:scale(.97)}.tabbar button svg{transition:transform .35s var(--ease-spring)}.tabbar button.active svg{transform:scale(1.12) translateY(-1px)}.toast{transition:opacity .3s var(--ease),transform .45s var(--ease-spring)}
