.page-container{background-color:var(--surface);border-radius:var(--radius-xl);max-width:900px;box-shadow:var(--shadow-card);margin:24px auto;padding:20px}.page-title{color:var(--text-strong);margin-top:0;margin-bottom:20px;font-size:26px;font-weight:700}.section-title{border-left:5px solid var(--accent);margin-top:32px;margin-bottom:16px;padding-left:10px;font-size:22px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-header-left,.page-header-actions,.top-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-header-actions{flex:1;justify-content:flex-end;margin-left:auto}.compact-title{margin:0;font-size:20px;line-height:1.3}.staff-name{color:var(--text-subtle);white-space:nowrap;font-size:13px}.search-action-row{flex-wrap:nowrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.collapsible-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;margin-bottom:10px;display:flex}.compact-section-title{margin-top:0;margin-bottom:0}.form-card{background-color:var(--surface-subtle);border-radius:var(--radius-lg);border:1px solid var(--border);margin-bottom:24px;padding:20px}.compact-form-card{margin-bottom:18px;padding:14px}.form-row{flex-wrap:wrap;gap:12px;display:flex}.form-row .form-group{flex:1;min-width:180px}.form-group-grow{flex:2}.form-group{flex-direction:column;margin-bottom:16px;display:flex}.form-group label{margin-bottom:6px;font-weight:700}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);padding:10px 12px;font-family:inherit;font-size:14px}.form-group textarea{resize:vertical;min-height:96px;line-height:1.5}.compact-textarea-group textarea{min-height:76px}.form-group textarea.auto-grow-textarea{resize:none;overflow:hidden}.template-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--surface-subtle);margin-bottom:10px;padding:10px}.template-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.template-panel-title{color:var(--text-muted);font-size:13px;font-weight:700}.template-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.template-list-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--surface);justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:6px;display:flex}.template-item-actions{flex-shrink:0;gap:4px;display:flex}.template-button{border:1px solid var(--accent-border);border-radius:var(--radius-pill);background-color:var(--accent-surface);color:var(--accent-ink);cursor:pointer;padding:5px 10px;font-size:12px;font-weight:700}.template-select-button{min-width:0;color:var(--accent-ink);cursor:pointer;text-align:left;overflow-wrap:anywhere;background-color:#0000;border:none;flex:1;padding:6px 8px;font-size:13px;font-weight:700}.template-select-button:hover{background-color:var(--accent-surface);border-radius:var(--radius-sm)}.template-button:hover{background-color:var(--accent-bg);border-color:var(--accent-border-strong)}.template-add-button{background-color:var(--surface);color:var(--text-muted);border-color:var(--border-strong)}.template-mini-button{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background-color:var(--surface);color:var(--text-subtle);cursor:pointer;padding:4px 8px;font-size:11px}.template-mini-button:hover{background-color:var(--surface-hover)}.template-mini-button.danger{border-color:var(--danger-border);color:var(--danger-strong)}.template-mini-button.danger:hover{background-color:var(--danger-surface)}.template-form{border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);margin:10px 0 0;padding:12px}.template-form .form-group{margin-bottom:10px}.template-form-actions{flex-wrap:wrap;gap:8px;display:flex}.primary-button{background-color:var(--accent);color:var(--text-on-accent);border-radius:var(--radius-md);border:none;padding:10px 16px;font-size:14px}.primary-button:not(:disabled):hover{background-color:var(--accent-hover)}.search-input{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;max-width:420px;margin-bottom:20px;padding:10px 12px;font-size:14px}.filter-chip-row{grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:8px;margin-bottom:12px;display:grid}.filter-chip{border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);color:var(--text-muted);cursor:pointer;text-align:center;white-space:nowrap;padding:8px 10px;font-size:13px}.filter-chip:hover{background-color:var(--surface-hover);border-color:var(--accent-border-strong)}.filter-chip.active{background-color:var(--accent);border-color:var(--accent);color:var(--surface);font-weight:700}.search-action-row .search-input{flex:1;min-width:240px;max-width:none;margin-bottom:0}.search-action-row .primary-button{flex-shrink:0}.card-list{margin:0;padding:0;list-style:none}.card-item{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card-sm);margin-bottom:14px;padding:16px}.user-link{margin-bottom:8px;font-size:18px;font-weight:700;display:block}.user-memo{color:var(--text-subtle);margin:0}.user-name-text{color:var(--text-strong);font-size:18px;font-weight:700}.user-code-sub{color:var(--text-faint);letter-spacing:.04em;margin:0;font-size:13px}.user-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.user-row{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:relative}.user-row:hover,.user-row:focus-within{border-color:var(--accent-border-strong);background-color:var(--accent-surface)}.user-row-identity{flex-direction:column;gap:4px;min-width:0;display:flex}.user-row-headline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.user-row-name{color:var(--text-strong);overflow-wrap:anywhere;font-size:16px;font-weight:700;text-decoration:none}.user-row-name:hover{color:var(--accent);text-decoration:underline}.user-row-name:after{content:"";position:absolute;inset:0}.user-row-code{color:var(--text-faint);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:12.5px}.user-row-action{z-index:1;flex-shrink:0;position:relative}.staff-row{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.staff-status{border-radius:var(--radius-pill);align-items:center;min-height:24px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.staff-status.active{background-color:var(--success-surface);color:var(--success-ink)}.staff-status.inactive{background-color:var(--danger-surface);color:var(--danger-strong)}.staff-delete-zone{border:1px solid var(--danger-border);border-radius:var(--radius-md);background-color:var(--surface-subtle);margin-top:16px;padding:14px}.header-action-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.header-account-group{border-left:2px solid var(--border-strong);margin-left:4px;padding-left:14px}@media (width<=640px){.user-row,.staff-row{flex-direction:column;align-items:stretch}.user-row-action .small-action-button,.staff-row .user-row-action .secondary-button{width:100%}.header-account-group{border-left:none;padding-left:0}}.detail-box{background-color:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:24px;padding:20px}.compact-detail-box{margin-bottom:14px;padding:12px 14px}.detail-box p{margin:8px 0}.detail-copy-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.user-summary-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.detail-record-action{justify-content:flex-end;align-items:flex-start;min-width:160px;display:flex}.identity-lines{flex-direction:column;gap:6px;display:flex}.user-code-text,.password-text{color:var(--text-strong);letter-spacing:0;font-size:17px;font-weight:700}.password-text{font-size:16px}.user-type-badge{border-radius:var(--radius-pill);background-color:var(--accent-bg);min-height:28px;color:var(--accent-ink);align-items:center;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.visibility-badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;min-height:24px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.visibility-badge.staff-only{background-color:var(--surface-hover);color:var(--text-muted)}.visibility-badge.user-only{background-color:var(--info-bg);color:var(--info-ink)}.visibility-badge.shared{background-color:var(--success-surface);color:var(--success-ink-alt)}.field-hint{color:var(--text-faint);margin:4px 0 0;font-size:12px;line-height:1.4}.auth-form{flex-direction:column;display:flex}.auth-form .primary-button{width:100%;margin-top:4px;padding:12px 16px}.text-link{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:none}.text-link:hover{color:var(--text-subtle);text-decoration:underline}.checkbox-label{color:var(--text-strong);align-items:center;gap:6px;font-size:14px;display:inline-flex}.checkbox-stack{gap:8px;padding:8px 0;display:grid}.field-caption{margin-bottom:6px;font-weight:700;display:block}.checkbox-label input{width:auto;margin:0}.exercise-option-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.exercise-option{border:1px solid var(--border);background:var(--surface-subtle);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:9px 11px;display:flex}.exercise-option:has(input:checked){border-color:var(--accent-border-strong);background:var(--accent-surface)}.exercise-option input{width:auto;margin:0}.settings-section{margin-top:28px}.settings-add-row{align-items:flex-end}.settings-add-row .form-group{margin-bottom:0}.settings-add-button{flex-shrink:0;min-height:40px}.copy-button{padding:6px 10px;font-size:12px}.compact-button{padding:7px 11px;font-size:13px}.memo-edit-box{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background-color:var(--surface);margin-top:12px;padding:16px}.compact-memo-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.user-detail-toggle-area{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.user-extra-info{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;display:flex}.questionnaire-section{flex-direction:column;gap:8px;margin-top:6px;display:flex}.questionnaire-title{color:var(--text-strong);margin:0;font-size:16px;font-weight:700}.questionnaire-list{flex-direction:column;gap:8px;display:flex}.questionnaire-row{grid-template-columns:minmax(120px,180px) 1fr;align-items:start;gap:10px;display:grid}.questionnaire-label{color:var(--text-muted);font-size:13px;font-weight:700}.questionnaire-answer{color:var(--text-strong);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.questionnaire-empty{color:var(--text-disabled)}.questionnaire-edit-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.user-extra-info .memo-edit-box{margin-top:0}.user-extra-info-row{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.user-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.record-meta{margin:6px 0}.record-card-header{flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:8px 12px;margin-bottom:10px;display:flex}.record-card-header .visibility-badge{margin-left:auto}.record-date{color:var(--text-subtle);margin:0;font-size:14px;font-weight:700}.record-exercise{color:var(--text-strong);margin:0;font-size:18px;font-weight:700}.record-comment{background-color:var(--surface-subtle);border-left:4px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-body);white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0;padding:10px 12px;line-height:1.6}.record-sub-info{color:var(--text-faint);flex-wrap:wrap;gap:8px 14px;font-size:12px;display:flex}.record-sub-info .record-meta{margin:0}.back-link{margin-top:20px;font-weight:700;display:inline-block}.empty-text{color:var(--text-faint);margin-top:8px}.loading-text{color:var(--text-faint);text-align:center;margin:0;padding:28px 12px}.error-text{color:var(--danger-ink);text-align:center;margin:0;padding:28px 12px}.empty-action-box{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.secondary-button{background-color:var(--border);color:var(--text-strong);border-radius:var(--radius-md);border:none;padding:10px 16px;font-size:14px}.secondary-button:not(:disabled):hover{background-color:var(--secondary-bg-hover)}.danger-button{background-color:var(--danger-surface);color:var(--danger-strong);border:1px solid var(--danger-border);border-radius:var(--radius-md);padding:9px 15px;font-size:14px}.danger-button:not(:disabled):hover{background-color:var(--danger-surface-hover)}.tertiary-button{color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-md);background-color:#0000;padding:9px 15px;font-size:14px}.tertiary-button:not(:disabled):hover{background-color:var(--accent-surface)}.warning-button{background-color:var(--warning-bg);color:var(--warning-ink);border:1px solid var(--warning-border);border-radius:var(--radius-md);padding:9px 15px;font-size:14px}.warning-button:not(:disabled):hover{background-color:var(--warning-bg-hover)}.secondary-button,.primary-button,.danger-button,.tertiary-button,.warning-button{cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.secondary-button.copy-button{padding:6px 10px;font-size:12px}.secondary-button.compact-button{padding:7px 11px;font-size:13px}.secondary-button:hover,.primary-button:hover,.danger-button:hover,.tertiary-button:hover,.warning-button:hover{text-decoration:none}.memo-text{color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.record-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.today-record-count{border-radius:var(--radius-sm);background-color:var(--accent-surface-alt);color:var(--accent-hover);align-items:center;margin:0;padding:2px 7px;font-size:12px;font-weight:700;line-height:1.4;display:inline-flex}.small-action-button{padding:7px 11px;font-size:13px}.record-modal-overlay{z-index:9000;background-color:var(--overlay);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.record-modal-panel{border-radius:var(--radius-xl);background-color:var(--surface);width:min(1120px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-modal);padding:18px;overflow-y:auto}.record-modal-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.record-modal-user-code{color:var(--text-muted);margin:4px 0 0;font-size:14px;font-weight:700}.record-modal-form{margin-bottom:0;padding:12px}.record-modal-form .form-group,.record-modal-form .form-row{margin-bottom:10px}.record-modal-form>.form-row .form-group,.record-modal-form .record-modal-footer .form-group{margin-bottom:0}.record-modal-form>.form-row .form-group{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:2px 10px;display:grid}.record-modal-form>.form-row .form-group label,.record-modal-footer .form-group label{margin-bottom:0}.record-modal-form>.form-row .form-group input,.record-modal-form>.form-row .form-group select,.record-modal-footer .form-group select{padding:7px 10px}.record-modal-form>.form-row .form-group input,.record-modal-form>.form-row .form-group select,.record-modal-form>.form-row .form-group .field-hint{grid-column:2}.record-modal-form>.form-row .field-hint,.record-modal-footer .field-hint{margin-top:1px;font-size:11px;line-height:1.25}.record-modal-form .form-group label{margin-bottom:4px}.record-modal-form .exercise-option-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.record-modal-form .exercise-option{min-height:40px;padding:6px 8px;font-size:14px}.record-modal-form .compact-textarea-group textarea{min-height:68px}.record-modal-form .template-panel{margin-bottom:8px;padding:8px}.record-modal-form .template-panel-header{margin-bottom:4px}.record-modal-form .template-list{gap:6px}.record-modal-footer{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.record-modal-footer .form-group{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:2px 10px;display:grid}.record-modal-footer .form-group select,.record-modal-footer .form-group .field-hint{grid-column:2}.record-modal-footer .primary-button{white-space:nowrap;min-height:36px;padding-top:7px;padding-bottom:7px}.saved-record-preview{border:1px solid var(--success-border);width:min(520px,100%);animation:.22s ease-out savedRecordPanelIn}.saved-record-preview-content{color:var(--text-body);margin-top:20px;line-height:1.6}.saved-record-success-header{border:1px solid var(--success-border);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--success-surface-soft) 0%, var(--accent-surface) 100%);align-items:center;gap:12px;padding:13px 14px;display:flex}.saved-record-success-icon{background-color:var(--success);width:40px;height:40px;color:var(--surface);box-shadow:var(--shadow-success-icon);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;font-weight:800;line-height:1;animation:.34s ease-out 50ms both savedRecordIconPop;display:inline-flex}.saved-record-success-title{color:var(--success-ink-deep);margin:0;font-size:21px;line-height:1.3}.saved-record-success-subtext{color:var(--success-ink);margin:4px 0 0;font-size:13px;font-weight:700}.saved-record-preview-grid{gap:8px;display:grid}.saved-record-preview-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--surface-subtle);align-items:baseline;gap:8px;min-width:0;padding:8px 10px;display:flex}.saved-record-preview-item span,.saved-record-comment-label{color:var(--text-faint);flex-shrink:0;margin-bottom:0;font-size:12px;font-weight:700;display:inline-block}.saved-record-preview-item strong{color:var(--text-strong);overflow-wrap:anywhere;font-size:15px;display:inline}.saved-record-comment-box{margin-top:12px}.saved-record-comment{border:1px solid var(--accent-border);border-left:5px solid var(--accent);border-radius:var(--radius-md);background-color:var(--surface-info);color:var(--text-body);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;margin-bottom:0;padding:10px 12px;line-height:1.7}.saved-record-preview-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:12px;width:100%;margin-top:22px;display:grid}.preview-action-left,.preview-action-right{text-align:center;justify-self:stretch;width:100%}@keyframes savedRecordPanelIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes savedRecordIconPop{0%{opacity:0;transform:scale(.72)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.record-preview-actions,.record-history-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.record-preview-actions .section-title,.record-history-actions .section-title{margin:0}.record-preview-button-group{flex-wrap:wrap;gap:8px;display:flex}.record-count-text{color:var(--text-faint);margin:6px 0 12px;font-size:14px}.audit-log-details{color:var(--text-subtle);overflow-wrap:anywhere;margin:10px 0 0;font-size:12px;line-height:1.5}.collapse-button{min-width:40px;padding-inline:12px;font-size:18px;line-height:1}.message{border-radius:var(--radius-md);margin-bottom:16px;padding:12px 14px;font-size:14px}.message-error{background-color:var(--danger-surface);color:var(--danger-ink);border:1px solid var(--danger-border)}.message-success{background-color:var(--success-surface);color:var(--success-ink);border:1px solid var(--success-border)}.toast-container{z-index:9999;pointer-events:none;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius-lg);min-width:260px;max-width:360px;box-shadow:var(--shadow-toast);pointer-events:none;margin-bottom:10px;padding:14px 16px;font-size:14px;animation:.2s ease-out fadeIn}.toast-error{background-color:var(--danger-surface);color:var(--danger-ink);border:1px solid var(--danger-border)}.toast-success{background-color:var(--success-surface);color:var(--success-ink);border:1px solid var(--success-border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.page-container{margin:12px;padding:16px}.page-header,.page-header-actions{justify-content:flex-start;align-items:flex-start}.search-action-row .search-input{min-width:100%}.search-action-row{flex-wrap:wrap}.search-action-row .primary-button,.collapsible-header .secondary-button{text-align:center;width:100%}.record-modal-overlay{align-items:flex-start;padding:12px}.record-modal-panel{max-height:calc(100vh - 24px);padding:16px}.record-modal-form .exercise-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-modal-form>.form-row .form-group,.record-modal-footer .form-group{display:flex}.record-modal-form>.form-row .form-group label,.record-modal-footer .form-group label{margin-bottom:4px}.record-modal-footer{grid-template-columns:1fr}.record-modal-footer .primary-button{width:100%}.record-modal-header .secondary-button{width:auto}.saved-record-preview-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-record-success-header{align-items:flex-start;padding:14px}.saved-record-success-title{font-size:21px}.saved-record-preview-grid{grid-template-columns:1fr}.record-preview-button-group{width:100%}.record-preview-button-group button{flex:auto}}@media (pointer:coarse){button:not(.text-link),a.primary-button,a.secondary-button,a.danger-button,a.tertiary-button,a.warning-button,.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.search-input{min-height:44px}}@media (prefers-reduced-motion:reduce){.saved-record-preview,.saved-record-success-icon{animation:none}}.analytics-page{max-width:1180px;margin:0 auto;padding:24px 16px 64px}.analytics-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-xl);margin-top:24px;padding:24px}.analytics-panel h2{margin-top:0}.analytics-panel p{line-height:1.7}.analytics-controls{flex-wrap:wrap;align-items:end;gap:16px;margin:16px 0;display:flex}.analytics-page label{flex-direction:column;gap:6px;min-width:0;max-width:100%;display:flex}.analytics-panel{overflow-wrap:anywhere}.analytics-controls>*{min-width:0;max-width:100%}.analytics-page input,.analytics-page select,.analytics-page textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);max-width:100%;font:inherit;background:var(--surface);color:var(--text-body);padding:8px}.analytics-page input[type=checkbox]{flex-shrink:0;width:auto}.analytics-page .analytics-check{flex-direction:row;align-items:start;margin:16px 0}.analytics-page button{margin:4px 8px 4px 0}.analytics-page fieldset{border:0;min-width:0;padding:0}.analytics-table-wrap{max-width:100%;overflow-x:auto}.analytics-page table{border-collapse:collapse;text-align:left;width:100%}.analytics-page th,.analytics-page td{border-bottom:1px solid var(--border);vertical-align:top;padding:12px}.analytics-page th{background:var(--surface-subtle)}.analytics-page td select{width:100%;min-width:200px}.analytics-page td a{color:var(--text-strong)}.analytics-warning{background:var(--warning-bg);border-left:4px solid var(--warning-border);margin:16px 0;padding:12px 20px}.analytics-success{background:var(--success-surface-soft);padding:16px}.analytics-note{color:var(--text-subtle);font-size:.94rem}.analytics-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0;display:grid}.analytics-kpis>div{background:var(--surface-subtle);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:20px;display:flex}.analytics-kpis strong{font-size:1.8rem}.analytics-columns{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;display:grid}.analytics-breakdown{max-width:500px;padding:0;list-style:none}.analytics-breakdown li{border-bottom:1px solid var(--border);justify-content:space-between;gap:20px;padding:8px 0;display:flex}.analytics-issues{padding-left:20px}.analytics-issues>li{border-bottom:1px solid var(--border);padding:16px 0}.analytics-page summary{cursor:pointer;padding:12px 0}@media (width<=600px){.analytics-panel{padding:16px}.analytics-controls{flex-direction:column;align-items:stretch}.analytics-page .page-header{flex-wrap:wrap;gap:12px}}@media (pointer:coarse){.analytics-page input:not([type=checkbox]),.analytics-page select,.analytics-page textarea{min-height:44px}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-action-link{color:var(--accent-ink);font:inherit;text-underline-offset:3px;background:0 0;border:none;padding:4px 2px;font-size:13px;text-decoration:underline}.text-action-link:hover{color:var(--accent-hover)}.header-account-row{gap:12px}.staff-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:10px 16px;margin-bottom:16px;padding-bottom:14px;display:flex}.staff-nav-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.staff-nav-admin{border-left:2px solid var(--border-strong);padding-left:12px}.staff-nav-label{color:var(--text-faint);font-size:12px;font-weight:700}.tertiary-button.compact-button{padding:6px 11px;font-size:13px}.tertiary-button.added,.tertiary-button.added:disabled{border-color:var(--success-border);background-color:var(--success-surface-soft);color:var(--success-ink);opacity:1;cursor:default}.staff-note-callout{border:1px solid var(--warning-border);border-radius:var(--radius-md);background-color:var(--warning-bg);border-left-width:4px;margin-top:12px;padding:10px 12px;font-size:14px;font-weight:400}.staff-note-callout-label{color:var(--warning-ink);font-size:12px;font-weight:700}.staff-note-callout .memo-text{color:var(--text-body);margin-top:2px}.record-target{margin-top:4px}.record-target-identity{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.record-target-name{color:var(--text-strong);overflow-wrap:anywhere;font-size:16px;font-weight:700}.record-target-note{-webkit-line-clamp:2;max-width:760px;color:var(--warning-ink);-webkit-box-orient:vertical;margin:4px 0 0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.record-filter-bar{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin:12px 0 4px;display:flex}.record-filter-field{color:var(--text-subtle);flex-direction:column;gap:4px;font-size:12px;font-weight:700;display:flex}.record-filter-field select,.record-filter-field input{border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);color:var(--text-body);font:inherit;padding:8px 10px;font-size:14px;font-weight:400}.record-filter-keyword{flex:1;min-width:200px;max-width:380px}.active-filter-note{border-radius:var(--radius-md);background-color:var(--accent-surface-alt);color:var(--accent-ink);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.today-record-count.not-recorded{background-color:var(--warning-bg);color:var(--warning-ink)}.today-record-count.recorded{background-color:var(--success-surface);color:var(--success-ink)}.status-badge{border-radius:var(--radius-pill);align-items:center;min-height:24px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-badge-muted{background-color:var(--border);color:var(--text-muted)}@media (width<=640px){.detail-record-action{width:100%;min-width:0}.detail-record-action .primary-button{width:100%}}.analytics-page .page-header h1{margin:0;font-size:24px}.analytics-sticky{z-index:20;background-color:var(--bg-page);border-bottom:1px solid var(--border);margin:12px -16px 0;padding:8px 16px;position:sticky;top:0}.analytics-nav{white-space:nowrap;scrollbar-width:thin;gap:4px 6px;display:flex;overflow-x:auto}.analytics-nav a{border-radius:var(--radius-pill);color:var(--accent-ink);padding:6px 10px;font-size:13px;font-weight:700}.analytics-nav a:hover{background-color:var(--accent-bg);text-decoration:none}.analytics-status-bar{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:8px;display:flex}.analytics-status-bar p{border-radius:var(--radius-md);overflow-wrap:anywhere;flex:1;min-width:0;margin:0;padding:10px 12px;line-height:1.6}.analytics-page .analytics-status-bar .text-action-link{margin:0}.analytics-error{background-color:var(--danger-surface);border:1px solid var(--danger-border);color:var(--danger-ink)}.analytics-status-bar .analytics-success{border:1px solid var(--success-border);color:var(--success-ink-deep)}.analytics-progress{background-color:var(--surface);color:var(--text-subtle)}.analytics-panel{scroll-margin-top:110px}.analytics-summary dl{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:20px 0 0;display:grid}.analytics-summary dl>div{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);padding:12px 14px}.analytics-summary dt{color:var(--text-subtle);font-size:12px;font-weight:700}.analytics-summary dd{color:var(--text-strong);overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.analytics-summary dd.analytics-bad,.analytics-summary dd.analytics-bad a{color:var(--warning-ink)}.analytics-steps{counter-reset:analytics-step;flex-wrap:wrap;gap:6px 8px;margin:12px 0 4px;padding:0;list-style:none;display:flex}.analytics-steps li{counter-increment:analytics-step;border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-faint);padding:6px 12px;font-size:13px}.analytics-steps li:before{content:counter(analytics-step) ". "}.analytics-steps li.current{border-color:var(--accent);background-color:var(--accent-bg);color:var(--accent-ink);font-weight:700}.analytics-steps li.done{border-color:var(--success-border);color:var(--success-ink)}.analytics-steps li.done:after{content:" ✓"}.analytics-actions{flex-wrap:wrap;align-items:center;display:flex}.analytics-preview{border-top:1px solid var(--border);margin-top:16px;padding-top:8px}.analytics-error-box{border-left:4px solid var(--danger);background-color:var(--danger-surface);color:var(--danger-ink);margin:16px 0;padding:12px 20px}.analytics-row-state{border-radius:var(--radius-pill);margin-bottom:4px;padding:1px 8px;font-size:12px;font-weight:700;display:inline-block}.analytics-row-pending .analytics-row-state{background-color:var(--warning-bg);color:var(--warning-ink)}.analytics-row-done .analytics-row-state{background-color:var(--success-surface);color:var(--success-ink)}.analytics-row-pending>td:first-child{box-shadow:inset 4px 0 0 var(--warning-border)}.analytics-commit-panel{border:2px solid var(--accent-border);border-radius:var(--radius-lg);background-color:var(--accent-surface);margin-top:20px;padding:16px 20px}.analytics-commit-panel h3{margin:0 0 8px}.analytics-commit-panel>p{margin:0 0 4px}.analytics-checklist{color:var(--warning-ink);margin:0 0 12px;padding-left:20px;font-weight:700}.analytics-checklist li.blocking{color:var(--danger-ink)}.analytics-ready{color:var(--success-ink);font-weight:700}.analytics-pending{border-radius:var(--radius-md);background-color:var(--surface-subtle);color:var(--text-muted);padding:12px 16px}.analytics-scroll-table{border:1px solid var(--border);border-radius:var(--radius-md);max-height:480px;overflow-y:auto}.analytics-scroll-table thead th{z-index:1;position:sticky;top:0}.analytics-issues>li.resolved strong{color:var(--text-subtle)}@media (width<=600px){.analytics-panel{scroll-margin-top:140px}}.record-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.record-card-footer .record-actions{margin-top:0}.card-item .record-comment{margin:8px 0}.card-item .record-card-header{margin-bottom:6px}.app-shell{min-height:100dvh;display:flex}.app-topbar{display:none}.app-nav{box-sizing:border-box;background-color:var(--nav-bg);height:100dvh;color:var(--nav-text);flex-direction:column;flex:0 0 240px;gap:20px;padding:20px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.app-nav:focus{outline:none}.app-nav :focus-visible{outline:2px solid var(--nav-indicator);outline-offset:2px}.app-nav-brand{align-items:center;gap:10px;padding:0 8px;display:flex}.app-nav-logo{flex-shrink:0}.app-nav-brand-text{flex-direction:column;flex:1;line-height:1.3;display:flex}.app-nav-brand-name{color:#fff;font-size:15px;font-weight:700}.app-nav-brand-sub,.app-nav-group-label,.app-nav-account-label{color:var(--nav-muted);font-size:12px}.app-nav-group{flex-direction:column;gap:2px;display:flex}.app-nav-group-label{letter-spacing:.08em;padding:0 10px 6px;font-size:11px;font-weight:700}.app-nav-link{box-sizing:border-box;border-radius:var(--radius-md);min-height:40px;color:var(--nav-text);align-items:center;gap:10px;padding:8px 10px;font-size:14px;text-decoration:none;display:flex}.app-nav-link:hover{color:#fff;background-color:#ffffff0f;text-decoration:none}.app-nav-link.active{background-color:var(--nav-active-bg);color:#fff;box-shadow:inset 3px 0 0 var(--nav-indicator);font-weight:600}.app-nav-label{flex:1}.app-nav-count{box-sizing:border-box;border-radius:var(--radius-sm);background-color:var(--accent);min-width:22px;color:var(--text-on-accent);text-align:center;padding:0 7px;font-size:12px;font-weight:700}.app-nav-account{border-top:1px solid var(--nav-divider);flex-direction:column;gap:2px;margin-top:auto;padding:12px 10px 0;font-size:13px;display:flex}.app-nav-account-name{color:#fff;overflow-wrap:anywhere;font-weight:600}.app-nav-account-actions{flex-wrap:wrap;gap:4px 14px;display:flex}.app-nav-account-actions a,.app-nav-account-actions button{color:var(--nav-link);font:inherit;text-underline-offset:3px;background:0 0;border:none;padding:4px 0;text-decoration:underline}.app-nav-close{border-radius:var(--radius-md);color:#fff;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.app-main{box-sizing:border-box;flex:1;min-width:0;padding:24px 32px 48px}.app-main .page-container{margin:0 auto}.app-main .analytics-page{padding-top:0}@media (width<=899px){.app-shell{flex-direction:column}.app-topbar{z-index:50;box-sizing:border-box;background-color:var(--nav-bg);color:#fff;align-items:center;gap:4px;height:56px;padding:0 8px;display:flex;position:sticky;top:0}.app-topbar-menu{border-radius:var(--radius-md);color:#fff;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.app-topbar-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.app-topbar-today{border-radius:var(--radius-md);background-color:var(--nav-active-bg);color:#fff;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.app-topbar-today:hover{color:#fff;text-decoration:none}.app-topbar :focus-visible{outline:2px solid var(--nav-indicator)}.app-nav{display:none}.app-nav.open{z-index:9100;width:min(300px,85vw);height:auto;box-shadow:var(--shadow-modal);padding-top:10px;display:flex;position:fixed;top:0;bottom:0;left:0}.app-nav.open .app-nav-link,.app-nav.open .app-nav-account-actions a,.app-nav.open .app-nav-account-actions button{min-height:44px}.app-nav-backdrop{z-index:9050;background-color:var(--overlay);position:fixed;inset:0}.app-main{padding:12px 12px 32px}.app-main .page-container{margin:0}.analytics-sticky{top:56px}.calendar-day-panel{scroll-margin-top:64px}}.detail-page{flex-direction:column;gap:16px;max-width:1160px;margin:0 auto;display:flex;container:detail-page/inline-size}.back-link-inline{align-self:flex-start;font-size:13px;font-weight:600}.detail-header-card{border:1px solid var(--border);border-radius:var(--radius-xl);background-color:var(--surface);flex-wrap:wrap;align-items:center;gap:16px 24px;padding:20px 24px;display:flex}.detail-header-identity{flex-direction:column;flex:280px;gap:2px;min-width:0;display:flex}.detail-name{color:var(--text-strong);overflow-wrap:anywhere;margin:0;font-size:24px;line-height:1.3}.detail-header-actions{flex-wrap:wrap;gap:10px;display:flex}.detail-layout{grid-template:"records top""records bottom"1fr/minmax(0,1fr) clamp(260px,32%,320px);align-items:start;gap:16px 24px;display:grid}.detail-records{flex-direction:column;grid-area:records;min-width:0;display:flex}.detail-side{flex-direction:column;gap:14px;min-width:0;display:flex}.detail-side-top{grid-area:top}.detail-side-bottom{grid-area:bottom}.detail-side .staff-note-callout{margin-top:0}.detail-side .staff-note-callout-label{margin:0;display:block}.side-card{border:1px solid var(--border);border-radius:var(--radius-xl);background-color:var(--surface);flex-direction:column;gap:8px;padding:14px 16px;font-size:14px;display:flex}.side-card-heading{align-items:center;gap:8px;display:flex}.side-card-title{color:var(--text-muted);flex:1;margin:0;font-size:13px;font-weight:700}.side-card-row{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.side-card-muted{color:var(--text-faint);margin:0;font-size:13px}.side-card .questionnaire-section{margin:0}.side-card-details{display:block}.side-card-details summary{cursor:pointer;color:var(--text-muted);font-size:13px;font-weight:700}.side-card-actions{flex-direction:column;align-items:flex-start;gap:10px;padding-top:12px;display:flex}.detail-records-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;margin-bottom:12px;display:flex}.detail-records-heading .record-count-text{margin:2px 0 0}.detail-records-heading .record-filter-bar{margin:0}.detail-section-title{color:var(--text-strong);margin:0;font-size:18px}.record-timeline{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.record-timeline-item{gap:14px;display:flex}.record-timeline-date{text-align:right;flex-direction:column;flex:0 0 52px;padding-top:14px;line-height:1.25;display:flex}.record-timeline-year{color:var(--text-faint);font-size:11px}.record-timeline-day{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.record-timeline-weekday{color:var(--text-faint);font-size:12px}.record-timeline-card{flex:1;min-width:0;margin-bottom:0}.detail-all-records{align-self:center;margin-top:14px}.profile-modal-panel{width:min(760px,100%)}.profile-modal-panel .memo-edit-box{margin-top:0}@container detail-page (width<=679px){.detail-layout{grid-template:"top""records""bottom"/minmax(0,1fr)}}@media (width<=640px){.detail-header-card{padding:16px}.detail-name{font-size:22px}.detail-header-actions{flex-direction:column-reverse;width:100%}.detail-header-actions button{width:100%}.record-timeline-item{flex-direction:column;gap:4px}.record-timeline-date{text-align:left;flex-direction:row;flex:none;align-items:baseline;gap:6px;padding:0 0 0 2px}.record-timeline-day{font-size:15px}}.record-actions .compact-button{padding:6px 12px;font-size:13px}.side-card .questionnaire-row{flex-direction:column;gap:0;display:flex}.side-card .questionnaire-label{color:var(--text-faint);font-size:12px}.app-nav-account-actions a,.app-nav-account-actions button{align-items:center;display:inline-flex}@media (width>=900px) and (width<=1199px){.app-nav{flex-basis:216px}.app-main{padding:20px 20px 40px}}.calendar-page{flex-direction:column;gap:16px;max-width:1240px;margin:0 auto;display:flex;container:calendar-page/inline-size}.calendar-page-header{flex-wrap:wrap;align-items:flex-end;gap:8px 16px;display:flex}.calendar-page-heading{flex:360px;min-width:0}.calendar-page-title{color:var(--text-strong);margin:0;font-size:24px;line-height:1.3}.calendar-page-hint{color:var(--text-faint);margin:2px 0 0;font-size:13px}.calendar-layout{grid-template-columns:minmax(380px,.95fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.calendar-card{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-xl);background-color:var(--surface);min-width:0;padding:16px 18px}.calendar-month-card{flex-direction:column;gap:12px;display:flex}.calendar-month-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-month-title{white-space:nowrap;color:var(--text-strong);text-align:center;flex:1;margin:0;font-size:18px}.calendar-icon-button{border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);width:36px;height:36px;color:var(--text-body);font:inherit;font-size:18px;line-height:1}.calendar-icon-button:not(:disabled):hover{background-color:var(--surface-hover)}.calendar-month-input{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);max-width:150px;height:36px;color:var(--text-body);font:inherit;margin-left:auto;padding:0 8px;font-size:13px}.calendar-status{color:var(--text-faint);margin:0;font-size:13px}.calendar-grid{table-layout:fixed;border-collapse:separate;border-spacing:4px;width:calc(100% + 8px);margin:-4px}.calendar-grid th{color:var(--text-faint);padding:2px 0;font-size:12px}.calendar-grid th.sunday,.calendar-day.sunday:not(.today) .calendar-day-number{color:var(--calendar-sunday)}.calendar-grid th.saturday,.calendar-day.saturday:not(.today) .calendar-day-number{color:var(--accent)}.calendar-grid td{vertical-align:top;padding:0}.calendar-day{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);width:100%;min-height:62px;color:var(--text-strong);font:inherit;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;display:flex;position:relative}.calendar-day.density-1{background-color:var(--calendar-density-1)}.calendar-day.density-2{background-color:var(--calendar-density-2)}.calendar-day.density-3{background-color:var(--calendar-density-3)}.calendar-day:hover{border-color:var(--accent-border-strong)}.calendar-day.selected{border:2px solid var(--accent);background-color:var(--surface)}.calendar-day:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.calendar-day-number{font-size:14px;font-weight:700;line-height:1.3}.calendar-day.today .calendar-day-number,.calendar-legend-today-mark{box-sizing:border-box;border-radius:var(--radius-pill);background-color:var(--accent);min-width:24px;height:24px;color:var(--text-on-accent);justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.calendar-legend-today{align-items:center;gap:4px;display:inline-flex}.calendar-legend-today-mark{min-width:18px;height:18px;font-size:11px;font-weight:700}.calendar-day-count{color:var(--accent-ink);flex-direction:column;font-size:11px;font-weight:600;line-height:1.3;display:flex}.calendar-legend{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:12px;display:flex}.calendar-legend-scale{align-items:center;gap:4px;display:inline-flex}.calendar-legend-swatch{border:1px solid var(--border);border-radius:3px;width:14px;height:14px}.calendar-legend-swatch.density-1{background-color:var(--calendar-density-1)}.calendar-legend-swatch.density-2{background-color:var(--calendar-density-2)}.calendar-legend-swatch.density-3{background-color:var(--calendar-density-3)}.calendar-day-panel{flex-direction:column;gap:12px;max-height:calc(100dvh - 32px);padding:16px 20px;scroll-margin-top:8px;display:flex;position:sticky;top:16px;overflow-y:auto}.calendar-day-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.calendar-day-title{color:var(--text-strong);margin:0;font-size:18px}.calendar-day-summary{color:var(--text-faint);margin:0;font-size:13px}.calendar-day-nav{gap:6px;display:flex}.calendar-user{border-top:1px solid var(--border);overflow-wrap:anywhere;flex-direction:column;gap:8px;padding-top:12px;display:flex}.calendar-user-heading{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.calendar-user-name{margin:0;font-size:16px}.calendar-user-name a{color:var(--text-strong);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:4px}.calendar-user-name a:hover{color:var(--accent)}.calendar-records{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.calendar-record{border-radius:var(--radius-md);background-color:var(--surface-subtle);padding:10px 12px}.calendar-record-header{align-items:center;gap:8px;display:flex}.calendar-record-header .record-exercise{font-size:14px}.calendar-record-header .visibility-badge{margin-left:auto}.calendar-record-comment{color:var(--text-body);white-space:pre-wrap;margin:4px 0;line-height:1.6}.calendar-record-footer{color:var(--text-faint);margin:0;font-size:12px}@container calendar-page (width<=759px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-day-panel{max-height:none;position:static;overflow:visible}}@media (width<=640px){.calendar-page-title{font-size:20px}.calendar-card{padding:12px}.calendar-icon-button{width:44px;height:44px}.calendar-month-toolbar{flex-wrap:wrap}.calendar-month-input{flex:100%;max-width:none;height:40px}.calendar-grid{border-spacing:3px;width:calc(100% + 6px);margin:-3px}.calendar-day{min-height:46px;padding:4px 0}.calendar-day-number{font-size:13px}.calendar-day.today .calendar-day-number{min-width:22px;height:22px}.calendar-day-records{display:none}}.today-page{flex-direction:column;gap:16px;max-width:1240px;margin:0 auto;display:flex;container:today-page/inline-size}.today-page-header{flex-wrap:wrap;align-items:flex-end;gap:8px 16px;display:flex}.today-page-heading{flex:320px;min-width:0}.today-page-title{color:var(--text-strong);margin:0;font-size:24px;line-height:1.3}.today-page-hint{color:var(--text-faint);margin:2px 0 0;font-size:13px}.today-layout{grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);align-items:start;gap:20px;display:grid}.today-card{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-xl);background-color:var(--surface);flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex}.today-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.today-card-title{color:var(--text-strong);margin:0;font-size:18px}.today-card-sub{color:var(--text-faint);margin:0;font-size:13px}.today-summary{flex-wrap:wrap;gap:6px;display:flex}.today-summary-chip{border-radius:var(--radius-pill);padding:2px 10px;font-size:13px;font-weight:700}.today-summary-chip.pending{background-color:var(--warning-bg);color:var(--warning-ink)}.today-summary-chip.done{background-color:var(--success-surface);color:var(--success-ink)}.today-empty{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.today-list-card{container:today-list/inline-size}.today-user-list{margin:0;padding:0;list-style:none}.today-user-row{border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:12px 2px;display:grid}.today-user-row .today-record-count{flex:none;justify-content:center;min-width:112px}.today-user-identity{flex-wrap:wrap;align-items:center;gap:2px 10px;min-width:0;display:flex}.today-user-name{color:var(--text-strong);overflow-wrap:anywhere;font-size:16px;font-weight:700}.today-user-actions{align-items:center;gap:4px;display:flex}.today-remove-button{color:var(--text-faint);padding:6px 10px;text-decoration:none}.today-remove-button:hover{color:var(--danger-strong);text-decoration:underline}.today-list-footer{border-top:1px solid var(--border);justify-content:flex-end;padding-top:10px;display:flex}.today-list-footer .danger-button{padding:6px 12px;font-size:13px}.today-report-preview{flex-direction:column;gap:6px;display:flex}.today-report-label{color:var(--text-faint);font-size:12px;font-weight:700}.today-records-label{border-top:1px solid var(--border);padding-top:12px}.today-report-text{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface-subtle);color:var(--text-body);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:12px 14px;font-family:inherit;font-size:13px;line-height:1.7}.today-copy-button{width:100%;min-height:42px;font-weight:700}.today-record-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.today-record-item{border-radius:var(--radius-md);background-color:var(--surface-subtle);padding:10px 12px}.today-record-header{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.today-record-header .visibility-badge{margin-left:auto}.today-record-user{color:var(--text-strong);font-weight:700}.today-record-exercise{color:var(--text-muted);font-size:13px}.today-record-comment{color:var(--text-body);white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0;line-height:1.6}@container today-page (width<=759px){.today-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.today-page-title{font-size:20px}.today-card{padding:12px 14px}.today-user-row{grid-template-columns:auto minmax(0,1fr)}.today-user-row .today-record-count{min-width:0}.today-user-actions{grid-column:1/-1;gap:8px}.today-user-actions .primary-button,.today-user-actions .tertiary-button{flex:1;min-height:44px}.today-remove-button{border:1px solid var(--border-strong);border-radius:var(--radius-md);min-height:44px;color:var(--text-muted);padding:0 14px}}@media (width>=641px){@container today-list (width<=520px){.today-user-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.today-user-row .today-record-count{grid-area:1/1;justify-self:start;min-width:0}.today-user-identity{grid-area:2/1}.today-user-actions{grid-area:1/2/span 2}}}.side-card-error{color:var(--danger-ink);font-size:13px}.side-card-error p{margin:0 0 8px}.record-status-badge{box-sizing:border-box;border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;min-height:24px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-flex}.record-status-dot{box-sizing:border-box;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.record-status-badge.active,.status-card.active .status-card-label{color:var(--success-ink)}.record-status-badge.active{background-color:var(--success-surface)}.record-status-badge.gap,.status-card.gap .status-card-label{color:var(--warning-ink)}.record-status-badge.gap{background-color:var(--warning-bg)}.record-status-badge.dormant,.status-card.dormant .status-card-label,.status-card.none .status-card-label{color:var(--text-muted)}.record-status-badge.dormant{background-color:var(--surface-hover)}.record-status-badge.none{border:1px solid var(--border-strong);background-color:var(--surface);color:var(--text-faint)}.active .record-status-dot{background-color:var(--success)}.gap .record-status-dot{background-color:var(--status-gap-dot)}.dormant .record-status-dot{background-color:var(--text-faint)}.none .record-status-dot{border:2px solid var(--text-disabled)}.detail-header-meta{color:var(--text-faint);flex-wrap:wrap;gap:2px 16px;font-size:13px;display:flex}.detail-header-meta strong{color:var(--text-strong)}.list-page{flex-direction:column;gap:14px;max-width:1120px;margin:0 auto;display:flex;container:user-list/inline-size}.list-page-header{flex-wrap:wrap;align-items:flex-end;gap:8px 16px;display:flex}.list-page-heading{flex:280px;min-width:0}.list-page-title{color:var(--text-strong);margin:0;font-size:24px;line-height:1.3}.list-page-hint{color:var(--text-faint);margin:2px 0 0;font-size:13px}.status-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.status-card{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-xl);background-color:var(--surface);min-width:0;color:var(--text-body);font:inherit;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;text-decoration:none;display:flex}button.status-card:hover{border-color:var(--accent-border-strong)}.status-card.selected{border:2px solid var(--accent);background-color:var(--accent-surface);padding:11px 13px}.status-card.today{border-color:var(--accent);background-color:var(--accent);color:var(--text-on-accent)}.status-card.today:hover{background-color:var(--accent-hover);text-decoration:none}.status-card-label{align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.status-card-value{color:var(--text-strong);font-size:26px;font-weight:700;line-height:1.2}.status-card.today .status-card-value,.status-card.today .status-card-label,.status-card.today .status-card-note{color:var(--text-on-accent)}.status-card-unit{margin-left:2px;font-size:13px;font-weight:600}.status-card-note{color:var(--text-faint);font-size:12px}.list-toolbar{border:1px solid var(--border);border-radius:var(--radius-xl);background-color:var(--surface);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px 14px;display:flex}.list-toolbar-field{flex-direction:column;flex:0 150px;gap:2px;min-width:0;display:flex}.list-toolbar-search{flex:200px}.list-toolbar-field label{color:var(--text-faint);font-size:12px;font-weight:700}.list-toolbar-field input,.list-toolbar-field select{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);height:40px;color:var(--text-body);font:inherit;padding:0 10px;font-size:14px}.list-result-row{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.list-result-row .record-count-text{margin:0}.user-table{border:1px solid var(--border);border-radius:var(--radius-xl);background-color:var(--surface);overflow:hidden}.user-table-head,.user-table-row{grid-template-columns:minmax(0,1.5fr) 100px 112px minmax(118px,1fr) 176px;align-items:center;gap:12px;padding:9px 18px;display:grid}.user-table-head{border-bottom:1px solid var(--border);background-color:var(--surface-subtle);color:var(--text-faint);font-size:12px;font-weight:700}.user-table-head-action,.user-table-action{text-align:right}.user-table-body{margin:0;padding:0;list-style:none}.user-table-row{border-bottom:1px solid var(--border-subtle);position:relative}.user-table-row:last-child{border-bottom:none}.user-table-row:hover,.user-table-row:focus-within{background-color:var(--accent-surface)}.user-table-identity{flex-direction:column;min-width:0;line-height:1.35;display:flex}.user-table-name{color:var(--text-strong);overflow-wrap:anywhere;font-size:15px;font-weight:700}.user-table-name:after{content:"";position:absolute;inset:0}.user-table-name:hover{color:var(--accent)}.user-table-action{z-index:1;position:relative}.user-table-last{flex-direction:column;line-height:1.35;display:flex}.user-table-last-date{color:var(--text-strong);white-space:nowrap;font-weight:600}.user-table-last-ago{color:var(--text-faint);font-size:12px}.visit-source-tag{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);white-space:nowrap;margin-left:6px;padding:0 6px;font-size:11px;font-weight:600;line-height:1.6;display:inline-block}.list-footnote{margin:0}.add-user-panel{width:min(560px,100%)}.add-user-form,.add-user-done{flex-direction:column;gap:14px;display:flex}.add-user-form .form-group{margin-bottom:0}.add-user-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.add-user-credential{border-radius:var(--radius-md);background-color:var(--surface-subtle);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0;padding:12px 14px;display:grid}.add-user-credential dt{color:var(--text-faint);font-size:12px}.add-user-credential dd{color:var(--text-strong);letter-spacing:.04em;overflow-wrap:anywhere;margin:0;font-weight:700}.add-user-note{border:1px solid var(--warning-border);border-radius:var(--radius-md);background-color:var(--warning-bg);color:var(--text-body);margin:0;padding:10px 12px;font-size:13px}.user-table-meta{display:contents}.label-short{display:none}@container user-list (width<=759px){.user-table-head{display:none}.user-table-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.user-table-identity{grid-column:1}.user-table-meta{flex-wrap:wrap;grid-column:1;align-items:center;gap:4px 8px;display:flex}.user-table-last{flex-direction:row;align-items:baseline;gap:6px;font-size:13px}.user-table-action{grid-area:1/2/span 2}.user-table-action .label-full{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.user-table-action .label-short{display:inline}}@container user-list (width<=900px){.status-card-note{display:none}.status-card{padding:10px 12px}.status-card.selected{padding:9px 11px}.status-card-value{font-size:22px}}@media (width<=640px){.list-page-title{font-size:20px}.status-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.status-card.today{grid-column:1/-1}.status-card{padding:8px 12px}.status-card.selected{padding:7px 11px}.status-card-value{font-size:20px}.status-card-note{display:none}.list-toolbar-field{flex:140px}.list-toolbar-search{flex-basis:100%}.list-toolbar-field input,.list-toolbar-field select{height:44px}.user-table-row{padding:10px 14px}.user-table-action .tertiary-button{min-height:44px}.add-user-credential{grid-template-columns:minmax(0,1fr)}}.history-page{flex-direction:column;gap:14px;max-width:1160px;margin:0 auto;display:flex;container:history-page/inline-size}.history-header{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.history-title{color:var(--text-strong);overflow-wrap:anywhere;margin:0;font-size:24px;line-height:1.3}.history-filter{border:1px solid var(--border);border-radius:var(--radius-xl);background-color:var(--surface);flex-wrap:wrap;align-items:flex-end;gap:10px 12px;padding:12px 14px;display:flex}.history-period-presets{gap:6px;display:flex}.history-period-button{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background-color:var(--surface);min-width:64px;height:40px;color:var(--text-muted);font:inherit;cursor:pointer;padding:0 14px;font-size:13px;font-weight:600}.history-period-button:hover{background-color:var(--surface-hover)}.history-period-button[aria-pressed=true]{border-color:var(--accent);background-color:var(--accent-bg);color:var(--accent-ink);font-weight:700}.history-filter-field{flex-direction:column;flex:0 150px;gap:2px;min-width:0;display:flex}.history-filter-keyword{flex:200px}.history-filter-field label{color:var(--text-faint);font-size:12px;font-weight:700}.history-filter-field input,.history-filter-field select{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);min-width:0;height:40px;color:var(--text-body);font:inherit;padding:0 10px;font-size:14px}.history-page .active-filter-note{margin:0}.history-layout{grid-template-columns:minmax(0,1fr) clamp(240px,28%,300px);align-items:start;gap:16px 24px;display:grid}.history-layout.single{grid-template-columns:minmax(0,1fr)}.history-records{flex-direction:column;gap:12px;min-width:0;display:flex}.history-count-row{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.history-count-row .record-count-text{margin:0}.history-month{flex-direction:column;gap:10px;display:flex}.history-month-title{border-bottom:2px solid var(--border);color:var(--text-strong);align-items:baseline;gap:8px;margin:6px 0 0;padding-bottom:6px;font-size:15px;display:flex}.history-month-count{color:var(--text-faint);font-size:12px;font-weight:600}.record-readonly-note{color:var(--text-faint);font-size:12px}.history-summary{border:1px solid var(--border);border-radius:var(--radius-xl);background-color:var(--surface);flex-direction:column;gap:10px;padding:14px 16px;display:flex;position:sticky;top:16px}.history-summary-period{color:var(--text-faint);margin:-6px 0 0;font-size:12px}.history-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.history-summary-stats div{border-radius:var(--radius-md);background-color:var(--surface-subtle);padding:8px 10px}.history-summary-stats dt{color:var(--text-faint);font-size:12px;font-weight:700}.history-summary-stats dd{color:var(--text-strong);font-variant-numeric:tabular-nums;margin:0;font-size:24px;font-weight:700;line-height:1.2}.history-summary-stats dd span{margin-left:2px;font-size:13px;font-weight:600}.history-summary-subtitle{color:var(--text-faint);margin:0 0 6px;font-size:12px;font-weight:700}.history-summary-breakdown ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.history-summary-breakdown li{grid-template-columns:minmax(0,7em) minmax(0,1fr) auto;align-items:center;gap:8px;font-size:13px;display:grid}.history-summary-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-summary-bar{border-radius:var(--radius-pill);background-color:var(--surface-hover);height:8px;overflow:hidden}.history-summary-bar span{border-radius:inherit;background-color:var(--accent);height:100%;display:block}.history-summary-count{color:var(--text-strong);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.history-summary-note{color:var(--text-faint);margin:0;font-size:12px;line-height:1.5}.history-summary-inline{display:none}@container history-page (width<=759px){.history-layout{grid-template-columns:minmax(0,1fr)}.history-summary{display:none}.history-summary-inline{color:var(--text-faint);flex-wrap:wrap;gap:2px 12px;margin:0;font-size:12px;display:flex}.history-filter{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.history-period-presets{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.history-period-button{min-width:0}}@media (width<=640px){.history-title{font-size:20px}.history-header .detail-header-actions{flex-direction:column-reverse;width:100%}.history-header .detail-header-actions>*{box-sizing:border-box;text-align:center;width:100%}.history-filter-field input,.history-filter-field select,.history-period-button{height:44px}}.inactive-badge{border-radius:var(--radius-pill);background-color:var(--text-muted);color:var(--text-on-accent);align-items:center;padding:1px 10px;font-size:12px;font-weight:700;display:inline-flex}.inactive-notice{border-radius:var(--radius-lg);background-color:var(--surface-hover);color:var(--text-muted);margin:0;padding:10px 14px;font-size:13px}.inactive-table .user-table-head,.inactive-table .user-table-row{grid-template-columns:minmax(0,1.6fr) 110px minmax(118px,1fr) 236px}.inactive-actions{justify-content:flex-end;gap:8px;display:flex}.delete-user-panel{flex-direction:column;gap:14px;width:min(560px,100%);display:flex}.delete-user-target{border:1px solid var(--border);border-radius:var(--radius-lg);background-color:var(--surface-subtle);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.delete-user-name{color:var(--text-strong);font-size:16px}.delete-user-meta{color:var(--text-faint);font-size:13px}.delete-user-warning{border:1px solid var(--danger-border);border-radius:var(--radius-lg);background-color:var(--danger-surface);color:var(--danger-ink);margin:0;padding:10px 14px;font-size:13px}.delete-user-form .form-group{margin-bottom:14px}.danger-solid-button{border-radius:var(--radius-md);background-color:var(--danger-strong);color:var(--text-on-accent);font:inherit;cursor:pointer;border:none;padding:10px 18px;font-weight:700}.danger-solid-button:not(:disabled):hover{background-color:var(--danger-ink)}.danger-solid-button:disabled{opacity:.6;cursor:not-allowed}@container user-list (width<=759px){.inactive-table .user-table-row{grid-template-columns:minmax(0,1fr)}.inactive-table .user-table-action{grid-area:auto/1;justify-content:flex-start}}@media (width<=640px){.inactive-actions .tertiary-button{flex:1}.inactive-actions button{min-height:44px}}.page-tabs{border-bottom:1px solid var(--border);gap:4px;display:flex}.page-tab{color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:10px 16px;font-weight:600}.page-tab:hover{color:var(--accent-ink)}.page-tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent-ink);font-weight:700}.page-tab-panel{flex-direction:column;gap:14px;display:flex}.chip-group{flex-wrap:wrap;gap:6px;display:flex}.chip-button{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background-color:var(--surface);height:40px;color:var(--text-muted);font:inherit;cursor:pointer;padding:0 14px;font-size:13px;font-weight:600}.chip-button:hover{background-color:var(--surface-hover)}.chip-button[aria-pressed=true]{border-color:var(--accent);background-color:var(--accent-bg);color:var(--accent-ink);font-weight:700}.staff-table .user-table-head,.staff-table .user-table-row{grid-template-columns:minmax(0,1.6fr) 90px 80px minmax(140px,1fr) 80px}.staff-name-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.user-table-name-text{color:var(--text-strong);overflow-wrap:anywhere;font-size:15px;font-weight:700}.self-badge{border:1px solid var(--accent-border-strong);border-radius:var(--radius-pill);color:var(--accent-ink);padding:0 8px;font-size:11px;font-weight:700}.role-badge{border-radius:var(--radius-pill);background-color:var(--accent-bg);color:var(--accent-ink);padding:1px 10px;font-size:12px;font-weight:700;display:inline-flex}.role-badge.admin{background-color:var(--accent);color:var(--text-on-accent)}.staff-state{align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.staff-state.active{color:var(--success-ink)}.staff-state.active .record-status-dot{background-color:var(--success)}.staff-state.inactive{color:var(--text-faint)}.staff-state.inactive .record-status-dot{border:2px solid var(--text-disabled)}.staff-edit-panel{width:min(600px,100%)}.staff-edit-form{flex-direction:column;gap:12px;display:flex}.staff-edit-form .form-group{margin-bottom:0}.staff-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice-fieldset{border:none;flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.choice-fieldset legend{color:var(--text-muted);padding:0 0 4px;font-size:13px;font-weight:700}.choice-option{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-height:32px;display:flex}.choice-hint{color:var(--text-faint);font-size:12px}.staff-edit-section{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.staff-edit-section-title{color:var(--text-muted);margin:0 0 6px;font-size:13px}.staff-edit-section-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.staff-edit-section-row .field-hint{flex:240px;margin:0}.credential-with-copy{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.audit-table .user-table-head,.audit-row{grid-template-columns:110px 150px 160px minmax(0,1fr);gap:12px;padding:9px 18px;display:grid}.audit-row{border-bottom:1px solid var(--border-subtle);font-size:13px}.audit-row:last-child{border-bottom:none}.audit-time,.audit-muted{color:var(--text-faint)}.audit-action{color:var(--text-strong)}.audit-action.danger{color:var(--danger-strong)}.audit-target{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.audit-details{font-size:12px}@container user-list (width<=759px){.staff-table .user-table-row{grid-template-columns:minmax(0,1fr) auto}.staff-mfa-state{grid-area:3/1/auto/-1}.audit-table .user-table-head{display:none}.audit-row{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}.audit-time{grid-area:1/2;font-size:12px}.audit-action{grid-area:1/1}.audit-actor,.audit-target{grid-column:1/-1}}@media (width<=640px){.page-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.page-tab{min-height:44px;padding:8px}.page-tab-extra{display:none}.chip-group{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.chip-button{height:44px;padding:0 6px}.staff-edit-grid{grid-template-columns:minmax(0,1fr)}}.settings-description{color:var(--text-faint);margin:0;font-size:13px}.settings-tab-intro{flex-wrap:wrap;align-items:flex-start;gap:10px 16px;display:flex}.settings-tab-intro .settings-description{flex:320px}.settings-table .user-table-head,.settings-table .user-table-row{grid-template-columns:64px minmax(0,1fr) 140px 110px}.profile-settings-table .user-table-head,.profile-settings-table .user-table-row{grid-template-columns:56px minmax(0,1fr) 90px minmax(0,1.3fr) 110px 90px}.settings-table .user-table-row.is-inactive{background-color:var(--surface-subtle)}.settings-table .user-table-row.is-inactive .user-table-name-text{color:var(--text-faint)}.settings-order{color:var(--text-faint);font-variant-numeric:tabular-nums}.settings-type{font-size:13px}.settings-detail{min-width:0;font-size:12px}.settings-chip-list{flex-wrap:wrap;gap:4px 6px;margin:0;padding:0;list-style:none;display:flex}.settings-chip-list li{border-radius:var(--radius-pill);background-color:var(--surface-hover);color:var(--text-body);align-items:center;gap:4px;padding:1px 10px;font-size:12px;display:inline-flex}.settings-chip-list li.inactive{color:var(--text-faint);text-decoration:line-through}.settings-order-field{max-width:140px}.settings-readonly{flex-direction:column;gap:4px;font-size:13px;display:flex}.settings-readonly-label{color:var(--text-muted);font-weight:700}.settings-readonly .field-hint{margin:0}.settings-option-builder{border-radius:var(--radius-md);background-color:var(--surface-subtle);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.settings-add-inline{align-items:flex-end;gap:8px;display:flex}.settings-add-inline .form-group{margin-bottom:0}.page-tab-short{display:none}@container user-list (width<=759px){.settings-table .user-table-row,.profile-settings-table .user-table-row{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}.settings-table .user-table-row>:not(.user-table-action){grid-column:1}.settings-table .settings-order{display:none}.settings-table .user-table-action{grid-area:1/2/span 4}}@media (width<=640px){.page-tabs:has(>:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.page-tab-full{display:none}.page-tab-short{display:inline}.settings-add-inline{flex-direction:column;align-items:stretch}}.password-input-row{gap:6px;display:flex}.password-input-row input{flex:1;min-width:0}.password-toggle-button{flex:none;min-width:64px;padding:0 12px;font-size:13px}.narrow-page{flex-direction:column;gap:14px;max-width:560px;margin:0 auto;display:flex}.narrow-page>.list-page-heading{flex:none}.password-form{border:1px solid var(--border);border-radius:var(--radius-xl);background-color:var(--surface);flex-direction:column;gap:12px;padding:20px 22px;display:flex}.password-form .form-group{margin-bottom:0}.password-requirements{border-radius:var(--radius-md);background-color:var(--surface-subtle);color:var(--text-faint);flex-direction:column;gap:2px;margin:0;padding:10px 14px;font-size:13px;list-style:none;display:flex}.password-requirements li{gap:6px;display:flex}.password-requirements li.met{color:var(--success-ink);font-weight:600}.success-panel{border:1px solid var(--success-border);border-radius:var(--radius-lg);background-color:var(--success-surface-soft);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.success-panel p{margin:0}.success-panel a{margin-left:6px}.success-panel-icon{color:var(--success-ink);font-weight:700}.member-auth-page{background-color:var(--bg-page);flex-direction:column;align-items:center;min-height:100dvh;display:flex}.member-auth-hero{background-color:var(--nav-bg);color:var(--text-on-accent);text-align:center;flex-direction:column;align-self:stretch;align-items:center;gap:4px;padding:40px 24px 64px;display:flex}.member-auth-brand{margin:6px 0 0;font-size:21px;font-weight:700}.member-auth-sub{color:var(--nav-text);margin:0;font-size:13px}.member-auth-card{box-sizing:border-box;background-color:var(--surface);width:min(420px,100% - 32px);box-shadow:var(--shadow-card);border-radius:16px;margin-top:-40px;padding:22px 20px}.member-auth-title{color:var(--text-strong);margin:0 0 14px;font-size:20px}.member-auth-form{flex-direction:column;display:flex}.member-auth-form input,.member-page input:not([type=checkbox]):not([type=radio]),.member-page select,.member-sheet input:not([type=checkbox]):not([type=radio]){min-height:46px;font-size:16px}.member-auth-form .primary-button,.member-submit{min-height:50px;font-size:16px;font-weight:700}.member-auth-note{color:var(--text-faint);margin:14px 0 0;font-size:13px}.member-auth-links{justify-content:center;gap:12px;width:min(420px,100% - 32px);padding:18px 4px 32px;display:flex}.member-auth-staff-link{color:var(--text-faint)}.member-shell{background-color:var(--bg-page);min-height:100dvh}.member-topbar{z-index:20;background-color:var(--nav-bg);height:56px;color:var(--text-on-accent);align-items:center;gap:8px;padding:0 12px 0 16px;display:flex;position:sticky;top:0}.member-topbar-title{flex:1;font-weight:700}.member-topbar-back{min-height:40px;color:var(--nav-link);align-items:center;padding:0 4px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.member-link-button{align-self:flex-start;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.member-topbar-button{border:1px solid var(--nav-divider);border-radius:var(--radius-md);min-height:40px;color:var(--text-on-accent);font:inherit;cursor:pointer;background:0 0;padding:0 12px;font-size:13px}.member-page{flex-direction:column;gap:12px;max-width:720px;margin:0 auto;padding:16px 14px 40px;font-size:15px;display:flex}.member-hero{border:1px solid var(--border);background-color:var(--surface);border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex}.member-name{color:var(--text-strong);margin:0;font-size:21px}.member-meta{color:var(--text-faint);margin:0;font-size:13px}.member-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.member-tabs .page-tab{min-height:46px}.member-filter{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.member-filter .chip-button{padding:0 6px}.member-search summary{min-height:32px;color:var(--accent-ink);cursor:pointer;font-size:14px;font-weight:600}.member-search-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:8px;display:grid}.member-search-fields .form-group{margin-bottom:0}.member-record{border:1px solid var(--border);border-radius:var(--radius-xl);background-color:var(--surface);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.member-record.from-staff{border-left:4px solid var(--accent)}.member-record-meta{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;display:flex}.member-record-meta strong{color:var(--text-strong)}.member-record-author{color:var(--text-faint)}.member-staff-badge,.member-audience-badge{border-radius:var(--radius-pill);padding:0 8px;font-size:12px;font-weight:700}.member-staff-badge{background-color:var(--accent-bg);color:var(--accent-ink)}.member-audience-badge{background-color:var(--surface-hover);color:var(--text-muted);margin-left:auto}.member-audience-badge.shared{background-color:var(--success-surface);color:var(--success-ink)}.member-record-writer{color:var(--text-faint);margin-left:auto;font-size:12px}.member-record-exercise{color:var(--text-strong);margin:0;font-size:16px;font-weight:700}.member-record .record-comment{margin:0}.member-record-actions{justify-content:flex-end;gap:8px;display:flex}.member-record-actions .text-action-link{min-height:40px;padding:0 10px;font-size:14px;font-weight:600;text-decoration:none}.text-action-link.danger{color:var(--danger-strong)}.member-more-button{min-height:46px}.member-card{border:1px solid var(--border);background-color:var(--surface);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.member-card-title{color:var(--text-strong);flex:1;margin:0;font-size:16px}.member-card .field-hint{margin:0}.member-profile-list{flex-direction:column;gap:10px;margin:0;display:flex}.member-profile-list dt{color:var(--text-faint);font-size:13px}.member-profile-list dd{color:var(--text-body);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.member-profile-list dd.empty{color:var(--text-disabled)}.member-profile-form,.member-record-form{flex-direction:column;gap:12px;display:flex}.member-profile-form .form-group,.member-record-form .form-group{margin-bottom:0}.member-chip-picker,.member-choice-group{border:none;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.member-chip-picker legend,.member-choice-group legend{color:var(--text-muted);padding:0 0 6px;font-size:14px;font-weight:700}.member-chip-options{flex-wrap:wrap;gap:6px;display:flex}.member-chip{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background-color:var(--surface);cursor:pointer;align-items:center;min-height:40px;padding:0 14px;font-size:14px;display:inline-flex;position:relative}.member-chip input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.member-chip.selected{border-color:var(--accent);background-color:var(--accent-bg);color:var(--accent-ink);font-weight:700}.member-chip.selected:before{content:"✓ "}.member-chip:focus-within{outline:2px solid var(--accent);outline-offset:2px}.member-choice{border:1px solid var(--border-strong);border-radius:var(--radius-lg);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.member-choice input{margin-top:5px}.member-choice.selected{border:2px solid var(--accent);background-color:var(--accent-surface);padding:9px 11px}.member-choice>span{flex-direction:column;display:flex}.member-choice-hint{color:var(--text-faint);font-size:13px}.member-sheet{width:min(560px,100%)}@media (width<=640px){.member-sheet-overlay{align-items:flex-end;padding:0}.member-sheet{border-radius:18px 18px 0 0;width:100%;max-height:92dvh}.member-search-fields{grid-template-columns:minmax(0,1fr)}}.brand-mark{flex-shrink:0;display:block}.member-auth-card.wide{width:min(560px,100% - 32px)}.member-auth-lead{color:var(--text-muted);margin:-6px 0 14px;font-size:14px}.message-info{background-color:var(--accent-surface);color:var(--accent-ink);border:1px solid var(--accent-border)}.caps-lock-warning{color:var(--warning-ink);margin:6px 0 0;font-size:13px;font-weight:700}.mfa-switch{justify-content:center;margin-top:14px;display:flex}.mfa-dialog{width:100%;max-width:560px}.mfa-steps{margin:24px 0;padding:0;list-style:none}.mfa-steps>li{margin-bottom:24px;padding-left:38px;position:relative}.mfa-steps>li:before{content:counter(list-item);border-radius:var(--radius-pill);background-color:var(--accent);width:26px;height:26px;color:var(--text-on-accent);place-items:center;font-size:14px;font-weight:700;display:grid;position:absolute;top:0;left:0}.mfa-steps h2{color:var(--text-strong);margin:0 0 8px;font-size:16px;line-height:26px}.mfa-qr{width:240px;max-width:100%;height:auto;margin:12px auto;display:block}.mfa-key-row,.mfa-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mfa-manual-key{overflow-wrap:anywhere;background:var(--surface-subtle);padding:8px;font-size:15px}.mfa-check{align-items:flex-start;gap:8px;margin:16px 0;font-size:14px;display:flex}.mfa-check input{flex:none;width:auto;margin-top:4px}.mfa-text-button{color:var(--accent);line-height:1.6}.mfa-warning{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-ink);border-radius:var(--radius-md);margin:16px 0;padding:14px;line-height:1.7}.mfa-success{color:var(--success-ink);font-size:14px;font-weight:600}.mfa-code-list{background:var(--surface-subtle);border-radius:var(--radius-md);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;padding:20px 20px 20px 40px;display:grid}.mfa-code-list code{overflow-wrap:anywhere;font-family:monospace;font-size:14px}.mfa-management{margin-top:32px}.mfa-status>div{flex-wrap:wrap;gap:8px 20px;padding:8px 0;display:flex}.mfa-status dt{color:var(--text-subtle);min-width:120px}.mfa-status dd{margin:0}.mfa-management .staff-edit-section-row{flex-wrap:nowrap}.mfa-management .staff-edit-section-row>div{flex:1;min-width:0}.mfa-management .staff-edit-section-row>button{flex-shrink:0}.mfa-pending-badge{border-radius:var(--radius-pill);color:var(--warning-ink);background:var(--warning-bg);padding:3px 8px;font-size:12px;display:inline-block}.staff-mfa-state{font-size:13px}.mfa-management-heading{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.mfa-management-heading .section-title{margin:0}.mfa-status-badge{border-radius:var(--radius-pill);background-color:var(--success-surface);padding:3px 8px;font-size:12px}.mfa-trust-option{margin:16px 0}.mfa-trust-option .mfa-check{grid-template-columns:16px minmax(0,1fr);margin:0;display:grid}.mfa-trust-option input{width:16px;height:16px;margin:4px 0 0}.mfa-trust-option .field-hint{margin:0;padding-left:24px}.form-group input.mfa-code-input{text-align:center;letter-spacing:.3em;font-size:24px}@media (width<=560px){.mfa-code-list{grid-template-columns:minmax(0,1fr)}.mfa-management .staff-edit-section-row{flex-direction:column;align-items:stretch}}.analytics-redesign{color:var(--text-body);container:analytics/inline-size}.analytics-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.analytics-heading h1{color:var(--text-strong);margin:0 0 6px;font-size:24px}.analytics-heading p{color:var(--text-faint);margin:0;font-size:14px}.analytics-redesign .analytics-tabs{flex-wrap:wrap;gap:4px;margin-bottom:20px;display:flex}.analytics-tab-short{display:none}.analytics-redesign .analytics-table-wrap{position:relative}.analytics-redesign .page-tab{align-items:center;gap:6px;margin:0;display:inline-flex}.analytics-badge{background:var(--warning-bg);color:var(--warning-ink);border-radius:var(--radius-sm);padding:0 6px;font-size:12px}.analytics-toast{z-index:1100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:min(720px,100% - 24px);box-shadow:var(--shadow-card);align-items:center;gap:12px;padding:8px 14px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.analytics-toast p{overflow-wrap:anywhere;flex:1;margin:0;padding:6px}.analytics-redesign .analytics-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow-wrap:anywhere;min-width:0;padding:16px 18px}.analytics-card h2,.analytics-card h3{color:var(--text-strong);margin:0 0 12px;font-size:16px}.analytics-card p{margin:8px 0;line-height:1.6}.analytics-redesign .analytics-note{color:var(--text-faint);font-size:12px}.analytics-report,.analytics-import,.analytics-history{flex-direction:column;gap:16px;min-width:0;display:flex}.analytics-report-toolbar{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.analytics-month{align-items:center;gap:6px;display:flex}.analytics-month h2{text-align:center;min-width:136px;margin:0;font-size:22px}.analytics-month button{width:40px;height:40px;margin:0;padding:0}.analytics-status-chips{flex-wrap:wrap;flex:330px;gap:8px;display:flex}.analytics-redesign .analytics-pill{font:inherit;border-radius:var(--radius-pill);border:0;align-items:center;margin:0;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.analytics-pill.success{background:var(--success-surface);color:var(--success-ink)}.analytics-pill.warning{background:var(--warning-bg);color:var(--warning-ink)}.analytics-report-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.analytics-report-kpis .analytics-card{flex-direction:column;gap:4px;padding:14px 16px;font-size:13px;display:flex}.analytics-report-kpis .analytics-card>span:first-child{color:var(--text-faint);font-weight:700}.analytics-report-kpis strong{font-variant-numeric:tabular-nums;color:var(--text-strong);font-size:30px;line-height:1.25}.analytics-report-kpis small{padding-left:2px;font-size:15px}.analytics-report-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.analytics-report-breakdowns{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);align-items:start}.analytics-rate{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.analytics-rate>strong{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:36px}.analytics-rate p{flex:230px;font-size:14px}.analytics-rate b{margin:0 3px}.analytics-trend{gap:14px;padding:8px 6px 0;display:flex}.analytics-trend-column{text-align:center;min-width:0;color:var(--text-faint);flex-direction:column;flex:1 1 0;gap:4px;font-size:12px;display:flex}.analytics-trend-bar{border-bottom:1px solid var(--border-strong);flex-direction:column;justify-content:end;align-items:center;gap:4px;height:120px;display:flex}.analytics-trend-bar span{color:var(--text-muted);flex-shrink:0}.analytics-trend-bar i{background:color-mix(in srgb, var(--accent) 38%, var(--surface));border-radius:4px 4px 0 0;width:100%;max-width:36px;display:block}.analytics-trend-bar i.current{background:var(--accent)}.analytics-category{grid-template-columns:76px minmax(0,1fr) 88px;align-items:center;gap:10px;margin-top:10px;font-size:13px;display:grid}.analytics-category>div{background:var(--surface-hover);border-radius:0 4px 4px 0;height:14px}.analytics-category i{background:var(--accent);border-radius:inherit;height:100%;display:block}.analytics-category>span:last-child{text-align:right;white-space:nowrap}.analytics-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.analytics-legend{align-items:center;gap:3px;font-size:12px;display:inline-flex}.analytics-legend i{border-radius:3px;width:14px;height:14px}.analytics-redesign table.analytics-heat{border-collapse:separate;border-spacing:3px;table-layout:fixed;min-width:460px}.analytics-redesign .analytics-heat th,.analytics-redesign .analytics-heat td{text-align:center;white-space:nowrap;border:0;border-radius:4px;padding:6px 1px;font-size:11px}.analytics-redesign .analytics-heat th{color:var(--text-faint);background:0 0}.heat-0{background:var(--surface-hover);color:var(--text-faint)}.heat-1{background:color-mix(in srgb, var(--accent) 15%, var(--surface));color:var(--text-strong)}.heat-2{background:color-mix(in srgb, var(--accent) 35%, var(--surface));color:var(--text-strong)}.heat-3{background:color-mix(in srgb, var(--accent) 60%, var(--surface));color:var(--text-strong)}.heat-4{background:var(--accent);color:var(--text-on-accent)}.analytics-counting summary{padding:0;font-weight:700}.analytics-counting li{margin:6px 0;font-size:13px}.analytics-import-steps{flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.analytics-import-steps li{border-radius:var(--radius-pill);background:var(--surface-hover);color:var(--text-muted);align-items:center;gap:8px;padding:6px 14px 6px 6px;font-size:13px;font-weight:700;display:inline-flex}.analytics-import-steps li>span{background:var(--surface);width:22px;height:22px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.analytics-import-steps li.done{background:var(--success-surface);color:var(--success-ink)}.analytics-import-steps li.done>span{background:var(--success-ink);color:var(--surface)}.analytics-import-steps li.current{background:var(--accent);color:var(--text-on-accent)}.analytics-import-steps li.current>span{background:var(--surface);color:var(--accent)}.analytics-review-hint{color:var(--text-faint);margin-top:4px;font-size:12px;display:block}.analytics-redesign .analytics-month button{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-body)}.analytics-redesign .analytics-month button:not(:disabled):hover{background:var(--surface-hover)}.analytics-map-table{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:0 8px;display:grid}.analytics-map-table>*{border-bottom:1px solid var(--border);padding:8px 0}.analytics-map-table .analytics-map-head{color:var(--text-faint);padding:6px 0;font-size:12px;font-weight:700}.analytics-map-table select{width:100%;margin:0}.analytics-map-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.analytics-relink-results{border:1px solid var(--border);border-radius:var(--radius-md);max-height:260px;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.analytics-relink-results li+li{border-top:1px solid var(--border)}.analytics-relink-results button{text-align:left;background:var(--surface);width:100%;color:var(--text-body);border:0;border-radius:0;margin:0;padding:10px 12px;font-weight:400}.analytics-relink-results button:not(:disabled):hover,.analytics-relink-results button[aria-pressed=true]{background:var(--accent-surface)}.analytics-relink-step{flex-direction:column;gap:10px;margin-top:12px;display:flex}.analytics-import-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.analytics-import-summary>div{flex-direction:column;gap:6px;font-size:13px;display:flex}.analytics-import-summary strong{font-size:24px}.analytics-import-footer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex;position:sticky;bottom:8px}.analytics-import-footer p{margin:0}.analytics-map-new{background:var(--warning-bg)}.analytics-map-new .analytics-pill{width:fit-content;display:block}.analytics-filter-chips{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.analytics-redesign .analytics-filter-chips button{margin:0}.analytics-user-code{color:var(--text-faint);margin-top:4px;font-family:monospace;display:block}.analytics-check-tab td p,.analytics-check-tab td:last-child{min-width:160px}.analytics-pending-person{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;display:flex}.analytics-pending-person>div{flex:200px}.analytics-pending-person label{flex:220px}.analytics-pending-actions{flex-wrap:wrap;gap:8px;display:flex}.analytics-pending-actions button{margin:0}.analytics-print-heading{display:none}@container analytics (width<=560px){.analytics-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@container analytics (width<=780px){.analytics-report-pair{grid-template-columns:minmax(0,1fr)}.analytics-redesign .analytics-tabs .page-tab{padding:10px 8px;font-size:13px}}@container analytics (width<=480px){.analytics-redesign .analytics-tabs{flex-wrap:wrap}.analytics-redesign .analytics-tabs .page-tab{white-space:nowrap;padding:10px 5px;font-size:12px}.analytics-tab-long{display:none}.analytics-tab-short{display:inline}.analytics-heading h1{font-size:22px}.analytics-import-summary{grid-template-columns:minmax(0,1fr)}.analytics-redesign .analytics-card{padding:14px}.analytics-status-chips{flex-basis:100%}.analytics-print-button{order:3}.analytics-report-kpis strong{font-size:28px}.analytics-controls{flex-direction:column;align-items:stretch}.analytics-category{grid-template-columns:66px minmax(0,1fr) 80px;gap:6px;font-size:12px}}@page{size:A4 portrait;margin:10mm}.analytics-rate-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.analytics-retention{flex-direction:column;gap:16px;min-width:0;display:flex}.analytics-flow{flex-wrap:nowrap;align-items:stretch;gap:6px;display:flex}.analytics-flow>span[aria-hidden]{color:var(--text-faint);flex:none;align-self:center;font-size:18px;font-weight:700}.analytics-flow>div,.analytics-flow>button{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;font:inherit;text-align:left;flex-direction:column;flex:1 1 0;justify-content:space-between;gap:4px;margin:0;padding:12px;display:flex}.analytics-flow>button{background:var(--surface)}.analytics-flow strong{font-size:26px}@container analytics (width<=900px){.analytics-flow strong{font-size:22px}.analytics-flow>div,.analytics-flow>button{padding:10px}}.analytics-flow button strong{color:var(--accent)}.analytics-flow>div:last-child{background:var(--accent-bg)}.analytics-flow>div>span,.analytics-flow>button>span{overflow-wrap:anywhere;font-size:12px;line-height:1.4}@container analytics (width<=640px){.analytics-flow{flex-wrap:wrap}.analytics-flow>div,.analytics-flow>button{flex:40%}}.analytics-redesign [aria-pressed=true]{outline:2px solid var(--accent);outline-offset:-2px}.analytics-chart{min-width:0;margin:16px 0 8px}.analytics-chart-plot{border-bottom:1px solid var(--border-strong);align-items:end;gap:5px;height:120px;padding-top:18px;display:flex;position:relative}.analytics-redesign .analytics-chart-point{min-width:0;height:100%;min-height:0;color:var(--text-body);font:inherit;background:0 0;border:0;border-radius:2px 2px 0 0;flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:stretch;margin:0;padding:0;display:flex;position:relative}.analytics-chart-point>i{background:var(--accent-border-strong);border-radius:2px 2px 0 0;flex-shrink:0;display:block}.analytics-chart-point>i.current{background:var(--accent)}.analytics-chart-point>i.analytics-bar-active{background:var(--success)}.analytics-chart-point>i.analytics-bar-gap{background:var(--status-gap-dot)}.analytics-chart-value{white-space:nowrap;height:16px;font-size:10px;line-height:16px}.analytics-chart-labels{gap:5px;margin-top:4px;display:flex}.analytics-chart-labels>span{text-align:center;min-width:0;color:var(--text-faint);flex:1 1 0;font-size:10px}.analytics-year-line{pointer-events:none;width:100%;height:calc(100% - 18px);color:var(--text-strong);position:absolute;inset:18px 0 0;overflow:visible}.analytics-tooltip{z-index:1200;pointer-events:none;background:var(--surface);width:260px;max-width:calc(100vw - 16px);color:var(--text-body);border:1px solid var(--border-strong);box-shadow:var(--shadow-toast);border-radius:var(--radius-md);overflow-wrap:anywhere;padding:8px 10px;font-size:12px;line-height:1.5;position:fixed}.analytics-tooltip b,.analytics-tooltip span{display:block}.analytics-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.analytics-annual-series{break-inside:avoid;display:none}.analytics-annual-series.selected{display:block}.analytics-annual-series h4{margin:12px 0}.analytics-annual-series .analytics-chart-plot{height:190px}.analytics-series-switch{flex-wrap:wrap;gap:4px;display:flex}.analytics-series-switch button{margin:0}.analytics-stack-legend{gap:16px;display:flex}.analytics-stack-legend span:before{content:"";background:var(--success);width:12px;height:12px;margin-right:4px;display:inline-block}.analytics-stack-legend span+span:before{background:var(--status-gap-dot)}.analytics-category-trend{border-bottom:1px solid var(--border-subtle);grid-template-columns:76px minmax(0,1fr) 50px 64px;align-items:center;gap:8px;font-size:12px;display:grid}.analytics-category-trend .analytics-chart{margin:4px 0}.analytics-chart.compact .analytics-chart-plot{gap:2px;height:36px;padding:0}.analytics-chart.compact .analytics-chart-value{display:none}.analytics-frequency-bands{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.analytics-frequency-bands button{background:var(--accent-surface);border:1px solid var(--accent-border);border-radius:var(--radius-md);min-width:0;font:inherit;margin:0;padding:14px;position:relative;overflow:hidden}.analytics-frequency-bands button span,.analytics-frequency-bands button strong{z-index:1;display:block;position:relative}.analytics-frequency-bands i{background:var(--accent);height:6px;position:absolute;bottom:0;left:0}.analytics-people{border:1px solid var(--accent-border-strong);border-radius:var(--radius-lg);background:var(--accent-surface);min-width:0;margin-top:14px;padding:12px 14px}.analytics-people h4{margin:0;font-size:15px}.analytics-people .analytics-card-heading{gap:10px}.analytics-redesign .analytics-people table{table-layout:auto;width:100%;min-width:680px}.analytics-redesign .analytics-people td,.analytics-redesign .analytics-people th{white-space:nowrap}.analytics-redesign .analytics-heat td{padding:0}.analytics-redesign .analytics-heat button{width:100%;min-width:36px;color:inherit;font:inherit;background:0 0;border:0;border-radius:0;margin:0;padding:8px 6px;display:block}.analytics-heat button:disabled{opacity:1}.analytics-period{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.analytics-period h2,.analytics-period p{flex-basis:100%}.analytics-period label{flex-direction:column;gap:4px;font-size:12px;display:flex}.analytics-period input{min-width:0;max-width:100%}.analytics-period [role=group]{flex-wrap:wrap;gap:6px;display:flex}.analytics-funnel{flex-direction:column;gap:8px;display:flex}.analytics-funnel-row{grid-template-columns:120px minmax(0,1fr) 130px;align-items:center;gap:12px;padding:6px 8px;display:grid}.analytics-funnel-row>span:last-child{text-align:right}.analytics-funnel-track,.analytics-mini-track{background:var(--surface-hover);border-radius:0 4px 4px 0;height:26px;display:block}.analytics-funnel-track i,.analytics-mini-track i{background:var(--accent);border-radius:inherit;height:100%;display:block}.analytics-funnel-row:first-child i{background:var(--accent-border-strong)}.analytics-mini-track{height:8px;margin-bottom:4px}.analytics-retention .analytics-report-pair table{min-width:380px;font-size:13px}.analytics-retention .analytics-report-pair th,.analytics-retention .analytics-report-pair td{white-space:nowrap;padding:8px}.analytics-stalled-button{background:var(--warning-bg);border:1px dashed var(--warning-border);border-radius:var(--radius-md);color:var(--warning-ink);font:inherit;align-self:flex-start;margin:0 0 0 140px;padding:6px 10px}@container analytics (width<=480px){.analytics-report-kpis,.analytics-frequency-bands{grid-template-columns:minmax(0,1fr)}.analytics-category-trend{grid-template-columns:62px minmax(0,1fr) 40px 54px;gap:4px}.analytics-funnel-row{grid-template-columns:90px minmax(0,1fr);gap:8px}.analytics-funnel-row>span:last-child{grid-column:2}.analytics-stalled-button{margin-left:0}}@media print{body:has(.analytics-redesign){background:var(--surface);-webkit-print-color-adjust:exact;print-color-adjust:exact}.analytics-redesign .analytics-heading,.analytics-redesign .analytics-tabs,.analytics-redesign .analytics-toast,.analytics-redesign .analytics-report-toolbar,.analytics-redesign [role=tabpanel]:not(#analytics-panel-report){display:none!important}body:has(.analytics-redesign) .app-nav{display:none!important}body:has(.analytics-redesign) .app-topbar{display:none!important}body:has(.analytics-redesign) .app-nav-backdrop{display:none!important}:is(body:has(.analytics-redesign) .app-shell,body:has(.analytics-redesign) .app-main){width:100%;min-height:0;margin:0;padding:0;display:block}.app-main .analytics-redesign{width:100%;max-width:none;margin:0;padding:0;container-type:normal}.analytics-redesign #analytics-panel-report{display:block!important}.analytics-print-heading{display:block}.analytics-print-heading h1{margin:0;font-size:18px}.analytics-print-heading p{margin:4px 0;font-size:11px}.analytics-report{gap:10px}.analytics-redesign .analytics-card{break-inside:avoid;box-shadow:none;padding:10px 12px}.analytics-report-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.analytics-report-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analytics-report-breakdowns{grid-template-columns:minmax(0,1fr)}.analytics-report-kpis strong{font-size:24px}.analytics-rate>strong{font-size:28px}.analytics-trend-bar{height:90px}.analytics-category{margin-top:5px}.analytics-redesign .analytics-table-wrap{overflow:visible}.analytics-redesign table.analytics-heat{width:100%;min-width:0}.analytics-redesign .analytics-heat th,.analytics-redesign .analytics-heat td{padding:4px 0;font-size:9px}.analytics-counting{display:none}.analytics-series-switch,.analytics-frequency,.analytics-people,.analytics-tooltip{display:none!important}.analytics-annual-series{display:block!important}.analytics-rate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.analytics-chart-plot{height:80px}.analytics-annual-series .analytics-chart-plot{height:110px}.analytics-redesign .analytics-heat button{min-width:0;padding:4px 0}.analytics-redesign [aria-pressed=true]{outline:none}}:root{--accent:#235a92;--accent-hover:#17406b;--accent-ink:#17406b;--accent-surface:#f2f6fb;--accent-surface-alt:#eaf1f8;--accent-bg:#e5eef7;--accent-border:#c8d7e8;--accent-border-strong:#9db4cf;--nav-bg:#0f1a2b;--nav-text:#c5d0de;--nav-active-bg:#1c2a40;--nav-indicator:#6fa3da;--nav-muted:#9daabb;--nav-link:#a9c7ea;--nav-divider:#22324a;--calendar-sunday:#a12c2c;--calendar-density-1:#f2f6fb;--calendar-density-2:#e5eef7;--calendar-density-3:#d3e1f0;--status-gap-dot:#d97706;--info-ink:#0369a1;--info-bg:#e0f2fe;--danger:#d92d20;--danger-strong:#b42318;--danger-ink:#912018;--danger-surface:#fdecea;--danger-surface-hover:#fad7d3;--danger-border:#f3c6c1;--warning-bg:#fff4e0;--warning-bg-hover:#fde7c0;--warning-border:#f1d3a1;--warning-ink:#7a3e00;--success:#16a34a;--success-ink:#166534;--success-ink-alt:#15803d;--success-ink-deep:#14532d;--success-surface:#e3f4ea;--success-surface-soft:#f1f9f4;--success-border:#bfe3cc;--text-base:#1e293b;--text-strong:#0f172a;--text-body:#1e293b;--text-muted:#334155;--text-subtle:#475569;--text-faint:#556274;--text-disabled:#94a3b8;--bg-page:#f5f7fa;--surface:#fff;--surface-subtle:#f7f9fc;--surface-info:#f7faff;--surface-hover:#eef2f7;--border:#e1e6ee;--border-strong:#cbd3df;--border-subtle:#ebeff4;--secondary-bg-hover:#d2dae5;--text-on-accent:#fff;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-pill:999px;--shadow-card:0 1px 3px #0f172a0f, 0 4px 16px #0f172a0d;--shadow-card-sm:0 1px 2px #0f172a0d;--shadow-toast:0 8px 24px #0f172a24;--shadow-modal:0 24px 60px #0f1a2b47;--shadow-success-icon:0 10px 24px #16a34a3d;--overlay:#0f1a2b80}*{box-sizing:border-box}body{background-color:var(--bg-page);color:var(--text-base);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
