.usage-badge{display:inline-block;font-size:.65rem;font-weight:500;padding:2px 5px;border-radius:3px;margin-left:10px;opacity:.6;font-variant-numeric:tabular-nums;white-space:nowrap;transition:opacity .2s}.usage-badge:hover{opacity:.9}.usage-badge--ok{color:var(--text3, #888);background:#88878014}.usage-badge--warning{color:#d97706;background:#d9770614}.usage-badge--exceeded{color:var(--danger, #D85A30);background:#d85a301a;font-weight:600;opacity:.75}.usage-badge--exceeded:hover{opacity:1}@media (max-width: 640px){.usage-badge{font-size:.6rem;padding:1px 4px;margin-left:8px}}.badge-container-right{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge-button-layout{display:flex;flex-direction:column;align-items:stretch;gap:2px}.badge-button-header{display:flex;align-items:center;justify-content:space-between;width:100%}.badge-button-description{font-size:11px;opacity:.8;display:block;margin-top:2px;text-align:left}@media (max-width: 640px){.badge-container-right{gap:8px}.badge-button-description{font-size:10px}}.feature-usage-overview{display:flex;flex-direction:column;gap:16px}.feature-usage-loading,.feature-usage-error,.feature-usage-empty{padding:20px;text-align:center;color:var(--text2);font-size:14px}.feature-usage-loading{display:flex;align-items:center;justify-content:center;gap:10px}.feature-usage-error{background:#d85a301a;color:var(--danger);border-radius:8px}.feature-category{display:flex;flex-direction:column;gap:8px}.feature-category-label{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.04em}.feature-list{display:flex;flex-direction:column;gap:8px}.feature-item{padding:12px;background:var(--surface2);border-radius:8px;border:1px solid var(--border);transition:all .2s}.feature-item--exceeded{border-color:var(--danger);background:#d85a300d}.feature-item--warning{border-color:#d97706;background:#d977060d}.feature-item--ok{border-color:var(--border)}.feature-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.feature-name{font-size:14px;font-weight:500;color:var(--text1)}.feature-usage{font-size:14px;white-space:nowrap}.usage-unlimited{color:var(--accent);font-weight:500}.usage-boolean{font-weight:500;padding:2px 8px;border-radius:4px;font-size:12px}.usage-boolean.enabled{color:var(--accent);background:#1d9e751a}.usage-boolean.disabled{color:var(--text3);background:#8887801a}.usage-count{color:var(--text1);font-variant-numeric:tabular-nums}.usage-count strong{font-weight:600}.feature-item--exceeded .usage-count{color:var(--danger)}.feature-item--warning .usage-count{color:#d97706}.feature-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:11px;color:var(--text3)}.meta-reset,.meta-next-reset{padding:2px 6px;background:var(--surface);border-radius:4px}@media (max-width: 640px){.feature-main{flex-direction:column;align-items:flex-start;gap:6px}.feature-usage{width:100%}}:root{--bg: #f4f3ef;--surface: #ffffff;--surface2: #f9f8f5;--border: rgba(0,0,0,.09);--border2: rgba(0,0,0,.16);--text1: #1c1b18;--text2: #5a5955;--text3: #9a9892;--accent: #1D9E75;--accent-light: #E1F5EE;--accent-dark: #0a5c43;--danger: #D85A30;--warn: #EF9F27;--nav-h: 56px;--nav-pad-top: 8px;--header-h: 52px;--font: system-ui, -apple-system, "Segoe UI", sans-serif;--capture-content-max: 800px;--admin-main-max: min(1560px, calc(100vw - 220px) )}@media (prefers-color-scheme: dark){:root{--bg: #181816;--surface: #222220;--surface2: #1e1e1c;--border: rgba(255,255,255,.08);--border2: rgba(255,255,255,.14);--text1: #eeecea;--text2: #aaa9a4;--text3: #686762;--accent-light: #04342C;--accent-dark: #5DCAA5}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text1);-webkit-text-size-adjust:100%}.app-shell{display:flex;flex-direction:column;height:100%;max-width:600px;margin:0 auto}.app-header{height:var(--header-h);display:flex;align-items:center;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.app-logo{font-size:18px;font-weight:700;color:var(--accent);letter-spacing:-.02em}.app-main{flex:1;overflow-y:auto;padding:16px 16px calc(var(--nav-h) + var(--nav-pad-top) + env(safe-area-inset-bottom,0px) + 20px)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:600px;display:flex;align-items:center;background:var(--surface);border-top:1px solid var(--border);z-index:20;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;justify-content:flex-start;gap:2px;padding:var(--nav-pad-top) 6px env(safe-area-inset-bottom,0px);min-height:calc(var(--nav-h) + var(--nav-pad-top) + env(safe-area-inset-bottom,0px));height:auto;box-sizing:border-box}.bottom-nav::-webkit-scrollbar{display:none}.nav-item{flex:0 0 auto;min-width:56px;max-width:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text3);text-decoration:none;font-weight:500;transition:color .15s;padding:2px 4px 4px;box-sizing:border-box}.nav-item span{font-size:10px;line-height:1.15;text-align:center;max-width:100%}.nav-item.active{color:var(--accent)}.nav-item svg{flex-shrink:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.card+.card{margin-top:12px}.card-title{font-size:13px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px}.stat-val{font-size:26px;font-weight:700;color:var(--text1);line-height:1}.stat-label{font-size:12px;color:var(--text3);margin-top:3px}.stat-delta{font-size:12px;font-weight:600;margin-top:4px}.delta-pos{color:var(--accent)}.delta-neg{color:var(--danger)}.form-section{margin-bottom:20px}.form-section-title{font-size:13px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.form-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.form-row:last-child{border-bottom:none}.form-label{flex:1;font-size:14px;color:var(--text1)}.form-sub{font-size:11px;color:var(--text3);display:block;margin-top:1px}.form-input{width:90px;padding:7px 10px;text-align:right;font-family:var(--font);font-size:15px;font-weight:500;color:var(--text1);background:var(--surface2);border:1.5px solid var(--border2);border-radius:8px;transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--accent)}.form-unit{font-size:12px;color:var(--text3);width:24px}.settings-page__field{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 0;border-bottom:1px solid var(--border);text-align:left}.settings-page__field-label{display:block;font-size:14px;font-weight:600;color:var(--text1);text-align:left;line-height:1.3}.settings-page__field .form-input{width:100%;max-width:100%;min-width:0;text-align:left;box-sizing:border-box}.form-select{font-family:var(--font);font-size:13px;color:var(--text1);background:var(--surface2);border:1.5px solid var(--border2);border-radius:8px;padding:7px 10px;width:100%}.btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-size:14px;font-weight:600;padding:10px 18px;border-radius:10px;border:none;cursor:pointer;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--surface2);border:1px solid var(--border2);color:var(--text2)}.btn-danger{background:#fcebeb;color:var(--danger)}.btn-full{width:100%;justify-content:center}.btn:disabled{opacity:.5;pointer-events:none}.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px}.ai-content{font-size:14px;line-height:1.7;color:var(--text2);white-space:pre-wrap}.ai-content strong{color:var(--text1);font-weight:600}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.photo-thumb{aspect-ratio:1;border-radius:8px;object-fit:cover;width:100%;cursor:pointer}.tabs{display:flex;gap:4px;background:var(--surface2);border-radius:10px;padding:3px;margin-bottom:16px}.tab{flex:1;text-align:center;padding:7px;border-radius:8px;font-size:13px;font-weight:500;color:var(--text3);cursor:pointer;border:none;background:transparent;font-family:var(--font)}.tab.active{background:var(--surface);color:var(--text1);box-shadow:0 1px 3px #0000001a}.section-gap{margin-bottom:16px}.page-title{font-size:20px;font-weight:700;margin-bottom:16px}.kpi-tiles-grid,.body-kpi-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:8px;margin-bottom:12px}.kpi-tiles-card,.body-kpi-card{background:var(--surface2);border-radius:10px;padding:10px 10px 10px 12px;border:1px solid var(--border);cursor:help;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}@media (hover: none){.kpi-tiles-card,.body-kpi-card{cursor:default}}.kpi-tiles-card:hover,.body-kpi-card:hover{border-color:var(--border2);box-shadow:0 1px 5px #00000012}.kpi-tiles-info-btn,.body-kpi-info-btn{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text3);cursor:pointer;-webkit-tap-highlight-color:transparent}.kpi-tiles-info-btn:active,.body-kpi-info-btn:active{background:var(--surface);color:var(--accent)}.kpi-tiles-touch-backdrop,.body-kpi-touch-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;align-items:flex-end;justify-content:center;padding:0 12px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:#00000073;animation:kpi-tiles-fade-in .15s ease}@keyframes kpi-tiles-fade-in{0%{opacity:0}to{opacity:1}}@keyframes body-kpi-fade-in{0%{opacity:0}to{opacity:1}}.kpi-tiles-touch-sheet,.body-kpi-touch-sheet{width:100%;max-width:520px;max-height:min(72vh,560px);overflow:auto;margin:0 auto;padding:14px 16px 18px;border-radius:16px 16px 0 0;background:var(--surface);border:1px solid var(--border);border-bottom:none;box-shadow:0 -8px 32px #0000002e}.kpi-tiles-touch-sheet__head,.body-kpi-touch-sheet__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.kpi-tiles-touch-sheet__title,.body-kpi-touch-sheet__title{margin:0;font-size:16px;font-weight:700;color:var(--text1);line-height:1.3;flex:1;min-width:0}.kpi-tiles-touch-sheet__close,.body-kpi-touch-sheet__close{flex-shrink:0;width:40px;height:40px;margin:-6px -8px 0 0;padding:0;border:none;border-radius:10px;background:transparent;color:var(--text2);font-size:26px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.kpi-tiles-touch-sheet__close:active,.body-kpi-touch-sheet__close:active{background:var(--surface2)}.kpi-tiles-touch-sheet__body,.body-kpi-touch-sheet__body{font-size:13px;line-height:1.5;color:var(--text2);white-space:pre-wrap;word-break:break-word}.kpi-tiles-touch-sheet__body--muted,.body-kpi-touch-sheet__body--muted{color:var(--text3);font-style:italic}.kpi-tiles-card__hint{max-height:2.8em}.nutrition-macro-pair{display:grid;gap:12px;margin-bottom:12px;align-items:stretch}@media (min-width: 780px){.nutrition-macro-pair{grid-template-columns:minmax(280px,1fr) minmax(320px,1.25fr)}}.nutrition-macro-pair__weekly{min-width:0}.nutrition-macro-pair__chart-wrap{width:100%;min-height:260px}.nutrition-macro-pair__donut-inner{display:flex;flex-direction:column;gap:12px;width:100%}.nutrition-macro-pair__donut-chart{width:100%;min-height:260px}.nutrition-macro-pair__legend{width:100%;padding-top:2px}.nutrition-macro-pair .card.nutrition-macro-pair__donut,.nutrition-macro-pair .card.nutrition-macro-pair__weekly{display:flex;flex-direction:column}.history-page__title{margin-bottom:12px}.history-page__layout{display:flex;flex-direction:column;gap:16px}.history-tabs{margin-bottom:0}.history-tabs__scroller{display:flex;flex-direction:row;gap:6px;overflow-x:auto;padding-bottom:6px;-ms-overflow-style:none;scrollbar-width:none}.history-tabs__scroller::-webkit-scrollbar{display:none}.history-tab-btn{white-space:nowrap;flex-shrink:0;padding:7px 14px;border-radius:20px;border:1.5px solid var(--border2);background:var(--surface);color:var(--text2);font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer}.history-tab-btn:hover{border-color:var(--accent);color:var(--text1)}.history-tab-btn.history-tab-btn--active{border-color:var(--accent);background:var(--accent);color:#fff}.history-tab-btn.history-tab-btn--active:hover{color:#fff}@media (min-width: 1024px){.history-page__layout{flex-direction:row;align-items:flex-start;gap:24px}.history-tabs{flex:0 0 260px;max-width:280px;position:sticky;top:16px;align-self:flex-start}.history-tabs__scroller{flex-direction:column;overflow-x:visible;overflow-y:auto;max-height:calc(100vh - 120px);padding-bottom:0;gap:8px}.history-tab-btn{display:flex;align-items:center;width:100%;text-align:left;border-radius:10px;white-space:normal;flex-shrink:0;padding:10px 14px}.history-content{flex:1;min-width:0}}.analysis-page__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px;flex-wrap:wrap}.analysis-page__header>div:first-child{flex:1;min-width:0}.analysis-split{display:flex;flex-direction:column;gap:16px}.analysis-split__nav{display:flex;flex-direction:row;gap:6px;overflow-x:auto;padding-bottom:6px;-ms-overflow-style:none;scrollbar-width:none}.analysis-split__nav::-webkit-scrollbar{display:none}.analysis-split__nav-item{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;border:1.5px solid var(--border2);background:var(--surface);color:var(--text2);font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.analysis-split__nav-item:hover{border-color:var(--accent);color:var(--text1)}.analysis-split__nav-item--active{border-color:var(--accent);background:var(--accent);color:#fff}.analysis-split__nav-item--active:hover{color:#fff}.analysis-split__nav-item--active .muted{color:#ffffffe0!important}.analysis-split__nav-cat-count{margin-left:6px;font-size:11px;font-weight:500;opacity:.92}.analysis-split__nav-item--active .analysis-split__nav-cat-count{color:#fffffff2;opacity:1}a.analysis-split__nav-item{text-decoration:none;box-sizing:border-box}.analysis-split__main{min-width:0}@media (min-width: 1024px){.analysis-split{flex-direction:row;align-items:flex-start;gap:24px}.analysis-split__nav-wrap{flex:0 0 300px;max-width:320px;position:sticky;top:16px;align-self:flex-start}.analysis-split__nav{flex-direction:column;overflow-x:visible;overflow-y:auto;max-height:calc(100vh - 140px);padding-bottom:0;gap:8px}.analysis-split__nav-item{width:100%;justify-content:flex-start;text-align:left;border-radius:10px;white-space:normal}.analysis-split__main{flex:1}}.capture-page{width:100%;max-width:100%;box-sizing:border-box}@media (min-width: 1024px){.capture-page{max-width:var(--capture-content-max);margin-left:auto;margin-right:auto}}.activity-attribute-profiles .aaf-stack{max-width:42rem}.activity-attribute-profiles .aaf-field{margin-bottom:1rem}.activity-attribute-profiles .aaf-label{display:block;font-size:14px;font-weight:600;color:var(--text1);text-align:left;margin-bottom:6px;line-height:1.35}.activity-attribute-profiles .aaf-sublabel{display:block;font-size:12px;font-weight:600;color:var(--text2);text-align:left;margin-bottom:4px}.activity-attribute-profiles .aaf-hint{font-size:12px;color:var(--text3);text-align:left;margin:6px 0 0;line-height:1.45}.activity-attribute-profiles .aaf-input,.activity-attribute-profiles textarea.aaf-input{display:block;width:100%;box-sizing:border-box;padding:10px 12px;text-align:left;font-family:var(--font);font-size:15px;font-weight:500;color:var(--text1);background:var(--surface2);border:1.5px solid var(--border2);border-radius:8px;transition:border-color .15s}.activity-attribute-profiles textarea.aaf-input{resize:vertical;min-height:4.5rem;font-weight:400}.activity-attribute-profiles .aaf-input:focus{outline:none;border-color:var(--accent)}.activity-attribute-profiles .aaf-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 560px){.activity-attribute-profiles .aaf-split{grid-template-columns:1fr}}.activity-attribute-profiles .aaf-field-select{padding:12px 0;border-bottom:1px solid var(--border)}.activity-attribute-profiles .aaf-field-select:last-child{border-bottom:none}.activity-attribute-profiles .aaf-field-select .form-label{display:block;text-align:left;margin-bottom:6px;font-weight:600;flex:unset}.activity-attribute-profiles .aaf-field-select .form-input,.activity-attribute-profiles .aaf-field-select select.form-input{width:100%;max-width:none;min-width:0;text-align:left;box-sizing:border-box;padding:10px 12px}.activity-attribute-profiles .aaf-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.activity-attribute-profiles .aaf-toolbar .form-label{display:block;text-align:left;margin-bottom:6px;font-weight:600;flex:unset}.activity-attribute-profiles .aaf-toolbar__grow{flex:1 1 240px;min-width:0}.activity-attribute-profiles .aaf-toolbar .form-input,.activity-attribute-profiles .aaf-toolbar select.form-input{width:100%;min-width:140px;max-width:none;text-align:left;box-sizing:border-box;padding:10px 12px}.activity-attribute-profiles .aaf-toolbar__compact{flex:0 0 auto}.activity-attribute-profiles .aaf-toolbar__compact .form-input,.activity-attribute-profiles .aaf-toolbar__compact select.form-input{width:100%;min-width:5rem}.activity-attribute-profiles .aaf-inline-edit .form-input,.activity-attribute-profiles .aaf-inline-edit select.form-input{text-align:left;min-width:4.5rem;width:auto;max-width:none;box-sizing:border-box;padding:8px 10px}.capture-shell{width:100%}.capture-shell__layout{display:flex;flex-direction:column;gap:16px}.capture-shell__nav{display:flex;flex-direction:row;gap:6px;overflow-x:auto;padding-bottom:6px;-ms-overflow-style:none;scrollbar-width:none}.capture-shell__nav::-webkit-scrollbar{display:none}.capture-shell__nav-item{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:20px;border:1.5px solid var(--border2);background:var(--surface);color:var(--text2);font-family:var(--font);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}.capture-shell__nav-item:hover{border-color:var(--accent);color:var(--text1)}.capture-shell__nav-item--active{border-color:var(--accent);background:var(--accent);color:#fff}.capture-shell__nav-item--active:hover{color:#fff}.capture-shell__nav-item--highlight:not(.capture-shell__nav-item--active){border-color:#7f77dd88;background:#7f77dd14}.capture-shell__nav-icon{font-size:15px;line-height:1}.capture-shell__nav-label{line-height:1.2}.capture-shell__main{min-width:0}@media (min-width: 1024px){.capture-shell__layout{flex-direction:row;align-items:flex-start;gap:24px}.capture-shell__nav-wrap{flex:0 0 260px;max-width:280px;position:sticky;top:16px;align-self:flex-start}.capture-shell__nav{flex-direction:column;overflow-x:visible;overflow-y:auto;max-height:calc(100vh - 140px);padding-bottom:0;gap:8px}.capture-shell__nav-item{width:100%;justify-content:flex-start;border-radius:10px;white-space:normal;padding:9px 12px}.capture-shell__main{flex:1}}.settings-shell{width:100%}.ref-value-tiles-grid{display:grid;gap:12px;grid-template-columns:1fr}@media (min-width: 520px){.ref-value-tiles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 900px){.ref-value-tiles-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1200px){.ref-value-tiles-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.ref-value-tile{display:block;width:100%;margin:0;padding:14px 14px 12px;text-align:left;font-family:var(--font);border-radius:12px;border:1.5px solid var(--border2);background:var(--surface);color:var(--text1);cursor:pointer;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.ref-value-tile:hover{border-color:var(--accent)}.ref-value-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ref-value-tile--active{border-color:var(--accent);background:var(--surface2)}.admin-shell{width:100%}.admin-page{width:100%;min-width:0}@media (min-width: 1024px){.admin-page{max-width:100%;margin-left:0;margin-right:0;font-size:clamp(15px,.88rem + .25vw,18px)}}.muted{color:var(--text3);font-size:13px}.empty-state{text-align:center;padding:48px 16px;color:var(--text3)}.empty-state h3{font-size:16px;color:var(--text2);margin-bottom:6px}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideDown{0%{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%);opacity:1}}:root{--warn-bg: #FAEEDA;--warn-text: #7a4b08}@media (prefers-color-scheme: dark){:root{--warn-bg: #3a2103;--warn-text: #FAC775}}.app-header{display:flex;align-items:center;justify-content:space-between}.app-header a{display:flex}.app-shell__column{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.desktop-sidebar{display:none;flex-direction:column;width:220px;height:100vh;position:fixed;left:0;top:0;z-index:30;background:var(--surface);border-right:1px solid var(--border);padding:16px 0}.desktop-sidebar__brand{display:flex;align-items:center;gap:10px;padding:0 16px 20px;border-bottom:1px solid var(--border);margin-bottom:12px}.desktop-sidebar__logo{width:40px;height:40px;border-radius:50%;border:3px solid var(--accent);flex-shrink:0;opacity:.85}.desktop-sidebar__title{font-size:15px;font-weight:700;color:var(--accent);letter-spacing:-.02em;line-height:1.2}.desktop-sidebar__nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto;padding:0 0 12px}.desktop-sidebar__link{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 13px;text-decoration:none;color:var(--text2);font-size:14px;font-weight:500;border-left:3px solid transparent;border-radius:0 8px 8px 0;transition:background .15s,color .15s}.desktop-sidebar__link:hover{background:var(--surface2);color:var(--text1)}.desktop-sidebar__link.desktop-sidebar__link--active{background:var(--accent-light);color:var(--accent);border-left-color:var(--accent)}.desktop-sidebar__footer{border-top:1px solid var(--border);padding:16px 12px 0;display:flex;align-items:center;gap:8px}.desktop-sidebar__user{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-decoration:none;color:inherit}.desktop-sidebar__user-text{display:flex;flex-direction:column;min-width:0}.desktop-sidebar__user-name{font-size:13px;font-weight:600;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-sidebar__user-tier{font-size:11px;color:var(--text3);text-transform:lowercase}.desktop-sidebar__logout{flex-shrink:0;background:none;border:none;padding:8px;cursor:pointer;color:var(--text3);border-radius:8px;display:flex;align-items:center;justify-content:center}.desktop-sidebar__logout:hover{color:var(--danger);background:#d85a3014}@media (max-width: 1023px){.app-shell{display:flex;flex-direction:column;height:100%;max-width:600px;margin:0 auto}}@media (min-width: 1024px){.app-shell{display:block;max-width:none;margin:0;width:100%;min-height:100%}.desktop-sidebar{display:flex}.app-shell__column{margin-left:220px;min-height:100vh}.app-header--mobile,.bottom-nav{display:none!important}.app-main{padding:24px 32px 32px;padding-bottom:max(32px,env(safe-area-inset-bottom,0px));max-width:1200px;margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box}.app-main:has(.admin-shell){max-width:var(--admin-main-max)}.dashboard-greeting{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.dashboard-greeting__meta{margin-top:0!important;text-align:right}}.dashboard-page{width:100%}.dashboard-greeting{margin-bottom:16px}.dashboard-stat-grid,.dashboard-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-stat-grid--mobile-4col,.dashboard-tile-grid--mobile-4col{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-stat-card{background:var(--surface);border-radius:12px;padding:12px 10px;border:1px solid var(--border);transition:border-color .15s}.dashboard-stat-card,.dashboard-tile{min-width:0;box-sizing:border-box;grid-column:span var(--tile-sm, 1)}@media (min-width: 1024px){.dashboard-stat-card,.dashboard-tile{grid-column:span var(--tile-lg, 1)}}.dashboard-section{margin-bottom:22px}.dashboard-section:last-child{margin-bottom:0}.dashboard-section__header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--border)}.dashboard-section__headline{flex:1;min-width:0}.dashboard-section__title{font-size:13px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin:0}.dashboard-section__description{font-size:12px;color:var(--text3);margin:4px 0 0;line-height:1.35;max-width:640px}.dashboard-section__body{display:flex;flex-direction:column;gap:12px}.dashboard-section__actions{flex-shrink:0}.dashboard-pill-row{display:flex;gap:6px;flex-wrap:wrap}.dashboard-summary-row.dashboard-tile-grid{margin-bottom:0}.dashboard-erholung-grid .dashboard-tile>.card,.dashboard-summary-row .dashboard-tile>.card{height:100%}@media (min-width: 1024px){.dashboard-stat-grid,.dashboard-tile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.workflow-editor{display:flex;flex-direction:column;height:calc(100vh - 60px);background:var(--bg)}.workflow-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.workflow-content{display:flex;flex:1;overflow:hidden}.workflow-sidebar{width:220px;background:var(--surface);border-right:1px solid var(--border);padding:16px;overflow-y:auto}.sidebar-section{margin-bottom:24px}.sidebar-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text2);text-transform:uppercase}.node-palette{display:flex;flex-direction:column;gap:8px}.node-palette-button{padding:12px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text1);transition:all .2s}.node-palette-button:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-1px)}.node-palette-button .icon{font-size:20px}.workflow-canvas-container{flex:1;position:relative;background:var(--bg)}.react-flow{background:var(--bg)}.react-flow__node{border-radius:8px}.react-flow__node.selected{box-shadow:0 0 0 3px #1d9e754d}.react-flow__edge-path{stroke:var(--text3);stroke-width:2}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--accent);stroke-width:3}.react-flow__handle{width:10px;height:10px;border:2px solid white}.react-flow__handle-connecting{background:var(--accent)!important}.react-flow__handle-valid{background:#4caf50!important}.workflow-node{min-width:180px;background:var(--surface);border:2px solid var(--border);border-radius:8px;padding:12px;box-shadow:0 2px 4px #0000001a;font-family:inherit;transition:all .2s}.workflow-node:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.workflow-node.selected{border-color:var(--accent);box-shadow:0 0 0 3px #1d9e7533}.node-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.node-icon{font-size:20px;line-height:1}.node-label{font-weight:600;font-size:14px;color:var(--text1);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-body{font-size:12px;color:var(--text2)}.workflow-node.start-node{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;text-align:center}.workflow-node.start-node .node-label,.workflow-node.start-node .node-body{color:#fff}.workflow-node.end-node{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border-color:#f093fb;text-align:center}.workflow-node.end-node .node-label,.workflow-node.end-node .node-body{color:#fff}.workflow-node.analysis-node{background:var(--surface2);border-color:var(--accent)}.workflow-node.analysis-node .prompt-name{font-weight:500;color:var(--text1);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-node.analysis-node .questions-indicator{font-size:11px;color:var(--accent);padding:4px 8px;background:#1d9e751a;border-radius:4px;display:inline-block;margin-top:4px}.workflow-node.logic-node{background:#fff3cd;border-color:#ffc107}.workflow-node.logic-node .condition-summary{padding:6px 8px;background:#ffc10733;border-radius:4px;font-size:11px;font-weight:500}.workflow-node.logic-node .condition-summary.has-condition{color:#856404}.workflow-node.logic-node .condition-summary.no-condition{color:#6c757d;font-style:italic}.workflow-node.join-node{background:#d1ecf1;border-color:#17a2b8}.workflow-node.join-node .node-body{font-size:11px}.workflow-node.join-node .strategy,.workflow-node.join-node .skip-handling{margin-bottom:4px}.workflow-node.join-node strong{color:#0c5460}.workflow-config-panel{width:520px;background:var(--surface);border-left:1px solid var(--border);padding:16px;overflow-y:auto}.config-section{margin-bottom:24px}.config-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--text1)}.config-section label{display:block;margin-bottom:4px;font-size:12px;font-weight:600;color:var(--text2)}.config-section input,.config-section select,.config-section textarea{width:100%;padding:8px;border:1px solid var(--border);border-radius:4px;margin-bottom:8px;font-family:inherit;font-size:14px;background:var(--bg);color:var(--text1)}.config-section textarea{resize:vertical;min-height:60px}.question-editor{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.question-header span{font-weight:600;font-size:14px;color:var(--text1)}.btn-icon{background:none;border:none;cursor:pointer;font-size:18px;padding:4px;opacity:.7;transition:opacity .2s}.btn-icon:hover{opacity:1}.logic-root{margin-bottom:16px}.logic-operands{margin-top:12px}.condition-block{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:8px;margin-bottom:8px}.condition-simple{display:flex;gap:8px;align-items:center}.condition-simple select,.condition-simple input{flex:1;padding:6px;border:1px solid var(--border);border-radius:4px;font-size:12px}.condition-group{border-left:3px solid var(--accent);padding-left:12px;margin-bottom:8px}.group-header{display:flex;gap:8px;align-items:center;margin-bottom:8px}.logic-actions{display:flex;gap:8px;margin-top:12px}.validation-panel{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:12px 16px;max-height:200px;overflow-y:auto;z-index:1000}.validation-error{color:var(--danger);margin-bottom:4px;font-size:14px;cursor:pointer}.validation-error:hover{text-decoration:underline}.validation-warning{color:#ffc107;margin-bottom:4px;font-size:14px;cursor:pointer}.validation-warning:hover{text-decoration:underline}.validation-success{color:#4caf50;font-size:14px;font-weight:600}@media (max-width: 1200px){.workflow-sidebar{width:200px}.workflow-config-panel{width:450px}}@media (max-width: 900px){.workflow-content{flex-direction:column}.workflow-sidebar,.workflow-config-panel{width:100%;border:none;border-bottom:1px solid var(--border)}}
