:root{--bg:#151217;--surface:#211b24;--surface2:#2a222d;--outline:#493c49;--ink:#f7f2ea;--muted:#a99ca9;--aubergine:#241725;--cream:#f7f2ea;--sage:#8fa79a;--round:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);color-scheme:dark}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.52;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--sage);outline-offset:3px}button,svg{touch-action:manipulation}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}h2{font-size:clamp(23px,3vw,31px);margin:4px 0 0}h3{margin:3px 0 0;font-size:21px}.small{font-size:12px}.muted{color:var(--muted)}.hidden{display:none!important}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.17em;color:var(--sage)}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{border-bottom:1px solid #312633;background:linear-gradient(90deg,#241725,#1a151c);padding:14px clamp(18px,4vw,50px);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:44px;height:44px;background:var(--cream);border-radius:12px;color:var(--aubergine);font-size:26px;font-weight:900;letter-spacing:-3px;display:grid;place-items:center}.brand-mark span{color:#7ba28d}.brand-name{font-size:20px;font-weight:900;letter-spacing:.16em;line-height:1.1}.brand-subtitle{font-size:11px;color:var(--muted);margin-top:3px}.header-actions{display:flex;align-items:center;gap:17px}.clock-label{font-weight:650;font-size:15px;font-variant-numeric:tabular-nums}.icon-button{border:1px solid #4d3f4f;background:#322736;color:var(--ink);min-width:35px;min-height:35px;display:grid;place-items:center;border-radius:10px;padding:5px;font-size:25px;line-height:1}.icon-button svg{width:19px;height:19px}.content{width:min(1050px,100% - 36px);margin:0 auto;flex:1}.hero{margin:32px 0 27px;border:1px solid #4a3650;border-radius:22px;padding:32px 37px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:radial-gradient(circle at 95% 40%,#41283f 0%,#271b2b 48%,#241725 100%)}.hero h1{font-size:clamp(29px,4vw,46px);line-height:1.05;margin:12px 0}.hero h1 em{color:#a5bfb0;font-weight:600;font-style:normal}.hero p{color:#cbbdcb;font-size:14px;margin:0;max-width:540px}.hero-stat{border-left:1px solid #6b516c;min-width:220px;padding-left:27px;display:flex;flex-direction:column;gap:8px}.hero-stat>span{font-size:10px;letter-spacing:.14em;color:#c7b7c6;font-weight:750}.hero-stat strong{font-size:clamp(28px,4vw,38px);font-weight:790;letter-spacing:-.035em;white-space:nowrap}.hero-stat small{color:#b8a7b8}.tabs{display:flex;gap:7px;border-bottom:1px solid #4c3b4b;margin-bottom:31px}.tab{border:0;background:none;border-bottom:3px solid transparent;color:#a79ba9;padding:14px 24px;font-size:14px;font-weight:750}.tab.active{border-bottom-color:var(--sage);color:var(--ink)}.tab-icon{font-size:21px;vertical-align:-2px;margin-right:5px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 19px;gap:15px}.count-pill{background:#312732;color:#bdaebe;padding:8px 12px;font-size:12px;border-radius:20px;white-space:nowrap}.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.activity-tile{min-width:0;border:0;background:var(--tile);aspect-ratio:1.20/1;min-height:132px;border-radius:17px;padding:14px 5px 13px;color:white;display:flex;flex-direction:column;justify-content:space-between;align-items:center;box-shadow:inset 0 0 0 1px #ffffff12,0 5px 16px #0002;transition:transform .14s ease,filter .14s ease;overflow:hidden}.activity-tile:hover{filter:brightness(1.12);transform:translateY(-3px)}.activity-tile:active{transform:scale(.97)}.activity-icon{height:62%;width:100%;display:flex;align-items:center;justify-content:center}.tile-icon{width:clamp(31px,5vw,54px);height:clamp(31px,5vw,54px);color:#fff}.activity-name{font-size:clamp(13px,1.6vw,21px);font-weight:720;letter-spacing:-.05em;line-height:1.08;text-align:center;max-width:100%;overflow-wrap:anywhere;text-shadow:0 1px 3px #3333}.tile-actions{display:flex;justify-content:center;margin:18px 0 48px}.add-tile{border:1px dashed #68727b;background:#405664;border-radius:16px;display:flex;gap:12px;padding:15px 22px;color:white;align-items:center;font-size:13px;font-weight:700}.add-tile:hover{background:#4e6979}.add-symbol{border:2px solid white;border-radius:50%;display:grid;place-items:center;width:26px;height:26px;font-size:20px}.entries-panel{border-top:1px solid var(--outline);padding:35px 0 65px}.align-center{align-items:center}.day-nav{display:flex;align-items:center;gap:4px;border:1px solid var(--outline);background:#251f29;border-radius:11px;padding:3px}.day-nav button,.date-field button{border:0;background:transparent;color:var(--cream);font-size:26px;min-width:34px}.day-nav input{border:0;background:transparent;color:var(--cream);font-size:13px;width:136px;outline:none;text-align:center;color-scheme:dark}.entry-list{border:1px solid var(--outline);border-radius:15px;overflow:hidden;background:#211c24}.entry-row{border:0;border-bottom:1px solid #3c303c;width:100%;display:flex;align-items:center;text-align:left;background:transparent;color:var(--ink);padding:13px 17px;gap:15px}.entry-row:last-child{border-bottom:0}.entry-row:hover{background:#332a33}.entry-color{width:5px;height:40px;border-radius:8px;flex:none}.entry-main{display:flex;flex-direction:column;flex:1;gap:4px}.entry-main strong{font-size:14px}.entry-main small,.entry-time small{color:var(--muted);font-size:11px}.entry-time{display:flex;flex-direction:column;text-align:right;gap:3px;white-space:nowrap;font-size:13px;font-variant-numeric:tabular-nums}.entry-arrow{font-size:27px;color:#a89baa}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 15px;color:var(--muted)}.empty-icon{font-size:36px;color:#8fa79a;margin-bottom:12px}.empty-state strong{color:var(--cream)}.empty-state p{font-size:12px;margin:5px 0 0}.button{border-radius:10px;border:1px solid transparent;padding:12px 16px;white-space:nowrap;font-size:13px;font-weight:750;transition:background .1s ease}.button.primary{color:#1f2a25;background:var(--sage)}.button.primary:hover{background:#bbd1c2}.button.outlined{background:transparent;color:var(--cream);border-color:#635363}.button.outlined:hover,.button.secondary:hover{background:#473b49}.button.secondary{background:#342a36;color:var(--cream);border-color:#514353}.button.danger{background:#622e37;color:#fff}.button.tiny{font-size:11px;padding:9px 12px}.button.full{width:100%}#manual-add{margin-top:17px}footer{border-top:1px solid #332937;color:#877a89;padding:18px 5vw;display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:.04em}
/* Reports */
.report-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.segmented{display:flex;background:#302734;padding:4px;border-radius:10px;gap:4px}.segmented button{border:0;background:transparent;color:#b5a7b6;padding:10px 18px;border-radius:8px;font-size:12px;font-weight:750}.segmented button.active{background:var(--sage);color:#1f2a25}.report-nav{display:flex;justify-content:center;align-items:center;gap:17px;margin:25px auto}.report-nav strong{font-size:14px;text-align:center;min-width:185px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-card{background:#211b25;border:1px solid #453747;border-radius:18px;padding:26px}.donut-card{text-align:center}.donut{width:min(250px,80%);aspect-ratio:1;margin:26px auto 18px;border-radius:50%;position:relative;display:grid;place-items:center;background:#332937}.donut-hole{width:76%;height:76%;border-radius:50%;background:#211b25;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-hole strong{font-size:30px;letter-spacing:-.04em}.donut-hole span{color:var(--muted);font-size:12px}.donut-card p{margin-bottom:2px;line-height:1.6}.group-bars{margin-top:29px}.bar-block{margin-bottom:21px}.bar-label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;margin-bottom:9px}.bar-label span{display:flex;gap:8px;align-items:center}.bar-label i{display:inline-block;width:11px;height:11px;border-radius:3px}.bar-label strong{font-size:13px;white-space:nowrap}.bar-label small{font-size:11px;color:var(--muted);font-weight:500;margin-left:6px}.bar-track{height:9px;background:#3c3140;border-radius:12px;overflow:hidden}.bar-track>div{height:100%;border-radius:12px}.sleep-block{border-top:1px solid #4a3b49;padding-top:18px;display:flex;justify-content:space-between;gap:8px;font-size:13px}.sleep-block span small{display:block;color:var(--muted);padding-left:24px;margin-top:3px}.sleep-block strong{white-space:nowrap;font-size:12px}.detail-card{margin:18px 0 70px}.report-detail-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.category-report{display:flex;align-items:center;gap:12px;border-bottom:1px solid #3b303c;padding:13px 0}.category-report:last-child{border-bottom:0}.cat-report-dot{width:12px;height:12px;border-radius:4px;flex:none}.cat-report-name{flex:1;font-size:13px;font-weight:650}.cat-report-name small,.cat-report-num small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:3px}.cat-report-num{text-align:right;font-size:13px;font-weight:700;white-space:nowrap}.empty-report{padding:28px 0;color:var(--muted);font-size:13px}
/* Dialogs */
dialog{border:0;padding:0;background:transparent;color:var(--ink);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 20px 80px #0009;border-radius:20px}dialog::backdrop{background:#0d0a10cf;backdrop-filter:blur(5px)}.dialog-panel{width:min(520px,calc(100vw - 24px));border:1px solid #675267;border-radius:19px;background:#241c27;overflow:hidden}.dialog-panel.narrow{width:min(430px,calc(100vw - 24px))}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;background:#2e2130;padding:22px 25px 19px;border-bottom:1px solid #493949}.modal-head h2{font-size:23px}.close-x{border:0;background:none;color:#ddd0dd;font-size:28px;line-height:1;margin:-5px -6px;padding:5px 10px}.modal-body{padding:24px 25px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:19px}.field>label{font-weight:650;font-size:12px;color:#dfd5df}.field input:not([type=color]),.field select{width:100%;height:44px;color:var(--cream);background:#332937;border:1px solid #5c4a5b;border-radius:9px;padding:0 12px;outline:none;color-scheme:dark}.field input[type=color]{height:48px;width:100%;background:#332937;border:1px solid #5c4a5b;border-radius:9px;padding:4px}.date-field{display:flex;align-items:center;background:#332937;border:1px solid #5c4a5b;border-radius:9px}.date-field input{flex:1;min-width:0;border:0!important;background:none!important}.date-field button{width:42px}.times-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.times-grid input{font-variant-numeric:tabular-nums;font-size:19px;font-weight:650}.duration-preview{display:flex;justify-content:space-between;background:#342b39;border:1px solid #524559;border-radius:12px;padding:15px 18px;margin-bottom:22px}.duration-preview>div{display:flex;flex-direction:column;gap:5px}.duration-preview>div:last-child{text-align:right}.duration-preview span{font-size:10px;letter-spacing:.12em;color:#b0a3b3;font-weight:750}.duration-preview strong{font-size:22px;letter-spacing:-.04em}.group-choice{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.group-chip{border:1px solid #554859;background:#332938;color:#ccbfcf;border-radius:8px;padding:11px 4px;font-size:11px;font-weight:750}.group-chip.selected{border-color:var(--chip-color);background:color-mix(in srgb,var(--chip-color),transparent 79%);color:var(--cream);box-shadow:inset 0 -3px var(--chip-color)}.hint{border-left:3px solid #8fa79a;background:#314037;color:#c9e8d3;padding:10px;margin-bottom:12px;font-size:12px;border-radius:5px}.error{border-left:3px solid #ea7774;background:#49272c;color:#ffcccb;padding:11px;border-radius:5px;font-size:12px}.modal-footer{padding:15px 25px 22px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.gap-text{font-size:14px;line-height:1.7;padding:25px 25px 0;margin:0}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,30px);background:#8fa79a;color:#18231e;padding:12px 20px;border-radius:12px;font-size:13px;font-weight:750;opacity:0;pointer-events:none;transition:.15s;z-index:99999;box-shadow:0 10px 30px #0006}.toast.bad{background:#ea9690;color:#321615}.toast.visible{opacity:1;transform:translate(-50%,0)}
/* Login */
.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at top,#3b2740,#161219 75%)}.auth-box{max-width:430px;width:100%;border:1px solid #574459;background:#251b29;border-radius:22px;padding:32px}.auth-box h1{font-size:39px;line-height:1.1;margin:15px 0}.auth-box h1 span{color:#a7c2af}.auth-box p{color:#c3b6c4;line-height:1.6;font-size:14px}.auth-box form{display:grid;gap:9px;margin:23px 0}.auth-box label{font-size:12px;font-weight:750}.auth-box input{background:#34293a;border:1px solid #6c5770;border-radius:9px;padding:14px;color:var(--cream);outline:none}.auth-box .form-note{font-size:12px;margin:4px 0;color:#e3a3a3}
@media(max-width:680px){.hero{padding:23px 21px;margin:17px 0 15px;flex-direction:column;align-items:stretch;gap:15px}.hero-stat{min-width:0;border-left:0;border-top:1px solid #654768;padding:14px 0 0;display:grid;grid-template-columns:1fr auto;gap:3px}.hero-stat>span{grid-column:1;align-self:center}.hero-stat strong{grid-column:2;grid-row:1 / span 2;font-size:29px;align-self:center}.hero-stat small{grid-column:1}.hero h1{font-size:31px;margin:8px 0}.hero p{font-size:12px}.content{width:calc(100% - 26px)}.tiles{gap:8px}.activity-tile{min-height:85px;aspect-ratio:.82;padding:8px 2px;border-radius:11px}.activity-icon{height:58%}.activity-name{font-size:clamp(10px,2.6vw,14px);line-height:1.02;letter-spacing:-.05em}.tile-icon{width:clamp(22px,6vw,34px);height:clamp(22px,6vw,34px)}.section-heading{margin-bottom:15px}.section-heading h2{font-size:22px}.count-pill{font-size:10px;padding:6px 9px}.tabs{margin-bottom:22px}.tab{padding:12px 19px}.tile-actions{margin:16px 0 32px}.entries-panel{padding-top:24px}.day-nav input{width:111px;font-size:11px}.day-nav button{min-width:24px}.report-grid{grid-template-columns:1fr}.report-card{padding:22px}.report-header h2{font-size:24px}.donut{width:225px}.dialog-panel{border-radius:14px}.modal-body{padding:19px}.modal-head{padding:20px 19px 16px}.modal-footer{padding:13px 19px 20px}.group-chip{font-size:10px}}
@media(max-width:380px){.activity-name{font-size:10px}.activity-tile{min-height:75px}.tiles{gap:6px}.tile-icon{width:25px;height:25px}.day-nav input{width:104px}.count-pill{display:none}.entry-row{padding:12px 9px;gap:8px}.entry-time{font-size:11px}.modal-footer .button{padding:11px 10px;font-size:11px}}

/* Wortmarke: Akzentpunkt bleibt innerhalb des Icons. */
.brand-mark{position:relative;display:flex;align-items:center;justify-content:center;letter-spacing:-.09em;padding-right:4px}.brand-mark span{position:absolute;right:8px;bottom:6px;line-height:1;font-size:25px}

/* V1.1: fehlende Zeiten der Chronik als klar erkennbare rote Platzhalter. */
.chronik-summary{font-size:12px;line-height:1.5;color:#a8c6b1;margin:-3px 1px 12px}
.chronik-summary.has-gaps{color:#ffacac}
.entry-row.placeholder-row{background:#4a2028;color:#ffe8e8}
.entry-row.placeholder-row:hover{background:#632a34}
.entry-row.placeholder-row .entry-color{background:#f15b66}
.entry-row.placeholder-row .entry-main strong{color:#ff8f96}
.entry-row.placeholder-row .entry-main small,.entry-row.placeholder-row .entry-time small{color:#e9a5ab}
.entry-row.placeholder-row .entry-arrow{color:#ff939c}

/* V002: helle Erfassungsmaske entsprechend der freigegebenen Vorschau. */
#edit-dialog { color:#25172a; }
#edit-dialog .dialog-panel { background:#fbf9f6; color:#211825; border:1px solid #e1d9e1; box-shadow:0 18px 90px #0007; }
#edit-dialog .modal-head { background:#f7f2ea; border-bottom:1px solid #e9e0e9; padding-bottom:15px; }
#edit-dialog .modal-head h2 { color:#241725; }
#edit-dialog .modal-head .eyebrow { color:#74537a; }
#edit-dialog .close-x { color:#513a55; }
#edit-dialog .field>label { color:#33263a; font-weight:750; }
#edit-dialog .field input:not([type=color]), #edit-dialog .field select { background:#fff; color:#241725; border:1px solid #d8d1dd; color-scheme:light; height:47px; }
#edit-dialog .date-field button { color:#573960; }

#edit-dialog .time-guide { font-size:11px; line-height:1.5; color:#706776; margin:-4px 0 13px; }
#edit-dialog .duration-preview { background:#f0ebf1; border:1px solid #e4dae8; color:#241725; }
#edit-dialog .duration-preview span { color:#64586b; }
#edit-dialog .group-chip { background:#fff; color:#372a3d; border:1px solid #dfd8e4; font-size:12px; }
#edit-dialog .group-chip.selected { background:color-mix(in srgb, var(--chip-color), white 75%); border-color:var(--chip-color); color:#201629; }
#edit-dialog .hint { background:#e3efe8; color:#375545; }
#edit-dialog .error { background:#ffe5e4; color:#8b1515; }
#edit-dialog .modal-footer { background:#fbf9f6; border-top:1px solid #eae4e9; }
#edit-dialog .button.primary { background:#512b60; color:#fff; }
#edit-dialog .button.primary:hover { background:#6e417c; }
#edit-dialog .button.secondary { background:#fff; color:#482756; border:1px solid #7b5c85; }
#edit-dialog .button.danger { background:#fff; color:#ac2d32; border:1px solid #efb1b3; }
#edit-dialog .field input::placeholder { color:#8b8290; }
#edit-dialog .field input:focus-visible, #edit-dialog .field select:focus-visible { outline:2px solid #8fa79a; outline-offset:2px; }
@media(max-width:480px){#edit-dialog .modal-head{padding:17px 19px 12px}#edit-dialog .modal-body{padding:17px 19px}#edit-dialog .modal-footer{padding:13px 19px 18px}#edit-dialog .field{margin-bottom:14px}#edit-dialog .duration-preview{margin-bottom:16px}}

/* V002: Fünf Überkategorien, Erholung/Spass direkt neben Hygiene. */
#edit-dialog .group-choice { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
#edit-dialog .group-chip { grid-column:span 2; min-height:42px; padding:9px 4px; line-height:1.25; overflow-wrap:break-word; }
#edit-dialog .group-chip:nth-child(4), #edit-dialog .group-chip:nth-child(5) { grid-column:span 3; }
#edit-dialog .group-chip:focus-visible { outline:3px solid #705280; outline-offset:2px; }

/* Warnung: Passwortprüfung in der Entwicklungsfassung ausdrücklich ausgeschaltet. */
.dev-banner { padding:9px 16px; background:#a51f30; color:#fff; font-size:12px; font-weight:800; letter-spacing:.5px; text-align:center; }
.dev-warning { background:#fce2e4; color:#8b172b; border:1px solid #eaa5ae; border-radius:9px; padding:10px 12px; font-size:12px; line-height:1.5; font-weight:750; }
