@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:dark;--bg-primary: #0a0a0a;--bg-surface: #121417;--bg-surface-2: #1a1d21;--bg-active: #0d1c30;--bg-hover: #171b20;--border: #232c37;--border-strong: #35424f;--accent-primary: #00b4ff;--accent-secondary: #0066cc;--accent-highlight: #40d0ff;--text-primary: #f2f4f6;--text-secondary: #93b0c7;--text-muted: #6b8299;--error: #ff5252;--success: #00e676;--warning: #ffb020;--radius-sm: 3px;--radius: 5px;--radius-lg: 8px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 4px 16px rgba(0, 0, 0, .45);--shadow-3: 0 16px 40px rgba(0, 0, 0, .6);--transition: .18s ease}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.mono{font-family:JetBrains Mono,monospace}input,button,select,textarea{font-family:Inter,sans-serif}input,select,textarea,button{border-radius:var(--radius)}input,select,textarea{transition:border-color var(--transition),background-color var(--transition)}input:not([type=checkbox]):not([type=radio]),select,textarea{background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border)}option{background-color:var(--bg-surface-2);color:var(--text-primary)}input:disabled,select:disabled,textarea:disabled{color:var(--text-muted)}::placeholder{color:var(--text-muted);opacity:1}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--bg-primary) inset;-webkit-text-fill-color:var(--text-primary);caret-color:var(--text-primary);transition:background-color 9999s ease-out}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}:disabled{cursor:not-allowed}::selection{background:var(--accent-secondary);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}.brand{display:flex;align-items:center;min-width:0}.brand-mark{display:block;flex-shrink:0;object-fit:contain;border-radius:50%}.brand-word{display:flex;min-width:0;font-weight:700;color:var(--text-primary);white-space:nowrap}.brand-word-2{color:var(--accent-primary)}.brand-compact{gap:10px}.brand-compact .brand-mark{width:30px;height:30px}.brand-compact .brand-word{gap:6px;font-size:13px;letter-spacing:.14em}.brand-stacked{flex-direction:column;align-items:flex-start;gap:10px}.brand-stacked .brand-mark{width:40px;height:40px}.brand-stacked .brand-word{flex-direction:column;gap:1px;font-size:12px;letter-spacing:.16em;line-height:1.35}.brand-hero{flex-direction:column;align-items:center;gap:16px;text-align:center}.brand-hero .brand-mark{width:96px;height:96px}.brand-hero .brand-word{flex-direction:column;gap:2px;font-size:20px;letter-spacing:.2em;line-height:1.25}@media (max-width: 480px){.brand-hero .brand-mark{width:76px;height:76px}.brand-hero .brand-word{font-size:17px}}@media (max-width: 640px){.brand-compact .brand-word{font-size:11px;letter-spacing:.1em}.brand-compact .brand-mark{width:26px;height:26px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background-color:var(--bg-primary)}.login-card{width:100%;max-width:420px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:48px 40px}@media (max-width: 480px){.login-container{padding:16px}.login-card{padding:32px 22px}.login-header{margin-bottom:30px}.login-form{gap:18px}}.login-header{margin-bottom:40px}.login-header{text-align:center}.login-subtitle{margin-top:10px;font-size:13px;color:var(--text-secondary);letter-spacing:.05em}.login-form{display:flex;flex-direction:column;gap:24px}.login-field{display:flex;flex-direction:column;gap:8px}.login-label{font-size:10px;font-weight:600;letter-spacing:.15em;color:var(--text-secondary)}.login-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);padding:14px 16px;font-size:16px;outline:none;transition:border-color .2s}.login-input::placeholder{color:var(--text-muted)}.login-input:focus{border-color:var(--accent-primary)}.login-error{font-size:12px;color:var(--error);letter-spacing:.03em;padding:12px;border:1px solid rgba(255,68,68,.3);background:#ff44440d}.login-btn{background:var(--accent-secondary);color:var(--text-primary);border:none;border-radius:var(--radius);padding:16px;font-size:12px;font-weight:600;letter-spacing:.15em;cursor:pointer;transition:background .2s;margin-top:8px}.login-btn:hover{background:var(--accent-primary)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-portal-switch{display:block;margin-top:20px;padding-top:18px;border-top:1px solid var(--border);text-align:center;font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--text-muted);text-decoration:none;transition:color var(--transition)}.login-portal-switch:hover{color:var(--accent-primary)}.login-reset-btn{display:block;width:100%;margin-top:4px;background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.14em;cursor:pointer;padding:14px;transition:color var(--transition),border-color var(--transition),background var(--transition);font-family:Inter,sans-serif}.login-reset-btn:hover{color:var(--accent-primary);border-color:var(--accent-primary);background:var(--bg-active)}.login-note{font-size:11px;color:var(--success);line-height:1.45;text-align:center}.notif{position:relative;flex-shrink:0;display:flex;align-items:center}.notif-bell{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:color var(--transition),background var(--transition),border-color var(--transition)}.notif-bell:hover{color:var(--accent-primary);background:var(--bg-hover)}.notif-bell.open{color:var(--accent-primary);background:var(--bg-active);border-color:var(--accent-secondary)}.notif-bell.has-unread{color:var(--accent-primary)}.notif-bell-icon{width:19px;height:19px}.notif-badge{position:absolute;top:3px;right:2px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--error);color:#fff;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:500;line-height:15px;text-align:center;box-shadow:0 0 0 2px var(--bg-surface)}.notif-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:320px;max-width:calc(100vw - 32px);background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-2);overflow:hidden}.notif-panel-head{padding:10px 14px;border-bottom:1px solid var(--border);font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--text-muted)}.notif-empty{padding:20px 14px;font-size:12px;line-height:1.5;color:var(--text-secondary)}.notif-list{max-height:340px;overflow-y:auto}.notif-item{position:relative;display:flex;flex-direction:column;gap:5px;width:100%;padding:11px 14px;background:transparent;border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;font-family:Inter,sans-serif;transition:background var(--transition)}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--bg-hover)}.notif-item.unread:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent-primary)}.notif-item.unread{background:var(--bg-active)}.notif-item.unread:hover{background:#10233a}.notif-item-top{display:flex;align-items:center;gap:8px}.notif-when{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-muted);white-space:nowrap}.notif-item-title{font-size:12px;font-weight:600;color:var(--text-primary)}.notif-item-plan{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-container{min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--bg-surface)}.dashboard-brand{flex-shrink:0}.dashboard-user{display:flex;align-items:center;gap:16px}.dashboard-username{font-size:12px;color:var(--text-secondary);letter-spacing:.05em}.signout-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;font-size:10px;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.signout-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.client-tabs-row{display:flex;align-items:stretch;background:var(--bg-surface);border-bottom:1px solid var(--border);padding:0 24px}.client-tabs-row .notif{padding-right:12px;margin-right:12px;border-right:1px solid var(--border)}.client-tabs-bar{display:flex;flex:1;min-width:0;padding-left:4px;overflow-x:auto;scrollbar-width:none}.client-tabs-bar::-webkit-scrollbar{display:none}.client-tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);padding:14px 20px;font-size:10px;font-weight:600;letter-spacing:.14em;cursor:pointer;transition:all .2s;margin-bottom:-1px;font-family:Inter,sans-serif;white-space:nowrap;flex-shrink:0}.client-tab-btn:hover{color:var(--text-primary)}.client-tab-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.dashboard-content{flex:1;padding:24px}.no-tasks-today{font-size:12px;color:var(--text-secondary);letter-spacing:.04em;padding:24px 0}.day-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-surface);border:1px solid var(--border);padding:12px 16px;margin-bottom:16px}.day-nav-label{display:flex;align-items:center;gap:10px;flex:1;justify-content:center}.day-nav-date{font-size:14px;font-weight:600;color:var(--text-primary)}.day-nav-today-tag{font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--accent-primary);border:1px solid var(--accent-secondary);background:var(--bg-active);padding:2px 8px}.cal-nav-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-size:16px;line-height:1;padding:6px 12px;cursor:pointer;transition:all .2s}.cal-nav-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.day-progress{display:flex;align-items:center;gap:12px;margin-bottom:20px}.day-progress-bar{flex:1;height:6px;background:var(--bg-surface);border:1px solid var(--border);overflow:hidden}.day-progress-fill{height:100%;background:var(--accent-primary);transition:width .25s}.day-progress-fill.complete{background:var(--success)}.day-progress-text{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--accent-primary);font-family:JetBrains Mono,monospace;white-space:nowrap}.day-progress-text.complete{color:var(--success)}.day-future-note{font-size:11px;color:var(--text-secondary);font-style:italic;margin-bottom:16px}.task-section{margin-bottom:28px}.task-section-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.task-section-title{font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--text-primary)}.task-plan-name{font-size:10px;color:var(--text-secondary);letter-spacing:.04em;margin-left:auto}.task-day-chip{font-size:9px;font-weight:600;letter-spacing:.08em;padding:2px 8px;border:1px solid var(--accent-secondary);background:var(--bg-active);color:var(--accent-primary)}.task-plan-start{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--accent-highlight);margin-bottom:8px}.task-section-summary{font-size:11px;color:var(--accent-highlight);font-family:JetBrains Mono,monospace;margin-bottom:10px}.task-rest-day{font-size:12px;letter-spacing:.1em;color:var(--text-secondary);padding:16px;border:1px dashed var(--border);text-align:center}.task-list{display:flex;flex-direction:column;gap:2px}.task-item{background:var(--bg-surface);border:1px solid var(--border);transition:border-color .2s}.task-item.done{border-color:#00e67659}.task-item-main{display:flex;align-items:center;gap:12px;padding:12px 16px}.task-checkbox{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0}.task-checkbox:disabled{cursor:not-allowed;opacity:.4}.task-item-body{flex:1;min-width:0;cursor:pointer}.task-item-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-item-label{font-size:13px;color:var(--text-primary)}.task-item.done .task-item-label{color:var(--text-secondary);text-decoration:line-through}.task-item-group{font-size:8px;font-weight:600;letter-spacing:.08em;color:var(--text-secondary);border:1px solid var(--border);padding:1px 6px}.task-item-detail{font-size:11px;color:var(--accent-highlight);font-family:JetBrains Mono,monospace;margin-top:3px}.task-expand-btn{background:transparent;border:none;color:var(--text-secondary);font-size:9px;cursor:pointer;padding:4px 6px;flex-shrink:0}.task-expand-btn:hover{color:var(--accent-primary)}.task-item-lines{border-top:1px solid var(--border);padding:10px 16px 12px 46px;display:flex;flex-direction:column;gap:5px}.task-line{font-size:11px;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.task-line-notes{font-family:Inter,sans-serif;font-style:italic;color:var(--text-secondary)}.metrics-list{display:flex;flex-direction:column;gap:2px}.metric-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border)}.metric-label{font-size:13px;color:var(--text-primary)}.metric-scale-select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;font-size:12px;font-family:JetBrains Mono,monospace;outline:none;cursor:pointer}.metric-value-row{display:flex;align-items:center;gap:6px}.metric-value-input{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;font-size:12px;font-family:JetBrains Mono,monospace;outline:none;width:80px;text-align:right}.metric-unit{font-size:11px;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.metric-binary{display:flex;flex-shrink:0}.metric-binary-btn{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);padding:8px 18px;min-width:62px;min-height:38px;font-size:11px;font-weight:700;letter-spacing:.1em;font-family:Inter,sans-serif;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.metric-binary-btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.metric-binary-btn:last-child{border-radius:0 var(--radius) var(--radius) 0;margin-left:-1px}.metric-binary-btn:hover:not(:disabled):not(.active){border-color:var(--border-strong);color:var(--text-primary)}.metric-binary-btn.active{z-index:1;color:#04121f}.metric-binary-btn.active.yes{background:var(--accent-primary);border-color:var(--accent-primary)}.metric-binary-btn.active.no{background:var(--text-secondary);border-color:var(--text-secondary)}.metric-binary-btn:disabled{opacity:.45;cursor:not-allowed}.cal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.cal-toolbar-left,.cal-toolbar-right{display:flex;align-items:center;gap:8px}.cal-period-label{font-size:13px;font-weight:600;color:var(--text-primary);min-width:150px;text-align:center}.cal-today-btn,.cal-view-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;font-size:9px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.cal-today-btn:hover,.cal-view-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.cal-view-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--bg-active)}.cal-day-headers{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.cal-day-header{font-size:9px;font-weight:600;letter-spacing:.1em;color:var(--text-secondary);text-align:center;padding:6px 0}.cal-month-grid,.cal-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-cell{background:var(--bg-surface);border:1px solid var(--border);min-height:132px;padding:7px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:border-color .15s;overflow:hidden}.cal-cell-week{min-height:200px}.cal-cell:hover{border-color:var(--accent-secondary)}.cal-cell.empty{background:transparent;border-color:transparent;cursor:default}.cal-cell.today{border-color:var(--accent-primary)}.cal-cell.plan-start{border-top:2px solid var(--accent-highlight)}.cal-cell-date{font-size:11px;font-weight:600;color:var(--text-primary);font-family:JetBrains Mono,monospace}.cal-plan-start{font-size:7px;font-weight:700;letter-spacing:.08em;color:var(--accent-highlight)}.cal-chip{font-size:9px;font-weight:600;letter-spacing:.02em;padding:2px 5px;border:1px solid var(--border);color:var(--text-secondary);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-chip-label{color:var(--text-muted);font-weight:700}.cal-chip-training{border-color:var(--accent-secondary);color:var(--accent-primary)}.cal-chip-nutrition{border-color:#7a5cff;color:#a892ff}.cal-chip-cardio{border-color:#ff8a3d;color:#ffab73}.cal-chip-peds{border-color:#d14d8b;color:#f08cbb}.cal-chip-supplements{border-color:#3fae7a;color:#6fd3a3}.cal-chip-billing{border-color:var(--warning);color:var(--warning)}.cal-count{margin-top:auto;font-size:10px;font-weight:700;font-family:JetBrains Mono,monospace;color:var(--text-secondary)}.cal-count.all-done{color:var(--success)}.cal-count.partial{color:var(--accent-highlight)}.cal-count.missed{color:var(--error)}.cal-count.upcoming{color:var(--text-secondary)}.cal-count.pending{color:var(--accent-primary)}.cal-rest{margin-top:auto;font-size:8px;letter-spacing:.08em;color:var(--text-secondary)}.cal-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px}.cal-legend-item{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-secondary)}.cal-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.cal-dot.all-done{background:var(--success)}.cal-dot.partial{background:var(--accent-highlight)}.cal-dot.missed{background:var(--error)}.cal-dot.upcoming{background:var(--text-secondary)}.upcoming-block{margin-top:32px;border-top:1px solid var(--border);padding-top:20px}.upcoming-title{display:block;margin-bottom:10px;color:var(--text-secondary)}.upcoming-day{border:1px solid var(--border);background:var(--bg-surface);margin-bottom:2px}.upcoming-day-head{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;background:transparent;border:none;cursor:pointer;text-align:left;font-family:Inter,sans-serif;transition:background .15s}.upcoming-day-head:hover{background:var(--bg-active)}.upcoming-day-date{font-size:12px;color:var(--text-primary);font-weight:600;min-width:110px}.upcoming-day-count{font-size:10px;letter-spacing:.08em;color:var(--text-secondary);font-family:JetBrains Mono,monospace;margin-left:auto}.upcoming-day-done{font-size:10px;color:var(--success);font-family:JetBrains Mono,monospace}.upcoming-day-caret{font-size:8px;color:var(--text-secondary)}.upcoming-day-body{padding:10px 14px 14px;border-top:1px solid var(--border)}.upcoming-jump-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;font-size:9px;font-weight:600;letter-spacing:.1em;cursor:pointer;margin-bottom:10px;transition:all .2s;font-family:Inter,sans-serif}.upcoming-jump-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.task-item-lines-flush{padding-left:16px}@media (max-width: 640px){.dashboard-content{padding:16px}.cal-cell{min-height:104px;padding:4px}.cal-chip{font-size:7px}.task-plan-name{margin-left:0;width:100%}.dashboard-header{padding:14px 16px}.client-tabs-row{padding:0 12px}.client-tabs-row .notif{padding-right:8px;margin-right:8px}.client-tab-btn{padding:12px 14px}.client-tab-btn.home{padding:10px 16px;margin-right:10px}.metric-item{flex-direction:column;align-items:stretch;gap:10px}.metric-value-input{width:100%;text-align:left}.metric-scale-select,.metric-binary{width:100%}.metric-binary-btn{flex:1}.day-progress{flex-wrap:wrap}}.task-item,.metric-item,.upcoming-day{border-radius:var(--radius)}.task-day-chip,.day-nav-today-tag,.task-item-group,.cal-chip{border-radius:var(--radius-sm)}.day-nav{border-radius:var(--radius-lg)}.cal-cell{border-radius:var(--radius-sm)}.day-progress-bar{border-radius:999px;overflow:hidden}.day-progress-fill{border-radius:999px}.metric-item-text{flex-direction:column;align-items:stretch;gap:8px}.metric-text-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);padding:8px 10px;font-size:13px;font-family:Inter,sans-serif;outline:none;width:100%;resize:vertical;transition:border-color var(--transition)}.metric-text-input:focus{border-color:var(--accent-primary)}.pose-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.pose-cell{display:flex;flex-direction:column;gap:8px}.pose-name{font-size:12px;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.pose-drop{position:relative;aspect-ratio:3 / 4;width:100%;padding:0;background:var(--bg-surface);border:1px dashed var(--border-strong);border-radius:var(--radius);cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color var(--transition)}.pose-drop:hover{border-color:var(--accent-primary)}.pose-drop:disabled{cursor:wait}.pose-drop.has-photo{border-style:solid;border-color:var(--border)}.pose-drop img{width:100%;height:100%;object-fit:cover;display:block}.pose-drop-hint{font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--text-muted)}.pose-replace{position:absolute;left:0;right:0;bottom:0;padding:5px;background:#000000b8;color:var(--text-secondary);font-size:9px;font-weight:600;letter-spacing:.1em}.pose-error{font-size:11px;color:var(--error);line-height:1.4}.metric-label-block{display:flex;flex-direction:column;gap:3px;min-width:0}.metric-notes{font-size:11px;color:var(--text-muted);font-style:italic;line-height:1.4}.billing-banner{display:flex;align-items:center;gap:14px;padding:14px 16px;margin-bottom:20px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-surface)}.billing-banner-mark{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500}.billing-banner-body{display:flex;flex-direction:column;gap:3px;min-width:0}.billing-banner-title{font-size:13px;font-weight:600;color:var(--text-primary)}.billing-banner-sub{font-size:11px;color:var(--text-secondary)}.billing-banner.overdue{border-color:var(--error);background:#ff525212}.billing-banner.overdue .billing-banner-mark{background:#ff525226;color:var(--error)}.billing-banner.overdue .billing-banner-title{color:var(--error)}.billing-banner.due{border-color:var(--warning);background:#ffb02012}.billing-banner.due .billing-banner-mark{background:#ffb02026;color:var(--warning)}.billing-banner.due .billing-banner-title{color:var(--warning)}.billing-banner.due-soon .billing-banner-mark{background:var(--bg-active);color:var(--accent-primary)}.home-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:20px}.home-date{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.home-greeting{font-size:24px;font-weight:600;color:var(--text-primary)}.home-calendar-btn{background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary);padding:9px 16px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all var(--transition);font-family:Inter,sans-serif;white-space:nowrap}.home-calendar-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.home-section-title{font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--accent-primary);margin:24px 0 12px}.home-group{margin-bottom:18px}.home-group-head{width:100%;display:flex;align-items:center;gap:10px;padding:8px 0;background:transparent;border:none;cursor:pointer;text-align:left;font-family:Inter,sans-serif}.home-group-head.static{cursor:default}.home-group-label{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--text-primary)}.home-group-count{margin-left:auto;font-size:10px;font-family:JetBrains Mono,monospace;color:var(--text-muted)}.home-group-arrow{color:var(--text-muted);font-size:14px}.home-group-head:not(.static):hover .home-group-label,.home-group-head:not(.static):hover .home-group-arrow{color:var(--accent-primary)}.home-all-done,.home-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);margin-top:20px}.home-done-mark{font-size:40px;color:var(--success);line-height:1}.home-empty-mark{font-size:32px;color:var(--text-muted);line-height:1}.home-done-text,.home-empty-text{font-size:15px;font-weight:600;color:var(--text-primary)}.home-done-sub{font-size:12px;color:var(--text-secondary)}.home-completed{margin-top:28px;border-top:1px solid var(--border);padding-top:16px}.home-completed-toggle{background:transparent;border:none;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.12em;cursor:pointer;padding:6px 0;font-family:Inter,sans-serif}.home-completed-toggle:hover{color:var(--text-secondary)}.calendar-back-bar,.past-day-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.calendar-back-hint{font-size:11px;color:var(--text-muted)}.past-day-bar{background:var(--bg-active);border:1px solid var(--accent-secondary);border-radius:var(--radius);padding:10px 14px;font-size:12px;color:var(--text-secondary)}.task-outstanding{font-size:8px;font-weight:700;letter-spacing:.1em;color:var(--warning);border:1px solid rgba(255,176,32,.5);background:#ffb0201a;border-radius:var(--radius-sm);padding:1px 6px;margin-left:8px;white-space:nowrap}.client-tab-btn.home{background:linear-gradient(180deg,var(--accent-primary),var(--accent-secondary));color:#04121f;padding:12px 22px;margin:6px 16px 7px 0;border-radius:var(--radius);border-bottom:none;font-weight:700;letter-spacing:.16em;box-shadow:0 2px 10px #0078dc59}.client-tab-btn.home:hover{background:linear-gradient(180deg,var(--accent-highlight),var(--accent-primary));color:#04121f}.client-tab-btn.home.active{color:#04121f;box-shadow:0 0 0 2px var(--bg-surface),0 0 0 3px var(--accent-highlight),0 2px 12px #0096ff73}.password-field{position:relative;display:flex;align-items:center;width:100%}.password-field-input{padding-right:44px!important}.password-reveal{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:color var(--transition),background var(--transition)}.password-reveal:hover{color:var(--accent-primary);background:var(--bg-hover)}.password-reveal svg{width:17px;height:17px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.add-client-modal{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);width:100%;max-width:800px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid var(--border)}.modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:16px;cursor:pointer;padding:4px;transition:color .2s}.modal-close:hover{color:var(--error)}.modal-body{padding:32px;flex:1}.modal-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px}.modal-section-title{font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--accent-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.modal-subheading{display:flex;align-items:center;gap:8px;margin:24px 0 14px;padding-top:16px;border-top:1px solid var(--border);font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--text-secondary)}.modal-subheading-tag{padding:2px 7px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:8px;letter-spacing:.1em;color:var(--text-muted)}.modal-hint{margin-top:4px;padding:10px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius);font-size:11px;line-height:1.5;color:var(--text-muted)}.modal-error{margin-top:16px;font-size:12px;color:var(--error);padding:12px;border:1px solid rgba(255,68,68,.3);background:#ff44440d}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px 32px;border-top:1px solid var(--border)}.modal-cancel{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:10px 24px;font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s}.modal-submit{background:var(--accent-secondary);color:var(--text-primary);border:none;padding:10px 24px;font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:background .2s}.confirm-modal{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);padding:32px;width:100%;max-width:420px}.confirm-title{font-size:13px;font-weight:700;letter-spacing:.15em;color:var(--text-primary);margin-bottom:16px}.confirm-text{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.confirm-actions{display:flex;justify-content:flex-end;gap:12px}.confirm-cancel{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:10px 24px;font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s}.confirm-cancel:hover{border-color:var(--text-secondary);color:var(--text-primary)}.confirm-delete{background:var(--error);color:#fff;border:none;padding:10px 24px;font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:opacity .2s}.confirm-delete:hover{opacity:.85}.delete-client-btn{background:transparent;border:none;border-top:1px solid var(--border);color:var(--text-secondary);padding:10px 16px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;width:100%;text-align:right;transition:color .2s}.delete-client-btn:hover{color:var(--error)}.client-card-body{cursor:pointer}.admin-layout{display:flex;min-height:100vh;background:var(--bg-primary)}.admin-sidebar{width:224px;min-height:100vh;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:24px 0 0;position:fixed;top:0;left:0;z-index:50}.sidebar-brand{padding:0 20px 20px;border-bottom:1px solid var(--border);margin-bottom:8px}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 12px;overflow-y:auto}.sidebar-section-label{font-size:10px;font-weight:600;letter-spacing:.18em;color:var(--text-muted);padding:20px 20px 8px}.sidebar-item{position:relative;background:transparent;border:none;border-radius:var(--radius);color:var(--text-secondary);display:flex;align-items:center;gap:12px;padding:10px 12px;font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:color var(--transition),background var(--transition);text-align:left;width:100%}.sidebar-item:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-item.active{color:var(--accent-primary);background:var(--bg-active)}.sidebar-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:0 2px 2px 0;background:var(--accent-primary)}.sidebar-icon{font-size:15px;line-height:1;flex-shrink:0}.sidebar-signout{background:transparent;border:none;border-top:1px solid var(--border);color:var(--text-secondary);padding:16px 24px;margin-top:12px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;text-align:left;transition:color var(--transition),background var(--transition);border-radius:0}.sidebar-signout:hover{color:var(--error);background:var(--bg-hover)}.admin-main{margin-left:224px;flex:1;min-width:0;padding:40px}.admin-topbar,.admin-nav-scrim{display:none}@media (max-width: 900px){.admin-main{margin-left:0;padding:76px 16px 32px}.admin-topbar{display:flex;align-items:center;gap:12px;position:fixed;top:0;left:0;right:0;z-index:60;height:56px;padding:0 14px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.admin-nav-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer}.admin-nav-toggle:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.admin-nav-toggle-bars{width:16px;height:1.5px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}.admin-sidebar{transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--shadow-3);z-index:70}.admin-sidebar.open{transform:translate(0)}.admin-nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:#0009}}@media (prefers-reduced-motion: reduce){.admin-sidebar{transition:none}}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:32px}.admin-title{font-size:20px;font-weight:700;letter-spacing:.1em;color:var(--text-primary)}.add-client-btn{background:var(--accent-secondary);color:#fff;border:none;padding:11px 22px;font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:background var(--transition),transform var(--transition);box-shadow:var(--shadow-1)}.add-client-btn:hover{background:var(--accent-primary)}.add-client-btn:active{transform:translateY(1px)}.admin-loading{font-size:11px;letter-spacing:.15em;color:var(--text-secondary)}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.client-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.client-card:hover{border-color:var(--accent-secondary);transform:translateY(-2px);box-shadow:var(--shadow-2)}.client-card-body{padding:22px;flex:1}.client-card-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.client-avatar{width:44px;height:44px;border-radius:var(--radius);background:var(--bg-active);border:1px solid var(--accent-secondary);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.client-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:3px}.client-email{font-size:11px;color:var(--text-secondary);word-break:break-all}.client-services{display:flex;flex-wrap:wrap;gap:6px}.service-tag{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--accent-primary);border:1px solid var(--accent-secondary);border-radius:var(--radius-sm);padding:3px 8px;background:var(--bg-active);white-space:nowrap}.dash-alerts{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.dash-alert{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-radius:var(--radius);font-size:12px;font-weight:600;letter-spacing:.03em}.dash-alert.due{background:#ffb0201a;border:1px solid rgba(255,176,32,.45);color:var(--warning)}.dash-alert.off{background:#ff525214;border:1px solid rgba(255,82,82,.4);color:var(--error)}.dash-alert-count{font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.dash-alert-names{color:var(--text-secondary);font-weight:400;font-size:11px}.client-card.due-today{border-color:var(--warning);box-shadow:0 0 0 1px #ffb02040,var(--shadow-1)}.checkin-block{display:flex;flex-direction:column;gap:5px;margin:14px 0;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius)}.checkin-line{font-size:11px;line-height:1.45;letter-spacing:.02em}.checkin-line.due{color:var(--warning);font-weight:600}.checkin-line.ready{color:var(--success);font-weight:600}.checkin-line.done,.checkin-line.pending{color:var(--text-secondary)}.checkin-line.muted{color:var(--text-muted)}.checkin-line.off{color:var(--error);font-weight:600}.dash-alert.overdue{background:#ff52521f;border:1px solid var(--error);color:var(--error)}.client-card.billing-overdue{border-color:var(--error);box-shadow:0 0 0 1px #ff52524d,var(--shadow-1)}.billing-line{margin:12px 0 0;padding:9px 12px;border-radius:var(--radius);background:var(--bg-primary);border:1px solid var(--border);font-size:11px;line-height:1.45;font-weight:600;letter-spacing:.02em;color:var(--text-secondary)}.billing-line.overdue{color:var(--error);border-color:#ff525266;background:#ff52520f}.billing-line.due{color:var(--warning);border-color:#ffb02066;background:#ffb0200f}.billing-line.due-soon{color:var(--accent-primary)}.client-page-loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:11px;letter-spacing:.15em;color:var(--text-secondary)}.client-page-header{margin-bottom:32px}.back-btn{background:transparent;border:none;color:var(--text-secondary);font-size:11px;letter-spacing:.1em;cursor:pointer;padding:4px 0;margin-bottom:24px;display:block;transition:color .2s}.back-btn:hover{color:var(--accent-primary)}.client-page-title{display:flex;align-items:center;gap:20px}.client-avatar-lg{width:56px;height:56px;border-radius:var(--radius-lg);background:var(--bg-active);border:1px solid var(--accent-secondary);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0}.client-page-name{font-size:22px;font-weight:700;letter-spacing:.05em;color:var(--text-primary);margin-bottom:4px}.client-page-email{font-size:12px;color:var(--text-secondary)}.client-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:32px;overflow-x:auto;overflow-y:hidden}.client-tab{background:transparent;border:none;border-radius:0;border-bottom:2px solid transparent;color:var(--text-secondary);padding:13px 20px;font-size:11px;font-weight:600;letter-spacing:.12em;cursor:pointer;transition:all .2s;white-space:nowrap;margin-bottom:-1px}.client-tab:hover{color:var(--text-primary)}.client-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.client-tab-content{min-height:400px}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media (max-width: 768px){.overview-grid{grid-template-columns:1fr;gap:20px}.client-page-header{margin-bottom:22px}.client-page-title{gap:14px}.client-avatar-lg{width:44px;height:44px;font-size:19px}.client-page-name{font-size:18px}.client-tabs{margin-bottom:22px}.client-tab{padding:12px 14px}.overview-section{padding:18px}.section-title{margin-bottom:18px}.save-bar{justify-content:stretch}.save-bar>*{flex:1}}@media (max-width: 640px){.form-input{font-size:16px;padding:12px 14px}.service-toggle{padding:16px}}.overview-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-1)}.section-title{font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--accent-primary);margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--border)}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-label{font-size:10px;font-weight:600;letter-spacing:.15em;color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 16px}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% + 2px),calc(100% - 11px) calc(50% + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px;cursor:pointer}.form-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);padding:10px 14px;font-size:13px;font-family:Inter,sans-serif;outline:none;transition:border-color .2s,background .2s;width:100%}.form-input:hover{border-color:var(--border-strong)}.form-input:focus{border-color:var(--accent-primary)}.form-input::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:100px}.services-list{display:flex;flex-direction:column;gap:8px}.service-toggle{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.service-toggle:hover{border-color:var(--accent-secondary);background:var(--bg-hover)}.service-toggle.active{border-color:var(--accent-primary);background:var(--bg-active)}.service-toggle-label{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--text-secondary)}.service-toggle.active .service-toggle-label{color:var(--text-primary)}.toggle-switch{width:36px;height:20px;border-radius:10px;position:relative;transition:background .2s}.toggle-switch.on{background:var(--accent-primary)}.toggle-switch.off{background:var(--border)}.toggle-knob{width:14px;height:14px;background:#fff;border-radius:50%;position:absolute;top:3px;transition:left .2s}.toggle-switch.on .toggle-knob{left:19px}.toggle-switch.off .toggle-knob{left:3px}.coming-soon{display:flex;align-items:center;justify-content:center;height:300px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-surface)}.coming-soon-text{font-size:11px;letter-spacing:.2em;color:var(--text-secondary)}.save-bar{margin-top:32px;padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end}.autosave-status{font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--text-secondary)}.autosave-status.unsaved{color:var(--error)}.reset-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--border)}.reset-note{font-size:11px}.reset-note.ok{color:var(--success)}.reset-note.err{color:var(--error)}.billing-status{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);font-size:12px;color:var(--text-secondary)}.billing-status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.billing-status.overdue{border-color:var(--error);background:#ff525214;color:var(--error)}.billing-status.overdue .billing-status-dot{background:var(--error)}.billing-status.due{border-color:var(--warning);background:#ffb02014;color:var(--warning)}.billing-status.due .billing-status-dot{background:var(--warning)}.billing-status.due-soon{border-color:var(--accent-secondary);color:var(--accent-primary)}.billing-status.due-soon .billing-status-dot{background:var(--accent-primary)}.billing-status.ok .billing-status-dot{background:var(--success)}.billing-status-text{font-weight:600;letter-spacing:.02em}.billing-empty,.billing-legacy{font-size:11px;color:var(--text-muted);padding:12px 0}.billing-legacy{font-style:italic}.billing-actions{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 20px}.billing-paid-btn{flex:1;min-width:180px;background:var(--bg-active);border:1px solid var(--accent-secondary);border-radius:var(--radius);color:var(--accent-primary);padding:11px 16px;font-size:10px;font-weight:700;letter-spacing:.1em;cursor:pointer;font-family:Inter,sans-serif;transition:border-color var(--transition),color var(--transition)}.billing-paid-btn:hover{border-color:var(--success);color:var(--success)}.billing-undo-btn{background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);padding:11px 14px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;font-family:Inter,sans-serif;transition:color var(--transition),border-color var(--transition)}.billing-undo-btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.billing-schedule{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.billing-schedule-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:var(--bg-surface-2);border-bottom:1px solid var(--border);font-size:9px;font-weight:700;letter-spacing:.15em;color:var(--text-muted)}.billing-paid-count{color:var(--text-secondary)}.billing-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-secondary)}.billing-row:last-child{border-bottom:none}.billing-row-date{font-family:JetBrains Mono,monospace;color:var(--text-primary);font-size:11px}.billing-row-covers{font-size:10px;color:var(--text-muted)}.billing-row-amount{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-secondary)}.billing-row-tag{font-size:8px;font-weight:700;letter-spacing:.1em;padding:2px 7px;border-radius:var(--radius-sm);border:1px solid var(--accent-secondary);color:var(--accent-primary)}.billing-row.overdue{background:#ff525212}.billing-row.overdue .billing-row-date{color:var(--error)}.billing-row.overdue .billing-row-tag{border-color:var(--error);color:var(--error)}.billing-row.due{background:#ffb02012}.billing-row.due .billing-row-date{color:var(--warning)}.billing-row.due .billing-row-tag{border-color:var(--warning);color:var(--warning)}.billing-row.due-soon{background:var(--bg-active)}@media (max-width: 640px){.billing-row-amount{margin-left:0}.billing-paid-btn{min-width:0}}.db-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.db-title{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:.05em;margin-bottom:4px}.db-subtitle{font-size:11px;color:var(--text-secondary);letter-spacing:.06em}.db-filters{display:flex;gap:12px;margin-bottom:20px;align-items:center}.db-search{flex:1;min-width:0}.db-filter-select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);padding:10px 14px;font-size:11px;font-family:Inter,sans-serif;letter-spacing:.06em;cursor:pointer;outline:none;transition:border-color .2s;width:180px;flex-shrink:0}.db-filter-select:hover{border-color:var(--border-strong)}.db-filter-select:focus{border-color:var(--accent-primary)}.db-table{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-1)}.db-table-header{display:grid;grid-template-columns:2fr 1fr 2fr 120px;gap:8px;padding:12px 16px;background:var(--bg-surface-2);border-bottom:1px solid var(--border-strong);font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--text-secondary);align-items:center}.db-row{display:grid;grid-template-columns:2fr 1fr 2fr 120px;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);align-items:center;transition:background .15s}.db-row:last-child{border-bottom:none}.db-row:hover{background:var(--bg-hover)}.db-table-header-nutrition,.db-row-nutrition{grid-template-columns:1fr 2fr 110px 70px 55px 74px 70px 62px 62px 62px 120px}.db-table-header-supplements,.db-row-supplements{grid-template-columns:1fr 2fr 2fr 120px}.db-table-header-peds,.db-row-peds{grid-template-columns:2fr 200px 120px}.db-table-header-cardio,.db-row-cardio{grid-template-columns:1fr 120px}.db-table-header-metrics,.db-row-metrics{grid-template-columns:1.6fr 130px 100px 1.6fr 120px}.db-table-header-training,.db-row-training{grid-template-columns:2fr 130px 120px 1fr 1.6fr 120px}.db-col-state{display:flex;align-items:center}.db-state-badge{border-radius:var(--radius-sm);font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--text-secondary);border:1px solid var(--border);padding:3px 8px;white-space:nowrap}.db-state-badge.cooked{color:var(--accent-primary);border-color:var(--accent-secondary);background:var(--bg-active)}.db-cell-name{font-size:13px;font-weight:600;color:var(--text-primary)}.db-cell-secondary{font-size:12px;color:var(--text-secondary)}.db-cell-num{font-size:12px;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.db-row-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center}.db-edit-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:4px 10px;font-size:10px;font-weight:600;letter-spacing:.08em;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif;white-space:nowrap}.db-edit-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.db-save-btn{background:var(--accent-secondary);border:none;color:var(--text-primary);padding:4px 10px;font-size:10px;font-weight:600;letter-spacing:.08em;cursor:pointer;transition:background .15s;font-family:Inter,sans-serif;white-space:nowrap}.db-save-btn:hover{background:var(--accent-primary)}.db-save-btn:disabled{opacity:.5;cursor:not-allowed}.db-cancel-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:4px 8px;font-size:10px;font-weight:600;letter-spacing:.08em;cursor:pointer;font-family:Inter,sans-serif;white-space:nowrap}.db-cancel-btn:hover{color:var(--text-primary)}.db-delete-btn{background:transparent;border:none;color:var(--text-secondary);padding:4px 6px;font-size:10px;font-weight:600;letter-spacing:.08em;cursor:pointer;transition:color .15s;font-family:Inter,sans-serif;white-space:nowrap}.db-delete-btn:hover{color:var(--error)}.db-empty{padding:32px 16px;font-size:12px;color:var(--text-secondary);letter-spacing:.06em}.new-plan-modal-wide{max-width:560px}.db-modal-row{display:flex;gap:12px}.db-modal-row .form-group{flex:1;min-width:0}.db-modal-row .form-input{width:100%;box-sizing:border-box}.macro-input{text-align:center}.day-type-context-menu{position:fixed;background:var(--bg-surface);border:1px solid var(--accent-secondary);z-index:200;min-width:140px;box-shadow:0 4px 16px #0006}.day-type-context-item{display:block;width:100%;background:transparent;border:none;color:var(--text-primary);padding:10px 14px;font-size:10px;font-weight:600;letter-spacing:.1em;text-align:left;cursor:pointer;font-family:Inter,sans-serif;transition:background .15s}.day-type-context-item:hover{background:var(--bg-active);color:var(--accent-primary)}.context-menu{position:fixed;z-index:1000;min-width:190px;background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-3);padding:6px;display:flex;flex-direction:column;gap:2px}.context-menu-item{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);text-align:left;padding:9px 12px;font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:background var(--transition),color var(--transition);font-family:Inter,sans-serif;white-space:nowrap}.context-menu-item:hover{background:var(--bg-active);color:var(--accent-primary)}.context-menu-item.danger:hover{background:#ff52521f;color:var(--error)}.nutrition-tab{position:relative}.tab-loading{font-size:11px;letter-spacing:.15em;color:var(--text-secondary);padding:40px 0}.no-plan{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);gap:20px}.no-plan-text{font-size:13px;color:var(--text-secondary);letter-spacing:.05em}.create-plan-btn{background:var(--accent-secondary);color:var(--text-primary);border:none;padding:12px 32px;font-size:11px;font-weight:600;letter-spacing:.12em;cursor:pointer;transition:background .2s;font-family:Inter,sans-serif}.create-plan-btn:hover{background:var(--accent-primary)}.new-plan-calendar-wrapper{position:relative}.nutrition-plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 20px;background:var(--bg-surface);border:1px solid var(--border)}.plan-info{display:flex;flex-direction:column;gap:4px}.plan-active-label{font-size:9px;font-weight:600;letter-spacing:.2em;color:var(--accent-primary)}.plan-start-date{font-size:12px;color:var(--text-secondary)}.new-plan-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 20px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s}.new-plan-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.nutrition-schedule-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}.schedule-row{display:flex;gap:32px;flex-wrap:wrap;margin-bottom:20px}.schedule-field{display:flex;flex-direction:column;gap:8px}.schedule-type-btns{display:flex;gap:0}.schedule-type-btn{border-radius:0;background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);padding:8px 20px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;margin-right:-1px;font-family:Inter,sans-serif}.schedule-type-btn.active{background:var(--bg-active);border-color:var(--accent-primary);color:var(--accent-primary);z-index:1}.date-picker-wrapper{position:relative}.date-picker-btn{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:8px 16px;font-size:12px;cursor:pointer;transition:border-color .2s;font-family:Inter,sans-serif}.date-picker-btn:hover{border-color:var(--accent-primary)}.calendar-widget{border-radius:var(--radius-lg);position:absolute;top:100%;left:0;background:var(--bg-surface);border:1px solid var(--border);padding:16px;z-index:100;width:280px;margin-top:4px;box-shadow:var(--shadow-3)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cal-nav{background:transparent;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:4px 8px;transition:color .2s}.cal-nav:hover{color:var(--accent-primary)}.cal-month{font-size:12px;font-weight:600;letter-spacing:.05em;color:var(--text-primary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-day-label{font-size:9px;font-weight:600;letter-spacing:.05em;color:var(--text-secondary);text-align:center;padding:4px 0}.cal-day{font-size:11px;text-align:center;padding:6px 0;color:var(--text-secondary);border-radius:2px}.cal-day.active{color:var(--text-primary);cursor:pointer;transition:background .2s}.cal-day.active:hover{background:var(--bg-active);color:var(--accent-primary)}.cal-day.selected{background:var(--accent-secondary);color:#fff}.cal-day.disabled{color:var(--text-muted);cursor:not-allowed}.cal-day.disabled:hover{background:transparent;color:var(--text-muted)}.cal-close{width:100%;margin-top:12px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px;font-size:10px;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.cal-close:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.fixed-schedule{margin-top:16px}.fixed-schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.fixed-day{display:flex;flex-direction:column;gap:6px}.fixed-day-label{font-size:9px;font-weight:600;letter-spacing:.1em;color:var(--text-secondary);text-align:center}.fixed-day-select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:6px 4px;font-size:10px;font-family:Inter,sans-serif;text-align:center;cursor:pointer;outline:none;width:100%}.fixed-day-select:focus{border-color:var(--accent-primary)}.cycle-builder{margin-top:16px}.cycle-sequence{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cycle-item{display:flex;align-items:center;gap:8px;background:var(--bg-active);border:1px solid var(--accent-secondary);padding:6px 12px;cursor:grab}.cycle-item.drag-over{border-color:var(--accent-primary);opacity:.8}.cycle-drag-handle{cursor:grab;color:var(--text-secondary);font-size:14px;padding:0 4px}.cycle-item-name{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--accent-primary)}.cycle-item-remove{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:10px;padding:2px 4px;transition:color .2s}.cycle-item-remove:hover{color:var(--error)}.cycle-add-select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;font-size:10px;font-family:Inter,sans-serif;cursor:pointer;outline:none;transition:border-color .2s}.cycle-add-select:focus{border-color:var(--accent-primary)}.day-types-header{margin-bottom:24px}.day-type-tabs{display:flex;gap:0;flex-wrap:wrap;border-bottom:1px solid var(--border)}.day-type-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);padding:10px 20px;font-size:10px;font-weight:600;letter-spacing:.12em;cursor:pointer;transition:all .2s;margin-bottom:-1px;font-family:Inter,sans-serif}.day-type-tab:hover{color:var(--text-primary)}.day-type-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.day-type-add{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--accent-secondary);padding:10px 20px;font-size:10px;font-weight:600;letter-spacing:.12em;cursor:pointer;transition:color .2s;margin-bottom:-1px;font-family:Inter,sans-serif}.day-type-add:hover{color:var(--accent-primary)}.day-type-content{margin-top:8px}.day-type-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.day-type-name-input{background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:16px;font-weight:600;letter-spacing:.1em;font-family:Inter,sans-serif;padding:4px 0;outline:none;transition:border-color .2s}.day-type-name-input:focus{border-bottom-color:var(--accent-primary)}.delete-day-type-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 16px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.delete-day-type-btn:hover{border-color:var(--error);color:var(--error)}.meals-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.meal-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition)}.meal-card.drag-over{border-color:var(--accent-primary);opacity:.8}.meal-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;transition:background .2s}.meal-card-header:hover{background:var(--bg-hover)}.meal-header-left{display:flex;align-items:center;gap:12px}.meal-drag-handle{cursor:grab;color:var(--text-secondary);font-size:14px;padding:0 4px}.meal-expand-icon{font-size:10px;color:var(--text-secondary)}.meal-name-input{background:transparent;border:none;color:var(--text-primary);font-size:12px;font-weight:600;letter-spacing:.1em;font-family:Inter,sans-serif;outline:none;cursor:text;width:200px}.meal-name-input::placeholder{color:var(--text-muted)}.meal-header-right{display:flex;align-items:center;gap:12px}.meal-total-calories{font-size:12px;font-weight:600;color:var(--accent-highlight);font-family:JetBrains Mono,monospace}.meal-macro-pill{font-size:10px;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.meal-delete-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px;transition:color .2s}.meal-delete-btn:hover{color:var(--error)}.meal-card-body{padding:0 20px 20px;border-top:1px solid var(--border)}.food-items-header{display:grid;grid-template-columns:20px 2fr 120px 70px 70px 70px 70px 32px;gap:8px;padding:12px 0 8px;font-size:9px;font-weight:600;letter-spacing:.12em;color:var(--text-secondary)}.food-item-row{display:grid;grid-template-columns:20px 2fr 120px 70px 70px 70px 70px 32px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border);transition:border-color .2s,opacity .2s}.food-item-row.drag-over{border-color:var(--accent-primary);opacity:.8}.food-drag-handle{cursor:grab;color:var(--text-secondary);font-size:14px;text-align:center}.food-search-wrapper{position:relative}.food-input{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;font-size:12px;font-family:Inter,sans-serif;outline:none;width:100%;transition:border-color .2s}.food-input:focus{border-color:var(--accent-primary)}.food-input[readonly]{color:var(--accent-highlight);border-color:transparent;background:transparent;font-family:JetBrains Mono,monospace}.food-select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:6px 4px;font-size:11px;font-family:Inter,sans-serif;outline:none;width:100%;cursor:pointer}.food-select:focus{border-color:var(--accent-primary)}.food-dropdown{border-radius:var(--radius);box-shadow:var(--shadow-2);position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);border:1px solid var(--accent-secondary);z-index:50;max-height:200px;overflow-y:auto}.food-dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;transition:background .15s}.food-dropdown-item:hover{background:var(--bg-active)}.food-dropdown-name{font-size:12px;color:var(--text-primary)}.food-dropdown-brand{margin-right:6px;font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--accent-primary)}.food-dropdown-unit{font-size:10px;color:var(--text-secondary)}.food-delete-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px;transition:color .2s}.food-delete-btn:hover{color:var(--error)}.add-food-btn{background:transparent;border:1px dashed var(--border);color:var(--text-secondary);padding:8px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;width:100%;margin-top:12px;transition:all .2s;font-family:Inter,sans-serif}.add-food-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.add-meal-btn{background:transparent;border:1px dashed var(--border);color:var(--text-secondary);padding:12px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;width:100%;margin-bottom:24px;transition:all .2s;font-family:Inter,sans-serif}.add-meal-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.daily-totals{background:var(--bg-active);border:1px solid var(--accent-secondary);border-radius:var(--radius-lg);padding:16px 20px;display:flex;align-items:center;gap:24px}.daily-totals-label{font-size:10px;font-weight:600;letter-spacing:.15em;color:var(--accent-primary)}.daily-totals-values{display:flex;gap:24px;flex-wrap:wrap}.total-calories{font-size:14px;font-weight:700;color:var(--accent-highlight);font-family:JetBrains Mono,monospace}.total-macro{font-size:12px;color:var(--text-primary);font-family:JetBrains Mono,monospace}.no-day-types{text-align:center;padding:60px;color:var(--text-secondary);font-size:13px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg)}.nutrition-saving{border-radius:var(--radius);box-shadow:var(--shadow-2);position:fixed;bottom:24px;right:24px;background:var(--bg-active);border:1px solid var(--accent-primary);color:var(--accent-primary);padding:8px 16px;font-size:10px;font-weight:600;letter-spacing:.1em;z-index:200}.plan-library{display:flex;flex-direction:column;gap:24px}.plan-library-header{display:flex;justify-content:space-between;align-items:flex-start}.plan-library-title{display:flex;flex-direction:column;gap:6px}.section-label{font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--accent-primary)}.active-plan-badge{font-size:11px;color:var(--text-secondary)}.plan-cards{display:flex;flex-direction:column;gap:8px}.plan-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.plan-card.is-active{border-color:var(--accent-primary)}.plan-card:hover{border-color:var(--accent-secondary);transform:translateY(-1px);box-shadow:var(--shadow-2)}.plan-card-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.plan-card-meta{font-size:10px;letter-spacing:.08em;color:var(--text-secondary)}.plan-card-active-label{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--success);margin-top:6px}.plan-card-actions{display:flex;gap:8px}.plan-edit-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 20px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.plan-edit-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.plan-deactivate-btn{background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary);padding:8px 20px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all var(--transition);font-family:Inter,sans-serif;white-space:nowrap}.plan-deactivate-btn:hover{border-color:var(--warning);color:var(--warning)}.plan-duplicate-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 20px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.plan-duplicate-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.plan-delete-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 20px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.plan-delete-btn:hover{border-color:var(--error);color:var(--error)}.plan-editor{display:flex;flex-direction:column;gap:24px}.plan-editor-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.back-to-library{background:transparent;border:none;color:var(--text-secondary);font-size:11px;letter-spacing:.1em;cursor:pointer;padding:4px 0;transition:color .2s;white-space:nowrap;font-family:Inter,sans-serif}.back-to-library:hover{color:var(--accent-primary)}.plan-editor-title{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:.05em;flex:1}.plan-editor-title-input{width:100%;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--text-primary);font-family:Inter,sans-serif;font-size:15px;font-weight:600;letter-spacing:.04em;padding:6px 10px;margin-left:-10px;outline:none;transition:background var(--transition),border-color var(--transition)}.plan-editor-title-input:hover{background:var(--bg-primary);border-color:var(--border)}.plan-editor-title-input:focus{background:var(--bg-primary);border-color:var(--accent-primary)}.plan-editor-actions{display:flex;align-items:center;gap:12px}.active-badge{font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--success)}.save-status-badge{font-size:10px;font-weight:600;letter-spacing:.08em;white-space:nowrap}.save-status-badge.saved{color:var(--success)}.save-status-badge.unsaved{color:var(--error)}.activate-wrapper{position:relative}.activate-btn{background:transparent;border:1px solid var(--accent-secondary);color:var(--accent-primary);padding:8px 16px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.activate-btn:hover{background:var(--bg-active)}.save-plan-btn{background:var(--accent-secondary);color:var(--text-primary);border:none;padding:8px 20px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:background .2s;font-family:Inter,sans-serif}.save-plan-btn:hover{background:var(--accent-primary)}.save-plan-btn:disabled{opacity:.5;cursor:not-allowed}.new-plan-modal{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);padding:32px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:24px}.modal-title{font-size:13px;font-weight:700;letter-spacing:.15em;color:var(--text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.modal-cancel{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:10px 24px;font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.modal-cancel:hover{border-color:var(--text-secondary);color:var(--text-primary)}.modal-submit{background:var(--accent-secondary);color:var(--text-primary);border:none;padding:10px 24px;font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:background .2s;font-family:Inter,sans-serif}.modal-submit:hover{background:var(--accent-primary)}.modal-submit:disabled{opacity:.5;cursor:not-allowed}.plan-card-dates{font-size:10px;color:var(--text-secondary);letter-spacing:.04em;margin-top:4px}.plan-card-notes{font-size:11px;color:var(--text-secondary);margin-top:6px;font-style:italic}.plan-editor-title-block{display:flex;flex-direction:column;gap:2px;flex:1}.plan-editor-dates{font-size:10px;color:var(--text-secondary);letter-spacing:.04em}.plan-notes-bar{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;display:flex;flex-direction:column;gap:8px}.plan-notes-input{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:8px 12px;font-size:12px;font-family:Inter,sans-serif;outline:none;width:100%;transition:border-color .2s}.plan-notes-input:focus{border-color:var(--accent-primary)}.card-activate-wrapper{position:relative}.plan-activate-btn{background:transparent;border:1px solid var(--accent-secondary);color:var(--accent-primary);padding:8px 20px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.plan-activate-btn:hover{background:var(--bg-active)}.plan-card-day-types{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.plan-day-type-tag{font-size:9px;font-weight:600;letter-spacing:.08em;color:var(--accent-primary);border:1px solid var(--accent-secondary);background:var(--bg-active);padding:2px 8px}.plan-card-dates-sep{color:var(--border);margin:0 2px}.food-amount-unit-wrapper{display:flex;align-items:center;gap:4px}.food-unit-label{font-size:10px;color:var(--text-secondary);letter-spacing:.06em;font-family:JetBrains Mono,monospace;white-space:nowrap;flex-shrink:0}.schedule-type-btns .schedule-type-btn:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.schedule-type-btns .schedule-type-btn:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.day-type-tab,.day-type-add{border-radius:var(--radius) var(--radius) 0 0}.plan-day-type-tag{border-radius:var(--radius-sm)}.active-badge,.plan-card-active-label{white-space:nowrap}.client-calendar{display:flex;flex-direction:column;border:1px solid var(--border);background:var(--bg-surface);min-height:600px}.cal-loading{font-size:11px;letter-spacing:.15em;color:var(--text-secondary);padding:40px}.cal-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.cal-toolbar-left{display:flex;align-items:center;gap:8px}.cal-today-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;margin-right:4px}.cal-today-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.cal-nav-btn{background:transparent;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:2px 8px;transition:color .2s;line-height:1}.cal-nav-btn:hover{color:var(--accent-primary)}.cal-period-label{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:.03em;margin-left:8px}.cal-toolbar-right{display:flex;gap:0}.cal-view-btn{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);padding:6px 16px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;margin-right:-1px}.cal-view-btn.active{background:var(--bg-active);border-color:var(--accent-primary);color:var(--accent-primary);z-index:1}.cal-body{flex:1}.cal-main-full{width:100%;overflow:auto}.month-day-headers{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border)}.month-day-header{padding:10px 0;text-align:center;font-size:9px;font-weight:600;letter-spacing:.1em;color:var(--text-secondary)}.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-cell{min-height:150px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px;cursor:pointer;transition:background .15s;display:flex;flex-direction:column;gap:4px}.month-cell:nth-child(7n){border-right:none}.month-cell.empty{cursor:default;background:var(--bg-primary);opacity:.3}.month-cell:hover:not(.empty){background:var(--bg-active)}.month-cell.today{background:var(--bg-active)}.month-cell.selected{border-color:var(--accent-primary);background:var(--bg-active)}.month-cell.plan-start{border-top:2px solid var(--accent-highlight)}.month-cell-date{font-size:12px;font-weight:600;color:var(--text-secondary)}.month-cell.today .month-cell-date{color:var(--accent-primary);font-size:13px}.week-view{padding:0}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);min-height:560px}.week-cell{border-right:1px solid var(--border);cursor:pointer;transition:background .15s;display:flex;flex-direction:column}.week-cell:last-child{border-right:none}.week-cell:hover,.week-cell.today{background:var(--bg-active)}.week-cell.selected{border-left:2px solid var(--accent-primary)}.week-cell-header{padding:12px 8px 8px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:4px}.week-day-name{font-size:9px;font-weight:600;letter-spacing:.1em;color:var(--text-secondary)}.week-day-num{font-size:18px;font-weight:600;color:var(--text-primary)}.week-cell.today .week-day-num{color:var(--accent-primary)}.week-cell-body{padding:10px 8px;display:flex;flex-direction:column;gap:6px;flex:1}.plan-change-marker{font-size:8px;font-weight:600;letter-spacing:.08em;color:var(--accent-highlight);padding:2px 4px;border:1px solid var(--accent-highlight);width:fit-content}.day-type-chip{font-size:9px;font-weight:600;letter-spacing:.02em;color:var(--accent-primary);background:var(--bg-active);border:1px solid var(--accent-secondary);padding:2px 6px;max-width:100%;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-type-chip-label{color:var(--text-muted);font-weight:700}.chip-training{border-color:var(--accent-secondary);color:var(--accent-primary)}.chip-nutrition{border-color:#7a5cff;color:#a892ff}.chip-cardio{border-color:#ff8a3d;color:#ffab73}.chip-peds{border-color:#d14d8b;color:#f08cbb}.chip-supplements{border-color:#3fae7a;color:#6fd3a3}.no-plan-chip{font-size:10px;letter-spacing:.06em;color:var(--text-muted)}.day-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.day-modal{background:var(--bg-surface);border:1px solid var(--border);width:100%;max-width:560px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 40px #0009}.day-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.day-modal-date{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.detail-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:4px;transition:color .2s}.detail-close:hover{color:var(--error)}.day-modal-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.day-modal-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);padding:10px 18px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif;margin-bottom:-1px}.day-modal-tab:hover{color:var(--text-primary)}.day-modal-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.day-modal-body{padding:20px;overflow-y:auto;flex:1}.detail-section{display:flex;flex-direction:column;gap:6px}.detail-section-label{font-size:9px;font-weight:600;letter-spacing:.15em;color:var(--accent-primary)}.detail-plan-row{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.detail-plan-label{font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--accent-primary);flex-shrink:0;width:36px}.detail-plan-name,.detail-day-type{font-size:11px;font-weight:600;color:var(--text-primary)}.detail-plan-change{font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--accent-highlight);margin-bottom:4px}.detail-rest{font-size:12px;color:var(--text-secondary);letter-spacing:.08em;margin-top:8px}.detail-no-plan{font-size:12px;color:var(--text-secondary);padding:12px 0}.detail-exercises{margin-top:4px}.detail-exercise-card{background:var(--bg-primary);border:1px solid var(--border);padding:10px 12px;margin-top:8px}.detail-exercise-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.detail-exercise-name{font-size:12px;font-weight:600;color:var(--text-primary)}.detail-exercise-sets{font-size:10px;color:var(--accent-primary);letter-spacing:.08em;font-family:JetBrains Mono,monospace}.detail-sets-list{display:flex;flex-direction:column;gap:3px;margin-bottom:4px}.detail-set-row{display:flex;align-items:center;gap:10px;font-size:11px;font-family:JetBrains Mono,monospace}.detail-set-num{color:var(--accent-primary);font-weight:600;width:16px;flex-shrink:0}.detail-set-reps{color:var(--text-primary)}.detail-set-metrics{color:var(--text-secondary);font-size:10px}.detail-exercise-notes{font-size:11px;color:var(--text-secondary);font-style:italic;margin-top:4px;padding-top:6px;border-top:1px solid var(--border)}.detail-meals{margin-top:4px;display:flex;flex-direction:column;gap:8px}.detail-meal{background:var(--bg-primary);border:1px solid var(--border);padding:10px 12px;display:flex;flex-direction:column;gap:4px}.detail-meal-header{display:flex;justify-content:space-between;align-items:center}.detail-meal-name{font-size:11px;font-weight:600;color:var(--text-primary);letter-spacing:.06em}.detail-meal-cals{font-size:11px;font-weight:600;color:var(--accent-highlight);font-family:JetBrains Mono,monospace}.detail-meal-macros{display:flex;gap:8px;font-size:10px;color:var(--text-secondary);font-family:JetBrains Mono,monospace;margin-bottom:4px}.detail-food-item{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--text-secondary);padding:2px 0;border-top:1px solid var(--border)}.detail-food-name{flex:1}.detail-food-amount{color:var(--text-secondary);font-family:JetBrains Mono,monospace}.detail-food-cal{color:var(--accent-highlight);font-family:JetBrains Mono,monospace}.detail-daily-total{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-active);border:1px solid var(--accent-secondary);margin-top:4px}.detail-total-label{font-size:9px;font-weight:600;letter-spacing:.15em;color:var(--accent-primary)}.detail-total-values{display:flex;align-items:baseline;gap:12px}.detail-total-cal{font-size:14px;font-weight:700;color:var(--accent-highlight);font-family:JetBrains Mono,monospace}.detail-total-macro{font-size:11px;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.detail-food-macros{display:flex;align-items:center;gap:8px;flex-shrink:0}.detail-food-macro{font-size:10px;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.month-cell,.week-cell{border-radius:var(--radius-sm)}.day-modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-3)}.day-type-chip,.plan-change-marker,.no-plan-chip{border-radius:var(--radius-sm)}.cal-status{margin-top:auto;align-self:flex-start;font-size:11px;font-weight:700;font-family:JetBrains Mono,monospace;border-radius:var(--radius-sm);padding:1px 6px;white-space:nowrap}.cal-status.complete{color:var(--success);background:#00e6761f;border:1px solid rgba(0,230,118,.4)}.cal-status.missed{color:var(--error);background:#ff52521f;border:1px solid rgba(255,82,82,.4)}.cal-status.upcoming{color:var(--text-muted);border:1px solid var(--border)}.month-cell.status-complete,.week-cell.status-complete{border-left:2px solid rgba(0,230,118,.5)}.month-cell.status-missed,.week-cell.status-missed{border-left:2px solid rgba(255,82,82,.55)}.cal-legend{display:flex;gap:18px;flex-wrap:wrap;align-items:center;padding:12px 20px;border-top:1px solid var(--border)}.cal-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--text-secondary)}.day-modal-summary{padding:12px 20px;font-size:12px;font-weight:600;letter-spacing:.04em;border-bottom:1px solid var(--border)}.day-modal-summary.complete{color:var(--success);background:#00e67614}.day-modal-summary.missed{color:var(--error);background:#ff525214}.day-modal-summary.upcoming,.day-modal-summary.none{color:var(--text-secondary)}.missed-block{border:1px solid rgba(255,82,82,.35);background:#ff52520f;border-radius:var(--radius);padding:12px 14px;margin-bottom:20px}.missed-row{display:flex;align-items:baseline;gap:10px;padding:5px 0;flex-wrap:wrap}.missed-tag{font-size:8px;font-weight:700;letter-spacing:.1em;color:var(--error);border:1px solid rgba(255,82,82,.4);border-radius:var(--radius-sm);padding:1px 6px;flex-shrink:0}.missed-name{font-size:13px;color:var(--text-primary)}.missed-detail{font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,monospace}.detail-section{margin-bottom:22px}.detail-section-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.detail-plan-name{margin-left:auto;font-size:10px;color:var(--text-muted)}.detail-summary{font-size:11px;color:var(--accent-highlight);font-family:JetBrains Mono,monospace;margin-bottom:8px}.detail-task{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.detail-task:last-child{border-bottom:none}.detail-task-mark{font-size:12px;width:14px;flex-shrink:0}.detail-task.done .detail-task-mark{color:var(--success)}.detail-task.not-done .detail-task-mark{color:var(--error)}.detail-task-name{font-size:13px;color:var(--text-primary)}.detail-task.done .detail-task-name{color:var(--text-secondary)}.detail-task-detail{margin-left:auto;font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,monospace}.detail-rest{font-size:11px;letter-spacing:.1em;color:var(--text-muted);padding:10px 0}.training-tab{position:relative}.training-schedule-panel{background:var(--bg-surface);border:1px solid var(--border);padding:24px;margin-bottom:24px}.exercises-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.exercise-card{background:var(--bg-surface);border:1px solid var(--border);transition:border-color .2s}.exercise-card.drag-over{border-color:var(--accent-primary);opacity:.8}.exercise-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;transition:background .2s}.exercise-header:hover{background:var(--bg-active)}.exercise-header-left{display:flex;align-items:center;gap:12px}.exercise-drag-handle{cursor:grab;color:var(--text-secondary);font-size:14px;padding:0 4px}.exercise-expand-icon{font-size:10px;color:var(--text-secondary)}.exercise-name{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:.05em}.exercise-set-count{font-size:10px;color:var(--text-secondary);letter-spacing:.08em;background:var(--bg-active);padding:2px 8px;border:1px solid var(--border)}.exercise-delete-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px;transition:color .2s}.exercise-delete-btn:hover{color:var(--error)}.exercise-body{padding:16px 20px 20px;border-top:1px solid var(--border)}.exercise-name-wrapper{display:flex;flex-direction:column;gap:8px}.exercise-search-wrapper{position:relative}.exercise-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);border:1px solid var(--accent-secondary);z-index:50;max-height:200px;overflow-y:auto}.exercise-dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;transition:background .15s}.exercise-dropdown-item:hover{background:var(--bg-active)}.exercise-dropdown-name{font-size:12px;color:var(--text-primary)}.exercise-dropdown-muscle{font-size:10px;color:var(--text-secondary);letter-spacing:.06em}.exercise-dropdown-brand{color:var(--accent-primary);font-weight:600}.sets-table{margin-top:16px}.sets-header{display:flex;gap:8px;padding:8px 0;font-size:9px;font-weight:600;letter-spacing:.12em;color:var(--text-secondary);border-bottom:1px solid var(--border)}.set-col-num{flex:0 0 28px;text-align:center}.set-col-type{flex:0 0 130px}.set-col-reps{flex:0 0 100px}.set-col-metric-header{flex:0 0 72px}.set-col-metric-val{flex:0 0 72px;text-align:center}.set-col-action{margin-left:auto;display:flex;align-items:center;gap:6px;flex-shrink:0}.set-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.set-number{font-size:12px;font-weight:600;color:var(--accent-primary);font-family:JetBrains Mono,monospace;text-align:center}.set-input{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;font-size:12px;font-family:Inter,sans-serif;outline:none;width:100%;transition:border-color .2s}.set-input:focus{border-color:var(--accent-primary)}.set-delete-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px;transition:color .2s}.set-delete-btn:hover{color:var(--error)}.set-type-wrapper{display:flex;flex-direction:column;gap:4px}.set-type-select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;padding:5px 6px;font-size:11px;font-family:JetBrains Mono,monospace;letter-spacing:.03em;cursor:pointer;width:130px}.set-type-select:focus{outline:none;border-color:var(--accent-primary)}.set-type-other-input{width:130px;font-size:11px}.set-add-metric-btn{background:transparent;border:1px dashed var(--border);color:var(--text-secondary);padding:6px 14px;font-size:11px;letter-spacing:.06em;border-radius:4px;cursor:pointer;white-space:nowrap;transition:all .15s;font-family:JetBrains Mono,monospace}.set-add-metric-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.set-add-metric-btn.has-metrics{border-style:solid;border-color:var(--accent-secondary);color:var(--accent-primary);background:#00b4ff0f}.set-metric-popover-wrapper{position:relative}.set-metric-popover{position:absolute;right:0;top:calc(100% + 4px);background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:4px;z-index:100;min-width:110px;box-shadow:0 4px 16px #00000080}.metric-pop-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:5px 10px;font-size:11px;letter-spacing:.06em;border-radius:4px;cursor:pointer;text-align:left;font-family:JetBrains Mono,monospace;transition:all .15s}.metric-pop-btn:hover:not(.muted){border-color:var(--accent-primary);color:var(--accent-primary)}.metric-pop-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#00b4ff1a}.metric-pop-btn.muted{opacity:.55;cursor:not-allowed}.metric-pop-close{background:transparent;border:none;color:var(--text-secondary);font-size:10px;letter-spacing:.08em;cursor:pointer;padding:4px 0 0;text-align:center;font-family:JetBrains Mono,monospace}.metric-pop-close:hover{color:var(--text-primary)}.set-col-metric-header{font-size:9px;font-weight:600;letter-spacing:.12em;color:var(--text-secondary)}.add-set-btn{background:transparent;border:1px dashed var(--border);color:var(--text-secondary);padding:8px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;width:100%;margin-top:8px;transition:all .2s;font-family:Inter,sans-serif}.add-set-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.add-exercise-btn{background:transparent;border:1px dashed var(--border);color:var(--text-secondary);padding:12px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;width:100%;margin-bottom:24px;transition:all .2s;font-family:Inter,sans-serif}.add-exercise-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.exercise-card{border-radius:var(--radius)}.exercise-header:hover{background:var(--bg-hover)}.exercise-dropdown{border-radius:var(--radius);box-shadow:var(--shadow-2)}.set-row:hover{background:var(--bg-hover)}.exercise-sides-badge{font-size:9px;font-weight:600;letter-spacing:.08em;color:var(--accent-highlight);border:1px solid var(--accent-secondary);background:var(--bg-active);border-radius:var(--radius-sm);padding:2px 8px;white-space:nowrap}.item-schedule-hint{display:block;margin-top:6px;font-size:11px;color:var(--text-muted)}.item-schedule-warn{margin-top:8px;font-size:11px;color:var(--warning)}.item-schedule-anchor{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.item-schedule-anchor .form-label{margin:0}.item-schedule-anchor .form-input{width:auto}.item-schedule-anchor .item-schedule-hint{margin-top:0}.supplements-tab{position:relative}.supplements-list{display:flex;flex-direction:column;gap:12px;padding:24px}.no-supps{font-size:12px;color:var(--text-secondary);letter-spacing:.06em;padding:12px 0}.supp-card{background:var(--bg-surface);border:1px solid var(--border);transition:border-color .2s}.supp-card.drag-over{border-color:var(--accent-primary);opacity:.8}.supp-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;cursor:pointer;transition:background .2s}.supp-header:hover{background:var(--bg-active)}.supp-header-left{display:flex;align-items:center;gap:10px}.supp-drag-handle{cursor:grab;color:var(--text-secondary);font-size:14px;padding:0 4px}.supp-expand-icon{font-size:10px;color:var(--text-secondary)}.supp-name{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:.05em}.supp-dose-badge{font-size:10px;color:var(--text-secondary);background:var(--bg-active);border:1px solid var(--border);padding:2px 8px;letter-spacing:.06em;font-family:JetBrains Mono,monospace}.supp-schedule-badge{font-size:10px;color:var(--accent-primary);background:var(--bg-active);border:1px solid var(--accent-secondary);padding:2px 8px;letter-spacing:.06em}.supp-search-wrapper{position:relative}.supp-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;max-height:220px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--accent-secondary);border-radius:var(--radius);box-shadow:var(--shadow-2)}.supp-dropdown-item{display:flex;align-items:baseline;gap:8px;padding:10px 14px;cursor:pointer;transition:background .15s}.supp-dropdown-item:hover{background:var(--bg-active)}.supp-dropdown-brand{font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--accent-primary);flex-shrink:0}.supp-dropdown-name{font-size:12px;color:var(--text-primary)}.supp-delete-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px;transition:color .2s}.supp-delete-btn:hover{color:var(--error)}.supp-body{padding:16px 20px 20px;border-top:1px solid var(--border)}.supp-fields-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.supp-name-group{flex:1;min-width:200px}.dose-row{display:flex;gap:6px;align-items:center}.dose-amount-input{width:72px}.dose-unit-select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);padding:6px 8px;font-size:12px;font-family:JetBrains Mono,monospace;cursor:pointer;outline:none}.dose-unit-select:focus{border-color:var(--accent-primary)}.admin-time-row{display:flex;gap:8px;align-items:center}.admin-time-select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);padding:6px 10px;font-size:12px;font-family:Inter,sans-serif;cursor:pointer;outline:none;min-width:140px}.admin-time-select:focus{border-color:var(--accent-primary)}.admin-time-other{width:140px;font-size:12px}.fixed-days-picker{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}.fixed-day-btn{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;font-size:10px;font-weight:600;letter-spacing:.08em;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif}.fixed-day-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.fixed-day-btn.active{background:var(--bg-active);border-color:var(--accent-primary);color:var(--accent-primary)}.cycle-builder{margin-top:12px}.cycle-item-on{border-color:var(--accent-secondary);background:#00b4ff0f}.cycle-item-off{border-color:var(--border);background:var(--bg-primary);opacity:.7}.cycle-item-on .cycle-item-label{color:var(--accent-primary)}.cycle-add-btn{background:transparent;border:1px dashed var(--border);color:var(--text-secondary);padding:6px 12px;font-size:10px;font-weight:600;letter-spacing:.08em;cursor:pointer;transition:all .15s;font-family:Inter,sans-serif}.cycle-add-on:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.cycle-add-off:hover{border-color:var(--border);color:var(--text-primary)}.add-supp-btn{background:transparent;border:1px dashed var(--border);color:var(--text-secondary);padding:12px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;width:100%;margin-top:4px;transition:all .2s;font-family:Inter,sans-serif}.add-supp-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.supplements-saving{position:fixed;bottom:24px;right:24px;background:var(--bg-surface);border:1px solid var(--accent-primary);color:var(--accent-primary);padding:8px 16px;font-size:11px;letter-spacing:.1em;z-index:100}.supp-card{border-radius:var(--radius)}.supp-header:hover{background:var(--bg-hover)}.supp-dose-badge,.supp-schedule-badge{border-radius:var(--radius-sm)}.cardio-tab{position:relative}.cardio-sessions-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.cardio-card{background:var(--bg-surface);border:1px solid var(--border);transition:border-color .2s}.cardio-card.drag-over{border-color:var(--accent-primary);opacity:.8}.cardio-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;transition:background .2s}.cardio-header:hover{background:var(--bg-active)}.cardio-header-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cardio-metrics-badge{font-size:10px;color:var(--text-secondary);letter-spacing:.04em;font-family:JetBrains Mono,monospace}.cardio-fields-row{display:flex;gap:16px;align-items:flex-end}.cardio-name-group{flex:1;min-width:0}.cardio-duration-group{flex:0 0 140px;margin-bottom:0}.cardio-metrics-row{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.cardio-metric-field{display:flex;align-items:center;gap:6px;background:var(--bg-active);border:1px solid var(--accent-secondary);padding:4px 8px}.cardio-metric-label{font-size:9px;font-weight:600;letter-spacing:.1em;color:var(--accent-primary);white-space:nowrap}.cardio-metric-input{width:80px;padding:4px 8px;font-size:12px}.cardio-metric-select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:4px 8px;font-size:12px;font-family:Inter,sans-serif;outline:none;cursor:pointer}.cardio-metric-select:focus{border-color:var(--accent-primary)}.cardio-metric-remove{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:10px;padding:0 2px;line-height:1;transition:color .15s}.cardio-metric-remove:hover{color:var(--error)}.cardio-saving{position:fixed;bottom:24px;right:24px;background:var(--bg-surface);border:1px solid var(--accent-primary);color:var(--accent-primary);padding:8px 16px;font-size:11px;letter-spacing:.1em;z-index:100}.cardio-card{border-radius:var(--radius)}.cardio-header:hover{background:var(--bg-hover)}.peds-tab{position:relative}.category-tabs-header{margin-bottom:16px}.compounds-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.ped-weekly-badge{font-size:10px;color:var(--accent-highlight);background:var(--bg-active);border:1px solid var(--border);padding:2px 8px;letter-spacing:.04em;font-family:JetBrains Mono,monospace}.ped-cycle-range-note{margin-top:10px;font-size:11px;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.ped-search-wrapper{position:relative}.ped-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);border:1px solid var(--accent-secondary);z-index:50;max-height:200px;overflow-y:auto}.ped-dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;transition:background .15s}.ped-dropdown-item:hover{background:var(--bg-active)}.ped-dropdown-name{font-size:12px;color:var(--text-primary)}.add-compound-btn{background:transparent;border:1px dashed var(--border);color:var(--text-secondary);padding:12px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;width:100%;margin-top:4px;transition:all .2s;font-family:Inter,sans-serif}.add-compound-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.peds-schedule-panel{border-radius:var(--radius-lg)}.ped-weekly-badge{border-radius:var(--radius-sm)}.ped-dropdown{border-radius:var(--radius);box-shadow:var(--shadow-2)}.daily-checkin-tab{position:relative}.checkin-date-bar{display:flex;align-items:center;gap:12px;background:var(--bg-surface);border:1px solid var(--border);padding:12px 16px;margin-bottom:20px}.checkin-date-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:.02em;flex:1}.checkin-today-tag{font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--accent-primary);border:1px solid var(--accent-secondary);background:var(--bg-active);padding:2px 8px}.checkin-manage-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 16px;font-size:10px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif}.checkin-manage-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.checkin-manage-panel{background:var(--bg-surface);border:1px solid var(--border);padding:20px;margin-bottom:20px}.checkin-manage-title{font-size:10px;font-weight:600;letter-spacing:.12em;color:var(--accent-primary);margin-bottom:14px}.checkin-manage-list{display:flex;flex-direction:column;gap:8px}.checkin-manage-item{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);font-size:12px;color:var(--text-primary);transition:border-color var(--transition)}.checkin-manage-item:hover{border-color:var(--border-strong)}.checkin-metric-name{font-size:13px;font-weight:600;color:var(--text-primary)}.checkin-metric-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.checkin-metric-actions{display:flex;gap:8px;margin-left:auto;flex-shrink:0}.checkin-manage-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0}.checkin-manage-type{font-size:9px;color:var(--text-secondary);letter-spacing:.06em;font-family:JetBrains Mono,monospace;border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 8px}.checkin-summary{margin-bottom:20px}.checkin-summary-count{font-size:12px;font-weight:700;letter-spacing:.08em;font-family:JetBrains Mono,monospace}.checkin-summary-count.complete{color:var(--success)}.checkin-summary-count.partial{color:var(--error)}.checkin-section{margin-bottom:20px}.checkin-section-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.checkin-section-title{font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--text-secondary)}.checkin-day-chip{font-size:9px;font-weight:600;letter-spacing:.08em;padding:2px 8px;border:1px solid var(--accent-secondary);background:var(--bg-active);color:var(--accent-primary)}.checkin-plan-name{font-size:10px;color:var(--text-secondary);margin-left:auto}.checkin-plan-start{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--accent-highlight);margin-bottom:8px}.checkin-rest{font-size:11px;letter-spacing:.1em;color:var(--text-secondary);padding:12px 16px;border:1px dashed var(--border)}.checkin-task-group{font-size:8px;font-weight:600;letter-spacing:.08em;color:var(--text-secondary);border:1px solid var(--border);padding:1px 6px;margin-left:8px}.checkin-task-list{display:flex;flex-direction:column;gap:2px}.checkin-task-row{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-surface);border:1px solid var(--border)}.checkin-task-icon{font-size:13px;width:16px;text-align:center;flex-shrink:0}.checkin-task-icon.done{color:var(--success)}.checkin-task-icon.pending{color:var(--text-secondary)}.checkin-task-label{font-size:13px;color:var(--text-primary);flex:1}.checkin-task-label.done{color:var(--text-secondary)}.checkin-metric-value{font-size:12px;color:var(--accent-highlight);font-family:JetBrains Mono,monospace}.checkin-date-bar,.checkin-manage-panel{border-radius:var(--radius-lg)}.checkin-today-tag,.checkin-day-chip,.checkin-task-group{border-radius:var(--radius-sm)}.checkin-task-row:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.checkin-task-row:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.checkin-manage-hint{font-size:11px;color:var(--text-muted);margin-bottom:10px}.checkin-custom-dot{color:var(--accent-highlight);font-size:8px}.metric-form{margin-top:20px;padding:18px;max-width:572px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg)}.metric-form-heading{font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--accent-primary);margin-bottom:16px}.metric-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:14px 16px}.metric-field-wide{grid-column:1 / -1}.metric-form-grid .form-group{margin-bottom:0}.metric-form .item-schedule{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.metric-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.checkin-picker-row{display:flex;gap:8px;margin-top:10px}.checkin-picker-select{width:100%;max-width:420px}.checkin-metric-main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.checkin-metric-notes{display:block;font-size:11px;color:var(--text-muted);font-style:italic;line-height:1.4}.checkin-manage-item.editing{background:var(--bg-active);border-color:var(--accent-primary);border-left-width:2px}@media (max-width: 640px){.checkin-date-bar{flex-wrap:wrap;padding:12px}.checkin-date-label{order:1;flex:1 1 auto;font-size:12px}.checkin-manage-btn{order:2;flex:1 0 100%;margin-top:4px}.checkin-manage-panel,.metric-form{padding:14px}.metric-form-grid{grid-template-columns:1fr}.checkin-metric-actions{margin-left:0;width:100%;padding-top:8px;border-top:1px solid var(--border)}.checkin-metric-actions button{flex:1}.checkin-task-row{flex-wrap:wrap;padding:10px 12px}.checkin-metric-value{margin-left:28px}.metric-form-actions button{flex:1 0 auto}}.metrics-compare-tab{position:relative}.mc-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.mc-view-toggle,.mc-range-toggle{display:flex;gap:0}.mc-view-toggle .cal-view-btn,.mc-range-toggle .cal-view-btn{margin-right:-1px}.mc-metric-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.mc-metric-pill{background:var(--bg-primary);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);padding:6px 14px;font-size:10px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:all var(--transition);font-family:Inter,sans-serif;display:inline-flex;align-items:center;gap:6px}.mc-metric-pill:hover{border-color:var(--border-strong);color:var(--text-secondary)}.mc-metric-pill.on{background:var(--bg-active);border-color:var(--accent-secondary);color:var(--accent-primary)}.mc-custom-dot{font-size:7px;color:var(--accent-highlight)}.mc-table-wrap{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow-x:auto}.mc-table{width:100%;border-collapse:collapse;min-width:480px}.mc-table thead th{background:var(--bg-surface-2);color:var(--text-secondary);font-size:10px;font-weight:600;letter-spacing:.12em;text-align:right;padding:12px 14px;border-bottom:1px solid var(--border-strong);white-space:nowrap}.mc-table thead tr.mc-subhead th{font-size:9px;letter-spacing:.1em;color:var(--text-muted);padding:6px 14px 10px;border-bottom:1px solid var(--border-strong)}.mc-th-period{text-align:left!important;position:sticky;left:0;background:var(--bg-surface-2);z-index:1}.mc-unit{color:var(--text-muted);font-weight:500}.mc-table tbody td{padding:11px 14px;border-bottom:1px solid var(--border);text-align:right;font-size:13px;font-family:JetBrains Mono,monospace;color:var(--text-primary);white-space:nowrap}.mc-table tbody tr:last-child td{border-bottom:none}.mc-table tbody tr:hover td{background:var(--bg-hover)}.mc-period{text-align:left!important;font-family:Inter,sans-serif!important;font-size:12px!important;font-weight:600;color:var(--text-secondary)!important;position:sticky;left:0;background:var(--bg-surface)}.mc-table tbody tr:hover .mc-period{background:var(--bg-hover)}.mc-value{font-variant-numeric:tabular-nums}.mc-count{font-size:10px;color:var(--text-muted);margin-left:2px}.mc-muted{color:var(--text-muted)}.mc-delta{font-size:11px;font-family:JetBrains Mono,monospace}.mc-delta.up{color:var(--warning)}.mc-delta.down{color:var(--accent-primary)}.mc-delta.flat{color:var(--text-secondary)}.mc-delta.muted{color:var(--text-muted)}.mc-footnote{margin-top:12px;font-size:11px;color:var(--text-muted);line-height:1.5}.mc-text{text-align:left!important;font-family:Inter,sans-serif!important;font-size:12px!important;white-space:normal!important;min-width:220px;color:var(--text-secondary)!important}.weekly-checkin-tab{position:relative}.wc-config{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:28px}.wc-config-row{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px}.wc-config-note{font-size:12px;color:var(--text-secondary);padding-bottom:10px}.wc-saving{color:var(--accent-primary);font-weight:600;letter-spacing:.1em;font-size:10px}.wc-pose-list{display:flex;flex-direction:column;gap:2px;margin:10px 0}.wc-pose-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius)}.wc-pose-index{font-size:10px;font-family:JetBrains Mono,monospace;color:var(--text-muted);width:16px}.wc-pose-name{flex:1;font-size:13px;color:var(--text-primary)}.wc-pose-actions{display:flex;gap:6px}.wc-pose-actions .db-edit-btn:disabled{opacity:.35;cursor:not-allowed}.wc-add-pose{display:flex;gap:8px;margin-top:12px}.wc-add-pose .form-input{flex:1}.wc-week{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:12px}.wc-week-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.wc-week-date{font-size:13px;font-weight:600;color:var(--text-primary)}.wc-week-count{margin-left:auto;font-size:11px;font-family:JetBrains Mono,monospace;color:var(--text-secondary)}.wc-week-count.complete{color:var(--success)}.wc-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.wc-photo-cell{display:flex;flex-direction:column;gap:6px}.wc-photo-btn{padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);cursor:pointer;overflow:hidden;aspect-ratio:3 / 4;transition:border-color var(--transition)}.wc-photo-btn:hover{border-color:var(--accent-primary)}.wc-photo-btn img{width:100%;height:100%;object-fit:cover;display:block}.wc-photo-empty{aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border-strong);border-radius:var(--radius);font-size:9px;letter-spacing:.1em;color:var(--text-muted);text-align:center;padding:8px}.wc-photo-label{font-size:11px;color:var(--text-secondary);text-align:center}.wc-lightbox{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);max-width:min(90vw,720px);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.wc-lightbox-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-primary)}.wc-lightbox img{max-width:100%;max-height:calc(90vh - 52px);object-fit:contain;display:block}.wc-add-pose-block{margin-top:12px}.wc-pose-select{width:100%;max-width:340px}.wc-pose-error{margin-top:8px;font-size:11px;color:var(--error)}.wc-pose-item{cursor:grab;transition:border-color var(--transition),opacity var(--transition)}.wc-pose-item.dragging{opacity:.45}.wc-pose-item.drag-over{border-color:var(--accent-primary);background:var(--bg-active)}.wc-pose-drag{color:var(--text-muted);font-size:14px;cursor:grab}.wc-week-received{margin-left:auto;font-size:11px;font-family:JetBrains Mono,monospace;color:var(--text-secondary)}.wc-week-received.none{color:var(--text-muted)}
