*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',sans-serif;background:#F5F0EB;color:#2D2A26;min-height:100dvh;-webkit-font-smoothing:antialiased}
.install-banner{display:none;background:linear-gradient(135deg,#D97706,#F59E0B);color:white;padding:14px 24px;font-size:13px;font-weight:600;text-align:center;align-items:center;justify-content:center;gap:8px}
.install-banner .close-banner{background:rgba(255,255,255,0.25);border:none;color:white;width:24px;height:24px;border-radius:50%;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:8px}
#auth-gate{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1A1612 0%,#2D2520 50%,#3D2E1E 100%)}
.auth-box{background:white;border-radius:16px;padding:40px 36px;max-width:380px;width:90%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,0.3)}
.auth-box h1{font-family:'DM Serif Display',serif;font-size:28px;font-weight:400;margin-bottom:4px}
.auth-box .auth-sub{font-size:12px;color:#D4A574;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:20px}
.auth-box p{font-size:13px;color:#8B8680;margin-bottom:24px}
.auth-box input{width:100%;padding:12px 16px;border:1.5px solid #E5DFD8;border-radius:8px;font-size:16px;font-family:inherit;outline:none;margin-bottom:12px;-webkit-appearance:none}
.auth-box input:focus{border-color:#D97706}
.auth-box button{width:100%;padding:12px;border:none;border-radius:8px;background:linear-gradient(135deg,#D97706,#F59E0B);color:white;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}
.auth-box button:disabled{opacity:0.6}
.auth-error{color:#DC2626;font-size:12px;margin-top:8px;display:none}
.auth-locked{color:#DC2626;font-size:12px;margin-top:8px;display:none}
#app{display:none}
.topnav{background:linear-gradient(135deg,#1A1612 0%,#2D2520 50%,#3D2E1E 100%);padding:calc(16px + env(safe-area-inset-top,0px)) 24px 16px;color:white;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}
.topnav-left{display:flex;align-items:center;gap:12px}
.topnav-back{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);color:#BDB5AA;width:32px;height:32px;border-radius:8px;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:16px;-webkit-tap-highlight-color:transparent}
.topnav-back.visible{display:flex}
.topnav-title{font-family:'DM Serif Display',serif;font-size:20px}.topnav-title span{color:#D4A574}
.topnav-right{display:flex;gap:8px}
.topnav-btn{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);color:#BDB5AA;padding:4px 12px;border-radius:6px;font-size:11px;cursor:pointer;font-family:inherit}
.sync-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px}
.sync-ok{background:#34D399}.sync-saving{background:#FBBF24}.sync-error{background:#F87171}
.view{display:none;padding-bottom:80px}.view.active{display:block}
.dash-header{max-width:700px;margin:0 auto;padding:32px 24px 0}
.dash-header h2{font-family:'DM Serif Display',serif;font-size:24px;margin-bottom:4px}
.dash-header p{font-size:13px;color:#8B8680}
.dash-grid{max-width:700px;margin:0 auto;padding:20px 24px;display:flex;flex-direction:column;gap:12px}
.branch-card{background:white;border-radius:16px;border:1.5px solid #E8E3DC;padding:20px;cursor:pointer;transition:all 0.2s;-webkit-tap-highlight-color:transparent}
.branch-card:hover{box-shadow:0 4px 20px rgba(0,0,0,0.06);transform:translateY(-1px)}
.branch-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.branch-icon{font-size:28px}
.branch-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px}
.branch-badge.active{background:#FEF3C7;color:#92400E}
.branch-title{font-size:16px;font-weight:700;margin-bottom:4px}
.branch-desc{font-size:12px;color:#8B8680;margin-bottom:12px}
.branch-progress{height:4px;border-radius:2px;background:#F0ECE6;overflow:hidden}
.branch-progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#D97706,#F59E0B);transition:width 0.5s}
.branch-stats{display:flex;justify-content:space-between;font-size:11px;color:#8B8680;margin-top:6px}
.section-wrap{max-width:700px;margin:0 auto;padding:0 24px}
/* Relocation */
.filters{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0 24px}
.filter-btn{padding:6px 14px;border-radius:20px;border:1.5px solid #E5DFD8;background:white;color:#6B6560;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.filter-btn:active{transform:scale(0.96)}
.filter-btn.active{border-color:#D97706;background:#FEF3C7;color:#92400E;font-weight:600}
.category-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.category-header .icon{font-size:20px}.category-header h2{font-size:16px;font-weight:700}.category-header .count{font-size:12px;color:#8B8680}
.category-group{margin-bottom:32px}
.tasks-list{display:flex;flex-direction:column;gap:8px}
.task-card{background:white;border-radius:12px;border:1.5px solid #E8E3DC;overflow:hidden;transition:all 0.2s}
.task-card.done{opacity:0.75;border-color:#D1FAE5}.task-card.expanded{box-shadow:0 4px 20px rgba(0,0,0,0.06)}
.task-header{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.checkbox{width:28px;height:28px;min-width:28px;border-radius:6px;border:2px solid #D1CBC3;display:flex;align-items:center;justify-content:center;cursor:pointer;background:transparent;-webkit-tap-highlight-color:transparent}
.checkbox:active{transform:scale(0.9)}.checkbox.checked{background:#059669;border-color:#059669}
.checkbox svg{display:none}.checkbox.checked svg{display:block}
.task-content{flex:1;min-width:0}
.task-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.task-num{font-size:11px;font-weight:700;color:#8B8680;min-width:20px}
.task-title{font-size:14px;font-weight:600;line-height:1.4}
.task-card.done .task-title{text-decoration:line-through;color:#8B8680}
.priority-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:0.05em}
.priority-high{background:#FEF2F2;color:#DC2626}.priority-medium{background:#FFFBEB;color:#D97706}.priority-low{background:#F0FDF4;color:#059669}
.choice-indicator{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;background:#EDE9FE;color:#6D28D9}
.note-indicator{font-size:12px}
.deadline{font-size:11px;color:#8B8680;margin-top:4px}.deadline.urgent{color:#DC2626;font-weight:600}
.chevron{margin-top:4px;min-width:16px;transition:transform 0.2s}.task-card.expanded .chevron{transform:rotate(180deg)}
.task-body{display:none;padding:0 16px 16px;border-top:1px solid #F0ECE6}.task-card.expanded .task-body{display:block}
.task-desc{font-size:13px;color:#5C5752;line-height:1.6;margin:14px 0}
.choice-section{background:#F5F3FF;border:1.5px solid #DDD6FE;border-radius:8px;padding:12px 14px;margin-bottom:12px}
.choice-label{font-size:11px;font-weight:700;color:#6D28D9;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:8px}
.choice-options{display:flex;flex-wrap:wrap;gap:8px}
.choice-btn{padding:8px 16px;border-radius:8px;border:1.5px solid #DDD6FE;background:white;color:#5B21B6;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}
.choice-btn:active{transform:scale(0.96)}.choice-btn.selected{background:#7C3AED;color:white;border-color:#7C3AED}
.tips-box{background:#FAFAF8;border-radius:8px;padding:12px 14px;margin-bottom:12px}
.tips-label{font-size:11px;font-weight:700;color:#8B8680;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:8px}
.tip{font-size:12px;color:#5C5752;line-height:1.5;padding-left:14px;position:relative;margin-bottom:6px}.tip::before{content:'•';position:absolute;left:0;color:#D97706}
.note-display{background:#FEF9EF;border:1px solid #F3E8D0;border-radius:8px;padding:10px 14px;font-size:12px;color:#78716C;line-height:1.5;margin-bottom:8px;white-space:pre-wrap}.note-display strong{color:#92400E}
.note-textarea{width:100%;min-height:70px;padding:10px 12px;border-radius:8px;border:1.5px solid #D4A574;font-size:16px;font-family:inherit;resize:vertical;outline:none;background:#FFFCF7;-webkit-appearance:none}
.note-actions{display:flex;gap:8px;margin-top:8px}
.btn-save{padding:8px 20px;border-radius:6px;border:none;background:#D97706;color:white;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.btn-cancel{padding:8px 20px;border-radius:6px;border:1.5px solid #E5DFD8;background:white;color:#6B6560;font-size:13px;cursor:pointer;font-family:inherit}
.btn-add-note{padding:8px 14px;border-radius:6px;border:1.5px solid #E5DFD8;background:white;color:#6B6560;font-size:12px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px}
.rel-progress{padding:20px 0;display:flex;align-items:center;gap:12px}
.rel-progress-bar{flex:1;height:6px;border-radius:3px;background:#E8E3DC;overflow:hidden}
.rel-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#D97706,#F59E0B);transition:width 0.5s}
.rel-progress-text{font-size:13px;color:#8B8680;white-space:nowrap}
/* Balance */
.bal-summary{background:linear-gradient(135deg,#1A1612,#2D2520);border-radius:16px;padding:24px;color:white;margin:20px 0}
.bal-total-label{font-size:11px;color:#D4A574;text-transform:uppercase;letter-spacing:0.15em;margin-bottom:8px}
.bal-total-row{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;margin-bottom:4px}
.bal-total-amount{font-family:'DM Serif Display',serif;font-size:28px;white-space:nowrap}
.bal-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,0.1);font-size:11px;color:#8B8680}
.bal-meta strong{color:#BDB5AA}
.bal-actions{display:flex;gap:8px;margin-top:14px}
.bal-update-btn{padding:10px 20px;border-radius:8px;border:none;background:linear-gradient(135deg,#059669,#10B981);color:white;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:8px;-webkit-tap-highlight-color:transparent}
.bal-update-btn:disabled{opacity:0.6}.bal-update-btn:active{transform:scale(0.97)}
.bal-update-btn .spinner,.opt-spin .spinner{display:none;width:14px;height:14px;border:2px solid rgba(217,119,6,0.3);border-top-color:#D97706;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle}
.bal-update-btn.loading .spinner,.opt-spin.loading .spinner{display:inline-block}.bal-update-btn.loading .btn-text,.opt-spin.loading .btn-text{display:none}
.bal-update-btn .spinner{border:2px solid rgba(255,255,255,0.3);border-top-color:white}
@keyframes spin{to{transform:rotate(360deg)}}
/* Aggregation table */
.agg-table{margin-top:12px;display:flex;flex-direction:column;gap:0}
.agg-row{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,0.07)}
.agg-row:last-child{border-bottom:none}
.agg-name{font-size:13px;color:#BDB5AA}
.agg-val{font-size:13px;font-weight:600;text-align:right;white-space:nowrap}
.agg-sub{font-size:11px;color:#8B8680;text-align:right;white-space:nowrap;min-width:70px}
.agg-highlight{padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.15)}
.agg-highlight .agg-name{font-weight:700;color:white}
.agg-green{color:#34D399}
.agg-red{color:#F87171}
.agg-total{padding:10px 0;border-top:2px solid rgba(255,255,255,0.2);border-bottom:none;margin-top:2px}
.agg-total .agg-name{font-weight:700;font-size:15px;color:white}
.agg-total .agg-val{font-size:15px;color:white}
.agg-metric{padding:6px 0;border-bottom:none}
.agg-metric .agg-name{font-size:11px;color:#8B8680}
.agg-metric .agg-val{font-size:13px}
/* Summary breakdown */
.bal-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,0.1)}
.bal-break-item{text-align:center}
.bal-break-name{font-size:11px;color:#D4A574;margin-bottom:4px}
.bal-break-val{font-size:16px;font-weight:600;font-family:'DM Serif Display',serif}
.bal-break-sub{font-size:10px;color:#8B8680;margin-top:2px}
/* Chart */
.bal-chart-wrap{background:white;border-radius:16px;border:1.5px solid #E8E3DC;padding:20px;margin:0 0 20px}
.bal-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.bal-chart-title{font-size:15px;font-weight:700}
.bal-chart-range{display:flex;gap:4px}
.range-btn{padding:4px 10px;border-radius:6px;border:1px solid #E5DFD8;background:white;color:#8B8680;font-size:11px;cursor:pointer;font-family:inherit}
.range-btn.active{background:#1A1612;color:white;border-color:#1A1612}
.bal-chart-empty{text-align:center;padding:40px 0;color:#A8A29E;font-size:13px}
/* Depå */
.depa-card{background:white;border-radius:16px;border:1.5px solid #E8E3DC;margin-bottom:20px;overflow:hidden}
.depa-header{background:linear-gradient(135deg,#2D2520,#3D2E1E);padding:18px 20px;color:white;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.depa-header-left h3{font-family:'DM Serif Display',serif;font-size:18px;font-weight:400;margin-bottom:2px}
.depa-header-totals{font-size:12px;color:#BDB5AA;display:flex;flex-wrap:wrap;gap:8px}
.depa-header-right{display:flex;gap:6px}
.depa-edit-btn{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#BDB5AA;padding:4px 10px;border-radius:6px;font-size:11px;cursor:pointer;font-family:inherit}
.depa-body{padding:16px 20px}
.depa-section{margin-bottom:16px}.depa-section:last-child{margin-bottom:0}
.depa-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.depa-section-title{font-size:12px;font-weight:700;color:#8B8680;text-transform:uppercase;letter-spacing:0.1em}
.depa-section-total{font-size:11px;color:#8B8680}
.depa-add-btn{padding:4px 12px;border-radius:6px;border:1.5px dashed #D1CBC3;background:transparent;color:#8B8680;font-size:11px;cursor:pointer;font-family:inherit}
.depa-items{display:flex;flex-direction:column;gap:4px}
.di{background:#FAFAF8;border-radius:8px;border:1px solid #F0ECE6;padding:10px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.di-info{flex:1;min-width:0}
.di-name{font-size:13px;font-weight:600}
.di-detail{font-size:11px;color:#8B8680;display:flex;flex-wrap:wrap;gap:6px;margin-top:1px}
.di-detail .ticker{background:#F0ECE6;padding:1px 5px;border-radius:3px;font-weight:600;font-size:10px}
.di-detail .chg-pos{color:#059669;font-weight:600}.di-detail .chg-neg{color:#DC2626;font-weight:600}
.fee-badge{font-size:10px;font-weight:600;color:#6D28D9;background:#EDE9FE;padding:2px 6px;border-radius:4px;margin-left:6px;letter-spacing:0.02em}
.di-detail .rate-badge{padding:1px 5px;border-radius:3px;font-weight:600;font-size:10px}
.di-detail .rate-pos{background:#E0F2FE;color:#0369A1}
.di-detail .rate-zero{background:#F5F0EB;color:#A8A29E}
.di-amounts{text-align:right;min-width:80px}
.di-val{font-size:13px;font-weight:600}
.di-sub{font-size:10px;color:#8B8680}
.di-actions{display:flex;gap:3px}
.di-btn{width:26px;height:26px;border-radius:5px;border:1px solid #E8E3DC;background:white;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;-webkit-tap-highlight-color:transparent}
.di-btn:active{transform:scale(0.9)}
.di-btn.del{color:#DC2626;border-color:#FECACA}
.di-btn.log{color:#6D28D9;border-color:#DDD6FE}
.vpk-line{background:#FEF2F2;border:1px solid #FECACA;border-radius:8px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}
.vpk-label{font-size:12px;font-weight:600;color:#DC2626;display:flex;align-items:center;gap:6px}
.vpk-rate{font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px;background:#FEE2E2;color:#991B1B}
.vpk-amount{font-size:14px;font-weight:700;color:#DC2626}
.vpk-actions{display:flex;gap:3px}
.di-log{padding:6px 12px;background:#FAFAF8;border-radius:6px;border:1px solid #F0ECE6;max-height:100px;overflow-y:auto;margin-top:4px;width:100%}
.di-log-entry{font-size:10px;color:#6B6560;padding:2px 0;border-bottom:1px solid #F0ECE6;display:flex;gap:6px}
.di-log-entry:last-child{border-bottom:none}
.di-log-date{color:#A8A29E;min-width:80px;white-space:nowrap}
/* Other */
.other-section{margin-bottom:20px}
.other-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px}
.other-section-left{display:flex;align-items:center;gap:10px}
.other-section-icon{font-size:20px}
.other-section-title{font-size:15px;font-weight:700}
.other-section-totals{font-size:12px;color:#8B8680}
/* Pie chart */
.pie-wrap{background:white;border-radius:16px;border:1.5px solid #E8E3DC;padding:24px;margin:20px 0}
.pie-title{font-size:15px;font-weight:700;margin-bottom:16px;text-align:center}
.pie-container{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}
.pie-svg-wrap{position:relative;width:200px;height:200px;flex-shrink:0}
.pie-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
.pie-center-val{font-family:'DM Serif Display',serif;font-size:18px;font-weight:400}
.pie-center-label{font-size:10px;color:#8B8680}
.pie-legend{display:flex;flex-direction:column;gap:10px;min-width:160px}
.pie-legend-item{display:flex;align-items:center;gap:10px}
.pie-legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}
.pie-legend-info{flex:1;min-width:0}
.pie-legend-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pie-legend-detail{font-size:11px;color:#8B8680}
.pie-legend-pct{font-size:14px;font-weight:700;min-width:44px;text-align:right}
/* Uttag */
.uttag-hero{text-align:center;padding:10px 0 0}
.uttag-label{font-size:11px;color:#D4A574;text-transform:uppercase;letter-spacing:0.15em;margin-bottom:4px}
.uttag-month{font-size:14px;color:#BDB5AA;margin-bottom:16px}
.uttag-amount{font-family:'DM Serif Display',serif;font-size:36px;color:white;margin-bottom:4px}
.uttag-amounts-sub{font-size:16px;color:#BDB5AA;margin-bottom:16px;display:flex;justify-content:center;gap:16px}
.uttag-rates{display:flex;justify-content:center;gap:20px;margin-bottom:16px}
.uttag-rate{text-align:center}
.uttag-rate-val{font-size:18px;font-weight:700;color:#F59E0B}
.uttag-rate-label{font-size:10px;color:#8B8680;text-transform:uppercase;letter-spacing:0.05em}
.uttag-basis{background:rgba(255,255,255,0.05);border-radius:8px;padding:12px;margin:16px 0;font-size:12px;color:#8B8680}
.uttag-basis strong{color:#BDB5AA}
.uttag-params{display:flex;gap:16px;justify-content:center;margin:16px 0;flex-wrap:wrap}
.uttag-param{text-align:center}
.uttag-param label{display:block;font-size:10px;color:#8B8680;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px}
.uttag-param input{width:100px;padding:6px 8px;border:1px solid rgba(255,255,255,0.2);border-radius:6px;background:rgba(255,255,255,0.05);color:white;font-size:14px;text-align:center;font-family:inherit;outline:none;-webkit-appearance:none}
.uttag-param input[type="date"]{width:150px}
.uttag-param input:focus{border-color:#D97706}
.uttag-close-btn{padding:12px 28px;border-radius:8px;border:none;background:linear-gradient(135deg,#D97706,#F59E0B);color:white;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:8px}
.uttag-close-btn:active{transform:scale(0.97)}
.uttag-close-btn:disabled{opacity:0.5}
.uttag-no-data{text-align:center;padding:20px 0;color:#8B8680;font-size:13px}
.uttag-hist-card{background:white;border-radius:16px;border:1.5px solid #E8E3DC;margin-bottom:12px;overflow:hidden}
.uttag-hist-header{font-size:15px;font-weight:700;padding:16px 20px;border-bottom:1px solid #F0ECE6}
.uttag-hist-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:10px 20px;border-bottom:1px solid #F0ECE6;align-items:center}
.uttag-hist-row:last-child{border-bottom:none}
.uttag-hist-month{font-size:13px;font-weight:600}
.uttag-hist-capital{font-size:12px;color:#8B8680;text-align:right}
.uttag-hist-withdrawal{font-size:13px;font-weight:600;color:#059669;text-align:right}
.uttag-hist-del{width:26px;height:26px;border-radius:5px;border:1px solid #FECACA;background:white;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;color:#DC2626}
/* User switcher */
.user-switch{display:inline-flex;gap:4px;margin-right:4px}
.user-chip{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,0.15);color:#8B8680;background:transparent;font-family:inherit;transition:all 0.15s}
.user-chip.active{background:rgba(217,119,6,0.25);color:#F59E0B;border-color:rgba(217,119,6,0.4)}
.user-chip:hover{background:rgba(255,255,255,0.1)}
/* Maturity badges */
.mat-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;background:#F5F0EB;color:#6B6560;margin-left:4px}
.mat-expired{background:#FEE2E2;color:#DC2626}
.mat-today{background:#FEE2E2;color:#DC2626;animation:pulse 1.5s infinite}
.mat-soon{background:#FFF7ED;color:#EA580C}
.mat-near{background:#FFFBEB;color:#CA8A04}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.6}}
/* Tax regime toggle */
.tax-toggle{display:inline-flex;gap:0;border-radius:8px;border:1.5px solid #E8E3DC;overflow:hidden;margin:8px 0}
.tax-toggle-btn{padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;border:none;background:white;color:#8B8680;font-family:inherit;transition:all 0.15s}
.tax-toggle-btn.active{background:#2D2520;color:#F5F0EB}
.tax-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;border-bottom:1px solid #F0ECE6}
.tax-row:last-child{border-bottom:none}
.tax-label{color:#6B6560}
.tax-val{font-weight:600;color:#2D2520;text-align:right}
.tax-val.neg{color:#DC2626}
.tax-val.pos{color:#059669}
.tax-netto{font-size:22px;font-weight:700;color:#059669;margin:4px 0}
.tax-netto-sub{font-size:13px;color:#8B8680}
/* Modal */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:200;align-items:center;justify-content:center;padding:24px}
.modal-overlay.open{display:flex}
.modal{background:white;border-radius:16px;padding:28px;max-width:420px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,0.3);max-height:90vh;overflow-y:auto}
.modal h3{font-family:'DM Serif Display',serif;font-size:20px;margin-bottom:16px}
.modal label{display:block;font-size:12px;font-weight:600;color:#8B8680;margin-bottom:4px;margin-top:12px}
.modal label:first-of-type{margin-top:0}
.modal input,.modal textarea,.modal select{width:100%;padding:10px 12px;border:1.5px solid #E5DFD8;border-radius:8px;font-size:16px;font-family:inherit;outline:none;-webkit-appearance:none;background:white}
.modal input:focus,.modal textarea:focus,.modal select:focus{border-color:#D97706}
.modal textarea{min-height:50px;resize:vertical}
.modal .hint{font-size:11px;color:#A8A29E;margin-top:2px}
.modal-row{display:flex;gap:12px}.modal-row>div{flex:1}
.modal-btns{display:flex;gap:8px;margin-top:20px}
.modal-btns button{flex:1;padding:10px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}
.modal-btns .m-save{border:none;background:linear-gradient(135deg,#D97706,#F59E0B);color:white}
.modal-btns .m-cancel{border:1.5px solid #E5DFD8;background:white;color:#6B6560}
.footer{max-width:700px;margin:20px auto 0;padding:20px 24px calc(20px + env(safe-area-inset-bottom,0px));text-align:center;font-size:11px;color:#A8A29E}
@media(max-width:500px){.bal-total-amount{font-size:22px}.task-title{font-size:13px}.filter-btn{padding:5px 10px;font-size:11px}.modal-row{flex-direction:column;gap:0}.depa-header{padding:14px 16px}.depa-body{padding:12px 16px}.bal-breakdown{grid-template-columns:1fr}.bal-break-item{text-align:left;display:flex;justify-content:space-between;align-items:center}.agg-row{grid-template-columns:1fr auto}.agg-sub{display:none}.agg-total .agg-val{font-size:14px}.uttag-amount{font-size:28px}.pie-container{flex-direction:column}.pie-legend{min-width:auto;width:100%}}
/* ─── Hälsa / Styrka / Cardio ─── */
.halsa-tabs{display:flex;gap:8px;padding:20px 0 4px;border-bottom:2px solid #E8E3DC;margin-bottom:20px}
.halsa-tab{padding:8px 20px;border-radius:8px 8px 0 0;border:none;background:transparent;color:#8B8680;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:all 0.15s}
.halsa-tab.active{background:#2D2520;color:#F5F0EB}
.wk-program-list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.wk-program-btn{background:white;border:1.5px solid #E8E3DC;border-radius:14px;padding:18px 20px;cursor:pointer;text-align:left;font-family:inherit;transition:all 0.2s;display:flex;align-items:center;justify-content:space-between}
.wk-program-btn:hover{box-shadow:0 4px 16px rgba(0,0,0,0.07);transform:translateY(-1px)}
.wk-program-btn.custom-btn{border-color:#D97706;background:#FFFBEB}
.wk-program-name{font-size:15px;font-weight:700;color:#2D2520;margin-bottom:4px}
.wk-program-exercises{font-size:12px;color:#8B8680}
.wk-resume-banner{background:linear-gradient(135deg,#D97706,#F59E0B);border-radius:14px;padding:16px 20px;color:white;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.wk-resume-title{font-size:14px;font-weight:700;margin-bottom:2px}
.wk-resume-sub{font-size:12px;opacity:0.85}
.wk-resume-btns{display:flex;gap:8px}
.wk-resume-btn{padding:8px 16px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.wk-resume-btn.primary{background:white;color:#D97706}
.wk-resume-btn.secondary{background:rgba(255,255,255,0.2);color:white}
.wk-session{background:white;border-radius:16px;border:1.5px solid #E8E3DC;margin-bottom:16px;overflow:hidden}
.wk-session-header{background:linear-gradient(135deg,#2D2520,#3D2E1E);padding:16px 20px;color:white;display:flex;align-items:center;justify-content:space-between}
.wk-session-title{font-family:'DM Serif Display',serif;font-size:18px}
.wk-session-meta{font-size:12px;color:#BDB5AA;margin-top:2px}
.wk-session-finish{padding:8px 16px;border-radius:8px;border:none;background:linear-gradient(135deg,#059669,#10B981);color:white;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.wk-exercise{border-bottom:1px solid #F0ECE6;padding:16px 20px}
.wk-exercise:last-child{border-bottom:none}
.wk-ex-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:6px}
.wk-ex-name{font-size:14px;font-weight:700}
.wk-ex-actions{display:flex;gap:6px;align-items:center}
.wk-instr-btn{font-size:11px;color:#8B8680;background:#F5F0EB;border:none;border-radius:6px;padding:3px 8px;cursor:pointer;font-family:inherit}
.wk-set-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.wk-set-num{font-size:12px;font-weight:700;color:#8B8680;min-width:20px}
.wk-set-inputs{display:flex;gap:6px;align-items:center}
.wk-input{width:72px;padding:8px 10px;border:1.5px solid #E5DFD8;border-radius:8px;font-size:15px;font-family:inherit;text-align:center;outline:none;-webkit-appearance:none}
.wk-input:focus{border-color:#D97706}
.wk-input-label{font-size:11px;color:#8B8680}
.wk-log-btn{padding:8px 16px;border-radius:8px;border:none;background:linear-gradient(135deg,#D97706,#F59E0B);color:white;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.wk-log-btn:active{transform:scale(0.96)}
.wk-logged-sets{margin-top:6px;display:flex;flex-direction:column;gap:4px}
.wk-logged-set{background:#F0FDF4;border:1px solid #BBF7D0;border-radius:8px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}
.wk-logged-set-text{font-size:13px;font-weight:600;color:#065F46}
.wk-logged-set-actions{display:flex;gap:4px}
.wk-set-btn{width:26px;height:26px;border-radius:6px;border:1px solid #E8E3DC;background:white;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center}
.wk-set-btn.del{border-color:#FECACA;color:#DC2626}
.wk-set-btn.edit{border-color:#BFDBFE;color:#1D4ED8}
.wk-edit-row{background:#EFF6FF;border:1px solid #BFDBFE;border-radius:8px;padding:10px 12px;margin-top:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wk-add-set-btn{padding:6px 14px;border-radius:8px;border:1.5px dashed #D1CBC3;background:transparent;color:#8B8680;font-size:12px;cursor:pointer;font-family:inherit;margin-top:6px}
.wk-timer-bar{background:linear-gradient(135deg,#1E3A5F,#2D5A8E);border-radius:14px;padding:16px 20px;margin-bottom:16px;color:white;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.wk-timer-display{font-family:'DM Serif Display',serif;font-size:32px;letter-spacing:2px}
.wk-timer-label{font-size:11px;color:#93C5FD;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:4px}
.wk-timer-btns{display:flex;gap:8px}
.wk-timer-btn{padding:8px 14px;border-radius:8px;border:none;background:rgba(255,255,255,0.15);color:white;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.wk-timer-duration{display:flex;align-items:center;gap:6px;font-size:12px;color:#93C5FD}
.wk-timer-duration input{width:50px;padding:4px 6px;border-radius:6px;border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.1);color:white;font-size:12px;text-align:center;font-family:inherit;outline:none}
.wk-history-section{margin-top:24px}
.wk-history-title{font-size:15px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}
.wk-history-card{background:white;border-radius:14px;border:1.5px solid #E8E3DC;margin-bottom:10px;overflow:hidden}
.wk-hist-header{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-tap-highlight-color:transparent}
.wk-hist-title{font-size:14px;font-weight:700}
.wk-hist-meta{font-size:11px;color:#8B8680;margin-top:2px}
.wk-hist-body{padding:0 16px 14px;border-top:1px solid #F0ECE6}
.wk-hist-ex{font-size:12px;color:#5C5752;padding:6px 0;border-bottom:1px solid #F5F0EB}
.wk-hist-ex:last-child{border-bottom:none}
.wk-hist-del{width:26px;height:26px;border-radius:6px;border:1px solid #FECACA;background:white;cursor:pointer;font-size:11px;color:#DC2626;display:flex;align-items:center;justify-content:center}
.wk-instructions-modal{background:#FFFCF0;border:1.5px solid #FDE68A;border-radius:12px;padding:14px 16px;margin-top:8px}
.wk-instructions-text{font-size:13px;color:#5C5752;line-height:1.6;white-space:pre-wrap}
.wk-instructions-edit{width:100%;min-height:80px;padding:10px;border:1.5px solid #D97706;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;outline:none;background:white;-webkit-appearance:none}
/* Cardio */
.cardio-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}
.cardio-type-btn{background:white;border:1.5px solid #E8E3DC;border-radius:12px;padding:14px;cursor:pointer;text-align:center;font-family:inherit;transition:all 0.15s;-webkit-tap-highlight-color:transparent}
.cardio-type-btn:hover{border-color:#D97706;background:#FFFBEB}
.cardio-type-btn.selected{border-color:#D97706;background:#FEF3C7}
.cardio-type-icon{font-size:24px;margin-bottom:4px}
.cardio-type-name{font-size:13px;font-weight:600;color:#2D2520}
.cardio-form{background:white;border-radius:14px;border:1.5px solid #E8E3DC;padding:18px 20px;margin-bottom:20px}
.cardio-form h4{font-size:14px;font-weight:700;margin-bottom:14px}
.cardio-field{margin-bottom:12px}
.cardio-field label{display:block;font-size:12px;font-weight:600;color:#8B8680;margin-bottom:4px}
.cardio-field input,.cardio-field textarea{width:100%;padding:10px 12px;border:1.5px solid #E5DFD8;border-radius:8px;font-size:16px;font-family:inherit;outline:none;-webkit-appearance:none}
.cardio-field input:focus,.cardio-field textarea:focus{border-color:#D97706}
.cardio-field textarea{min-height:60px;resize:vertical}
.cardio-save-btn{width:100%;padding:12px;border-radius:10px;border:none;background:linear-gradient(135deg,#059669,#10B981);color:white;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}
.cardio-hist-card{background:white;border-radius:12px;border:1.5px solid #E8E3DC;padding:14px 16px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.cardio-hist-icon{font-size:20px;margin-right:6px}
.cardio-hist-info{flex:1}
.cardio-hist-name{font-size:13px;font-weight:700}
.cardio-hist-details{font-size:11px;color:#8B8680;margin-top:2px}
.wk-export-btn{width:100%;padding:12px;border-radius:10px;border:1.5px solid #6D28D9;background:#F5F3FF;color:#6D28D9;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:8px}
.wk-new-program-form{background:white;border:1.5px solid #E8E3DC;border-radius:14px;padding:18px 20px;margin-bottom:16px}
.wk-new-program-form h4{font-size:14px;font-weight:700;margin-bottom:12px}
.wk-new-program-form input{width:100%;padding:10px 12px;border:1.5px solid #E5DFD8;border-radius:8px;font-size:15px;font-family:inherit;outline:none;margin-bottom:8px;-webkit-appearance:none}
.wk-new-program-form input:focus{border-color:#D97706}
.wk-ex-add-row{display:flex;gap:8px;margin-bottom:8px}
.wk-ex-add-row input{flex:1;padding:8px 12px;border:1.5px solid #E5DFD8;border-radius:8px;font-size:14px;font-family:inherit;outline:none;-webkit-appearance:none}
.wk-program-del-btn{background:rgba(220,38,38,0.08);border:1px solid #FECACA;color:#DC2626;border-radius:8px;padding:4px 10px;font-size:11px;cursor:pointer;font-family:inherit}

:root{
  --ui-bg:#eef3ff;
  --ui-bg-alt:#e7eef9;
  --ui-surface:rgba(255,255,255,0.78);
  --ui-surface-strong:rgba(255,255,255,0.92);
  --ui-surface-soft:rgba(248,250,255,0.56);
  --ui-surface-dark:rgba(14,23,38,0.74);
  --ui-surface-dark-strong:rgba(12,20,35,0.84);
  --ui-border:rgba(255,255,255,0.54);
  --ui-border-strong:rgba(144,163,191,0.28);
  --ui-text:#142033;
  --ui-text-strong:#0d1728;
  --ui-text-muted:#4f5d72;
  --ui-text-soft:#72839b;
  --ui-accent:#5d7dff;
  --ui-accent-strong:#4768f8;
  --ui-accent-soft:rgba(93,125,255,0.16);
  --ui-accent-mint:#35c18d;
  --ui-accent-warm:#f4b68b;
  --ui-danger:#ef6075;
  --ui-shadow-sm:0 12px 28px rgba(15,23,42,0.08);
  --ui-shadow-md:0 20px 52px rgba(15,23,42,0.12);
  --ui-shadow-lg:0 32px 90px rgba(15,23,42,0.18);
  --ui-radius-sm:14px;
  --ui-radius-md:24px;
  --ui-radius-lg:30px;
  --ui-radius-xl:38px;
}

html{background:var(--ui-bg)}
body{
  font-family:'Manrope',sans-serif;
  color:var(--ui-text);
  background:
    radial-gradient(circle at 0% 0%, rgba(109,139,255,0.28), transparent 32%),
    radial-gradient(circle at 100% 0%, rgba(171,224,255,0.34), transparent 28%),
    radial-gradient(circle at 18% 82%, rgba(255,222,198,0.3), transparent 28%),
    linear-gradient(180deg,#f8faff 0%,#eff4ff 44%,#e8eef8 100%);
  position:relative;
  overflow-x:hidden;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,0.18),rgba(255,255,255,0));
  z-index:-2;
}
body::after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,0.7) 0.7px,transparent 0.7px);
  background-size:18px 18px;
  opacity:0.14;
  z-index:-1;
}
::selection{background:rgba(93,125,255,0.2)}

.ambient-shell{
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:0;
}
.ambient-orb{
  position:absolute;
  border-radius:999px;
  filter:blur(18px);
  opacity:0.82;
}
.ambient-orb-a{
  width:32rem;
  height:32rem;
  top:-11rem;
  left:-10rem;
  background:radial-gradient(circle,rgba(130,165,255,0.46) 0%,rgba(130,165,255,0.14) 54%,transparent 72%);
}
.ambient-orb-b{
  width:28rem;
  height:28rem;
  top:10rem;
  right:-8rem;
  background:radial-gradient(circle,rgba(145,219,255,0.4) 0%,rgba(145,219,255,0.12) 56%,transparent 74%);
}
.ambient-orb-c{
  width:24rem;
  height:24rem;
  bottom:-7rem;
  left:22%;
  background:radial-gradient(circle,rgba(255,205,178,0.34) 0%,rgba(255,205,178,0.1) 56%,transparent 74%);
}
.ambient-grid{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,0.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.18) 1px, transparent 1px);
  background-size:88px 88px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,0.5),transparent 72%);
  opacity:0.32;
}

#auth-gate,#app,.modal-overlay{position:relative;z-index:1}
#app{padding-bottom:38px}

button,
input,
textarea,
select{
  transition:
    transform 180ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease,
    background-color 220ms ease,
    color 220ms ease,
    opacity 220ms ease;
}
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(93,125,255,0.18);
}

.install-banner{
  position:sticky;
  top:0;
  z-index:120;
  backdrop-filter:blur(24px) saturate(160%);
  -webkit-backdrop-filter:blur(24px) saturate(160%);
  background:linear-gradient(135deg,rgba(93,125,255,0.9),rgba(139,177,255,0.74),rgba(255,255,255,0.24));
  border-bottom:1px solid rgba(255,255,255,0.3);
  box-shadow:var(--ui-shadow-md);
}
.install-banner .close-banner{
  background:rgba(255,255,255,0.18);
  border:1px solid rgba(255,255,255,0.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.18);
}

#auth-gate{
  min-height:100dvh;
  padding:32px 18px;
  background:transparent;
}
.auth-box{
  max-width:430px;
  padding:42px 38px;
  border-radius:36px;
  background:linear-gradient(150deg,rgba(255,255,255,0.84),rgba(244,248,255,0.58));
  backdrop-filter:blur(30px) saturate(165%);
  -webkit-backdrop-filter:blur(30px) saturate(165%);
  border:1px solid rgba(255,255,255,0.62);
  box-shadow:var(--ui-shadow-lg);
}
.auth-box h1,
.dash-header h2,
.topnav-title,
.bal-total-amount,
.bal-break-val,
.uttag-amount,
.wk-session-title,
.depa-header-left h3,
.modal h3{
  font-family:'Fraunces',serif;
}
.auth-box h1{
  font-size:40px;
  letter-spacing:-0.05em;
  color:var(--ui-text-strong);
}
.auth-box .auth-sub{
  color:#6f89f8;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.22em;
}
.auth-box p{
  font-size:14px;
  color:var(--ui-text-muted);
}
.auth-box input,
.modal input,
.modal textarea,
.modal select,
.note-textarea,
.cardio-field input,
.cardio-field textarea,
.wk-input,
.wk-new-program-form input,
.wk-ex-add-row input,
.uttag-param input,
.wk-instructions-edit{
  color:var(--ui-text-strong);
  background:rgba(255,255,255,0.74);
  border:1px solid rgba(143,163,191,0.32);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.68), 0 10px 24px rgba(126,142,170,0.08);
  border-radius:16px;
}
.auth-box input:focus,
.modal input:focus,
.modal textarea:focus,
.modal select:focus,
.note-textarea:focus,
.cardio-field input:focus,
.cardio-field textarea:focus,
.wk-input:focus,
.wk-new-program-form input:focus,
.wk-ex-add-row input:focus,
.uttag-param input:focus,
.wk-instructions-edit:focus{
  border-color:rgba(93,125,255,0.62);
  box-shadow:0 0 0 4px rgba(93,125,255,0.14), inset 0 1px 0 rgba(255,255,255,0.78), 0 16px 32px rgba(126,142,170,0.12);
}
.auth-box button,
.btn-save,
.bal-update-btn,
.modal-btns .m-save,
.wk-log-btn,
.wk-session-finish,
.cardio-save-btn,
.uttag-close-btn,
.wk-resume-btn.primary{
  background:linear-gradient(135deg,var(--ui-accent-strong),var(--ui-accent),#8fa8ff);
  color:white;
  border:1px solid rgba(255,255,255,0.18);
  box-shadow:0 18px 42px rgba(84,111,245,0.28);
}
.bal-update-btn{
  background:linear-gradient(135deg,#29b57d,#62d7aa,#8ae0ff);
  box-shadow:0 18px 42px rgba(41,181,125,0.22);
}

.topnav{
  width:min(1240px, calc(100% - 28px));
  margin:calc(14px + env(safe-area-inset-top,0px)) auto 14px;
  padding:18px 20px;
  background:linear-gradient(145deg,rgba(13,22,39,0.78),rgba(32,48,78,0.68),rgba(15,24,42,0.82));
  backdrop-filter:blur(30px) saturate(180%);
  -webkit-backdrop-filter:blur(30px) saturate(180%);
  border:1px solid rgba(255,255,255,0.22);
  box-shadow:var(--ui-shadow-lg);
  border-radius:32px;
  position:sticky;
  top:calc(8px + env(safe-area-inset-top,0px));
}
.topnav::before,
.dash-header::before,
.branch-card::before,
.task-card::before,
.bal-chart-wrap::before,
.depa-card::before,
.wk-session::before,
.wk-history-card::before,
.cardio-form::before,
.cardio-hist-card::before,
.wk-program-btn::before,
.wk-new-program-form::before,
.modal::before{
  content:'';
  position:absolute;
  inset:1px 1px auto;
  height:38%;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,0.5),rgba(255,255,255,0));
  pointer-events:none;
}
.topnav-left{gap:16px}
.topnav-brand{display:flex;flex-direction:column;gap:3px}
.topnav-eyebrow{
  font-size:10px;
  font-weight:800;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:rgba(225,236,255,0.66);
}
.topnav-title{
  font-size:30px;
  line-height:0.95;
  letter-spacing:-0.05em;
  color:#f7fbff;
}
.topnav-title span{color:#a9dcff}
.topnav-right{gap:10px;align-items:center;flex-wrap:wrap}
.topnav-back,
.topnav-btn,
.user-chip,
.filter-btn,
.range-btn,
.depa-edit-btn,
.depa-add-btn,
.btn-cancel,
.btn-add-note,
.wk-instr-btn,
.wk-add-set-btn,
.wk-timer-btn,
.wk-export-btn,
.tax-toggle-btn,
.choice-btn,
.wk-resume-btn.secondary,
.cardio-type-btn,
.di-btn,
.wk-set-btn,
.wk-hist-del,
.uttag-hist-del{
  background:rgba(255,255,255,0.12);
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  border:1px solid rgba(255,255,255,0.3);
  box-shadow:0 10px 24px rgba(15,23,42,0.1);
}
.topnav-back,
.topnav-btn{
  color:#eef5ff;
  min-height:42px;
  border-radius:999px;
  padding:10px 14px;
  font-size:12px;
  font-weight:700;
}
.topnav-back{
  width:42px;
  min-width:42px;
  padding:0;
}
#sync-indicator{display:inline-flex;align-items:center;gap:8px}
.sync-dot{
  width:8px;
  height:8px;
  margin-right:0;
  box-shadow:0 0 0 4px rgba(255,255,255,0.08);
}
.user-switch{gap:8px;margin-right:0}
.user-chip{
  min-height:40px;
  padding:10px 14px;
  border-radius:999px;
  color:#eef5ff;
}
.user-chip.active,
.filter-btn.active,
.choice-btn.selected,
.range-btn.active,
.tax-toggle-btn.active,
.halsa-tab.active{
  background:linear-gradient(135deg,var(--ui-accent-soft),rgba(255,255,255,0.26));
  border-color:rgba(143,170,255,0.62);
  color:var(--ui-text-strong);
  box-shadow:0 16px 36px rgba(88,117,240,0.16);
}

.view{
  padding-bottom:104px;
}
.view.active{
  display:block;
  animation:view-enter 260ms ease both;
}
@keyframes view-enter{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}
.dash-header,
.dash-grid,
.section-wrap,
.footer{
  width:min(1160px, calc(100% - 28px));
  max-width:none;
  padding-left:0;
  padding-right:0;
}
.dash-header{
  margin:18px auto 22px;
  padding:38px 40px;
  background:linear-gradient(145deg,rgba(255,255,255,0.76),rgba(245,249,255,0.52));
  backdrop-filter:blur(28px) saturate(165%);
  -webkit-backdrop-filter:blur(28px) saturate(165%);
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius-xl);
  box-shadow:var(--ui-shadow-md);
  position:relative;
  overflow:hidden;
}
.dash-header::after{
  content:'';
  position:absolute;
  inset:auto 30px -58px auto;
  width:220px;
  height:220px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(134,175,255,0.34),transparent 72%);
  pointer-events:none;
}
.dash-header h2{
  font-size:clamp(40px,5vw,64px);
  line-height:0.95;
  letter-spacing:-0.07em;
  margin-bottom:12px;
  color:var(--ui-text-strong);
}
.dash-header p{
  max-width:620px;
  font-size:15px;
  line-height:1.7;
  color:var(--ui-text-muted);
}
.dash-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  padding-bottom:36px;
}

.branch-card,
.task-card,
.bal-chart-wrap,
.depa-card,
.uttag-hist-card,
.wk-session,
.wk-history-card,
.cardio-form,
.cardio-hist-card,
.wk-program-btn,
.wk-new-program-form,
.modal,
.choice-section,
.tips-box,
.note-display,
.wk-instructions-modal,
.cardio-type-btn{
  position:relative;
  background:linear-gradient(145deg,var(--ui-surface-strong),var(--ui-surface));
  backdrop-filter:blur(26px) saturate(165%);
  -webkit-backdrop-filter:blur(26px) saturate(165%);
  border:1px solid rgba(255,255,255,0.74);
  box-shadow:0 20px 46px rgba(15,23,42,0.09), inset 0 1px 0 rgba(255,255,255,0.7);
}
.branch-card,
.bal-chart-wrap,
.depa-card,
.uttag-hist-card,
.wk-session,
.wk-history-card,
.cardio-form,
.wk-program-btn,
.wk-new-program-form{
  border-radius:var(--ui-radius-md);
}
.branch-card{
  overflow:hidden;
  padding:24px;
}
.branch-card:hover{
  box-shadow:0 24px 56px rgba(15,23,42,0.12), inset 0 1px 0 rgba(255,255,255,0.74);
  transform:translateY(-6px);
}
.branch-top{margin-bottom:16px}
.branch-icon{
  font-size:34px;
  filter:drop-shadow(0 10px 16px rgba(15,23,42,0.1));
}
.branch-badge{
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,0.48);
  color:var(--ui-text-muted);
  border:1px solid rgba(255,255,255,0.56);
}
.branch-badge.active{
  background:rgba(53,193,141,0.12);
  border-color:rgba(53,193,141,0.24);
  color:#0f8a61;
}
.branch-title{
  font-size:20px;
  letter-spacing:-0.03em;
  color:var(--ui-text-strong);
}
.branch-desc{
  font-size:14px;
  line-height:1.6;
  color:var(--ui-text-muted);
}
.branch-progress{
  height:10px;
  border-radius:999px;
  background:rgba(132,149,173,0.2);
}
.branch-progress-fill{
  border-radius:999px;
  background:linear-gradient(90deg,var(--ui-accent),#9cc4ff);
}
.branch-stats{
  margin-top:10px;
  font-size:12px;
  color:var(--ui-text-soft);
}

.filters{
  gap:10px;
  margin:22px 0 28px;
}
.filter-btn,
.choice-btn,
.range-btn,
.tax-toggle-btn,
.halsa-tab{
  border-radius:999px;
  padding:10px 16px;
  color:var(--ui-text);
}
.task-card{
  border-radius:22px;
  overflow:hidden;
}
.task-card.done{
  opacity:0.92;
  border-color:rgba(53,193,141,0.26);
}
.task-card.expanded{box-shadow:var(--ui-shadow-md)}
.task-header{padding:18px 20px}
.task-body{
  border-top:1px solid rgba(143,163,191,0.18);
  padding:0 20px 18px;
}
.checkbox{
  width:32px;
  height:32px;
  min-width:32px;
  border-radius:11px;
  background:rgba(255,255,255,0.52);
  border:1px solid rgba(143,163,191,0.3);
  box-shadow:0 10px 24px rgba(15,23,42,0.06);
}
.checkbox.checked{
  background:linear-gradient(135deg,var(--ui-accent-strong),var(--ui-accent-mint));
  border-color:transparent;
}
.task-title{
  font-size:15px;
  letter-spacing:-0.02em;
  color:var(--ui-text-strong);
}
.task-num,
.deadline,
.category-header .count,
.tips-label,
.choice-label,
.bal-total-label,
.depa-section-title,
.wk-timer-label,
.uttag-rate-label{
  color:var(--ui-text-soft);
}
.task-desc,
.tip,
.note-display,
.deadline,
.depa-section-total,
.cardio-hist-details,
.wk-hist-ex,
.wk-session-meta,
.auth-error,
.auth-locked{
  color:var(--ui-text-muted);
}
.choice-section{
  background:linear-gradient(145deg,rgba(238,243,255,0.78),rgba(248,250,255,0.56));
}
.tips-box,
.note-display,
.wk-instructions-modal{
  background:linear-gradient(145deg,rgba(255,255,255,0.7),rgba(248,251,255,0.48));
}
.priority-badge,
.choice-indicator,
.fee-badge,
.mat-badge{
  border-radius:999px;
  padding:4px 10px;
  border:1px solid rgba(255,255,255,0.48);
  box-shadow:0 8px 18px rgba(15,23,42,0.06);
}

.bal-summary,
.depa-header,
.wk-session-header,
.wk-resume-banner,
.wk-timer-bar,
.uttag-main,
.plac-summary,
.pension-summary{
  background:linear-gradient(150deg,rgba(16,26,44,0.82),rgba(29,43,71,0.72),rgba(16,26,44,0.9));
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:var(--ui-shadow-lg);
}
.bal-summary{
  border-radius:34px;
  padding:30px;
}
.bal-total-label,
.bal-break-name,
.bal-meta,
.agg-name,
.agg-sub,
.wk-session-meta{
  color:rgba(222,231,247,0.72);
}
.bal-total-amount,
.uttag-amount,
.agg-total .agg-name,
.agg-total .agg-val{
  color:#f7fbff;
}
.bal-total-amount{
  font-size:clamp(34px,4vw,54px);
  letter-spacing:-0.06em;
}
.bal-breakdown{
  gap:12px;
  border-top:1px solid rgba(255,255,255,0.12);
}
.bal-break-item{
  padding:14px 12px;
  border-radius:20px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
}
.bal-break-val{
  font-size:22px;
  letter-spacing:-0.04em;
}
.bal-chart-wrap{padding:24px}
.bal-chart-header{margin-bottom:18px}
.bal-chart-title,
.wk-history-title,
.depa-section-title,
.wk-ex-name,
.cardio-hist-name,
.uttag-hist-header{
  color:var(--ui-text-strong);
}
.depa-header{
  padding:20px 22px;
}
.depa-header-left h3,
.wk-session-title{
  letter-spacing:-0.04em;
}
.depa-body{padding:18px 20px}
.di,
.wk-logged-set,
.wk-edit-row,
.vpk-line{
  background:rgba(255,255,255,0.52);
  border:1px solid rgba(255,255,255,0.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);
}
.di{
  border-radius:18px;
  padding:12px 14px;
}
.di-name,.di-val,.wk-logged-set-text,.tax-val,.agg-val{color:var(--ui-text-strong)}
.di-sub,.di-detail,.tax-label{color:var(--ui-text-muted)}

.halsa-tabs{
  gap:10px;
  padding:14px;
  margin:10px 0 24px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,0.58);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  box-shadow:var(--ui-shadow-sm);
}
.halsa-tab{
  border-radius:999px;
  min-height:44px;
}
.halsa-tab.active{
  background:linear-gradient(135deg,var(--ui-accent-strong),var(--ui-accent),#8aa5ff);
  color:white;
  border-color:transparent;
  box-shadow:0 16px 34px rgba(84,111,245,0.26);
}
.wk-program-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.wk-program-btn{
  min-height:116px;
  border-radius:26px;
  padding:22px;
}
.wk-program-btn.custom-btn{
  background:linear-gradient(145deg,rgba(255,250,242,0.84),rgba(255,255,255,0.62));
  border-color:rgba(244,182,139,0.38);
}
.wk-program-name{
  font-size:16px;
  color:var(--ui-text-strong);
}
.wk-program-exercises{font-size:13px;line-height:1.6;color:var(--ui-text-muted)}
.wk-session{margin-bottom:18px}
.wk-session-header{
  padding:20px 22px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.wk-session-finish,
.wk-log-btn,
.cardio-save-btn{
  border-radius:16px;
}
.wk-exercise{padding:18px 20px}
.wk-set-row{gap:10px;margin-bottom:10px}
.wk-set-num,
.wk-input-label,
.cardio-field label,
.modal label{
  color:var(--ui-text-soft);
}
.wk-logged-set{
  border-radius:16px;
}
.wk-edit-row{
  border-radius:16px;
}
.wk-timer-bar{
  border-radius:28px;
}
.wk-timer-display{
  font-size:36px;
  letter-spacing:0.08em;
}
.wk-history-card{
  border-radius:22px;
}
.wk-hist-header{padding:16px 18px}
.wk-hist-body{
  border-top:1px solid rgba(143,163,191,0.18);
  padding:0 18px 16px;
}
.wk-instr-btn,
.depa-add-btn,
.wk-add-set-btn,
.wk-export-btn{
  color:var(--ui-text-strong);
}

.cardio-type-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.cardio-type-btn{
  border-radius:22px;
  padding:18px 16px;
}
.cardio-type-btn.selected{
  background:linear-gradient(145deg,rgba(239,244,255,0.9),rgba(255,255,255,0.66));
  border-color:rgba(93,125,255,0.46);
}
.cardio-type-icon{font-size:28px}
.cardio-type-name{font-size:14px}
.cardio-form{
  border-radius:28px;
  padding:22px 22px 20px;
}
.cardio-form h4{
  font-size:18px;
  color:var(--ui-text-strong);
}
.cardio-hist-card{
  border-radius:18px;
}

.tax-toggle{
  padding:4px;
  border-radius:999px;
  background:rgba(255,255,255,0.5);
  border:1px solid rgba(255,255,255,0.48);
  box-shadow:var(--ui-shadow-sm);
}
.tax-toggle-btn{
  min-height:42px;
}

.modal-overlay{
  background:rgba(14,22,38,0.28);
  backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
}
.modal{
  border-radius:32px;
  background:linear-gradient(145deg,rgba(255,255,255,0.84),rgba(245,249,255,0.66));
  box-shadow:var(--ui-shadow-lg);
  padding:30px;
}
.modal h3{
  font-size:28px;
  letter-spacing:-0.04em;
  color:var(--ui-text-strong);
}
.modal-btns{margin-top:22px}
.modal-btns button{
  min-height:48px;
  border-radius:16px;
}

.footer{
  margin:12px auto 0;
  padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));
  background:rgba(255,255,255,0.62);
  backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(255,255,255,0.5);
  border-radius:999px;
  box-shadow:var(--ui-shadow-sm);
  font-size:12px;
  color:var(--ui-text-soft);
}

@media (hover:hover){
  .topnav-back:hover,
  .topnav-btn:hover,
  .user-chip:hover,
  .filter-btn:hover,
  .range-btn:hover,
  .depa-edit-btn:hover,
  .depa-add-btn:hover,
  .btn-save:hover,
  .btn-cancel:hover,
  .btn-add-note:hover,
  .bal-update-btn:hover,
  .wk-log-btn:hover,
  .wk-session-finish:hover,
  .cardio-save-btn:hover,
  .wk-resume-btn:hover,
  .wk-add-set-btn:hover,
  .wk-timer-btn:hover,
  .wk-export-btn:hover,
  .cardio-type-btn:hover,
  .wk-program-btn:hover,
  .modal-btns button:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 40px rgba(15,23,42,0.16);
  }
}

@media (max-width:980px){
  .dash-grid,
  .wk-program-list{
    grid-template-columns:1fr;
  }
  .cardio-type-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .topnav{
    padding:16px 18px;
  }
}

@media (max-width:760px){
  .topnav,
  .dash-header,
  .dash-grid,
  .section-wrap,
  .footer{
    width:calc(100% - 20px);
  }
  .topnav{
    gap:14px;
    flex-wrap:wrap;
  }
  .topnav-left,
  .topnav-right{
    width:100%;
  }
  .topnav-right{
    justify-content:space-between;
  }
  .topnav-title{
    font-size:26px;
  }
  .dash-header{
    padding:30px 24px;
  }
  .bal-summary,
  .cardio-form,
  .modal{
    padding:24px;
  }
  .depa-header,
  .wk-session-header,
  .depa-body,
  .wk-exercise,
  .wk-hist-header,
  .wk-hist-body{
    padding-left:16px;
    padding-right:16px;
  }
}

@media (max-width:560px){
  .topnav-back,
  .topnav-btn,
  .user-chip{
    min-height:40px;
    padding:9px 12px;
  }
  .dash-header h2{
    font-size:42px;
  }
  .branch-card{
    padding:20px;
  }
  .cardio-type-grid{
    grid-template-columns:1fr 1fr;
  }
  .bal-total-amount{
    font-size:34px;
  }
}

:root{
  color-scheme:light;
}

.theme-switcher,
.language-switcher{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px;
  border-radius:999px;
  background:rgba(255,255,255,0.1);
  backdrop-filter:blur(20px) saturate(165%);
  -webkit-backdrop-filter:blur(20px) saturate(165%);
  border:1px solid rgba(255,255,255,0.24);
  box-shadow:0 12px 28px rgba(15,23,42,0.14);
}
.theme-switcher-label,
.language-switcher-label{
  padding:0 8px 0 6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:rgba(225,236,255,0.7);
}
.theme-btn,
.language-btn{
  min-height:36px;
  padding:8px 12px;
  border:none;
  border-radius:999px;
  background:transparent;
  color:#eef5ff;
  font:inherit;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.01em;
  cursor:pointer;
}
.theme-btn[data-active="true"],
.language-btn[data-active="true"]{
  background:linear-gradient(135deg,var(--ui-accent-strong),var(--ui-accent),#8fa8ff);
  color:#fff;
  box-shadow:0 12px 28px rgba(84,111,245,0.24);
}

html[data-theme='dark']{
  color-scheme:dark;
  --ui-bg:#06111f;
  --ui-bg-alt:#0b1627;
  --ui-surface:rgba(18,29,47,0.78);
  --ui-surface-strong:rgba(24,37,59,0.92);
  --ui-surface-soft:rgba(25,39,62,0.72);
  --ui-surface-dark:rgba(8,14,24,0.84);
  --ui-surface-dark-strong:rgba(7,12,21,0.95);
  --ui-border:rgba(129,152,187,0.2);
  --ui-border-strong:rgba(141,168,209,0.3);
  --ui-text:#e8f0ff;
  --ui-text-strong:#f8fbff;
  --ui-text-muted:#b5c2d9;
  --ui-text-soft:#91a1bc;
  --ui-accent:#8fa7ff;
  --ui-accent-strong:#6f8dff;
  --ui-accent-soft:rgba(143,167,255,0.24);
  --ui-accent-mint:#50e1b0;
  --ui-shadow-sm:0 18px 40px rgba(0,0,0,0.3);
  --ui-shadow-md:0 26px 58px rgba(0,0,0,0.38);
  --ui-shadow-lg:0 38px 100px rgba(0,0,0,0.48);
}
html[data-theme='dark'] body{
  background:
    radial-gradient(circle at 0% 0%, rgba(95,120,255,0.2), transparent 28%),
    radial-gradient(circle at 100% 0%, rgba(68,120,168,0.16), transparent 24%),
    radial-gradient(circle at 20% 82%, rgba(166,112,88,0.12), transparent 24%),
    linear-gradient(180deg,#07111f 0%,#0b1626 42%,#101c30 100%);
}
html[data-theme='dark'] body::before{
  background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0));
}
html[data-theme='dark'] body::after{
  opacity:0.08;
  background-image:radial-gradient(rgba(255,255,255,0.24) 0.7px,transparent 0.7px);
}
html[data-theme='dark'] .ambient-grid{
  opacity:0.14;
}
html[data-theme='dark'] .install-banner{
  background:linear-gradient(135deg,rgba(69,97,209,0.92),rgba(103,137,255,0.78),rgba(19,30,46,0.48));
  border-bottom-color:rgba(153,176,222,0.18);
}
html[data-theme='dark'] .auth-box{
  background:linear-gradient(150deg,rgba(14,24,39,0.9),rgba(19,31,49,0.76));
  border-color:rgba(129,152,187,0.18);
}
html[data-theme='dark'] .auth-box input,
html[data-theme='dark'] .modal input,
html[data-theme='dark'] .modal textarea,
html[data-theme='dark'] .modal select,
html[data-theme='dark'] .note-textarea,
html[data-theme='dark'] .cardio-field input,
html[data-theme='dark'] .cardio-field textarea,
html[data-theme='dark'] .wk-input,
html[data-theme='dark'] .wk-new-program-form input,
html[data-theme='dark'] .wk-ex-add-row input,
html[data-theme='dark'] .uttag-param input,
html[data-theme='dark'] .wk-instructions-edit,
html[data-theme='dark'] .wk-timer-duration input{
  background:rgba(10,19,33,0.72);
  border-color:rgba(129,152,187,0.24);
  color:var(--ui-text-strong);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04), 0 12px 26px rgba(0,0,0,0.18);
}
html[data-theme='dark'] .topnav{
  background:linear-gradient(145deg,rgba(8,15,27,0.82),rgba(14,24,39,0.76),rgba(9,15,27,0.9));
  border-color:rgba(129,152,187,0.16);
}
html[data-theme='dark'] .topnav-back,
html[data-theme='dark'] .topnav-btn,
html[data-theme='dark'] .user-chip,
html[data-theme='dark'] .filter-btn,
html[data-theme='dark'] .range-btn,
html[data-theme='dark'] .depa-edit-btn,
html[data-theme='dark'] .depa-add-btn,
html[data-theme='dark'] .btn-cancel,
html[data-theme='dark'] .btn-add-note,
html[data-theme='dark'] .wk-instr-btn,
html[data-theme='dark'] .wk-add-set-btn,
html[data-theme='dark'] .wk-timer-btn,
html[data-theme='dark'] .wk-export-btn,
html[data-theme='dark'] .tax-toggle-btn,
html[data-theme='dark'] .choice-btn,
html[data-theme='dark'] .wk-resume-btn.secondary,
html[data-theme='dark'] .cardio-type-btn,
html[data-theme='dark'] .di-btn,
html[data-theme='dark'] .wk-set-btn,
html[data-theme='dark'] .wk-hist-del,
html[data-theme='dark'] .uttag-hist-del{
  background:rgba(255,255,255,0.06);
  border-color:rgba(129,152,187,0.18);
  box-shadow:0 14px 30px rgba(0,0,0,0.18);
}
html[data-theme='dark'] .theme-switcher,
html[data-theme='dark'] .language-switcher{
  background:rgba(255,255,255,0.05);
  border-color:rgba(129,152,187,0.2);
  box-shadow:0 14px 30px rgba(0,0,0,0.24);
}
html[data-theme='dark'] .dash-header{
  background:linear-gradient(145deg,rgba(19,30,49,0.78),rgba(15,25,40,0.56));
  border-color:rgba(129,152,187,0.16);
}
html[data-theme='dark'] .dash-header::after{
  background:radial-gradient(circle,rgba(100,137,255,0.26),transparent 72%);
}
html[data-theme='dark'] .branch-card,
html[data-theme='dark'] .task-card,
html[data-theme='dark'] .bal-chart-wrap,
html[data-theme='dark'] .depa-card,
html[data-theme='dark'] .uttag-hist-card,
html[data-theme='dark'] .wk-session,
html[data-theme='dark'] .wk-history-card,
html[data-theme='dark'] .cardio-form,
html[data-theme='dark'] .cardio-hist-card,
html[data-theme='dark'] .wk-program-btn,
html[data-theme='dark'] .wk-new-program-form,
html[data-theme='dark'] .modal,
html[data-theme='dark'] .choice-section,
html[data-theme='dark'] .tips-box,
html[data-theme='dark'] .note-display,
html[data-theme='dark'] .wk-instructions-modal,
html[data-theme='dark'] .cardio-type-btn{
  border-color:rgba(129,152,187,0.16);
  box-shadow:0 22px 48px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.05);
}
html[data-theme='dark'] .choice-section{
  background:linear-gradient(145deg,rgba(27,38,61,0.84),rgba(18,28,46,0.72));
}
html[data-theme='dark'] .tips-box,
html[data-theme='dark'] .note-display,
html[data-theme='dark'] .wk-instructions-modal{
  background:linear-gradient(145deg,rgba(20,31,49,0.84),rgba(16,25,40,0.7));
}
html[data-theme='dark'] .checkbox{
  background:rgba(255,255,255,0.05);
  border-color:rgba(129,152,187,0.24);
}
html[data-theme='dark'] .branch-badge{
  background:rgba(255,255,255,0.06);
  border-color:rgba(129,152,187,0.16);
}
html[data-theme='dark'] .branch-badge.active{
  background:rgba(53,193,141,0.14);
  border-color:rgba(53,193,141,0.24);
  color:#7be5bc;
}
html[data-theme='dark'] .bal-summary,
html[data-theme='dark'] .depa-header,
html[data-theme='dark'] .wk-session-header,
html[data-theme='dark'] .wk-resume-banner,
html[data-theme='dark'] .wk-timer-bar,
html[data-theme='dark'] .uttag-main,
html[data-theme='dark'] .plac-summary,
html[data-theme='dark'] .pension-summary{
  background:linear-gradient(150deg,rgba(8,14,25,0.88),rgba(17,28,46,0.82),rgba(8,14,25,0.94));
  border-color:rgba(129,152,187,0.12);
}
html[data-theme='dark'] .di,
html[data-theme='dark'] .wk-logged-set,
html[data-theme='dark'] .wk-edit-row,
html[data-theme='dark'] .vpk-line{
  background:rgba(255,255,255,0.04);
  border-color:rgba(129,152,187,0.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.05);
}
html[data-theme='dark'] .wk-logged-set-text{
  color:#7be5bc;
}
html[data-theme='dark'] .footer{
  background:rgba(14,24,39,0.62);
  border-color:rgba(129,152,187,0.16);
}
html[data-theme='dark'] .modal-overlay{
  background:rgba(3,9,18,0.56);
}
html[data-theme='dark'] .wk-hist-ex{
  border-bottom-color:rgba(129,152,187,0.12);
}
html[data-theme='dark'] .cardio-type-btn:hover{
  background:rgba(255,255,255,0.08);
  border-color:rgba(143,167,255,0.44);
}
html[data-theme='dark'] .cardio-type-btn.selected{
  background:rgba(143,167,255,0.18);
  border-color:rgba(143,167,255,0.56);
}

@media (max-width:760px){
  .topnav-right{
    justify-content:flex-start;
    gap:10px;
  }
  .theme-switcher,
  .language-switcher{
    order:3;
    width:100%;
    justify-content:space-between;
  }
  .theme-switcher-label,
  .language-switcher-label{
    display:none;
  }
  .theme-btn,
  .language-btn{
    flex:1 1 0;
    min-width:0;
  }
}

#user-switcher{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.topnav{
  width:min(1280px, calc(100% - 28px));
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:18px 22px;
}
.topnav-brand{
  gap:5px;
}
.topnav-title{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.topnav-right{
  justify-content:flex-end;
  gap:12px;
}
.topnav-cluster{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px;
  border-radius:999px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.14), 0 16px 34px rgba(15,23,42,0.12);
}
.topnav-cluster-controls{
  flex-wrap:wrap;
  justify-content:flex-end;
}
.topnav-cluster-actions{
  padding:6px;
}
.topnav-status{
  white-space:nowrap;
}
.topnav-btn-quiet{
  background:transparent;
}
.topnav-context{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,255,255,0.12);
  color:rgba(231,240,255,0.72);
  font-family:'Manrope',sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:0.1em;
  text-transform:uppercase;
}

.dash-header,
.dash-grid{
  width:min(1280px, calc(100% - 28px));
}
.dash-header{
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(320px,0.92fr);
  gap:26px;
  align-items:end;
  padding:42px 44px;
}
.dash-header::after{
  inset:auto 28px -82px auto;
  width:280px;
  height:280px;
}
.dash-hero-main{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.dash-hero-kicker{
  font-size:11px;
  font-weight:800;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--ui-text-soft);
}
.dash-hero-main h2{
  max-width:10ch;
  margin:0;
  font-size:clamp(48px,5.8vw,78px);
  line-height:0.9;
  letter-spacing:-0.08em;
}
.dash-hero-main p{
  max-width:620px;
  margin:0;
}
.dash-hero-value-stack{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.dash-hero-value-label{
  font-size:12px;
  font-weight:800;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ui-text-soft);
}
.dash-hero-value{
  font-family:'Fraunces',serif;
  font-size:clamp(40px,5vw,66px);
  line-height:0.95;
  letter-spacing:-0.06em;
  color:var(--ui-text-strong);
  font-variant-numeric:lining-nums tabular-nums;
}
.dash-hero-meta{
  font-size:14px;
  line-height:1.7;
  color:var(--ui-text-muted);
}
.dash-hero-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.dash-hero-pill{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,0.5);
  border:1px solid rgba(255,255,255,0.58);
  color:var(--ui-text-muted);
  font-size:12px;
  font-weight:700;
  box-shadow:0 12px 28px rgba(15,23,42,0.08);
}
.dash-hero-pill-live{
  color:#0f8a61;
  background:rgba(53,193,141,0.12);
  border-color:rgba(53,193,141,0.22);
}
.dash-hero-rail{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.dash-glance{
  position:relative;
  min-height:132px;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,0.68),rgba(246,250,255,0.48));
  border:1px solid rgba(255,255,255,0.72);
  box-shadow:0 18px 42px rgba(15,23,42,0.08), inset 0 1px 0 rgba(255,255,255,0.64);
  backdrop-filter:blur(26px) saturate(165%);
  -webkit-backdrop-filter:blur(26px) saturate(165%);
}
.dash-glance:first-child{
  grid-column:1 / -1;
}
.dash-glance-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ui-text-soft);
  margin-bottom:12px;
}
.dash-glance-value{
  font-family:'Fraunces',serif;
  font-size:clamp(24px,2vw,34px);
  line-height:1.05;
  letter-spacing:-0.05em;
  color:var(--ui-text-strong);
  font-variant-numeric:lining-nums tabular-nums;
}
.dash-glance-meta{
  margin-top:8px;
  font-size:13px;
  line-height:1.6;
  color:var(--ui-text-muted);
}

.dash-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.branch-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:240px;
  padding:26px;
  cursor:pointer;
  outline:none;
}
.branch-card[data-size='wide']{
  grid-column:span 7;
  min-height:306px;
}
.branch-card[data-size='large']{
  grid-column:span 5;
  min-height:306px;
}
.branch-card[data-size='half']{
  grid-column:span 6;
}
.branch-card[data-size='medium']{
  grid-column:span 4;
}
.branch-card[data-size='full']{
  grid-column:1 / -1;
  min-height:auto;
}
.branch-card[data-nav]::after{
  content:'↗';
  position:absolute;
  top:20px;
  right:22px;
  font-size:16px;
  font-weight:700;
  color:var(--ui-accent-strong);
  opacity:0;
  transform:translateY(6px);
  transition:opacity 180ms ease, transform 180ms ease;
}
.branch-card[data-nav]:hover::after,
.branch-card[data-nav]:focus-visible::after{
  opacity:1;
  transform:translateY(0);
}
.branch-card:hover{
  transform:translateY(-8px);
}
.branch-card:focus-visible{
  box-shadow:0 0 0 4px rgba(93,125,255,0.18), 0 28px 64px rgba(15,23,42,0.14), inset 0 1px 0 rgba(255,255,255,0.74);
}
.branch-card[data-variant='primary']{
  background:linear-gradient(145deg,rgba(255,255,255,0.82),rgba(244,248,255,0.62));
}
.branch-card[data-variant='action']{
  background:linear-gradient(145deg,rgba(234,244,255,0.92),rgba(255,255,255,0.66));
}
.branch-card[data-variant='progress'] .branch-progress-fill{
  background:linear-gradient(90deg,#f7c96f,#ff9f67,var(--ui-accent));
}
.branch-card[data-variant='info']:not([data-nav]){
  cursor:default;
}
.branch-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:0;
}
.branch-headline{
  display:flex;
  align-items:flex-start;
  gap:14px;
  min-width:0;
}
.branch-icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:18px;
  background:rgba(255,255,255,0.52);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.72), 0 14px 30px rgba(15,23,42,0.08);
  font-size:24px;
}
.branch-eyebrow{
  margin-bottom:8px;
  font-size:11px;
  font-weight:800;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--ui-text-soft);
}
.branch-title{
  margin-bottom:0;
  line-height:1.08;
}
.branch-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:rgba(255,255,255,0.48);
  color:var(--ui-accent-strong);
  font-size:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.72);
}
.branch-metric{
  margin-top:18px;
  font-family:'Fraunces',serif;
  font-size:clamp(32px,3vw,48px);
  line-height:0.98;
  letter-spacing:-0.06em;
  color:var(--ui-text-strong);
  font-variant-numeric:lining-nums tabular-nums;
}
.branch-card[data-variant='primary'] .branch-metric{
  font-size:clamp(38px,4vw,58px);
}
.branch-desc{
  margin-top:10px;
  margin-bottom:0;
  font-size:14px;
  line-height:1.7;
}
.branch-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.branch-meta-pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,0.46);
  border:1px solid rgba(255,255,255,0.56);
  color:var(--ui-text-soft);
  font-size:11px;
  font-weight:700;
}
.branch-progress-wrap{
  margin-top:18px;
}
.branch-progress-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  font-size:12px;
  color:var(--ui-text-soft);
}
.branch-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-top:auto;
  padding-top:20px;
}
.branch-footer-copy{
  color:var(--ui-text-soft);
  font-size:12px;
  line-height:1.6;
}
.branch-footer-link{
  color:var(--ui-accent-strong);
  font-size:12px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.branch-admin-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.branch-admin-list{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-top:16px;
}
.branch-admin-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 0;
  border-top:1px solid rgba(143,163,191,0.16);
}
.branch-admin-identity{
  min-width:0;
}
.branch-admin-name{
  font-size:14px;
  font-weight:700;
  color:var(--ui-text-strong);
}
.branch-admin-meta{
  margin-top:4px;
  font-size:12px;
  line-height:1.6;
  color:var(--ui-text-soft);
}
.branch-admin-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

html[data-theme='dark'] .topnav-cluster{
  background:rgba(255,255,255,0.04);
  border-color:rgba(129,152,187,0.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04), 0 18px 34px rgba(0,0,0,0.22);
}
html[data-theme='dark'] .topnav-context{
  background:rgba(255,255,255,0.08);
  color:rgba(231,240,255,0.78);
}
html[data-theme='dark'] .dash-glance{
  background:linear-gradient(145deg,rgba(19,30,49,0.86),rgba(15,25,40,0.72));
  border-color:rgba(129,152,187,0.18);
  box-shadow:0 22px 42px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.04);
}
html[data-theme='dark'] .dash-hero-pill{
  background:rgba(255,255,255,0.06);
  border-color:rgba(129,152,187,0.18);
}
html[data-theme='dark'] .branch-card[data-variant='primary']{
  background:linear-gradient(145deg,rgba(24,37,59,0.94),rgba(17,28,46,0.82));
}
html[data-theme='dark'] .branch-card[data-variant='action']{
  background:linear-gradient(145deg,rgba(22,35,57,0.9),rgba(15,25,40,0.78));
}
html[data-theme='dark'] .branch-icon,
html[data-theme='dark'] .branch-arrow,
html[data-theme='dark'] .branch-meta-pill{
  background:rgba(255,255,255,0.06);
  border-color:rgba(129,152,187,0.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04), 0 14px 30px rgba(0,0,0,0.18);
}
html[data-theme='dark'] .branch-admin-row{
  border-top-color:rgba(129,152,187,0.14);
}

@media (max-width:1100px){
  .dash-header{
    grid-template-columns:1fr;
  }
  .dash-hero-rail{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .dash-glance:first-child{
    grid-column:auto;
  }
  .branch-card[data-size='wide'],
  .branch-card[data-size='large'],
  .branch-card[data-size='half'],
  .branch-card[data-size='medium']{
    grid-column:span 6;
  }
}

@media (max-width:760px){
  .topnav{
    grid-template-columns:1fr;
    padding:16px 18px;
  }
  .topnav-right{
    width:100%;
    justify-content:flex-start;
  }
  .topnav-cluster-users,
  .topnav-cluster-controls{
    width:100%;
    justify-content:space-between;
    border-radius:24px;
  }
  .topnav-cluster-users{
    align-items:stretch;
  }
  #user-switcher{
    width:100%;
  }
  .topnav-cluster-users .user-chip{
    flex:1 1 0;
    justify-content:center;
  }
  .dash-header{
    width:min(1280px, calc(100% - 16px));
    gap:16px;
    padding:20px 16px 12px;
  }
  .dash-hero-main{
    gap:12px;
  }
  .dash-hero-main h2{
    max-width:12ch;
    font-size:clamp(32px,10vw,44px);
    line-height:0.94;
  }
  .dash-hero-main p{
    font-size:13px;
    line-height:1.55;
  }
  .dash-hero-value{
    font-size:clamp(28px,9vw,40px);
  }
  .dash-hero-meta{
    font-size:12px;
    line-height:1.5;
  }
  .dash-hero-pills{
    gap:8px;
  }
  .dash-hero-pill{
    min-height:30px;
    padding:6px 10px;
    font-size:11px;
  }
  .dash-hero-rail{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(210px,78%);
    gap:10px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    padding-bottom:2px;
  }
  .dash-glance:first-child{
    grid-column:auto;
  }
  .dash-glance{
    min-height:112px;
    padding:14px;
    border-radius:20px;
    scroll-snap-align:start;
  }
  .dash-glance-label{
    margin-bottom:8px;
  }
  .dash-glance-value{
    font-size:22px;
  }
  .dash-glance-meta{
    font-size:12px;
    line-height:1.45;
  }
  .dash-grid{
    grid-template-columns:1fr;
    gap:14px;
    width:min(1280px, calc(100% - 16px));
    padding-top:12px;
  }
  .branch-card[data-size='wide'],
  .branch-card[data-size='large'],
  .branch-card[data-size='half'],
  .branch-card[data-size='medium'],
  .branch-card[data-size='full']{
    grid-column:1 / -1;
    min-height:auto;
  }
  .branch-card{
    padding:22px;
  }
  .branch-footer,
  .branch-admin-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .branch-admin-actions{
    width:100%;
  }
}

.wk-prep-banner{
  background:linear-gradient(135deg,rgba(79,121,196,0.92),rgba(125,170,255,0.8));
  border:1px solid rgba(255,255,255,0.28);
  box-shadow:0 24px 48px rgba(54,94,163,0.2);
}

.wk-prep-title{
  font-size:15px;
  font-weight:700;
  margin-bottom:4px;
}

.wk-prep-sub{
  font-size:12px;
  color:rgba(255,255,255,0.86);
  max-width:54ch;
  line-height:1.5;
}

.wk-prep-status{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:11px 13px;
  border-radius:18px;
  background:rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.14);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.wk-prep-status-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.94);
}

.wk-prep-status-meta{
  font-size:12px;
  line-height:1.5;
  color:rgba(255,255,255,0.82);
}

.wk-resume-btn.ghost{
  background:rgba(255,255,255,0.16);
  color:white;
  border:1px solid rgba(255,255,255,0.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.12);
}

.wk-resume-btns{
  flex-wrap:wrap;
  justify-content:flex-end;
}

.wk-session-prep .wk-session-header{
  background:linear-gradient(135deg,rgba(239,246,255,0.9),rgba(220,234,255,0.78));
  color:var(--ui-text-strong);
  border-bottom:1px solid rgba(115,152,219,0.18);
}

.wk-session-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.02em;
}

.wk-session-badge.draft{
  background:rgba(59,130,246,0.12);
  color:#1d4ed8;
  border:1px solid rgba(59,130,246,0.18);
}

.wk-prep-note,
.wk-prep-empty{
  margin:16px 20px 0;
  padding:14px 16px;
  border-radius:var(--ui-radius-md);
  border:1px solid rgba(148,163,184,0.18);
  background:rgba(248,250,252,0.92);
  color:var(--ui-text-muted);
  font-size:13px;
  line-height:1.6;
}

.wk-prep-empty{
  margin-bottom:0;
}

.wk-prep-toolbar{
  display:flex;
  justify-content:flex-end;
  padding:14px 20px 0;
}

.wk-prep-discard-btn{
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(239,68,68,0.18);
  background:rgba(255,241,242,0.96);
  color:#be123c;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  font-family:inherit;
}

.wk-exercise-prep{
  background:rgba(255,255,255,0.72);
}

.wk-prep-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.wk-prep-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.wk-prep-field-name{
  grid-column:span 2;
}

.wk-prep-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--ui-text-soft);
}

.wk-prep-input,
.wk-prep-input-wrap{
  width:100%;
}

.wk-prep-input{
  min-height:44px;
  padding:10px 12px;
  border-radius:12px;
  border:1.5px solid rgba(148,163,184,0.24);
  background:rgba(255,255,255,0.9);
  color:var(--ui-text);
  font-size:14px;
  font-family:inherit;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
  -webkit-appearance:none;
}

.wk-prep-input:focus{
  border-color:rgba(59,130,246,0.42);
  box-shadow:0 0 0 4px rgba(147,197,253,0.18);
}

.wk-prep-input-wrap{
  display:flex;
  align-items:center;
  gap:8px;
}

.wk-prep-input-wrap span{
  font-size:11px;
  font-weight:700;
  color:var(--ui-text-soft);
  white-space:nowrap;
}

.wk-prep-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:14px;
}

.wk-plan-summary{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(240,249,255,0.92);
  border:1px solid rgba(125,211,252,0.28);
  color:#0f4c81;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
}

.wk-prep-remove{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(239,68,68,0.18);
  background:rgba(254,242,242,0.92);
  color:#b91c1c;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  font-family:inherit;
}

.wk-prep-add-row{
  display:flex;
  gap:10px;
  padding:0 20px 20px;
}

.wk-prep-add-row .wk-prep-input{
  flex:1 1 auto;
}

.wk-prep-add-row .wk-add-set-btn{
  margin-top:0;
  white-space:nowrap;
  padding-inline:16px;
}

html[data-theme='dark'] .wk-prep-banner{
  background:linear-gradient(135deg,rgba(34,74,140,0.94),rgba(59,102,180,0.86));
  border-color:rgba(191,219,254,0.16);
  box-shadow:0 24px 46px rgba(2,8,23,0.42);
}

html[data-theme='dark'] .wk-prep-status{
  background:rgba(255,255,255,0.08);
  border-color:rgba(191,219,254,0.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
}

html[data-theme='dark'] .wk-session-prep .wk-session-header{
  background:linear-gradient(135deg,rgba(15,23,42,0.92),rgba(20,33,61,0.88));
  border-bottom-color:rgba(148,163,184,0.16);
}

html[data-theme='dark'] .wk-session-badge.draft{
  background:rgba(59,130,246,0.18);
  border-color:rgba(96,165,250,0.2);
  color:#bfdbfe;
}

html[data-theme='dark'] .wk-prep-note,
html[data-theme='dark'] .wk-prep-empty{
  background:rgba(15,23,42,0.72);
  border-color:rgba(148,163,184,0.12);
  color:var(--ui-text-soft);
}

html[data-theme='dark'] .wk-prep-discard-btn{
  background:rgba(62,18,28,0.78);
  border-color:rgba(244,114,182,0.2);
  color:#fecdd3;
}

html[data-theme='dark'] .wk-exercise-prep{
  background:rgba(8,15,29,0.42);
}

html[data-theme='dark'] .wk-prep-input{
  background:rgba(15,23,42,0.8);
  border-color:rgba(148,163,184,0.18);
  color:var(--ui-text);
}

html[data-theme='dark'] .wk-prep-input:focus{
  border-color:rgba(96,165,250,0.34);
  box-shadow:0 0 0 4px rgba(37,99,235,0.18);
}

html[data-theme='dark'] .wk-resume-btn.ghost{
  background:rgba(255,255,255,0.08);
  border-color:rgba(191,219,254,0.16);
  color:#eff6ff;
}

html[data-theme='dark'] .wk-prep-input-wrap span{
  color:var(--ui-text-muted);
}

html[data-theme='dark'] .wk-plan-summary{
  background:rgba(14,116,144,0.18);
  border-color:rgba(56,189,248,0.2);
  color:#bae6fd;
}

html[data-theme='dark'] .wk-prep-remove{
  background:rgba(69,10,10,0.45);
  border-color:rgba(239,68,68,0.18);
  color:#fecaca;
}

@media (max-width:860px){
  .wk-prep-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .wk-prep-field-name{
    grid-column:1 / -1;
  }
}

@media (max-width:640px){
  .wk-prep-actions,
  .wk-prep-add-row{
    flex-direction:column;
    align-items:stretch;
  }
  .wk-prep-grid{
    grid-template-columns:1fr;
  }
  .wk-prep-field-name{
    grid-column:auto;
  }
  .wk-plan-summary{
    border-radius:14px;
  }
}

.wk-prep-field-sets{
  max-width:220px;
}

.wk-prep-set-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
}

.wk-prep-set-row{
  display:grid;
  grid-template-columns:118px repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:end;
  padding:14px 16px;
  border-radius:20px;
  border:1px solid rgba(148,163,184,0.16);
  background:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(244,248,255,0.82));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.72);
}

.wk-prep-set-index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,0.14);
  background:rgba(255,255,255,0.78);
  color:var(--ui-text-strong);
  font-size:13px;
  font-weight:700;
  letter-spacing:0.01em;
}

.wk-prep-set-row .wk-prep-field{
  min-width:0;
}

html[data-theme='dark'] .wk-prep-set-row{
  background:linear-gradient(180deg,rgba(15,23,42,0.78),rgba(11,18,32,0.68));
  border-color:rgba(148,163,184,0.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);
}

html[data-theme='dark'] .wk-prep-set-index{
  background:rgba(30,41,59,0.78);
  border-color:rgba(148,163,184,0.12);
  color:#e2e8f0;
}

@media (max-width:860px){
  .wk-prep-set-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .wk-prep-set-index{
    grid-column:1 / -1;
    justify-content:flex-start;
  }
}

@media (max-width:640px){
  .wk-prep-field-sets{
    max-width:none;
  }
  .wk-prep-set-row{
    grid-template-columns:1fr;
  }
}

.wk-ex-actions{
  flex-wrap:wrap;
  justify-content:flex-end;
}

.wk-goal-btn{
  color:var(--ui-text-strong);
  background:rgba(103,232,249,0.18);
  border:1px solid rgba(103,232,249,0.26);
}

.wk-goal-modal{
  background:linear-gradient(180deg,rgba(236,254,255,0.92),rgba(240,249,255,0.86));
  border-color:rgba(34,211,238,0.26);
}

.wk-goal-heading{
  font-size:12px;
  font-weight:700;
  color:#0f766e;
  margin-bottom:6px;
}

html[data-theme='dark'] .wk-goal-btn{
  background:rgba(8,145,178,0.2);
  border-color:rgba(34,211,238,0.18);
  color:#cffafe;
}

html[data-theme='dark'] .wk-goal-modal{
  background:linear-gradient(180deg,rgba(8,47,73,0.62),rgba(10,20,34,0.76));
  border-color:rgba(34,211,238,0.18);
}

html[data-theme='dark'] .wk-goal-heading{
  color:#a5f3fc;
}

.topnav-btn.primary{
  background:linear-gradient(135deg,rgba(37,99,235,0.18),rgba(59,130,246,0.14));
  border-color:rgba(37,99,235,0.18);
  color:var(--ui-text-strong);
}

.topnav-btn.active{
  background:rgba(59,130,246,0.14);
  border-color:rgba(59,130,246,0.2);
  color:var(--ui-text-strong);
}

.branch-admin-feedback{
  margin-top:14px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,0.16);
  background:rgba(255,255,255,0.82);
  color:var(--ui-text-strong);
  font-size:13px;
  font-weight:600;
}

.branch-admin-feedback[data-tone='success']{
  background:rgba(236,253,245,0.92);
  border-color:rgba(16,185,129,0.2);
  color:#047857;
}

.branch-admin-feedback[data-tone='error']{
  background:rgba(254,242,242,0.92);
  border-color:rgba(239,68,68,0.18);
  color:#b91c1c;
}

.branch-admin-editor{
  margin-top:16px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(148,163,184,0.18);
  background:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(245,248,255,0.84));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.74);
}

.branch-admin-editor-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.branch-admin-editor-title{
  font-size:15px;
  font-weight:800;
  color:var(--ui-text-strong);
}

.branch-admin-editor-sub{
  font-size:12px;
  color:var(--ui-text-muted);
}

.branch-admin-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.branch-admin-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}

.branch-admin-field-wide{
  grid-column:1 / -1;
}

.branch-admin-field span{
  font-size:12px;
  font-weight:700;
  color:var(--ui-text-muted);
  letter-spacing:0.01em;
}

.branch-admin-field input,
.branch-admin-field select{
  width:100%;
  min-width:0;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,0.16);
  background:rgba(255,255,255,0.88);
  color:var(--ui-text);
  font:inherit;
  outline:none;
}

.branch-admin-field input:focus,
.branch-admin-field select:focus{
  border-color:rgba(59,130,246,0.28);
  box-shadow:0 0 0 4px rgba(59,130,246,0.12);
}

.branch-admin-field input:disabled{
  opacity:0.7;
  cursor:not-allowed;
}

.branch-admin-options{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.branch-admin-option{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,0.14);
  background:rgba(255,255,255,0.82);
  color:var(--ui-text);
  font-size:13px;
  font-weight:600;
}

.branch-admin-option input{
  width:auto;
  min-width:auto;
  margin:0;
  padding:0;
  border:none;
  box-shadow:none;
}

.branch-admin-editor-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}

.branch-admin-name-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
}

.branch-admin-chip{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.14);
  background:rgba(255,255,255,0.78);
  color:var(--ui-text-muted);
  font-size:11px;
  font-weight:700;
}

.branch-admin-chip.is-active{
  background:rgba(236,253,245,0.9);
  border-color:rgba(16,185,129,0.18);
  color:#047857;
}

.branch-admin-chip.is-inactive{
  background:rgba(248,250,252,0.9);
  border-color:rgba(148,163,184,0.16);
  color:#64748b;
}

.branch-admin-chip.is-admin{
  background:rgba(219,234,254,0.9);
  border-color:rgba(59,130,246,0.18);
  color:#1d4ed8;
}

.branch-admin-branches{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.branch-admin-branch{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(14,165,233,0.1);
  border:1px solid rgba(14,165,233,0.16);
  color:#0f766e;
  font-size:12px;
  font-weight:700;
}

.branch-admin-empty{
  color:var(--ui-text-muted);
  font-size:12px;
}

html[data-theme='dark'] .topnav-btn.primary{
  background:rgba(37,99,235,0.24);
  border-color:rgba(96,165,250,0.18);
  color:#dbeafe;
}

html[data-theme='dark'] .topnav-btn.active{
  background:rgba(59,130,246,0.22);
  border-color:rgba(96,165,250,0.2);
  color:#dbeafe;
}

html[data-theme='dark'] .branch-admin-feedback{
  background:rgba(15,23,42,0.72);
  border-color:rgba(148,163,184,0.14);
  color:#e2e8f0;
}

html[data-theme='dark'] .branch-admin-feedback[data-tone='success']{
  background:rgba(6,78,59,0.34);
  border-color:rgba(16,185,129,0.18);
  color:#a7f3d0;
}

html[data-theme='dark'] .branch-admin-feedback[data-tone='error']{
  background:rgba(69,10,10,0.42);
  border-color:rgba(248,113,113,0.18);
  color:#fecaca;
}

html[data-theme='dark'] .branch-admin-editor{
  background:linear-gradient(180deg,rgba(15,23,42,0.82),rgba(11,18,32,0.74));
  border-color:rgba(148,163,184,0.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}

html[data-theme='dark'] .branch-admin-field input,
html[data-theme='dark'] .branch-admin-field select,
html[data-theme='dark'] .branch-admin-option,
html[data-theme='dark'] .branch-admin-chip{
  background:rgba(15,23,42,0.82);
  border-color:rgba(148,163,184,0.16);
  color:#e2e8f0;
}

html[data-theme='dark'] .branch-admin-field input:focus,
html[data-theme='dark'] .branch-admin-field select:focus{
  border-color:rgba(96,165,250,0.3);
  box-shadow:0 0 0 4px rgba(37,99,235,0.18);
}

html[data-theme='dark'] .branch-admin-chip.is-active{
  background:rgba(6,78,59,0.38);
  border-color:rgba(16,185,129,0.16);
  color:#a7f3d0;
}

html[data-theme='dark'] .branch-admin-chip.is-inactive{
  background:rgba(30,41,59,0.76);
  border-color:rgba(148,163,184,0.12);
  color:#cbd5e1;
}

html[data-theme='dark'] .branch-admin-chip.is-admin{
  background:rgba(30,64,175,0.36);
  border-color:rgba(96,165,250,0.18);
  color:#dbeafe;
}

html[data-theme='dark'] .branch-admin-branch{
  background:rgba(8,145,178,0.2);
  border-color:rgba(34,211,238,0.16);
  color:#cffafe;
}

@media (max-width:860px){
  .branch-admin-form-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .branch-admin-editor-head,
  .branch-admin-editor-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .branch-admin-options,
  .branch-admin-branches{
    gap:8px;
  }
}

.auth-helper{
  display:none;
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  font-size:13px;
  line-height:1.5;
  text-align:left;
}

.auth-helper[data-tone='info']{
  display:block;
  background:rgba(93,125,255,0.1);
  color:var(--ui-text);
  border:1px solid rgba(93,125,255,0.16);
}

.auth-helper[data-tone='success']{
  display:block;
  background:rgba(53,193,141,0.12);
  color:#0f5132;
  border:1px solid rgba(53,193,141,0.2);
}

.auth-helper[data-tone='error']{
  display:block;
  background:rgba(239,96,117,0.12);
  color:#9f1239;
  border:1px solid rgba(239,96,117,0.18);
}

.auth-links{
  margin-top:12px;
  display:flex;
  justify-content:center;
}

.auth-link-btn{
  width:auto;
  padding:0;
  border:none;
  background:transparent;
  color:var(--ui-accent-strong);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  box-shadow:none;
}

.auth-link-btn:hover{
  transform:none;
  color:#2f4fd9;
}

.auth-link-btn:focus-visible{
  border-radius:10px;
}

#auth-secondary{
  margin-top:18px;
}

.auth-secondary-card{
  text-align:left;
  padding:18px 18px 16px;
  border-radius:24px;
  background:rgba(255,255,255,0.55);
  border:1px solid rgba(143,163,191,0.24);
  box-shadow:var(--ui-shadow-sm);
}

.auth-secondary-title{
  font-size:16px;
  font-weight:800;
  color:var(--ui-text-strong);
  margin-bottom:6px;
}

.auth-secondary-copy{
  font-size:13px;
  line-height:1.6;
  color:var(--ui-text-muted);
  margin-bottom:14px;
}

.auth-secondary-copy:last-child{
  margin-bottom:0;
}

.auth-secondary-card .auth-secondary-field{
  margin-bottom:12px;
}

.auth-secondary-card .auth-secondary-field:last-of-type{
  margin-bottom:0;
}

.auth-secondary-label{
  display:block;
  font-size:12px;
  font-weight:700;
  color:var(--ui-text-soft);
  margin-bottom:6px;
  letter-spacing:0.02em;
}

.auth-secondary-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.auth-secondary-actions .topnav-btn,
.auth-secondary-actions .topnav-btn.primary{
  min-height:46px;
}

.branch-admin-meta-block{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.branch-admin-meta-block .branch-admin-meta{
  line-height:1.45;
}

html[data-theme='dark'] .auth-helper[data-tone='info']{
  color:#dbeafe;
  background:rgba(59,130,246,0.18);
  border-color:rgba(96,165,250,0.2);
}

html[data-theme='dark'] .auth-helper[data-tone='success']{
  color:#dcfce7;
  background:rgba(34,197,94,0.18);
  border-color:rgba(74,222,128,0.18);
}

html[data-theme='dark'] .auth-helper[data-tone='error']{
  color:#ffe4e6;
  background:rgba(244,63,94,0.18);
  border-color:rgba(251,113,133,0.18);
}

html[data-theme='dark'] .auth-secondary-card{
  background:rgba(15,23,42,0.56);
  border-color:rgba(148,163,184,0.16);
}

html[data-theme='dark'] .auth-secondary-title{
  color:#f8fafc;
}

html[data-theme='dark'] .auth-secondary-copy,
html[data-theme='dark'] .auth-secondary-label{
  color:#cbd5e1;
}

@media (max-width:640px){
  .auth-secondary-actions{
    flex-direction:column;
  }
  .auth-secondary-actions .topnav-btn,
  .auth-secondary-actions .topnav-btn.primary{
    width:100%;
    justify-content:center;
  }
}


.wk-rest-focus{
  position:sticky;
  top:calc(88px + env(safe-area-inset-top,0px));
  z-index:16;
  margin-bottom:18px;
}

.wk-rest-focus-shell{
  min-height:min(76dvh,680px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
  padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));
  border-radius:34px;
  color:#f8fbff;
  background:
    radial-gradient(circle at top right,rgba(149,197,255,0.36),transparent 34%),
    linear-gradient(155deg,rgba(10,23,42,0.94),rgba(22,47,87,0.88) 45%,rgba(62,112,196,0.82) 100%);
  border:1px solid rgba(255,255,255,0.18);
  box-shadow:0 30px 90px rgba(15,23,42,0.22);
  backdrop-filter:blur(28px) saturate(170%);
  -webkit-backdrop-filter:blur(28px) saturate(170%);
}

.wk-rest-focus-kicker{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:rgba(219,234,254,0.82);
}

.wk-rest-focus-display{
  font-family:'Fraunces',serif;
  font-size:clamp(78px,23vw,132px);
  line-height:0.92;
  letter-spacing:-0.06em;
  color:#ffffff;
  text-wrap:balance;
}

.wk-rest-focus-copy{
  max-width:28rem;
  font-size:14px;
  line-height:1.6;
  color:rgba(219,234,254,0.86);
}

.wk-rest-focus-next{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:16px 18px;
  border-radius:24px;
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
}

.wk-rest-focus-next-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:rgba(191,219,254,0.82);
}

.wk-rest-focus-next-name{
  font-size:26px;
  font-weight:800;
  line-height:1.1;
  color:#ffffff;
}

.wk-rest-focus-next-meta{
  font-size:14px;
  line-height:1.5;
  color:rgba(219,234,254,0.88);
}

.wk-rest-focus-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:stretch;
}

.wk-rest-focus-duration{
  flex:1 1 100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:58px;
  padding:12px 16px;
  border-radius:20px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
  color:#e0ebff;
  font-size:13px;
  font-weight:700;
}

.wk-rest-focus-duration input{
  width:88px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(6,13,24,0.26);
  color:#ffffff;
  text-align:center;
  font-size:18px;
  font-weight:800;
  box-shadow:none;
}

.wk-rest-focus-btn{
  flex:1 1 calc(50% - 6px);
  min-height:58px;
  padding:14px 18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,0.14);
  font-family:inherit;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.wk-rest-focus-btn.secondary{
  background:rgba(255,255,255,0.08);
  color:#f8fbff;
}

.wk-rest-focus-btn.primary{
  background:linear-gradient(135deg,#f9fbff,#d8e6ff);
  color:#0f1b2d;
  box-shadow:0 16px 34px rgba(255,255,255,0.16);
}

.wk-rest-focus-btn:active{
  transform:scale(0.98);
}

.wk-rest-focus-status{
  display:none;
  align-items:center;
  gap:8px;
  min-height:18px;
  font-size:12px;
  line-height:1.5;
  color:rgba(224,234,255,0.88);
}

.wk-rest-focus-status[data-state='unsupported'],
.wk-rest-focus-status[data-state='denied']{
  color:#fde68a;
}

.wk-rest-muted{
  opacity:0.38;
  filter:saturate(0.8) blur(2px);
  transform:scale(0.985);
  transform-origin:top center;
}

html[data-theme='dark'] .wk-rest-focus-shell{
  background:
    radial-gradient(circle at top right,rgba(113,182,255,0.24),transparent 34%),
    linear-gradient(155deg,rgba(2,6,23,0.96),rgba(15,23,42,0.92) 45%,rgba(30,64,125,0.82) 100%);
  border-color:rgba(148,163,184,0.2);
  box-shadow:0 30px 90px rgba(2,6,23,0.48);
}

@media (min-width:760px){
  .wk-rest-focus-shell{
    min-height:520px;
    padding:34px 34px 32px;
  }
  .wk-rest-focus-actions{
    align-items:center;
  }
  .wk-rest-focus-duration{
    flex:1 1 220px;
  }
  .wk-rest-focus-btn{
    flex:0 0 auto;
    min-width:156px;
  }
}

@media (max-width:760px){
  .topnav{
    width:calc(100% - 12px);
    margin:calc(4px + env(safe-area-inset-top,0px)) auto 8px;
    padding:10px 12px;
    border-radius:22px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    top:max(0px, env(safe-area-inset-top,0px));
  }
  .topnav-left,
  .topnav-right{
    width:auto;
    min-width:0;
  }
  .topnav-left{
    gap:10px;
  }
  .topnav-brand{
    min-width:0;
    gap:2px;
  }
  .topnav-eyebrow{
    display:none;
  }
  .topnav-title{
    gap:6px;
    font-size:20px;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .topnav-context{
    padding:4px 8px;
    font-size:10px;
  }
  .topnav-back,
  .topnav-btn,
  .user-chip{
    min-height:34px;
    padding:7px 10px;
    font-size:11px;
  }
  .topnav-back{
    width:34px;
    min-width:34px;
    padding:0;
  }
  .topnav-right{
    justify-content:flex-end;
    gap:6px;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .topnav-right::-webkit-scrollbar{
    display:none;
  }
  .topnav-cluster{
    flex:none;
    gap:4px;
    padding:4px;
    box-shadow:none;
  }
  .topnav-cluster-users{
    max-width:34vw;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
  }
  .topnav-cluster-users::-webkit-scrollbar{
    display:none;
  }
  #user-switcher{
    flex-wrap:nowrap;
    gap:6px;
  }
  .topnav-cluster-controls{
    flex-wrap:nowrap;
    gap:4px;
  }
  .topnav-cluster-actions{
    padding:0;
    background:transparent;
    border:none;
  }
  #sync-indicator{
    min-width:34px;
    justify-content:center;
    padding-inline:8px;
    font-size:0;
  }
  #sync-indicator .sync-dot{
    width:8px;
    height:8px;
  }
  .theme-switcher,
  .language-switcher{
    width:auto;
    flex:none;
    gap:4px;
    padding:4px;
  }
  .theme-btn,
  .language-btn{
    min-height:30px;
    padding:6px 8px;
    font-size:10px;
  }
  .section-wrap{
    width:calc(100% - 14px);
  }
  .halsa-tabs{
    margin:4px 0 14px;
    padding:8px;
    gap:8px;
  }
  .halsa-tab{
    min-height:38px;
    padding:8px 12px;
    font-size:12px;
  }
  .wk-session{
    margin-bottom:14px;
  }
  .wk-session-header{
    padding:16px;
  }
  .wk-rest-focus{
    top:calc(56px + env(safe-area-inset-top,0px));
    margin-bottom:14px;
  }
  .wk-rest-focus-shell{
    min-height:min(68dvh,560px);
    gap:14px;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));
    border-radius:26px;
  }
  .wk-rest-focus-next{
    padding:14px 16px;
    border-radius:20px;
  }
  .wk-rest-focus-next-name{
    font-size:22px;
  }
  .wk-rest-focus-actions{
    gap:10px;
  }
  .wk-rest-focus-duration,
  .wk-rest-focus-btn{
    min-height:52px;
  }
}

.wk-prep-hero-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:14px 20px 0;
}

.wk-prep-start-btn{
  width:100%;
  min-height:54px;
  justify-content:center;
  font-size:15px;
  font-weight:800;
}

.wk-prep-secondary-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.wk-prep-hero-actions .wk-resume-btn,
.wk-prep-hero-actions .wk-prep-discard-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border-radius:16px;
  cursor:pointer;
  font-family:inherit;
}

.wk-prep-save-btn,
.wk-prep-close-btn,
.wk-prep-discard-btn{
  flex:1 1 160px;
}

@media (max-width:760px){
  .wk-prep-hero-actions{
    margin:14px 16px 0;
  }
  .wk-prep-start-btn{
    min-height:56px;
    font-size:16px;
  }
  .wk-prep-secondary-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .wk-prep-discard-btn{
    grid-column:1 / -1;
  }
}

@media (max-width:640px){
  .wk-prep-secondary-actions{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .topnav{
    padding-left:max(12px, calc(12px + env(safe-area-inset-left,0px)));
  }
  .topnav-left{
    flex:1 1 auto;
    min-width:0;
    position:relative;
    z-index:2;
  }
  .topnav-brand{
    flex:1 1 auto;
    min-width:0;
  }
  .topnav-title{
    min-width:0;
  }
  .topnav-right{
    flex:0 1 auto;
    max-width:min(50vw, 260px);
    position:relative;
    z-index:1;
  }
  .topnav-back{
    flex:0 0 38px;
    width:38px;
    min-width:38px;
    min-height:38px;
    margin-left:max(0px, env(safe-area-inset-left,0px));
    color:#fff;
    background:rgba(255,255,255,0.24);
    border-color:rgba(255,255,255,0.4);
    box-shadow:0 12px 28px rgba(6,14,28,0.26);
    position:relative;
    z-index:3;
  }
  .topnav-back.visible{
    display:inline-flex;
  }
}

@media (max-width:520px){
  .topnav-right{
    max-width:46vw;
  }
}

.health-kost-shell{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.health-kost-hero{
  padding:24px 26px;
  border-radius:30px;
  background:linear-gradient(150deg,rgba(16,26,44,0.82),rgba(29,43,71,0.72),rgba(16,26,44,0.9));
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:var(--ui-shadow-lg);
  color:#f7fbff;
}

.health-kost-kicker{
  font-size:11px;
  font-weight:800;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:rgba(222,231,247,0.72);
}

.health-kost-title{
  margin-top:10px;
  font-size:clamp(28px,4vw,40px);
  line-height:0.95;
  letter-spacing:-0.05em;
}

.health-kost-copy{
  margin-top:12px;
  max-width:56ch;
  font-size:14px;
  line-height:1.7;
  color:rgba(222,231,247,0.82);
}

.health-kost-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.health-kost-card{
  padding:20px 20px 18px;
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,0.82),rgba(244,248,255,0.66));
  border:1px solid rgba(255,255,255,0.5);
  box-shadow:var(--ui-shadow-sm);
}

.health-kost-card-icon{
  font-size:24px;
  margin-bottom:10px;
}

.health-kost-card-title{
  font-size:16px;
  font-weight:700;
  color:var(--ui-text-strong);
}

.health-kost-card-copy{
  margin-top:8px;
  font-size:13px;
  line-height:1.65;
  color:var(--ui-text-muted);
}

html[data-theme='dark'] .health-kost-card{
  background:linear-gradient(180deg,rgba(15,23,42,0.78),rgba(11,18,32,0.68));
  border-color:rgba(148,163,184,0.14);
}

@media (max-width:760px){
  .health-kost-hero{
    padding:22px 20px;
    border-radius:26px;
  }
  .health-kost-grid{
    grid-template-columns:1fr;
  }
}
