:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out, var(--el-transition-duration) padding-top ease-in-out, var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out, var(--el-transition-duration) padding-left ease-in-out, var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55, 0, .1, 1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em}.el-overlay{z-index:2000;background-color:var(--el-overlay-color-lighter);height:100%;position:fixed;inset:0;overflow:auto}.el-overlay .el-overlay-root{height:0}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color);position:fixed;top:0;left:0}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;padding:var(--el-dialog-padding-primary);width:var(--el-dialog-width,50%);overflow-wrap:break-word;position:relative}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{margin:0;position:fixed;inset:0;overflow:auto}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size,16px))}.el-dialog__headerbtn{cursor:pointer;width:48px;height:48px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding-top:var(--el-dialog-padding-primary);text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{position:fixed;inset:0;overflow:auto}.el-overlay-dialog.is-closing .el-dialog{pointer-events:none}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}:root{color:#263a32;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f7f8f6;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}.page-shell{flex-direction:column;max-width:1440px;min-height:100vh;margin:0 auto;padding:0 64px;display:flex}.topbar{border-bottom:1px solid #e4e8e1;justify-content:space-between;align-items:center;height:88px;display:flex}.brand{letter-spacing:1px;align-items:center;gap:12px;font-size:18px;font-weight:600;display:flex}.brand-mark{color:#fff;background:#315b48;border-radius:9px;place-items:center;width:30px;height:30px;font-size:26px;font-weight:400;line-height:1;display:grid}.space-label{color:#69786e;font-size:13px}main{flex:1;padding:52px 0 40px}.eyebrow{color:#587160;letter-spacing:3px;margin:0 0 12px;font-size:12px}h1{letter-spacing:1px;margin:0;font-size:30px;font-weight:600}.intro{color:#6d7b73;margin:14px 0 0;font-size:14px}.empty-workspace{background:#fff;border:1px solid #e3e9e1;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:380px;margin-top:36px;padding:64px 24px;display:flex}.empty-symbol{align-items:end;gap:6px;height:38px;margin-bottom:24px;display:flex}.empty-symbol span{background:#d5e2d7;border-radius:5px;width:9px;height:22px}.empty-symbol span:nth-child(2){background:#91b29b;height:36px}.empty-symbol span:nth-child(3){height:28px}h2{margin:0;font-size:18px;font-weight:500}.empty-workspace p{color:#7b877f;text-align:center;margin:12px 0 0;font-size:14px;line-height:1.8}footer{color:#7b877f;justify-content:space-between;align-items:center;padding:24px 0 28px;font-size:12px;display:flex}.connection{align-items:center;gap:8px;min-height:24px;display:flex}.status-dot{background:#aeb4ab;border-radius:50%;width:6px;height:6px}.status-dot.ready{background:#588e68}.status-dot.error{background:#b76849}.el-button{--el-color-primary:#315b48}@media (width<=767px){.page-shell{padding:0 24px}.topbar{height:72px}.brand{font-size:16px}main{padding-top:36px}h1{font-size:26px}.empty-workspace{min-height:330px;margin-top:28px}footer{flex-wrap:wrap;gap:12px}}:root{--el-color-primary:#315b48;--el-color-primary-light-9:#f0f5f1}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible{outline-offset:4px;outline:2px solid #648e71}.primary-button,.plain-button,.danger-button{border:1px solid #0000;border-radius:8px;padding:12px 22px;font-size:14px}.primary-button{color:#fff;background:#315b48}.primary-button:hover:enabled{background:#426e58}.plain-button{color:#465c50;background:#fff;border-color:#dce4dc}.danger-button{color:#fff;background:#a74c3d}.link-button{color:#315b48;background:0 0;border:0;padding:8px 0;font-size:13px}.session-loading{color:#61746a;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.app-nav{align-self:stretch;align-items:stretch;gap:24px;display:flex}.app-nav button{color:#6d7b73;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 4px;font-size:14px}.app-nav button.active{color:#315b48;border-bottom-color:#315b48;font-weight:600}.account-controls{color:#69786e;align-items:center;gap:18px;font-size:13px;display:flex}.login-page{flex-direction:column;max-width:1440px;min-height:100vh;margin:auto;padding:0 64px;display:flex}.login-brand{height:100px}.login-layout{grid-template-columns:1fr 440px;align-items:center;gap:80px;padding:64px 80px 100px;display:grid}.login-intro h1{letter-spacing:2px;margin:18px 0 26px;font-size:46px;line-height:1.5}.login-intro>p:last-child{color:#7b877f;font-size:16px;line-height:2}.login-card{background:#fff;border:1px solid #e3e9e1;border-radius:18px;padding:40px}.login-card h2{margin:18px 0 12px;font-size:24px;font-weight:600}.form-hint{color:#718076;font-size:13px;line-height:1.7}label{color:#465c50;margin:22px 0 10px;font-size:13px;display:block}input,textarea{color:#263a32;width:100%;font:inherit;background:#fff;border:1px solid #dce4dc;border-radius:8px;outline:none;padding:13px 14px;font-size:14px;display:block}input:focus,textarea:focus{border-color:#648e71;box-shadow:0 0 0 3px #eff5ef}input::placeholder{color:#8a968d}.submit-button{width:100%;height:46px;margin-top:28px;font-size:15px}.form-error{color:#a74737;font-size:13px;line-height:1.7}.login-footnote{text-align:center;color:#88948c;border-top:1px solid #edf0e9;margin:30px 0 0;padding-top:22px;font-size:12px}.login-footer{justify-content:center}.card{background:#fff;border:1px solid #e3e9e1;border-radius:14px;margin-top:28px;padding:28px 32px}.token-create-form{align-items:flex-end;gap:16px;max-width:670px;display:flex}.token-name-field{flex:1}.token-create-form .primary-button{height:45px}.section-heading{align-items:center;gap:12px;padding-bottom:14px;display:flex}.count-label{color:#7b877f;font-size:13px}.list-empty{color:#7b877f;padding:24px 0;font-size:14px}.token-row{border-top:1px solid #edf0e9;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;display:flex}.token-row:last-child{padding-bottom:0}.token-title{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.token-title strong{overflow-wrap:anywhere;font-size:15px;font-weight:500}.token-badge{color:#497755;background:#eef5ee;border-radius:5px;padding:4px 8px;font-size:11px}.token-badge.revoked{color:#808982;background:#f1f2ef}.token-info p{color:#7b877f;margin:10px 0 0;font-size:12px;line-height:1.7}.revoked-label{white-space:nowrap;color:#88948c;font-size:12px}.secret-notice{color:#465c50;line-height:1.8}.secret-value{resize:none;background:#f7f9f5;font-family:ui-monospace,monospace;line-height:1.8}.el-dialog{border-radius:14px;max-width:calc(100vw - 32px);padding:28px}.el-dialog__footer{justify-content:flex-end;gap:12px;display:flex}@media (width<=767px){.topbar{flex-wrap:wrap;gap:18px;height:auto;padding-top:18px}.app-nav{order:3;width:100%;height:42px}.account-controls{gap:10px;margin-left:auto}.login-page{padding:0 24px}.login-brand{height:80px}.login-layout{padding:20px 0 40px;display:block}.login-intro{margin-bottom:32px}.login-intro h1{margin:12px 0;font-size:32px}.login-intro>p:last-child{display:none}.login-card{padding:28px 24px}.card{padding:24px}.token-create-form{flex-wrap:wrap}.token-name-field{flex-basis:100%}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}select{color:#395745;font:inherit;background:#fff;border:1px solid #dce4dc;border-radius:8px;max-width:100%;padding:10px 12px;font-size:13px}select:focus-visible,summary:focus-visible{outline-offset:3px;outline:2px solid #648e71}.dashboard-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.dashboard-heading h1{letter-spacing:0;font-size:28px}.date-actions{align-items:center;gap:10px;display:flex}.date-actions input{width:156px;height:43px;padding:10px;font-size:13px}.date-actions button{white-space:nowrap;padding:12px 16px}.day-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:30px;display:flex}.mode-switch,.daytype-control{align-items:center;gap:14px;display:flex}.control-caption{color:#728077;font-size:12px}.segmented{background:#e9eee8;border-radius:10px;gap:4px;padding:4px;display:flex}.segmented button{color:#728077;background:0 0;border:0;border-radius:7px;padding:8px 22px;font-size:13px}.segmented .chosen{color:#315b48;background:#fff;font-weight:600;box-shadow:0 1px 3px #263a3210}.daytype-badge{color:#315b48;background:#e8f0e8;border-radius:7px;padding:7px 12px;font-size:13px}.daytype-control select{background:0 0;padding:7px 10px}.save-feedback{color:#527a61;min-height:32px;padding:8px 0;font-size:12px}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.metric-tile{background:#fff;border:1px solid #e1e8e0;border-radius:13px;padding:20px 24px}.metric-tile>span:first-child{color:#718076;font-size:12px}.metric-tile p{letter-spacing:-.5px;font-variant-numeric:tabular-nums;margin:10px 0 7px;font-size:31px}.metric-tile small{letter-spacing:0;color:#839087;font-size:13px;font-weight:400}.metric-note{color:#738578;background:0 0;border:0;padding:0;font-size:11px}.dashboard-grid{grid-template-columns:minmax(280px,1.04fr) minmax(350px,1.43fr) minmax(240px,.87fr);align-items:start;gap:20px;display:grid}.dashboard-card{background:#fff;border:1px solid #e1e8e0;border-radius:14px;min-width:0;padding:24px}.panel-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-title h2{font-size:16px;font-weight:600}.panel-title>span{color:#809087;white-space:nowrap;font-size:11px}.checklist-progress{background:#edf1eb;border-radius:5px;height:5px;margin-top:20px;overflow:hidden}.checklist-progress>div{border-radius:inherit;background:#638f72;height:100%;transition:width .2s}.subtle{color:#77867b;font-size:11px;line-height:1.8}.checklist-panel>.subtle{margin:10px 0 16px}.checklist-scroll{scrollbar-width:thin;scrollbar-color:#d5dfd4 transparent;max-height:680px;padding-right:3px;overflow-y:auto}.check-group{border-top:1px solid #edf1eb}.check-group summary{cursor:pointer;color:#496451;justify-content:space-between;align-items:center;padding:18px 0 12px;font-size:13px;list-style:none;display:flex}.check-group summary::-webkit-details-marker{display:none}.check-group summary>span:last-child{color:#829087;font-size:11px}.check-group summary>span:first-child:before{content:"›";margin-right:7px;display:inline-block}.check-group[open] summary>span:first-child:before{transform:rotate(90deg)}.check-group summary small{color:#8b978f;margin-left:6px;font-size:10px;font-weight:400}.check-item{color:#4b5e51;cursor:pointer;align-items:flex-start;gap:10px;margin:0;padding:9px 0;font-size:12px;line-height:1.8;display:flex}.check-item input{accent-color:#52785e;width:16px;height:16px;box-shadow:none;flex:0 0 16px;margin:3px 0 0}.check-item>span{flex:1}.check-item small{color:#829087;margin:3px 0;font-size:10px;display:block}.check-item.completed .check-title{color:#94a094;text-decoration:line-through}.center-column,.right-column{flex-direction:column;gap:20px;min-width:0;display:flex}.chart-tabs{gap:16px;display:flex}.chart-tabs button{color:#849187;background:0 0;border:0;padding:0 0 5px;font-size:14px}.chart-tabs button.active{color:#315b48;font-weight:600}.mean-summary{justify-content:space-between;align-items:center;margin-top:26px;display:flex}.mean-summary p{font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:28px}.mean-summary small{color:#819186;font-size:12px}.valid-count{color:#718573;background:#f2f6ef;border-radius:20px;padding:6px 10px;font-size:10px}.weight-chart{width:100%;height:230px;margin-top:16px}.chart-legend{color:#7e8d81;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;font-size:10px;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{background:#7caa91;border-radius:50%;width:6px;height:6px;display:inline-block}.legend-dot.grey{background:#a2a9a5;width:8px;height:8px}.legend-line{background:#315b48;width:14px;height:2px;display:inline-block}.chart-footnote{color:#829087;border-top:1px solid #edf1eb;margin:18px 0 0;padding-top:15px;font-size:10px;line-height:1.8}.feeling-grid{grid-template-columns:1.4fr 1fr 1fr;gap:14px;padding-top:18px;display:grid}.feeling-grid span{color:#829087;font-size:10px;display:block}.feeling-grid strong{margin-top:12px;font-size:14px;font-weight:500;display:block}.daily-notes{color:#738477;white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid #edf1eb;padding-top:18px;font-size:12px;line-height:1.8}.training-card{color:#f4f8f2;background:#315543;border-radius:14px;padding:24px}.training-card .panel-title>span{color:#bad0be}.training-type{margin:24px 0 12px;font-size:25px}.training-intro{color:#c0d3c3;margin:0 0 12px;font-size:11px;line-height:1.9}.exercise-preview{margin:18px 0 0;padding:0;list-style:none}.exercise-preview li{border-top:1px solid #ffffff15;gap:12px;padding:15px 0;display:flex}.exercise-preview li:last-child{padding-bottom:0}.exercise-preview li>span{color:#93b19c;padding-top:3px;font-size:10px}.exercise-preview strong{font-size:12px;font-weight:400;line-height:1.8;display:block}.exercise-preview small{color:#a9c4b1;margin-top:5px;font-size:10px;display:block}.nutrition-stat{justify-content:space-between;align-items:baseline;margin-top:24px;display:flex}.nutrition-stat>span{color:#6d8171;font-size:12px}.nutrition-stat strong{font-size:18px;font-weight:500}.nutrition-stat small{color:#819186;font-size:10px}.nutrition-card .checklist-progress{margin-top:12px}.water-stat{border-top:1px solid #edf1eb;padding-top:20px}.edema-note{background:#eef1ed;border-radius:12px;padding:20px 24px}.edema-note strong{font-size:12px;font-weight:500}.edema-note p{color:#79867d;margin-bottom:0;font-size:11px;line-height:1.9}.history-panel{margin-top:24px}.table-scroll{overflow-x:auto}.history-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:760px;font-size:12px}.history-table th{text-align:left;color:#7e8d81;background:#f7f9f5;padding:18px 12px;font-size:11px;font-weight:400}.history-table td{color:#586e5e;border-bottom:1px solid #edf1eb;padding:12px}.history-table select{padding:6px 10px;font-size:12px}.history-table .edema-label{color:#7d8580;background:#eff1ee;border-radius:5px;padding:5px 8px}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.entry-grid label{margin-top:14px;margin-bottom:8px}.entry-grid label span{color:#8a968c;margin-left:5px;font-size:11px}.entry-grid select{width:100%;height:45px}.daily-editor{max-height:65vh;padding:0 4px 4px;overflow-y:auto}.more-fields{border-top:1px solid #edf1eb;margin-top:20px;padding-top:16px}.more-fields summary{cursor:pointer;color:#6a8070;font-size:12px}.lock-row{justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;display:flex}.dashboard-loading{text-align:center;color:#7e8d81;padding:80px}@media (width<=1199px){.dashboard-grid{grid-template-columns:minmax(260px,1fr) minmax(320px,1.4fr)}.right-column{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.dashboard-heading{flex-direction:column;align-items:start}.daytype-control .control-caption{display:none}}@media (width<=767px){.page-shell{padding:0 18px}main{padding-top:28px}.dashboard-heading h1{font-size:24px}.date-actions{flex-wrap:wrap;gap:7px;width:100%}.date-actions input{flex:1;min-width:136px}.date-actions button{padding:11px 12px;font-size:12px}.day-controls{gap:14px;margin-top:22px}.mode-switch{justify-content:space-between;width:100%}.segmented button{padding:8px 22px}.daytype-control{justify-content:flex-end;width:100%}.metric-strip{grid-template-columns:1fr 1fr;gap:10px}.metric-tile{padding:17px}.metric-tile p{font-size:27px}.dashboard-grid{flex-direction:column;gap:16px;display:flex}.dashboard-grid>*{width:100%}.center-column{order:-1;gap:16px}.right-column{flex-direction:column;gap:16px;display:flex}.dashboard-card,.training-card{padding:20px}.checklist-scroll{max-height:none}.chart-tabs{gap:14px}.chart-tabs button{font-size:14px}.weight-chart{height:210px}.history-panel{padding:20px 14px}.history-panel .subtle{max-width:300px}.feeling-grid{gap:10px}.feeling-grid strong{font-size:13px}.el-dialog{padding:22px 18px}.entry-grid{gap:0 12px}}.training-controls{flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px;display:flex}.training-controls label{margin:0}.training-note{color:#718373;margin:20px 0;font-size:12px;line-height:1.8}.session-fields{grid-template-columns:1fr 1fr 2fr;gap:20px;display:grid}.session-fields label{margin-top:0}.workout-cards{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.exercise-card{min-width:0;padding:26px}.exercise-card h2{line-height:1.7}.basis-badge{border-radius:6px;padding:7px 10px;color:#4b6c53!important;background:#edf4ea!important;font-size:11px!important}.exercise-cues{color:#7e8f82;margin:12px 0 18px;font-size:11px}.exercise-cues summary{cursor:pointer}.exercise-cues p{white-space:pre-wrap;line-height:1.9}.side-block{border-top:1px solid #edf1eb;margin-top:16px;padding-top:18px}.side-block.regress{background:#fff4f0;border:1px solid #efc5b7;border-radius:10px;padding:16px}.side-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.side-heading strong{font-size:13px;font-weight:500}.side-heading span{color:#8a968c;font-size:10px}.suggestion{color:#728575;background:#f4f6f1;border-radius:7px;padding:10px 12px;font-size:12px;line-height:1.8}.suggestion.progress,.suggestion.variant{color:#386a44;background:#eaf4e8}.suggestion.regress{color:#a63f2a;background:#fde4dc;font-weight:600}.rule-checks{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.rule-checks span{color:#8a928b;background:#f3f4f0;border-radius:4px;padding:4px 6px;font-size:10px}.rule-checks .met{color:#4c7557;background:#eff5ec}.set-table{border-collapse:collapse;width:100%;min-width:430px;margin-top:12px;font-size:12px}.set-table th{text-align:left;color:#7b8d7f;white-space:nowrap;padding:8px 4px;font-size:10px;font-weight:400}.set-table td{vertical-align:middle;padding:6px 4px}.set-table input:not([type=checkbox]){width:100%;min-width:58px;padding:8px 5px;font-size:12px}.set-table input[type=checkbox]{accent-color:#52785e;width:16px;height:16px;margin:0;display:inline-block}.set-table select{max-width:105px;padding:8px 4px;font-size:11px}.set-table td:first-child{width:44px}.set-table td:nth-child(2){width:22px}.workout-save{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2;background:#f8faf6f5;border:1px solid #dce6d9;border-radius:12px;justify-content:space-between;align-items:center;margin:22px 0;padding:16px 22px;display:flex;position:sticky;bottom:0}.workout-save span{color:#6a8170;font-size:12px}.workout-history{margin-top:30px}.workout-history-row{border-top:1px solid #edf1eb;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;padding-top:18px;display:flex}.workout-history-row strong{font-size:13px;font-weight:500}.workout-history-row button+button{margin-left:24px}.danger-text{color:#a45341}.cardio-editor{margin-top:20px}.cardio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;display:grid}.cardio-grid input,.cardio-grid select{width:100%;margin-top:10px}.inline-check{align-items:center;gap:10px;display:flex}.inline-check input{accent-color:#52785e;width:16px;height:16px}.cardio-row{border-top:1px solid #edf1eb;margin-top:20px;padding-top:5px}.nutrition-overview{grid-template-columns:1.6fr 1fr;gap:20px;margin:10px 0 22px;display:grid}.protein-total{font-variant-numeric:tabular-nums;margin:24px 0 16px;font-size:34px}.protein-total small{color:#8a9a8c;font-size:14px}.breakfast-warning{color:#93692d;background:#fff6e0;border-radius:8px;margin:20px 0 0;padding:12px 15px;font-size:12px;line-height:1.8}.nutrition-layout{grid-template-columns:1.6fr 1fr;align-items:start;gap:22px;display:grid}.food-controls{align-items:center;gap:18px;margin-bottom:24px;display:flex}.food-controls label{margin-bottom:0}.food-controls input{width:100px}.food-controls input,.food-controls select{margin-top:8px}.food-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.food-tile{background:#fcfdfb;border:1px solid #e3ebdf;border-radius:10px;position:relative;overflow:hidden}.food-add{text-align:left;background:0 0;border:0;flex-direction:column;align-items:start;gap:9px;width:100%;min-height:145px;padding:18px 14px 36px;display:flex}.food-add:hover{background:#f0f6ee}.food-add strong{color:#3b5943;font-size:13px;font-weight:500}.food-add span{color:#819382;font-size:10px}.food-add b{color:#537759;font-size:20px;font-weight:500}.food-add small{color:#90a08c;font-size:10px;font-weight:400}.food-edit{color:#829580;background:0 0;border:0;padding:5px;font-size:10px;position:absolute;bottom:7px;right:10px}.meal-column{flex-direction:column;gap:18px;display:flex}.mode-rules{background:#eff4eb}.mode-rules ul{color:#627a62;padding-left:18px;font-size:12px;line-height:2}.mode-rules li+li{margin-top:8px}.meal-card .panel-title>strong{color:#6b826a;font-size:15px;font-weight:500}.meal-low{background:#fffdf6;border-color:#ead6b2}.meal-low-note{color:#aa8141;margin-top:12px;font-size:11px}.protein-row{border-top:1px solid #eaece2;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}.protein-row strong{color:#5b735b;font-size:12px;font-weight:500;display:block}.protein-row span{color:#8a9a85;margin-top:8px;font-size:10px;line-height:1.8;display:block}.protein-row button{font-size:10px}.breakfast-banner{background:#fff7e6;border:1px solid #f0e0bc;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding:12px 20px;display:flex}.breakfast-banner strong{color:#977644;font-size:12px;font-weight:500}.breakfast-banner button{white-space:nowrap;font-size:11px}.training-link{color:#c7dfc8;background:0 0;border:0;padding:0;font-size:11px}.dashboard-suggestions{color:#d9ecd5;font-size:11px;line-height:1.8}.dashboard-suggestions p{border-top:1px solid #fff2;padding-top:12px}.dashboard-suggestions .pain-warning{color:#ffd4c5}.dashboard-foods{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.dashboard-foods button,.dashboard-foods select{padding:6px 8px;font-size:10px}.water-stat .link-button{padding-left:8px;font-size:11px}@media (width<=1199px){.workout-cards{grid-template-columns:1fr}.nutrition-layout{grid-template-columns:1.4fr 1fr}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.app-nav{gap:22px}.session-fields{grid-template-columns:1fr 1fr;gap:16px}.session-fields>div:last-child{grid-column:1/-1}.session-fields label{font-size:11px}.training-controls{gap:10px}.training-controls button{padding:10px;font-size:12px}.exercise-card{padding:18px}.exercise-card .panel-title{align-items:start}.exercise-card h2{font-size:15px}.side-heading{flex-wrap:wrap;align-items:start}.side-block.regress{padding:12px}.set-table{min-width:415px}.cardio-grid{grid-template-columns:1fr 1fr;gap:0 12px}.nutrition-overview,.nutrition-layout{grid-template-columns:1fr}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-overview .dashboard-card{padding:20px}.nutrition-overview .protein-total{font-size:28px}.workout-history-row{align-items:start}.workout-history-row>div:last-child{flex-direction:column;display:flex}.workout-history-row button+button{margin-left:0}.breakfast-banner{padding:12px}.breakfast-banner strong{font-size:11px}.rule-checks{gap:4px}.basis-badge{padding:5px!important;font-size:10px!important}.workout-save{margin-top:16px;padding:12px 16px}}.app-nav{gap:16px;min-width:0}.app-nav button{white-space:nowrap}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.chart-grid .dashboard-card{min-width:0;margin:0}.metric-chart{width:100%;min-width:0;height:280px;margin-top:20px}.metric-alert{color:#8c5226;background:#fbf1e5;border:1px solid #efdbc0;border-radius:10px;margin:0 0 20px;padding:15px 20px;font-size:14px;line-height:1.7}.input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.input-grid label{min-width:0}.input-grid input,.input-grid select{width:100%;margin-top:10px}.block-subtle{color:#728176;margin-top:7px;font-size:12px;display:block}.recheck-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.recheck-item{border:1px solid #e2e9e2;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:16px;font-size:13px;display:flex}.recheck-item.due-soon{color:#946317;background:#fff6e6;border-color:#ead4a1}.lab-legend{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.status-badge{white-space:normal;border-radius:5px;padding:6px 9px;font-size:12px;line-height:1.5;display:inline-block}.status-badge.red{color:#a63832;background:#fbeceb}.status-badge.yellow{color:#8c621b;background:#fff3d8}.status-badge.ok{color:#39674b;background:#edf5ee}.status-badge.neutral{color:#6f796f;background:#f0f2ef}.result-red{color:#ae332e}.result-yellow{color:#93601b}.result-ok{color:#39674b}.lab-name{color:#344c3d;font-size:14px}.lab-note{white-space:normal;overflow-wrap:anywhere;max-width:260px}.catalog-panel summary{cursor:pointer;font-size:16px;font-weight:500}.catalog-panel[open] summary{margin-bottom:20px}.wellness-counter{color:#34573f;background:#eaf1e9;border-radius:14px;align-items:center;gap:32px;margin-bottom:25px;padding:25px 30px;display:flex}.wellness-counter strong{margin-top:8px;font-size:38px;font-weight:500;display:block}.wellness-counter strong small{font-size:14px}.wellness-counter p{font-size:13px;line-height:1.9}.wellness-counter>span{max-width:190px;margin-left:auto;line-height:1.8}.week-rates{color:#6b7f71;flex-wrap:wrap;gap:7px 14px;font-size:11px;display:flex}.report-tabs{margin:12px 0 24px}.report-text{resize:vertical;background:#fcfdfb;border-color:#e5eae1;height:670px;padding:22px;font-family:inherit;font-size:14px;line-height:1.95}.saved-report-list{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}@media (width<=1199px){.topbar{flex-wrap:wrap;gap:16px;height:auto;padding-top:20px}.app-nav{order:3;gap:24px;width:100%;height:48px;overflow-x:auto}.app-nav button{flex-shrink:0}.account-controls{margin-left:auto}.recheck-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.chart-grid,.recheck-grid,.input-grid{grid-template-columns:minmax(0,1fr)}.wellness-counter{flex-wrap:wrap;gap:16px;padding:22px}.wellness-counter>span{max-width:none;margin-left:0}.metric-chart{height:255px}.report-text{height:700px;padding:14px;font-size:13px}.lab-table{min-width:790px}.chart-grid .panel-title{flex-wrap:wrap;gap:12px}.app-nav{gap:22px;max-width:100%}}.metric-alert.danger{color:#a63832;background:#fbeceb;border-color:#eac5c1}.lab-table td.result-red{color:#ae332e}.lab-table td.result-yellow{color:#93601b}.lab-table td.result-ok{color:#39674b}.transfer-counts{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.transfer-counts span{color:#5c7567;border:1px solid #dce6de;border-radius:6px;padding:8px 10px;font-size:12px}.transfer-counts strong{color:#315b48;margin-left:10px}.ingest-history-item{overflow-wrap:anywhere;border-top:1px solid #e5ece4;padding:18px 0;font-size:13px;line-height:1.8}.ingest-history-item>strong{font-weight:500}@media (width>=1200px){.app-nav{gap:13px}}@media (width<=767px){.dashboard-grid .checklist-panel{order:0}.dashboard-grid .center-column{order:1}.dashboard-grid .right-column{order:2}.dashboard-foods{flex-wrap:wrap;gap:7px;display:flex}.dashboard-card select{max-width:100%}}html{overscroll-behavior-y:contain}.app-tools{max-width:1440px;padding:12px 64px 0;padding-top:max(12px,env(safe-area-inset-top));margin:auto}.install-panel{background:#fff;border:1px solid #dfe7df;border-radius:12px}.install-panel summary{cursor:pointer;color:#315b48;min-height:44px;padding:13px 16px;font-size:14px;font-weight:600}.install-panel summary span{color:#718076;margin-left:12px;font-size:12px;font-weight:400}.install-content{border-top:1px solid #edf0e9;padding:18px}.install-copy{align-items:center;gap:14px;margin-bottom:14px;display:flex}.install-copy img{border-radius:12px;flex:none}.install-copy p{color:#61746a;margin:7px 0 0;font-size:13px;line-height:1.7}.notification-controls{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.offline-banner,.update-banner{border-radius:10px;margin-bottom:10px;padding:14px 16px;font-size:13px;line-height:1.7}.offline-banner{color:#8c5226;background:#fbf1e5;border:1px solid #efdbc0}.update-banner{background:#eaf2ec;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}@media (width<=767px){.app-tools{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.install-panel summary span{margin:5px 0 0 16px;display:block}.page-shell,.login-page{padding-bottom:env(safe-area-inset-bottom)}input,textarea,select{font-size:16px}.app-nav button,.account-controls button{min-height:44px}.session-loading{text-align:center;min-height:65vh;padding:24px}}
