:root {
    --bg: #f3ecdd;
    --bg-soft: #fbf6eb;
    --panel: rgba(255, 251, 245, 0.92);
    --panel-strong: #fffdf8;
    --panel-muted: #f4ede2;
    --line: #d7cdbd;
    --line-strong: rgba(20, 32, 51, 0.14);
    --text: #152033;
    --muted: #667085;
    --brand: #0f7a78;
    --brand-dark: #0a5f66;
    --brand-soft: #dff3ef;
    --accent: #d8a745;
    --accent-soft: #fff1cf;
    --summary-warning-text: #9f2525;
    --surface-dark: #16202b;
    --surface-dark-alt: #213242;
    --surface-dark-card: rgba(241, 247, 250, 0.12);
    --surface-dark-line: rgba(223, 236, 242, 0.18);
    --surface-dark-text: #f8fbff;
    --surface-dark-muted: rgba(228, 237, 244, 0.74);
    --home-shell-start: #223446;
    --home-shell-end: #141e28;
    --home-shell-glow: rgba(216, 167, 69, 0.18);
    --home-card-surface: #f2eee7;
    --home-card-surface-strong: #fbf8f2;
    --home-card-line: rgba(36, 51, 67, 0.12);
    --home-copy-muted: #74829a;
    --home-accent: #d8a745;
    --home-accent-strong: #c89432;
    --home-accent-soft: #f8e7bc;
    --workspace-sidebar-width: 280px;
    --score-input-column-width: 96px;
    --score-input-control-width: 82px;
    --shadow-soft: 0 24px 54px rgba(44, 35, 18, 0.12);
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    background:
        radial-gradient(circle at top left, rgba(216, 167, 69, 0.18), transparent 28%),
        radial-gradient(circle at top right, rgba(15, 122, 120, 0.12), transparent 24%),
        linear-gradient(180deg, #f8f3e8 0%, var(--bg) 240px);
    color: var(--text);
    font-size: 15px;
    line-height: 1.5;
}

a {
    color: var(--brand-dark);
    text-decoration: none;
}

.container {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

.site-header {
    background: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(8px);
}

.header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 20px 0;
}

.site-title {
    margin: 0;
    font-size: 28px;
}

.site-subtitle,
.muted {
    color: var(--muted);
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 16px;
}

.link-button,
.primary-button,
.secondary-button {
    border: 0;
    cursor: pointer;
    font: inherit;
}

.link-button {
    background: transparent;
    color: var(--brand-dark);
}

.primary-button {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);
    color: #fffdf8;
    padding: 9px 16px;
    border-radius: 12px;
    font-weight: 700;
    box-shadow: 0 12px 24px rgba(10, 95, 102, 0.18);
}

.secondary-button {
    background: rgba(255, 250, 242, 0.92);
    color: var(--text);
    padding: 9px 16px;
    border-radius: 12px;
    font-weight: 600;
    border: 1px solid rgba(21, 32, 51, 0.08);
}

.button-link {
    display: inline-block;
}

.card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 12px 32px rgba(15, 118, 110, 0.06);
    margin: 16px 0;
}

.review-shell {
    padding: 28px;
}

.narrow-card {
    width: min(480px, 100%);
    margin: 40px auto;
}

.stack-form p {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.stack-form input,
.stack-form select,
.stack-form textarea {
    width: 100%;
    padding: 9px 11px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
}

.login-page {
    min-height: 100vh;
    background: linear-gradient(180deg, #f9f5eb 0%, #efe4d1 100%);
}

.login-page .site-header {
    display: none;
}

.login-page main.container {
    width: min(720px, calc(100% - 32px));
    min-height: 100vh;
    display: grid;
    align-content: center;
    padding: 48px 0;
}

.login-workspace {
    display: grid;
    justify-items: center;
    gap: 28px;
}

.login-brand-block {
    text-align: center;
}

.login-brand-block h1 {
    margin: 0;
    color: #142033;
    font-size: 34px;
    line-height: 1.16;
    font-weight: 800;
}

.login-brand-block p {
    margin: 12px 0 0;
    color: #5f6d7e;
    font-size: 16px;
}

.login-card {
    width: min(540px, 100%);
    margin: 0 auto;
    padding: 36px 38px 38px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    background: linear-gradient(135deg, #223345 0%, #111b26 100%);
    color: var(--surface-dark-text);
    box-shadow: 0 28px 64px rgba(20, 28, 38, 0.22);
}

.login-card h2 {
    margin: 10px 0 0;
    font-size: 38px;
    line-height: 1.12;
    letter-spacing: 0;
}

.login-eyebrow {
    margin: 0;
    color: rgba(211, 226, 238, 0.76);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.login-subtitle {
    margin: 12px 0 0;
    color: rgba(228, 237, 244, 0.76);
    font-size: 16px;
}

.login-form {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.login-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.login-form label {
    color: rgba(241, 247, 250, 0.88);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
}

.login-form input {
    width: 100%;
    min-height: 56px;
    padding: 0 18px;
    border: 1px solid rgba(216, 167, 69, 0.24);
    border-radius: 12px;
    background: #fbf8f2;
    color: #182536;
    font-size: 15px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52);
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}

.login-form input::placeholder {
    color: #9aa0ae;
}

.login-form input:focus {
    border-color: rgba(216, 167, 69, 0.72);
    outline: 3px solid rgba(216, 167, 69, 0.24);
    outline-offset: 0;
    background: #fffdf8;
}

.login-errorlist,
.login-field-errors {
    margin: 0;
    padding: 10px 14px;
    border-radius: 10px;
    background: rgba(255, 100, 80, 0.12);
    border: 1px solid rgba(255, 100, 80, 0.22);
    list-style: none;
    color: #ffb3a7;
    font-size: 13px;
}

.login-form .primary-button {
    width: 100%;
    min-height: 58px;
    margin-top: 8px;
    border-radius: 12px;
    background: linear-gradient(135deg, #f2cf88 0%, var(--home-accent) 100%);
    color: #172334;
    box-shadow: 0 16px 30px rgba(216, 167, 69, 0.22);
    font-size: 16px;
    font-weight: 700;
}

.score-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.dashboard-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}

.task-inbox-card {
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfb 100%);
}

.task-row-list {
    display: grid;
    gap: 10px;
}

.task-row,
.manager-action-bar {
    display: flex;
    align-items: center;
    gap: 14px;
}

.task-row {
    justify-content: space-between;
    padding: 12px 16px;
    border: 1px solid #d6e5e2;
    border-radius: 16px;
    background: #ffffff;
}

.task-row-main {
    min-width: 0;
    flex: 1 1 280px;
}

.task-row-main h4 {
    margin: 0 0 4px;
}

.task-row-main .muted {
    margin: 0;
    font-size: 14px;
}

.task-row-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 320px;
    min-width: 0;
    flex-wrap: wrap;
}

.task-row-side,
.manager-action-bar {
    display: flex;
    align-items: center;
    gap: 10px;
}

.task-row-side {
    justify-content: space-between;
    flex: 0 0 auto;
}

.task-card-actions,
.task-progress-row,
.task-card-top {
    display: flex;
    align-items: center;
    gap: 12px;
}

.task-card h4,
.manager-metric-card h4,
.manager-guidance-card h4 {
    margin: 0 0 6px;
}

.task-progress-row {
    flex-wrap: wrap;
    margin-top: 14px;
}

.task-card-actions {
    margin-top: 18px;
}

.overview-card-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.overview-card {
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfb 100%);
}

.overview-card-label,
.overview-card-value {
    margin: 0;
}

.overview-card-label {
    color: var(--muted);
    font-size: 13px;
}

.overview-card-value {
    margin-top: 8px;
    font-size: 24px;
    font-weight: 700;
    color: var(--brand-dark);
}

.progress-chip,
.task-state-chip,
.summary-result-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.progress-chip {
    background: #f7f1e7;
    color: var(--text);
    border: 1px solid #e0d4c0;
}

.task-state-chip,
.summary-result-badge {
    background: var(--brand-soft);
    color: var(--brand-dark);
    border: 1px solid rgba(15, 122, 120, 0.18);
}

.task-state-chip.is-waiting,
.progress-chip.is-waiting {
    background: #fff6ea;
    color: #9a5800;
    border-color: #f1d9b2;
}

.task-state-chip.is-ready,
.progress-chip.is-ready {
    background: #edf7f6;
    color: var(--brand-dark);
    border-color: #c6e7e4;
}

.app-messages {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 40;
    display: grid;
    gap: 10px;
    width: min(360px, calc(100vw - 36px));
}

.app-message {
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(20, 32, 43, 0.12);
    background: rgba(255, 251, 245, 0.96);
    box-shadow: 0 18px 36px rgba(20, 32, 43, 0.12);
    color: var(--text);
}

.app-message.success {
    background: rgba(237, 247, 246, 0.98);
    border-color: #c6e7e4;
    color: var(--brand-dark);
}

.metric-grid {
    margin-bottom: 16px;
}

.metric-card {
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: linear-gradient(180deg, #f9fbfd 0%, #ffffff 100%);
}

.metric-card label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
}

.metric-note textarea {
    min-height: 96px;
}

.field-block {
    margin: 16px 0;
}

.score-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin: 22px 0 14px;
}

.legend-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.legend-chip {
    padding: 6px 10px;
    border-radius: 999px;
    background: #edf7f6;
    border: 1px solid #c6e7e4;
    color: var(--brand-dark);
    font-size: 13px;
    white-space: nowrap;
}

.score-detail-table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0 20px;
    table-layout: fixed;
}

.score-detail-table th,
.score-detail-table td {
    border: 1px solid var(--line);
    padding: 10px;
    vertical-align: top;
    text-align: left;
    font-size: 14px;
}

.score-detail-table th {
    background: #f0f7f6;
}

.score-detail-table th:nth-child(1),
.score-detail-table td:nth-child(1) {
    width: 17%;
}

.score-detail-table th:nth-child(2),
.score-detail-table td:nth-child(2) {
    width: 37%;
}

.score-detail-table th:nth-child(3),
.score-detail-table td:nth-child(3) {
    width: 22%;
}

.score-detail-table th:nth-child(4),
.score-detail-table td:nth-child(4) {
    width: 24%;
}

.score-select-cell select {
    width: min(100%, 160px);
    min-width: 0;
    font-weight: 600;
}

.manager-input-cell input {
    width: var(--score-input-control-width);
    max-width: 100%;
    min-width: 0;
    text-align: center;
}

.manager-input-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.inline-note-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 10px;
    border-top: 1px dashed #dbe4ef;
}

.inline-note-field label {
    font-size: 13px;
    font-weight: 600;
    color: var(--muted);
}

.inline-note-field textarea {
    min-height: 88px;
    resize: vertical;
}

.eyebrow {
    margin: 0 0 8px;
    color: var(--brand-dark);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.manager-task-hero {
    display: grid;
    gap: 16px;
    padding: 22px;
    border: 1px solid #d7ebe7;
    border-radius: 20px;
    background: linear-gradient(135deg, #f8fcfb 0%, #eef6f5 100%);
    margin-bottom: 22px;
}

.task-flow-hero {
    display: grid;
    gap: 16px;
    padding: 22px;
    border: 1px solid #dfe7f2;
    border-radius: 20px;
    background: linear-gradient(135deg, #fbfcff 0%, #f3f7fb 100%);
    margin-bottom: 22px;
}

.manager-current-section {
    margin-bottom: 20px;
}

.task-flow-section {
    margin-bottom: 20px;
}

.manager-guidance-list,
.satisfaction-reference-list {
    display: grid;
    gap: 16px;
}

.manager-metric-card,
.manager-guidance-card,
.satisfaction-reference-card {
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fbfcfe;
    padding: 18px;
}

.manager-metric-field {
    margin-top: 16px;
}

.manager-metric-field input {
    min-height: 48px;
}

.manager-score-table th:nth-child(1),
.manager-score-table td:nth-child(1) {
    width: 15%;
}

.manager-score-table th:nth-child(2),
.manager-score-table td:nth-child(2) {
    width: 24%;
}

.manager-score-table th:nth-child(3),
.manager-score-table td:nth-child(3) {
    width: 36%;
}

.manager-score-table th:nth-child(4),
.manager-score-table td:nth-child(4) {
    width: 15%;
}

.manager-score-table th:nth-child(5),
.manager-score-table td:nth-child(5) {
    width: 10%;
}

.manager-score-table th,
.manager-score-table td {
    word-break: break-word;
}

.manager-score-table th:last-child,
.manager-score-table td:last-child {
    min-width: 0;
}

.manager-score-table.has-self-score-column th:nth-child(1),
.manager-score-table.has-self-score-column td:nth-child(1) {
    width: 15%;
}

.manager-score-table.has-self-score-column th:nth-child(2),
.manager-score-table.has-self-score-column td:nth-child(2) {
    width: 22%;
}

.manager-score-table.has-self-score-column th:nth-child(3),
.manager-score-table.has-self-score-column td:nth-child(3) {
    width: 30%;
}

.manager-score-table.has-self-score-column th:nth-child(4),
.manager-score-table.has-self-score-column td:nth-child(4) {
    width: 15%;
}

.manager-score-table.has-self-score-column th:nth-child(5),
.manager-score-table.has-self-score-column td:nth-child(5) {
    width: 8%;
    text-align: center;
    white-space: nowrap;
}

.manager-score-table.has-self-score-column th:nth-child(6),
.manager-score-table.has-self-score-column td:nth-child(6) {
    width: var(--score-input-column-width);
    min-width: var(--score-input-column-width);
    text-align: center;
}

.manager-score-table.has-self-score-column .manager-input-cell input {
    width: var(--score-input-control-width);
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.template-metric-score-table col.template-metric-name-col {
    width: 12%;
}

.template-metric-score-table col.template-metric-description-col {
    width: 30%;
}

.template-metric-score-table col.template-metric-standard-col {
    width: 42%;
}

.template-metric-score-table col.template-metric-weight-col {
    width: 9%;
}

.template-metric-score-table col.template-metric-input-col {
    width: var(--score-input-column-width);
}

.template-metric-score-table th:nth-child(5),
.template-metric-score-table td:nth-child(5) {
    width: var(--score-input-column-width);
    min-width: var(--score-input-column-width);
}

.template-metric-score-table .manager-input-cell {
    text-align: center;
}

.template-metric-score-table .manager-input-cell input {
    width: var(--score-input-control-width);
    max-width: 100%;
    min-width: 0;
    margin: 0 auto;
    box-sizing: border-box;
}

.metric-weight-cell {
    text-align: center;
}

.weight-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f4f7fb;
    border: 1px solid #d8e2ee;
    color: var(--brand-dark);
    font-weight: 700;
    font-size: 13px;
}


.satisfaction-reference-card {
    margin: 20px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
}

.satisfaction-reference-head {
    align-items: start;
}

.satisfaction-reference-summary {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.satisfaction-progress-chip,
.satisfaction-status-chip,
.satisfaction-role-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.satisfaction-progress-chip {
    border: 1px solid rgba(14, 116, 144, 0.22);
    background: rgba(236, 254, 255, 0.76);
    color: #0f6576;
}

.satisfaction-progress-chip.is-pending,
.satisfaction-status-chip.is-pending {
    border-color: rgba(180, 83, 9, 0.24);
    background: rgba(255, 247, 237, 0.92);
    color: #9a4d08;
}

.satisfaction-progress-chip.is-complete,
.satisfaction-status-chip.is-submitted {
    border-color: rgba(15, 118, 110, 0.24);
    background: rgba(240, 253, 250, 0.92);
    color: #0f766e;
}

.satisfaction-role-chip {
    min-height: 28px;
    border: 1px solid rgba(100, 116, 139, 0.18);
    background: rgba(241, 245, 249, 0.88);
    color: var(--muted);
}

.satisfaction-reference-detail {
    display: grid;
    grid-template-columns: minmax(0, 180px) 96px 96px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid rgba(216, 226, 238, 0.72);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.74);
}

.satisfaction-reference-detail.is-pending {
    background: rgba(255, 251, 235, 0.52);
}

.satisfaction-reference-person {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.satisfaction-reference-score {
    display: grid;
    gap: 3px;
    justify-items: start;
}

.satisfaction-reference-score span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.satisfaction-reference-score strong {
    font-size: 18px;
}

.satisfaction-reference-comment {
    line-height: 1.55;
    min-width: 0;
}

.satisfaction-reference-actions {
    display: flex;
    justify-content: flex-end;
}

.satisfaction-reminder-button {
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    white-space: nowrap;
}

.manager-action-bar {
    margin-top: 22px;
}

.manager-guidance-panel {
    margin-top: 20px;
    border: 1px dashed #c8d5e6;
    border-radius: 18px;
    padding: 16px 18px;
    background: #ffffff;
}

.manager-guidance-panel > summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--brand-dark);
}

.manager-guidance-list {
    margin-top: 14px;
}

.rule-list {
    margin: 12px 0 0;
    padding-left: 18px;
    color: var(--muted);
}

.submit-hint,
.empty-state-note {
    margin-top: 12px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px dashed #d6dfeb;
}

.manager-rule-table th:nth-child(1),
.manager-rule-table td:nth-child(1) {
    width: 16%;
}

.manager-rule-table th:nth-child(2),
.manager-rule-table td:nth-child(2) {
    width: 30%;
}

.manager-rule-table th:nth-child(3),
.manager-rule-table td:nth-child(3) {
    width: 34%;
}

.manager-rule-table th:nth-child(4),
.manager-rule-table td:nth-child(4) {
    width: 20%;
}

.auto-summary-head {
    margin-top: 26px;
}

.auto-summary-table th:nth-child(1),
.auto-summary-table td:nth-child(1) {
    width: 18%;
}

.auto-summary-table th:nth-child(2),
.auto-summary-table td:nth-child(2) {
    width: 18%;
}

.auto-summary-table th:nth-child(3),
.auto-summary-table td:nth-child(3) {
    width: 34%;
}

.auto-summary-table th:nth-child(4),
.auto-summary-table td:nth-child(4) {
    width: 30%;
}

.summary-result-cell {
    font-size: 18px;
    font-weight: 700;
    color: var(--brand-dark);
    background: #f7fbfb;
}

.history-section {
    padding-top: 26px;
}

.history-records-preview,
.history-records-all-list {
    display: grid;
    gap: 14px;
}

.history-record-card {
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fbfcfe;
    overflow: hidden;
}

.history-record-card summary,
.history-record-heading {
    display: grid;
    grid-template-columns: 140px 1fr 100px;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    font-weight: 600;
    color: var(--text);
}

.history-record-card summary {
    cursor: pointer;
    list-style: none;
}

.history-record-card summary::-webkit-details-marker {
    display: none;
}

.history-record-card summary::after {
    content: "展开";
    justify-self: end;
    font-size: 13px;
    color: var(--brand-dark);
}

.history-record-card[open] summary::after {
    content: "收起";
}

.history-record-heading {
    border-bottom: 1px solid var(--line);
    background: #f3f8f8;
}

.history-data-table th,
.history-data-table td {
    border-bottom: 1px solid var(--line);
}

.history-data-table th:last-child,
.history-data-table td:last-child {
    width: 48%;
}

.history-records-all {
    margin-top: 16px;
    border: 1px dashed #c8d5e6;
    border-radius: 16px;
    background: #ffffff;
    padding: 14px 16px;
}

.history-records-all > summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--brand-dark);
}

.history-records-all-list {
    margin-top: 14px;
}

.page-head {
    margin-top: 28px;
}

.task-row .primary-button,
.task-row .secondary-button {
    padding: 9px 14px;
    border-radius: 12px;
    white-space: nowrap;
}

.action-row {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
}

.task-list {
    margin: 0;
    padding-left: 18px;
}

.task-list li {
    margin: 8px 0;
}

.data-table th,
.data-table td {
    padding: 12px 10px;
    border-bottom: 1px solid var(--line);
    text-align: left;
}

.satisfaction-group-row td {
    background: #f7fbfb;
    font-weight: 600;
}

.satisfaction-group-detail td {
    padding: 0;
    background: #fbfcfe;
}

.satisfaction-disclosure {
    border-top: 1px solid var(--line);
}

.satisfaction-disclosure-trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 16px;
    border: 0;
    background: transparent;
    color: var(--brand-dark);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s;
}

.satisfaction-disclosure-trigger:hover {
    background: rgba(15, 122, 120, 0.06);
}

.satisfaction-disclosure-chevron {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.satisfaction-disclosure-trigger[aria-expanded="true"] .satisfaction-disclosure-chevron {
    transform: rotate(180deg);
}

.satisfaction-disclosure-panel {
    padding: 0 16px 14px;
}

.satisfaction-disclosure-panel[hidden] {
    display: none;
}

.nested-score-table {
    width: 100%;
}

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

.detail-list {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 8px 12px;
    margin: 0;
}

.detail-list dt {
    color: var(--muted);
}

.detail-list dd {
    margin: 0;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(6px);
    z-index: 1000;
    pointer-events: auto;
}

.modal-backdrop[hidden] {
    display: none !important;
}

.app-modal {
    position: relative;
    width: min(480px, 100%);
    max-width: calc(100vw - 32px);
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: 0 24px 80px rgba(15, 23, 42, 0.22);
    overflow: hidden;
    z-index: 1001;
    pointer-events: auto;
}

.app-modal-header,
.app-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 22px;
}

.app-modal-header {
    border-bottom: 1px solid var(--line);
}

.app-modal-header h3 {
    margin: 0;
    font-size: 20px;
}

.app-modal-body {
    padding: 22px;
}

.app-modal-body p {
    margin: 0;
    color: var(--text);
    line-height: 1.6;
}

.app-modal-footer {
    justify-content: flex-end;
    border-top: 1px solid var(--line);
}

.modal-close-button {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 999px;
    background: #f3f6fb;
    color: var(--muted);
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
}

.dashboard-page {
    background:
        radial-gradient(circle at top right, rgba(216, 167, 69, 0.24), transparent 28%),
        radial-gradient(circle at top left, rgba(15, 122, 120, 0.14), transparent 24%),
        linear-gradient(180deg, #f6efdf 0%, #f1e7d5 100%);
}

.dashboard-page .site-header {
    display: none;
}

.dashboard-page main.container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* .dashboard-shell now uses .workspace-shell; kept as alias for scoped overrides below */
.dashboard-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: var(--workspace-sidebar-width) minmax(0, 1fr);
}

.dashboard-sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    padding: 24px 18px;
    color: #f3f4f6;
    background:
        radial-gradient(circle at top, rgba(216, 167, 69, 0.18), transparent 34%),
        linear-gradient(180deg, #18222e 0%, #101923 100%);
}

.dashboard-brand {
    display: flex;
    align-items: center;
    gap: 16px;
}

.dashboard-brand h1,
.dashboard-card-head h3,
.dashboard-task-group h4 {
    margin: 0;
}

.dashboard-brand p,
.dashboard-hero-subtitle,
.dashboard-history-item p,
.dashboard-sidebar-profile p,
.dashboard-breadcrumb {
    margin: 0;
}

.dashboard-brand-mark {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(135deg, #f3c86a 0%, var(--accent) 100%);
    color: #1f2937;
    font-size: 22px;
    font-weight: 800;
}

.dashboard-brand h1 {
    font-size: 20px;
    line-height: 1.1;
}

.dashboard-brand p {
    margin-top: 6px;
    color: rgba(240, 245, 250, 0.68);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.dashboard-nav-group {
    display: grid;
    gap: 14px;
}

.sidebar-nav-sections {
    display: grid;
    gap: 18px;
}

.sidebar-nav-section + .sidebar-nav-section {
    padding-top: 4px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.dashboard-nav-label {
    margin: 0;
    color: rgba(226, 236, 244, 0.54);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.dashboard-nav {
    display: grid;
    gap: 10px;
}

.dashboard-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 0 14px;
    border-radius: 16px;
    color: rgba(246, 249, 252, 0.88);
    background: rgba(241, 247, 250, 0.06);
    border: 1px solid transparent;
}

.dashboard-nav-item.is-active {
    color: #ffffff;
    background: rgba(241, 247, 250, 0.12);
    border-color: rgba(241, 247, 250, 0.14);
}

.sidebar-nav-icon {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(241, 247, 250, 0.1);
    color: rgba(246, 249, 252, 0.82);
    flex: 0 0 auto;
}

.dashboard-nav-item.is-active .sidebar-nav-icon {
    background: linear-gradient(135deg, #f3c86a 0%, var(--accent) 100%);
    color: #1f2937;
}

.sidebar-nav-icon svg {
    width: 16px;
    height: 16px;
    display: block;
}

.dashboard-nav-item-label {
    min-width: 0;
    font-weight: 600;
    font-size: 13px;
}

.dashboard-sidebar-profile {
    margin-top: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 14px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(241, 247, 250, 0.08);
}

.dashboard-sidebar-profile-main {
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.dashboard-sidebar-profile-copy {
    min-width: 0;
}

.dashboard-sidebar-profile-copy strong,
.dashboard-sidebar-profile-copy p {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-sidebar-profile-copy strong {
    font-size: 13px;
    line-height: 1.3;
}

.dashboard-sidebar-profile-copy p {
    font-size: 12px;
    line-height: 1.25;
}

.dashboard-sidebar-logout-form {
    margin: 0;
    flex: 0 0 auto;
}

.dashboard-sidebar-profile-actions {
    align-self: stretch;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.dashboard-sidebar-account-link {
    width: 100%;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
    cursor: pointer;
}

.dashboard-sidebar-account-link:hover,
.dashboard-sidebar-account-link:focus-visible {
    background: #ffffff;
    color: #1f2937;
    outline: none;
}

.dashboard-sidebar-logout-button {
    width: 100%;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}

.dashboard-sidebar-logout-button:hover,
.dashboard-sidebar-logout-button:focus-visible {
    background: #ffcc1b;
    color: #1f2937;
    outline: none;
}

.password-change-modal {
    width: min(460px, 100%);
    z-index: 5001;
}

.password-change-modal-backdrop {
    z-index: 5000;
}

.password-change-eyebrow {
    margin: 0 0 4px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.password-change-modal-body {
    display: grid;
    gap: 14px;
}

.password-change-help {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}

.password-change-status {
    margin: 0;
    padding: 10px 12px;
    border-radius: 12px;
    background: #edf7f6;
    color: var(--brand-dark);
    font-weight: 800;
}

.password-change-status.is-error {
    background: #fff1ee;
    color: #9b3f31;
}

.password-change-field {
    display: grid;
    gap: 7px;
    color: var(--text);
    font-weight: 800;
}

.password-change-field input {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid rgba(21, 32, 51, 0.14);
    border-radius: 12px;
    background: #fffdf8;
    color: var(--text);
    font: inherit;
    box-sizing: border-box;
}

.password-change-field input:focus {
    border-color: rgba(15, 122, 120, 0.48);
    outline: 2px solid rgba(15, 122, 120, 0.16);
}

.password-change-field small {
    min-height: 16px;
    color: #9b3f31;
    font-size: 12px;
    font-weight: 800;
}

.dashboard-avatar {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f4efe1 100%);
    color: #1f2937;
    font-size: 24px;
    font-weight: 800;
    box-shadow: inset 0 0 0 1px rgba(31, 41, 55, 0.08);
}

.dashboard-avatar-small {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    font-size: 18px;
    flex: 0 0 auto;
}

.dashboard-main {
    padding: 24px 28px 28px;
}

.dashboard-topbar {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
}

.topbar-back-link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    margin-top: 6px;
    border-radius: 12px;
    border: 1px solid var(--line);
    background: var(--panel-strong);
    color: var(--muted);
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.topbar-back-link:hover {
    background: var(--panel);
    color: var(--text);
    border-color: var(--line-strong);
}

.topbar-back-link svg {
    width: 18px;
    height: 18px;
}

.topbar-title-block {
    flex: 1;
    min-width: 0;
}

.dashboard-topbar h2 {
    margin: 8px 0 0;
    font-size: 28px;
}

.dashboard-breadcrumb {
    color: #7b869c;
    font-size: 14px;
    font-weight: 700;
}

.dashboard-hero-card,
.dashboard-focus-card,
.dashboard-panel {
    border-radius: 32px;
    border: 1px solid rgba(21, 32, 51, 0.08);
    box-shadow: var(--shadow-soft);
}

.dashboard-hero-card {
    display: flex;
    align-items: center;
    padding: 18px 24px;
    color: var(--surface-dark-text);
    background:
        radial-gradient(circle at top right, rgba(216, 167, 69, 0.2), transparent 30%),
        linear-gradient(135deg, var(--surface-dark-alt) 0%, var(--surface-dark) 100%);
}

.dashboard-hero-main {
    display: flex;
    align-items: center;
    gap: 18px;
    flex: 1;
}

.dashboard-hero-info {
    flex: 1;
}

.dashboard-hero-tags {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

.dashboard-hero-tag {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    padding: 8px 14px;
    border-radius: 12px;
    background: var(--surface-dark-card);
    border: 1px solid var(--surface-dark-line);
}

.dashboard-hero-tag span {
    color: var(--surface-dark-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.dashboard-hero-tag strong {
    color: var(--surface-dark-text);
    font-size: 14px;
}

.dashboard-card-eyebrow {
    margin: 0 0 8px;
    color: #8090aa;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.workspace-stage-eyebrow {
    margin: 0 0 8px;
    color: #8090aa;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.dashboard-hero-card .dashboard-card-eyebrow,
.dashboard-hero-subtitle {
    color: var(--surface-dark-muted);
}

.dashboard-hero-card h3,
.dashboard-focus-card h3 {
    font-size: 20px;
}

.dashboard-profile-grid,
.dashboard-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 14px;
}

.dashboard-profile-grid article,
.dashboard-meta-card {
    display: grid;
    gap: 8px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255, 252, 247, 0.82);
    border: 1px solid rgba(21, 32, 51, 0.08);
}

.dashboard-profile-grid span,
.dashboard-meta-card span {
    color: #6f7d92;
    font-size: 12px;
    font-weight: 700;
}

.dashboard-profile-grid strong,
.dashboard-meta-card strong {
    font-size: 16px;
    color: var(--text);
}

.dashboard-focus-card {
    margin-top: 16px;
    padding: 24px 26px;
    background: var(--panel);
}

.current-task-stage-card {
    padding: 28px 28px 24px;
}

.current-task-stage-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

.current-task-stage-title {
    margin: 8px 0 0;
    font-size: 28px;
    line-height: 1.1;
}

.current-task-stage-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 999px;
    background: var(--accent-soft);
    color: #8a5a11;
    border: 1px solid rgba(216, 167, 69, 0.28);
    font-weight: 700;
    font-size: 14px;
    white-space: nowrap;
}

.current-task-stage-badge.is-ready {
    background: var(--brand-soft);
    color: var(--brand-dark);
    border-color: rgba(15, 122, 120, 0.18);
}

.current-task-stage-flow {
    display: grid;
    grid-template-columns: repeat(var(--stage-step-count), minmax(0, 1fr));
    gap: 28px;
    margin-top: 28px;
    width: 100%;
}

.current-task-stage-step {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 12px;
    color: #96a0b4;
}

.current-task-stage-step::after {
    content: "";
    position: absolute;
    top: 34px;
    left: calc(50% + 44px);
    width: calc(100% - 28px);
    height: 6px;
    border-radius: 999px;
    background: #eceef3;
}

.current-task-stage-step:last-child::after {
    display: none;
}

.current-task-stage-icon {
    width: 96px;
    height: 96px;
    border-radius: 28px;
    background: #f4ecdf;
    border: 1px solid #e3d5c0;
}

.current-task-stage-step.is-current .current-task-stage-icon {
    background: linear-gradient(135deg, #f3c86a 0%, var(--accent) 100%);
    border-color: rgba(216, 167, 69, 0.48);
}

.current-task-stage-step.is-done .current-task-stage-icon {
    background: #ebf5f2;
    border-color: rgba(15, 122, 120, 0.16);
}

.current-task-stage-step.is-done::after {
    background: #eef1f5;
}

.current-task-stage-label {
    font-size: 16px;
    font-weight: 700;
}

.current-task-stage-step.is-current .current-task-stage-label {
    color: #1f2937;
}

.current-task-stage-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}

.current-task-stage-meta-card {
    display: grid;
    gap: 10px;
    padding: 18px 20px;
    border-radius: 24px;
    background: #f7f8fb;
}

.current-task-stage-meta-card span {
    color: #96a0b4;
    font-size: 14px;
    font-weight: 700;
}

.current-task-stage-meta-card strong {
    font-size: 22px;
    color: #273142;
}

.current-task-stage-meta-card .deadline-text {
    color: #c7a400;
}

.current-task-stage-meta-card .confirmation-time-text:empty::before {
    content: "";
}

.current-task-stage-footer {
    display: grid;
    gap: 18px;
    margin-top: 26px;
}

.current-task-stage-footer .muted {
    margin: 0;
}

.current-task-primary-action {
    width: 100%;
    min-height: 72px;
    font-size: 20px;
    border-radius: 999px;
}

.dashboard-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

.dashboard-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--accent-soft);
    color: #8a5a11;
    border: 1px solid rgba(216, 167, 69, 0.3);
    font-weight: 700;
    white-space: nowrap;
    font-size: 13px;
}

.dashboard-badge.is-ready {
    background: rgba(224, 247, 242, 0.14);
    color: #ddf9f2;
    border-color: rgba(163, 229, 217, 0.28);
}

.dashboard-focus-card .dashboard-badge.is-ready,
.dashboard-panel .dashboard-badge.is-ready,
.detail-summary-card .dashboard-badge.is-ready,
.detail-records-card .dashboard-badge.is-ready,
.history-records-card .dashboard-badge.is-ready,
.overview-summary-card .dashboard-badge.is-ready,
.overview-records-card .dashboard-badge.is-ready,
.review-content-card .dashboard-badge.is-ready {
    background: var(--brand-soft);
    color: var(--brand-dark);
    border-color: rgba(15, 122, 120, 0.18);
}

.dashboard-step-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.dashboard-step {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 14px;
    border-radius: 18px;
    background: #f7f1e7;
    color: #7b8498;
}

.dashboard-step.is-current {
    background: #fff1cf;
    color: #1f2937;
}

.dashboard-step.is-done {
    background: #e8f4f1;
    color: var(--brand-dark);
}

.dashboard-step-dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.6;
}

.dashboard-meta-grid {
    margin-top: 20px;
}

.dashboard-meta-card {
    background: rgba(255, 252, 247, 0.84);
}

.dashboard-focus-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 20px;
}

.dashboard-primary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 200px;
    min-height: 50px;
    padding: 0 24px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f3c86a 0%, var(--accent) 100%);
    color: #1f2937;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
}

.dashboard-primary-action.is-disabled {
    background: linear-gradient(135deg, #9098a5 0%, #6b7280 100%);
    color: #edf1f7;
    box-shadow: none;
    cursor: not-allowed;
    opacity: 0.88;
    pointer-events: none;
}

.dashboard-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(320px, 0.85fr);
    gap: 18px;
    margin-top: 18px;
}

.dashboard-panel {
    padding: 20px 22px;
    background: var(--panel);
}

.dashboard-task-group + .dashboard-task-group {
    margin-top: 20px;
}

.dashboard-task-group h4 {
    margin-bottom: 12px;
    font-size: 16px;
}

.dashboard-history-list {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.dashboard-history-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--panel-strong);
}

.dashboard-history-item strong {
    color: #111827;
}

.dashboard-history-item p {
    margin-top: 4px;
    color: var(--muted);
}

.dashboard-history-item span {
    color: var(--brand-dark);
    font-weight: 700;
}

.workspace-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: var(--workspace-sidebar-width) minmax(0, 1fr);
}

.review-page-main {
    padding-bottom: 40px;
}

.workspace-stage-card,
.review-content-card {
    border-radius: 32px;
    border: 1px solid rgba(21, 32, 51, 0.08);
    box-shadow: var(--shadow-soft);
}

.workspace-stage-card {
    padding: 24px 26px;
    background:
        radial-gradient(circle at top right, rgba(216, 167, 69, 0.22), transparent 30%),
        linear-gradient(135deg, var(--surface-dark-alt) 0%, var(--surface-dark) 100%);
    color: var(--surface-dark-text);
}

.workspace-stage-card .dashboard-card-eyebrow,
.workspace-stage-card .workspace-stage-eyebrow,
.workspace-stage-card .muted {
    color: var(--surface-dark-muted);
}

.review-page .workspace-stage-card,
.detail-page .workspace-stage-card {
    padding: 22px 24px;
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.98) 0%, rgba(248, 243, 235, 0.96) 100%);
    color: #172334;
    border: 1px solid rgba(219, 206, 186, 0.58);
    box-shadow:
        0 18px 36px rgba(44, 35, 18, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.review-page .workspace-stage-card .dashboard-card-eyebrow,
.review-page .workspace-stage-card .workspace-stage-eyebrow,
.review-page .workspace-stage-card .muted,
.detail-page .workspace-stage-card .dashboard-card-eyebrow,
.detail-page .workspace-stage-card .workspace-stage-eyebrow,
.detail-page .workspace-stage-card .muted {
    color: #7f879a;
}

.review-page .workspace-stage-card .dashboard-badge,
.detail-page .workspace-stage-card .dashboard-badge {
    background: linear-gradient(180deg, #fff8ea 0%, #f6ead1 100%);
    color: #8a6219;
    border-color: rgba(216, 167, 69, 0.32);
    box-shadow: none;
}

.review-page .workspace-stage-card .dashboard-badge.is-ready,
.detail-page .workspace-stage-card .dashboard-badge.is-ready {
    background: linear-gradient(180deg, #edf8f4 0%, #dff1e9 100%);
    color: #2d7357;
    border-color: rgba(92, 178, 143, 0.28);
}

.review-confirm-form-topbar {
    flex: 0 0 auto;
    margin-left: auto;
    padding-top: 50px;
}

.detail-confirm-button {
    min-width: 132px;
    min-height: 44px;
    border-radius: 14px;
    font-size: 16px;
    box-shadow: 0 16px 30px rgba(10, 95, 102, 0.22);
}

.overview-stage-focus {
    margin: 18px 0 0;
    color: rgba(235, 242, 247, 0.92);
    font-size: 14px;
}

.review-stage-progress {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.workspace-stage-card .progress-chip {
    background: rgba(241, 247, 250, 0.12);
    color: var(--surface-dark-text);
    border-color: var(--surface-dark-line);
}

.review-flow-strip {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin-top: 18px;
    overflow: visible;
    padding-bottom: 0;
}

.review-flow-step {
    display: flex;
    align-items: center;
    flex: 1 1 0;
    min-width: 0;
    margin-right: -10px;
}

.review-flow-node {
    flex: 1 1 auto;
    min-height: 78px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 34px;
    background: linear-gradient(180deg, rgba(250, 247, 242, 0.98) 0%, rgba(243, 238, 231, 0.98) 100%);
    color: #8891a5;
    border: 1px solid rgba(221, 213, 198, 0.82);
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 18px 50%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.6),
        0 8px 18px rgba(8, 14, 22, 0.06);
}

.review-flow-node.is-first {
    padding-left: 24px;
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%);
}

.review-flow-node.is-last {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 18px 50%);
}

.review-flow-step.is-current .review-flow-node {
    background: linear-gradient(135deg, #fff2d8 0%, #f8dfb8 100%);
    color: #172334;
    border-color: rgba(216, 167, 69, 0.82);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.82),
        0 12px 26px rgba(216, 167, 69, 0.12);
}

.review-flow-step.is-done .review-flow-node {
    background: linear-gradient(135deg, rgba(224, 242, 246, 0.98) 0%, rgba(207, 233, 241, 0.98) 100%);
    color: #1f4052;
    border-color: rgba(126, 183, 206, 0.68);
}

.review-flow-dot {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.72;
    flex: 0 0 auto;
}

.review-flow-step.is-current .review-flow-dot,
.review-flow-step.is-done .review-flow-dot {
    opacity: 1;
}

.review-flow-node strong {
    font-size: 15px;
    line-height: 1.2;
    white-space: nowrap;
}

.review-flow-arrow {
    display: none;
}

.review-step-strip,
.review-meta-grid {
    margin-top: 20px;
}

.review-page .review-meta-grid,
.detail-page .review-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.detail-page .review-meta-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.detail-page .workspace-stage-card .dashboard-meta-card {
    min-width: 0;
    padding: 16px 18px;
}

.detail-page .workspace-stage-card .dashboard-meta-card strong {
    font-size: 18px;
    white-space: nowrap;
}

.review-page .workspace-stage-card .dashboard-meta-card,
.detail-page .workspace-stage-card .dashboard-meta-card {
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(226, 216, 199, 0.78);
    backdrop-filter: none;
}

.review-page .workspace-stage-card .dashboard-meta-card span,
.detail-page .workspace-stage-card .dashboard-meta-card span {
    color: #8a90a1;
}

.review-page .workspace-stage-card .dashboard-meta-card strong,
.detail-page .workspace-stage-card .dashboard-meta-card strong {
    color: #172334;
}
.review-policy-note {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(215, 176, 95, 0.36);
    background: rgba(255, 248, 234, 0.74);
    color: #5f4a22;
    font-size: 14px;
    line-height: 1.7;
}
.review-policy-note strong {
    display: inline-block;
    margin-bottom: 2px;
    color: #172334;
}
.review-policy-note ol {
    margin: 0;
    padding-left: 1.35em;
}
.review-policy-note li + li {
    margin-top: 2px;
}

.review-content-card {
    margin-top: 22px;
    padding: 24px 26px;
    background: var(--panel);
}

.review-form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
}

.review-submit-action {
    min-width: 240px;
    border: 0;
    cursor: pointer;
}

.review-submit-action:disabled {
    background: linear-gradient(135deg, #9ca3af 0%, #6b7280 100%);
    color: #e5e7eb;
    cursor: not-allowed;
    box-shadow: none;
    opacity: 0.7;
}

/* .detail-workspace-shell merged into .workspace-shell */

.detail-records-card {
    border-radius: 32px;
    border: 1px solid rgba(21, 32, 51, 0.08);
    box-shadow: var(--shadow-soft);
}

.detail-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    margin-top: 22px;
}

.detail-records-card {
    display: block;
    grid-column: 1 / -1;
    width: 100%;
    min-width: 100%;
    max-width: none;
    padding: 20px 22px;
    background: var(--panel);
}

.detail-metric-table {
    margin-top: 14px;
    table-layout: auto;
}

.detail-metric-table .score-result-cell {
    text-align: center;
    vertical-align: middle;
}

.detail-metric-table .score-result-value {
    display: inline-block;
    font-size: 18px;
    font-weight: 800;
    color: #182536;
}

.detail-metric-table .score-result-empty {
    color: var(--muted);
    font-weight: 600;
}

.detail-score-record-cell {
    min-width: 220px;
}

.detail-score-record-list {
    display: grid;
    gap: 8px;
}

.detail-score-record {
    padding: 10px 12px;
    border: 1px solid rgba(216, 226, 238, 0.82);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.68);
}

.detail-score-record-main {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.detail-score-record-main strong {
    min-width: 0;
    color: #172334;
    font-size: 13px;
}

.detail-score-role {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(237, 247, 246, 0.92);
    color: var(--brand-dark);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.detail-score-value {
    margin-left: auto;
    color: #172334;
    font-size: 16px;
    font-weight: 900;
}

.detail-score-record p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.satisfaction-detail-panel {
    margin-top: 20px;
}

.satisfaction-detail-head {
    align-items: start;
}

.satisfaction-detail-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(160px, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.satisfaction-detail-summary article {
    padding: 14px 16px;
    border: 1px solid rgba(226, 216, 199, 0.78);
    border-radius: 16px;
    background: rgba(255, 252, 247, 0.86);
}

.satisfaction-detail-summary span {
    display: block;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.satisfaction-detail-summary strong {
    display: block;
    margin-top: 6px;
    color: #172334;
    font-size: 22px;
}

.satisfaction-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.satisfaction-detail-table-wrap {
    margin-top: 18px;
    overflow-x: auto;
    border: 1px solid rgba(226, 216, 199, 0.78);
    border-radius: 16px;
    background: rgba(255, 252, 247, 0.9);
}

.satisfaction-detail-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.satisfaction-detail-table th,
.satisfaction-detail-table td {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(226, 216, 199, 0.72);
    text-align: left;
    vertical-align: middle;
}

.satisfaction-detail-table th {
    background: rgba(239, 246, 245, 0.82);
    color: #172334;
    font-size: 13px;
    font-weight: 900;
}

.satisfaction-detail-table td {
    color: #172334;
    font-weight: 800;
}

.satisfaction-detail-table tbody tr:last-child td {
    border-bottom: 0;
}

.satisfaction-detail-table th:nth-child(n+3),
.satisfaction-detail-table td:nth-child(n+3) {
    text-align: center;
}

.satisfaction-detail-table tbody tr.is-pending td {
    color: var(--muted);
}

.satisfaction-detail-record {
    min-width: 0;
}

.detail-metric-table th,
.detail-metric-table td {
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
}

.detail-metric-table th:nth-child(1),
.detail-metric-table td:nth-child(1) {
    width: 12%;
}

.detail-metric-table th:nth-child(2),
.detail-metric-table td:nth-child(2) {
    width: 23%;
}

.detail-metric-table th:nth-child(3),
.detail-metric-table td:nth-child(3) {
    width: 30%;
}

.detail-metric-table th:nth-child(4),
.detail-metric-table td:nth-child(4) {
    width: 9%;
}

.detail-metric-table th:nth-child(5),
.detail-metric-table td:nth-child(5) {
    width: 8%;
}

.detail-metric-table th:nth-child(6),
.detail-metric-table td:nth-child(6) {
    width: 18%;
}

/* .history-workspace-shell merged into .workspace-shell */

.history-records-card {
    border-radius: 32px;
    border: 1px solid rgba(21, 32, 51, 0.08);
    box-shadow: var(--shadow-soft);
}

.history-records-card {
    margin-top: 22px;
    padding: 20px 22px;
    background: var(--panel);
}

.history-list-grid {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.history-list-item {
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: space-between;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: var(--panel-strong);
}

.history-list-main strong,
.history-list-main p {
    margin: 0;
}

.history-list-main p {
    margin-top: 4px;
    color: var(--muted);
}

.history-list-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    flex: 1 1 auto;
}

.history-list-side {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.history-list-side .button-link {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

/* .overview-workspace-shell and .admin-workspace-shell merged into .workspace-shell */

.admin-page-intro {
    margin-top: 10px;
    max-width: 640px;
}

.permission-summary-card,
.permission-table-card,
.account-create-card,
.admin-placeholder-card {
    margin-top: 28px;
}

.cycle-management-card {
    margin-top: 0;
}

.permission-summary-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.account-summary-card .permission-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.account-summary-card .permission-summary-item {
    min-height: 126px;
    justify-content: center;
    border-color: rgba(216, 198, 166, 0.74);
    background: linear-gradient(180deg, #fff 0%, rgba(248, 252, 251, 0.94) 100%);
}

.amount-baseline-topbar {
    align-items: flex-start;
}

.amount-baseline-topbar .topbar-title-block {
    min-width: 0;
    flex: 1 1 auto;
}

.amount-baseline-period-card {
    display: grid;
    gap: 6px;
    min-width: 180px;
    padding: 14px 16px;
    border: 1px solid rgba(0, 118, 122, 0.18);
    border-radius: 18px;
    background: rgba(232, 250, 247, 0.78);
    color: var(--brand-dark);
}

.amount-baseline-period-card span {
    color: #5d8080;
    font-size: 12px;
    font-weight: 900;
}

.amount-baseline-period-card strong {
    color: #063f42;
    font-size: 20px;
    line-height: 1;
}

.amount-baseline-summary-card {
    margin-top: 28px;
    padding: 24px 28px;
    border-color: rgba(216, 198, 166, 0.72);
    background: rgba(255, 253, 248, 0.94);
    box-shadow: 0 22px 46px rgba(33, 27, 12, 0.10);
}

.amount-baseline-summary-layout {
    display: grid;
    grid-template-columns: minmax(220px, 0.72fr) minmax(0, 2.3fr) minmax(220px, 0.72fr);
    gap: 22px;
    align-items: stretch;
}

.amount-baseline-summary-title {
    display: grid;
    align-content: center;
    gap: 10px;
    padding-right: 18px;
    border-right: 1px solid rgba(216, 198, 166, 0.72);
}

.amount-baseline-summary-title h3,
.amount-baseline-summary-title p {
    margin: 0;
}

.amount-baseline-summary-title h3 {
    color: var(--text);
    font-size: 24px;
    line-height: 1.15;
}

.amount-baseline-summary-title p {
    max-width: 260px;
    font-weight: 700;
    line-height: 1.5;
}

.amount-baseline-summary-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.amount-baseline-summary-metric {
    position: relative;
    min-height: 132px;
    padding: 16px 18px 14px;
    border: 1px solid rgba(216, 198, 166, 0.72);
    border-radius: 18px;
    background: linear-gradient(180deg, #fff 0%, rgba(248, 252, 251, 0.94) 100%);
    overflow: hidden;
}

.amount-baseline-summary-metric::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--brand);
}

.amount-baseline-summary-metric.is-warning::before {
    background: #d8aa42;
}

.amount-baseline-summary-metric .overview-card-label,
.amount-baseline-summary-metric .overview-card-value,
.amount-baseline-summary-metric small {
    position: relative;
    z-index: 1;
}

.amount-baseline-summary-metric .overview-card-label {
    color: var(--home-copy-muted);
    font-size: 15px;
    font-weight: 800;
}

.amount-baseline-summary-metric .overview-card-value {
    margin-top: 20px;
    color: var(--brand-dark);
    font-size: 34px;
    line-height: 1;
    font-weight: 900;
}

.amount-baseline-summary-metric small {
    display: block;
    margin-top: 12px;
    color: #7a879d;
    font-size: 12px;
    font-weight: 800;
}

.amount-baseline-completion-card {
    display: grid;
    align-content: center;
    gap: 12px;
    padding: 20px;
    border: 1px solid rgba(0, 118, 122, 0.18);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(232, 250, 247, 0.98) 0%, rgba(247, 255, 252, 0.98) 100%);
    color: var(--brand-dark);
}

.amount-baseline-completion-card span {
    color: #5d8080;
    font-size: 14px;
    font-weight: 900;
}

.amount-baseline-completion-card strong {
    color: var(--brand-dark);
    font-size: 38px;
    line-height: 1;
}

.amount-baseline-completion-card p {
    margin: 0;
    color: #547577;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
}

.amount-baseline-completion-bar {
    height: 10px;
    border-radius: 999px;
    background: rgba(0, 118, 122, 0.14);
    overflow: hidden;
}

.amount-baseline-completion-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--brand), #18a09a);
}

.permission-table-head {
    gap: 18px;
}

.permission-search-form {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.permission-search-input {
    min-width: 280px;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 14px;
    border: 1px solid rgba(21, 32, 51, 0.12);
    background: rgba(255, 251, 245, 0.92);
    color: var(--text);
    font: inherit;
}

.permission-rows {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.permission-department-list {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.permission-department-rows {
    margin-top: 0;
    padding: 0 16px 16px;
}

.permission-department-rows .permission-row {
    width: min(1120px, calc(100% - 48px));
    margin-inline: auto;
    border-radius: 8px;
}

.permission-row {
    display: grid;
    grid-template-columns: minmax(160px, 0.75fr) minmax(620px, 1.9fr) 96px;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    border-radius: 24px;
    border: 1px solid rgba(216, 198, 166, 0.72);
    background: linear-gradient(180deg, var(--home-card-surface-strong) 0%, #f3ede4 100%);
}

.permission-employee strong,
.permission-employee p {
    display: block;
    margin: 0;
}

.permission-employee p {
    margin-top: 6px;
    color: var(--home-copy-muted);
}

.permission-switch-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.permission-switch-grid label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #182536;
    font-weight: 600;
}

.permission-row-side {
    display: grid;
    place-items: center;
    gap: 12px;
}

.permission-status-chip.is-enabled {
    background: #edf7f6;
    color: var(--brand-dark);
    border-color: #c6e7e4;
}

.account-create-form {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.amount-baseline-create-card {
    overflow: hidden;
    padding: 0;
}

.account-create-grid {
    display: grid;
    gap: 14px;
}

.account-create-row {
    display: grid;
    gap: 14px;
    align-items: end;
}

.account-create-row-primary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.account-create-row-secondary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.amount-baseline-create-form {
    gap: 14px;
    margin-top: 0;
}

.amount-baseline-create-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 0;
    align-items: stretch;
}

.amount-baseline-form-main {
    min-width: 0;
    padding: 20px;
}

.amount-baseline-form-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.amount-baseline-form-head h3 {
    margin: 0;
    color: var(--text);
    font-size: 21px;
}

.amount-baseline-form-head .muted {
    margin: 6px 0 0;
    font-weight: 700;
}

.amount-baseline-clear-button {
    min-height: 38px;
    padding-inline: 16px;
    border-radius: 13px;
    white-space: nowrap;
}

.amount-baseline-form-matrix {
    display: grid;
    grid-template-columns: minmax(280px, 2fr) minmax(116px, 0.65fr) minmax(116px, 0.65fr) minmax(176px, 0.95fr);
    column-gap: 12px;
    row-gap: 12px;
    align-items: end;
}

.account-create-row label {
    display: grid;
    gap: 8px;
    min-width: 0;
    color: #182536;
    font-weight: 700;
}

.amount-baseline-form-matrix label {
    display: grid;
    gap: 7px;
    min-width: 0;
    color: #182536;
    font-weight: 800;
}

.amount-baseline-form-matrix input,
.amount-baseline-form-matrix select {
    min-height: 42px;
    width: 100%;
    min-width: 0;
    padding: 0 12px;
    border-radius: 13px;
    border: 1px solid rgba(216, 198, 166, 0.74);
    background: rgba(255, 251, 245, 0.96);
    color: var(--text);
    font: inherit;
    font-weight: 800;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.amount-baseline-form-matrix input:focus,
.amount-baseline-form-matrix select:focus {
    outline: 2px solid rgba(0, 118, 122, 0.18);
    border-color: rgba(0, 118, 122, 0.48);
    background: #fffdf8;
}

.account-create-grid input,
.account-create-grid select,
.account-password-form input {
    min-height: 42px;
    min-width: 0;
    width: 100%;
    padding: 0 12px;
    border-radius: 12px;
    border: 1px solid rgba(21, 32, 51, 0.12);
    background: rgba(255, 251, 245, 0.94);
    color: var(--text);
    font: inherit;
}

.amount-baseline-password-field {
    grid-column: auto;
}

.amount-baseline-password-group {
    display: block;
    min-width: 0;
}

.amount-baseline-note-field {
    grid-column: auto;
}

.amount-baseline-password-toggle {
    display: flex !important;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 42px;
    padding: 0;
    color: var(--home-copy-muted);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    white-space: nowrap;
}

.amount-baseline-password-toggle input {
    flex: 0 0 auto;
    height: 16px;
    min-height: auto;
    width: 16px;
    margin: 0;
    padding: 0;
    border-radius: 4px;
    box-shadow: none;
    accent-color: var(--brand);
}

.amount-baseline-save-button {
    min-height: 44px;
    max-width: none;
    width: 100%;
    white-space: nowrap;
    align-self: end;
    border-radius: 14px;
    box-shadow: 0 16px 30px rgba(8, 122, 120, 0.18);
}

.amount-baseline-security-panel {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 20px;
    border: 0;
    border-left: 1px solid rgba(0, 118, 122, 0.18);
    border-radius: 0;
    background: linear-gradient(180deg, rgba(232, 250, 247, 0.9) 0%, rgba(246, 255, 251, 0.96) 100%);
    color: #0b4f50;
}

.amount-baseline-security-head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.amount-baseline-security-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: rgba(0, 118, 122, 0.1);
    color: #00787a;
}

.amount-baseline-security-icon svg {
    width: 22px;
    height: 22px;
}

.amount-baseline-security-panel strong {
    display: block;
    margin: 2px 0 0;
    color: #083b3d;
    font-size: 18px;
}

.amount-baseline-security-panel ul {
    display: grid;
    gap: 6px;
    margin: 0;
    padding-left: 18px;
    color: #40696b;
    font-weight: 800;
}

.amount-baseline-security-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.amount-baseline-security-metrics span {
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid rgba(0, 118, 122, 0.18);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.54);
}

.amount-baseline-security-metrics small {
    color: #597574;
    font-size: 12px;
    font-weight: 900;
}

.amount-baseline-security-metrics strong {
    margin: 0;
    color: #075b59;
    font-size: 18px;
}

.amount-baseline-row {
    display: grid;
    grid-template-columns: minmax(230px, 1.1fr) 128px 128px 138px 112px;
    gap: 14px;
    align-items: center;
    min-height: 70px;
    padding: 0 16px;
    border-bottom: 1px solid rgba(216, 198, 166, 0.45);
    background: rgba(255, 253, 248, 0.72);
}

.amount-baseline-row:last-child {
    border-bottom: 0;
}

.amount-baseline-row-head {
    min-height: 42px;
    color: var(--home-copy-muted);
    background: rgba(255, 250, 242, 0.92);
    font-size: 0.78rem;
    font-weight: 900;
}

.amount-baseline-employee strong,
.amount-baseline-employee p {
    display: block;
    margin: 0;
}

.amount-baseline-employee p {
    margin-top: 4px;
    color: var(--home-copy-muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.amount-baseline-period strong {
    color: #102133;
    font-weight: 900;
}

.amount-baseline-period span,
.amount-baseline-current span {
    color: var(--home-copy-muted);
    font-weight: 800;
}

.amount-baseline-actions {
    justify-content: flex-start;
}

.account-active-toggle {
    display: flex !important;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding-bottom: 1px;
    color: #182536;
    white-space: nowrap;
}

.account-active-toggle input {
    flex: 0 0 auto;
    min-height: auto;
    width: 16px;
    height: 16px;
    accent-color: var(--brand);
}

.account-create-submit-group {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
}

.account-create-actions {
    display: flex;
    justify-content: flex-end;
    align-self: end;
    min-width: 0;
}

.account-create-actions .primary-button {
    min-height: 42px;
    padding-inline: 20px;
    border-radius: 14px;
    white-space: nowrap;
}

.account-rows {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(216, 198, 166, 0.68);
    border-radius: 16px;
    background: rgba(255, 253, 248, 0.86);
}

.account-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.25fr) minmax(132px, 0.74fr) 100px minmax(250px, 1.12fr) 190px;
    gap: 14px;
    align-items: center;
    min-height: 74px;
    padding: 0 14px;
    border-bottom: 1px solid rgba(216, 198, 166, 0.45);
    background: rgba(255, 253, 248, 0.72);
}

.account-row:last-child {
    border-bottom: 0;
}

.account-row-head {
    min-height: 42px;
    color: var(--home-copy-muted);
    background: rgba(255, 250, 242, 0.92);
    font-size: 0.78rem;
    font-weight: 900;
}

.account-row-cell {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.account-row-cell strong,
.account-row-cell p,
.account-row-cell small {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-row-cell strong {
    color: var(--text);
    font-size: 0.96rem;
    font-weight: 900;
}

.account-row-cell p,
.account-row-cell small {
    color: var(--home-copy-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.account-login-cell p,
.account-id-value {
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
}

.account-cell-label {
    display: none;
    color: var(--home-copy-muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
}

.account-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(21, 32, 51, 0.1);
    font-size: 0.86rem;
    font-weight: 800;
}

.account-status-chip.is-enabled {
    background: #edf7f6;
    color: var(--brand-dark);
    border-color: #c6e7e4;
}

.account-status-chip.is-disabled {
    background: #f8ece8;
    color: #9a3d28;
    border-color: #efcabe;
}

.account-id-form {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
}

.account-id-form label {
    display: grid;
    min-width: 0;
}

.account-id-value {
    width: 100%;
    min-height: 38px;
    padding: 0 11px;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid rgba(21, 32, 51, 0.12);
    background: #fffdf8;
    color: #102133;
    text-overflow: ellipsis;
}

.account-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
}

.account-state-form {
    display: flex;
    align-items: center;
}

.account-id-form button,
.account-state-form button,
.account-reset-open-button {
    min-height: 38px;
    padding-inline: 14px;
    border-radius: 12px;
    white-space: nowrap;
}

.account-id-form .account-icon-button {
    min-width: 38px;
    width: 38px;
    padding: 0;
    font-size: 1rem;
    line-height: 1;
}

.account-row-actions button[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
}

.account-reset-open-button {
    min-width: 86px;
}

.account-reset-modal-backdrop {
    z-index: 60;
}

.account-reset-modal {
    width: min(420px, calc(100vw - 32px));
}

.account-reset-modal-body {
    display: grid;
    gap: 14px;
}

.account-reset-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.account-reset-fields label {
    display: grid;
    gap: 6px;
    color: #29364a;
    font-weight: 900;
}

.account-reset-fields input {
    min-width: 0;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid rgba(21, 32, 51, 0.12);
    border-radius: 12px;
    background: #fffdf8;
}

.account-reset-hint {
    margin: 0;
    color: var(--home-copy-muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.admin-placeholder-copy {
    display: grid;
    gap: 10px;
    margin-top: 20px;
    padding: 18px 20px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 251, 245, 0.94) 0%, #f5eee4 100%);
    border: 1px solid rgba(216, 198, 166, 0.56);
    color: #182536;
}

.cycle-management-grid {
    display: grid;
    gap: 16px;
    margin-top: 16px;
}

.cycle-main-column {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.cycle-panel,
.cycle-action-panel {
    border: 1px solid rgba(216, 198, 166, 0.68);
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.96) 0%, #f6efe5 100%);
    box-shadow: 0 18px 38px rgba(39, 28, 12, 0.06);
}

.cycle-panel {
    padding: 18px;
    border-radius: 18px;
}

.cycle-action-panel {
    display: grid;
    gap: 16px;
    margin-top: 20px;
    padding: 18px;
    border-radius: 18px;
}

.cycle-action-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.cycle-action-head h4 {
    margin: 4px 0 0;
    color: #142134;
    font-size: 18px;
}

.cycle-action-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: end;
}

.cycle-generation-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
    min-width: 0;
}

.cycle-action-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.cycle-action-buttons form {
    min-width: 0;
}

.cycle-action-buttons button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid rgba(116, 163, 160, 0.35);
    background: rgba(239, 249, 248, 0.88);
    color: var(--brand-dark);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
}

.cycle-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.cycle-section-head h4,
.cycle-action-panel h4 {
    margin: 4px 0 0;
    color: #142134;
    font-size: 18px;
}

.cycle-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.cycle-kpi-card {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 14px;
    border-radius: 14px;
    border: 1px solid rgba(216, 198, 166, 0.7);
    background: rgba(255, 252, 247, 0.84);
}

.cycle-kpi-card span,
.cycle-period-head,
.cycle-lock-summary span,
.cycle-form-grid span {
    color: var(--home-copy-muted);
    font-size: 12px;
    font-weight: 800;
}

.cycle-kpi-card strong {
    color: #152033;
    font-size: 28px;
    line-height: 1;
}

.cycle-kpi-card.is-total {
    border-color: rgba(116, 163, 160, 0.42);
}

.cycle-kpi-card.is-waiting,
.cycle-kpi-card.is-warning {
    border-color: rgba(214, 165, 74, 0.5);
}

.cycle-kpi-card.is-complete {
    border-color: rgba(88, 159, 132, 0.46);
}

.cycle-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(116, 163, 160, 0.38);
    background: #eef8f7;
    color: var(--brand-dark);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.cycle-status-chip.is-completed {
    border-color: rgba(88, 159, 132, 0.38);
    background: #edf7f1;
    color: #2f765d;
}

.cycle-status-chip.is-locked {
    border-color: rgba(112, 121, 137, 0.3);
    background: #eef1f4;
    color: #4c596b;
}

.cycle-status-chip.is-empty {
    border-color: rgba(214, 165, 74, 0.36);
    background: #fff6df;
    color: #8f671b;
}

.cycle-period-table {
    display: grid;
    overflow-x: auto;
    border: 1px solid rgba(216, 198, 166, 0.68);
    border-radius: 14px;
}

.cycle-period-row {
    display: grid;
    grid-template-columns: 92px minmax(128px, 1fr) 84px 92px 92px 82px 168px;
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(216, 198, 166, 0.58);
}

.cycle-period-row:last-child {
    border-bottom: 0;
}

.cycle-period-row > * {
    min-width: 0;
}

.cycle-period-row strong,
.cycle-period-row span {
    overflow-wrap: anywhere;
}

.cycle-period-head {
    min-height: 36px;
    padding-block: 8px;
    background: rgba(240, 232, 219, 0.54);
}

.cycle-period-head > span:last-child {
    text-align: center;
}

.cycle-record-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: end;
    margin-bottom: 16px;
}

.cycle-record-title-block {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.cycle-record-title-block .muted {
    max-width: 640px;
    margin: 0;
}

.cycle-record-actions {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.amount-export-inline-form {
    display: flex;
    align-items: end;
    gap: 10px;
    min-width: 0;
    margin-top: 0;
}

.amount-export-passphrase-field {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: #142134;
    font-size: 14px;
    font-weight: 800;
}

.amount-export-passphrase-field span {
    color: var(--home-copy-muted);
    font-size: 12px;
    font-weight: 800;
}

.amount-export-passphrase-field input {
    width: 220px;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid rgba(216, 198, 166, 0.82);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
    color: #142134;
    font: inherit;
    font-weight: 800;
}

.amount-export-inline-form .primary-button,
.cycle-record-actions .cycle-light-button {
    min-height: 42px;
    padding-inline: 14px;
    white-space: nowrap;
}

.cycle-bulk-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 12px 0 16px;
    padding: 12px 14px;
    border: 1px solid rgba(216, 198, 166, 0.62);
    border-radius: 14px;
    background: rgba(255, 253, 247, 0.72);
}

.cycle-bulk-select-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #142134;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}

.cycle-bulk-count,
.cycle-bulk-help {
    color: var(--home-copy-muted);
    font-size: 13px;
    font-weight: 800;
}

.cycle-bulk-reset-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid rgba(212, 166, 65, 0.46);
    border-radius: 11px;
    background: rgba(255, 246, 222, 0.92);
    color: #8b5d00;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
}

.cycle-bulk-reset-button:disabled {
    cursor: not-allowed;
    opacity: 0.48;
}

.cycle-record-table {
    display: grid;
    margin-top: 18px;
    overflow-x: auto;
    border: 1px solid rgba(216, 198, 166, 0.68);
    border-radius: 14px;
}

.cycle-record-row {
    display: grid;
    grid-template-columns: 46px minmax(120px, 0.9fr) minmax(140px, 1fr) minmax(92px, 0.8fr) 96px 72px 82px 96px 96px;
    gap: 10px;
    align-items: center;
    min-width: 920px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(216, 198, 166, 0.58);
}

.cycle-record-row:last-child {
    border-bottom: 0;
}

.cycle-record-row > * {
    min-width: 0;
}

.cycle-record-row strong,
.cycle-record-row span {
    overflow-wrap: anywhere;
}

.cycle-record-select-cell {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cycle-record-select-cell input[type="checkbox"],
.cycle-bulk-select-all input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--brand-dark);
    cursor: pointer;
}

.cycle-record-select-cell input[type="checkbox"]:disabled {
    cursor: not-allowed;
    opacity: 0.38;
}

.cycle-record-head {
    min-height: 36px;
    padding-block: 8px;
    background: rgba(240, 232, 219, 0.54);
    color: var(--home-copy-muted);
    font-size: 12px;
    font-weight: 800;
}

.cycle-row-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: nowrap;
    width: 100%;
}

.cycle-row-actions form {
    margin: 0;
}

.cycle-row-actions a,
.cycle-row-actions button,
.cycle-light-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 10px;
    border-radius: 10px;
    border: 1px solid rgba(116, 163, 160, 0.35);
    background: rgba(239, 249, 248, 0.88);
    color: var(--brand-dark);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
}

.cycle-row-actions .cycle-danger-button {
    border-color: rgba(196, 80, 72, 0.36);
    background: rgba(255, 241, 239, 0.94);
    color: #9f3029;
}

.cycle-reset-disabled {
    color: var(--home-copy-muted);
    font-size: 12px;
    font-weight: 800;
}

.cycle-activity-list {
    display: grid;
    gap: 12px;
}

.cycle-activity-item {
    display: grid;
    grid-template-columns: 14px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(216, 198, 166, 0.6);
    background: rgba(255, 252, 247, 0.76);
}

.cycle-activity-item strong,
.cycle-lock-summary strong {
    color: #152033;
}

.cycle-activity-item p {
    margin: 4px 0 0;
    color: var(--home-copy-muted);
    font-size: 13px;
}

.cycle-activity-dot {
    width: 10px;
    height: 10px;
    margin-top: 5px;
    border-radius: 999px;
    background: var(--brand);
}

.cycle-activity-item.is-warning .cycle-activity-dot {
    background: #d6a54a;
}

.cycle-activity-item.is-waiting .cycle-activity-dot {
    background: #8792a3;
}

.cycle-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.cycle-form-grid label {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.cycle-form-grid select {
    width: 100%;
    min-height: 40px;
    padding: 0 10px;
    border-radius: 10px;
    border: 1px solid rgba(216, 198, 166, 0.82);
    background: #fffaf3;
    color: #152033;
    font: inherit;
    font-weight: 700;
}

.cycle-checkbox-list {
    display: grid;
    gap: 8px;
}

.cycle-checkbox-list label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #263449;
    font-weight: 700;
}

.cycle-primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.cycle-lock-summary {
    display: grid;
    gap: 8px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(216, 198, 166, 0.62);
    background: rgba(255, 252, 247, 0.72);
}

.cycle-side-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.template-management-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    margin-top: 20px;
}

.template-search-field input {
    width: 100%;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 12px;
    border: 1px solid rgba(21, 32, 51, 0.12);
    background: rgba(255, 251, 245, 0.94);
    color: var(--text);
    font: inherit;
}

.template-search-field input:focus,
.template-status-tab:focus,
.template-create-button:focus,
.template-row-actions button:focus,
.template-row-actions a:focus,
.template-editor-close:focus,
.template-editor-nav a:focus,
.template-editor-footer button:focus {
    outline: 2px solid rgba(15, 122, 120, 0.38);
    outline-offset: 2px;
}

.template-status-tabs {
    display: inline-flex;
    align-items: center;
    padding: 4px;
    border-radius: 12px;
    border: 1px solid rgba(216, 198, 166, 0.72);
    background: #f7f1e7;
}

.template-status-tab,
.template-create-button,
.template-row-actions button {
    border: 0;
    cursor: pointer;
    font: inherit;
}

.template-status-tab {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 8px;
    background: transparent;
    color: var(--home-copy-muted);
    font-weight: 700;
}

.template-status-tab:hover,
.template-status-tab.is-active {
    background: var(--panel-strong);
    color: var(--text);
    box-shadow: 0 6px 16px rgba(44, 35, 18, 0.08);
}

.template-create-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 12px;
    background: var(--brand-dark);
    color: #fffdf8;
    font-weight: 800;
}

.template-create-button:hover {
    background: var(--brand);
}

.template-department-list {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.template-department-group {
    border: 1px solid rgba(216, 198, 166, 0.72);
    border-radius: 8px;
    background: linear-gradient(180deg, var(--home-card-surface-strong) 0%, #f5efe7 100%);
    overflow: hidden;
}

.template-department-summary {
    display: grid;
    grid-template-columns: 28px minmax(220px, 1fr) minmax(280px, auto);
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
}

.template-department-summary::-webkit-details-marker {
    display: none;
}

.template-department-summary:hover {
    background: rgba(255, 251, 245, 0.58);
}

.template-department-chevron {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: #f0e5d6;
    color: var(--text);
}

.template-department-chevron svg {
    width: 15px;
    height: 15px;
    transition: transform 160ms ease;
}

.template-department-group[open] .template-department-chevron svg {
    transform: rotate(90deg);
}

.template-department-title {
    display: grid;
    gap: 2px;
}

.template-department-title strong {
    font-size: 17px;
    color: var(--text);
}

.template-department-title small {
    color: var(--home-copy-muted);
    font-weight: 700;
}

.template-department-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.template-department-meta span,
.template-status-chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(216, 198, 166, 0.72);
    background: #fbf7ef;
    color: #182536;
    font-size: 12px;
    font-weight: 800;
}

.template-employee-table {
    display: grid;
    border-top: 1px solid rgba(216, 198, 166, 0.72);
}

.template-employee-row {
    display: grid;
    grid-template-columns: minmax(150px, 0.9fr) minmax(240px, 1.3fr) minmax(120px, 0.8fr) 64px 70px 90px 98px 82px;
    gap: 12px;
    align-items: center;
    padding: 14px 18px;
    border-top: 1px solid rgba(216, 198, 166, 0.42);
}

.template-employee-row:first-child {
    border-top: 0;
}

.template-employee-head {
    min-height: 38px;
    padding-top: 10px;
    padding-bottom: 10px;
    background: rgba(239, 231, 219, 0.74);
    color: var(--home-copy-muted);
    font-size: 12px;
    font-weight: 800;
}

.template-employee-person,
.template-employee-template {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.template-employee-person strong,
.template-employee-template strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--text);
}

.template-employee-person span {
    color: var(--home-copy-muted);
    font-size: 13px;
    font-weight: 700;
}

.template-status-chip.is-enabled {
    border-color: #c6e7e4;
    background: #edf7f6;
    color: var(--brand-dark);
}

.template-status-chip.is-missing {
    border-color: rgba(216, 167, 69, 0.34);
    background: var(--accent-soft);
    color: #7b5818;
}

.template-row-actions {
    display: flex;
    gap: 8px;
}

.template-row-actions button,
.template-row-actions a {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid rgba(21, 32, 51, 0.1);
    background: var(--panel-strong);
    color: var(--text);
}

.template-row-actions button:hover,
.template-row-actions a:hover {
    border-color: rgba(15, 122, 120, 0.32);
    color: var(--brand-dark);
}

.template-row-actions svg {
    width: 16px;
    height: 16px;
}

.template-draft-chip {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 24px;
    padding: 0 8px;
    border: 1px solid rgba(216, 167, 69, 0.34);
    border-radius: 999px;
    background: var(--accent-soft);
    color: #7b5818;
    font-size: 12px;
    font-weight: 800;
}

.template-editor-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 80;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: min(1120px, calc(100vw - 360px));
    height: 100vh;
    background: var(--panel-strong);
    border-left: 1px solid rgba(216, 198, 166, 0.72);
    box-shadow: -24px 0 60px rgba(18, 28, 34, 0.22);
}

.template-editor-form {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    min-height: 0;
    height: 100%;
}

.template-editor-header,
.template-editor-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 26px;
    border-bottom: 1px solid rgba(216, 198, 166, 0.62);
}

.template-editor-header h3 {
    margin: 0;
    color: var(--text);
    font-size: 22px;
}

.template-editor-header p {
    margin: 6px 0 0;
}

.template-editor-close {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(216, 198, 166, 0.72);
    border-radius: 8px;
    color: var(--text);
    text-decoration: none;
    font-size: 24px;
    line-height: 1;
}

.template-editor-layout {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    min-height: 0;
}

.template-editor-nav {
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 22px 18px;
    border-right: 1px solid rgba(216, 198, 166, 0.48);
}

.template-editor-nav a {
    min-height: 36px;
    padding: 9px 10px;
    border-radius: 8px;
    color: var(--home-copy-muted);
    text-decoration: none;
    font-weight: 800;
}

.template-editor-nav a:hover {
    background: rgba(255, 251, 245, 0.76);
    color: var(--text);
}

.template-editor-content {
    display: grid;
    gap: 16px;
    min-height: 0;
    padding: 22px;
    overflow: auto;
    overflow-x: hidden;
}

.template-editor-summary-strip,
.template-editor-section {
    display: grid;
    gap: 14px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(216, 198, 166, 0.48);
}

.template-editor-summary-strip {
    grid-template-columns: minmax(190px, 0.9fr) minmax(240px, 1.15fr) minmax(190px, 0.9fr) minmax(260px, 1.2fr);
    align-items: start;
    padding: 14px;
    border: 1px solid rgba(216, 198, 166, 0.58);
    border-radius: 8px;
    background: rgba(255, 251, 245, 0.74);
}

.template-editor-compact-section {
    padding: 0 0 18px;
}

.template-editor-section h4 {
    margin: 0;
    color: var(--text);
    font-size: 17px;
}

.template-editor-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.template-editor-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.template-editor-field-grid label,
.template-publish-note,
.template-source-select,
.template-editor-summary-field,
.template-item-editor-row label {
    display: grid;
    gap: 7px;
    color: var(--home-copy-muted);
    font-weight: 800;
}

.template-editor-field-wide {
    grid-column: 1 / -1;
}

.template-editor-field-grid input,
.template-editor-field-grid select,
.template-editor-field-grid textarea,
.template-source-select select,
.template-editor-summary-field input,
.template-editor-summary-field select,
.template-publish-note textarea,
.template-item-editor-row input,
.template-item-editor-row select,
.template-item-editor-row textarea {
    width: 100%;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid rgba(216, 198, 166, 0.78);
    border-radius: 8px;
    background: var(--panel);
    color: var(--text);
    font: inherit;
    box-sizing: border-box;
}

.template-editor-summary-field-wide {
    min-width: 0;
}

.template-editor-summary-field select[multiple] {
    min-height: 42px;
    max-height: 72px;
    padding: 6px 10px;
}

.template-collaborator-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}

.template-collaborator-chip-list span,
.template-collaborator-chip-list small {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #edf7f6;
    color: var(--brand-dark);
    font-size: 12px;
    font-weight: 800;
}

.template-collaborator-chip-list small {
    background: rgba(21, 32, 51, 0.06);
    color: var(--home-copy-muted);
}

.template-editor-field-grid textarea,
.template-publish-note textarea,
.template-item-editor-row textarea {
    min-height: 76px;
    padding: 10px 12px;
    resize: vertical;
}

.template-editor-field-grid select[multiple] {
    min-height: 112px;
    padding: 8px 12px;
}

.template-editor-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.template-source-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.template-source-option {
    display: grid;
    gap: 6px;
    min-height: 96px;
    padding: 12px;
    border: 1px solid rgba(216, 198, 166, 0.58);
    border-radius: 8px;
    background: rgba(255, 251, 245, 0.68);
}

.template-source-option.is-selected {
    border-color: rgba(15, 122, 120, 0.34);
    background: #edf7f6;
}

.template-source-option strong,
.template-source-option small {
    min-width: 0;
}

.template-source-option span {
    justify-self: start;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--brand);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.template-source-option small {
    color: var(--home-copy-muted);
    font-weight: 700;
}

.template-editor-flow span,
.template-publish-checks li {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(15, 122, 120, 0.22);
    border-radius: 999px;
    background: #edf7f6;
    color: var(--brand-dark);
    font-weight: 800;
}

.template-item-editor-list {
    display: grid;
    gap: 12px;
}

.template-item-editor-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(216, 198, 166, 0.58);
    border-radius: 8px;
    background: rgba(255, 251, 245, 0.68);
}

.template-item-editor-row.is-deleted {
    display: none;
}

.template-metric-table-head,
.template-metric-row-header {
    display: grid;
    grid-template-columns: 64px minmax(118px, 0.8fr) minmax(220px, 1.5fr) minmax(130px, 0.8fr) 86px 132px;
    gap: 10px;
    align-items: end;
}

.template-metric-table-head {
    min-height: 30px;
    padding: 0 14px;
    color: var(--home-copy-muted);
    font-size: 13px;
    font-weight: 900;
}

.template-metric-row-header {
    align-items: start;
}

.template-item-row-main {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.template-item-row-weights {
    display: grid;
    grid-template-columns: repeat(4, minmax(92px, 1fr));
    gap: 10px;
}

.template-item-row-text {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.template-metric-row-body {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr);
    gap: 12px;
}

.template-metric-row-panel {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(216, 198, 166, 0.48);
    border-radius: 8px;
    background: rgba(255, 253, 248, 0.72);
}

.template-metric-row-panel-wide {
    grid-column: 1 / -1;
}

.template-metric-section-title {
    margin: 0;
    color: var(--brand-dark);
    font-size: 13px;
    font-weight: 900;
}

.template-metric-section-note {
    margin: -4px 0 2px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

.template-satisfaction-source-title {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.template-satisfaction-source-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
}

.template-satisfaction-source {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(216, 198, 166, 0.86);
    border-radius: 8px;
    background: rgba(255, 253, 248, 0.9);
    color: var(--muted);
    font-size: 14px;
    font-weight: 900;
}

.template-satisfaction-source.is-enabled {
    border-color: rgba(0, 121, 128, 0.28);
    background: rgba(225, 246, 245, 0.72);
    color: var(--brand-dark);
}

.template-item-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-height: 42px;
}

.template-item-delete-field {
    display: none;
}

.template-item-add-button,
.template-item-delete-button,
.template-item-move-button {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(15, 122, 120, 0.24);
    border-radius: 8px;
    background: #edf7f6;
    color: var(--brand-dark);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.template-item-move-button {
    width: 34px;
    padding: 0;
}

.template-item-delete-button {
    border-color: rgba(184, 91, 78, 0.28);
    background: #fff1ee;
    color: #9b3f31;
}

.template-item-empty-state {
    margin: 0;
    padding: 14px;
    border: 1px dashed rgba(216, 198, 166, 0.78);
    border-radius: 8px;
}

.template-publish-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.template-publish-checks li.is-blocking {
    border-color: rgba(216, 167, 69, 0.34);
    background: var(--accent-soft);
    color: #7b5818;
}

.template-editor-footer {
    justify-content: flex-end;
    border-top: 1px solid rgba(216, 198, 166, 0.62);
    border-bottom: 0;
}

.template-editor-footer button[disabled] {
    cursor: not-allowed;
    opacity: 0.56;
}

@media (max-width: 1320px) {
    .template-editor-drawer {
        width: calc(100vw - 24px);
    }

    .template-editor-layout {
        grid-template-columns: 128px minmax(0, 1fr);
    }

    .template-editor-nav {
        padding: 18px 12px;
    }

    .template-editor-summary-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .template-source-options,
    .template-editor-field-grid,
    .template-metric-row-body {
        grid-template-columns: minmax(0, 1fr);
    }

    .template-metric-table-head {
        display: none;
    }

    .template-metric-row-header {
        grid-template-columns: 64px minmax(100px, 0.8fr) minmax(180px, 1.3fr);
    }

    .template-metric-row-header .template-item-row-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .template-editor-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .template-editor-nav {
        display: none;
    }

    .template-editor-summary-strip,
    .template-metric-row-header,
    .template-item-row-main,
    .template-item-row-weights,
    .template-item-row-text {
        grid-template-columns: minmax(0, 1fr);
    }

    .template-editor-header,
    .template-editor-footer {
        padding: 16px;
    }

    .template-editor-content {
        padding: 16px;
    }
}

/* .overview-stage-card merged into .workspace-stage-card */
.overview-summary-card,
.overview-records-card {
    border-radius: 32px;
    border: 1px solid rgba(21, 32, 51, 0.08);
    box-shadow: var(--shadow-soft);
}

.overview-content-grid {
    display: grid;
    gap: 18px;
    margin-top: 22px;
}

.overview-summary-card,
.overview-records-card {
    padding: 20px 22px;
    background: var(--panel);
}

.overview-section-switcher {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.overview-section-tab {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(21, 32, 51, 0.08);
    background: linear-gradient(180deg, #fffdf8 0%, #f5efe5 100%);
    color: var(--text);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
}

.overview-section-tab:hover {
    background: linear-gradient(180deg, #f5efe5 0%, #ebe3d5 100%);
    box-shadow: 0 4px 12px rgba(44, 35, 18, 0.08);
}

.overview-section-tab.is-active {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);
    color: #fffdf8;
    box-shadow: 0 14px 24px rgba(10, 95, 102, 0.16);
}

.overview-section-tab strong {
    font-size: 14px;
}

.overview-section-stack {
    display: grid;
    gap: 18px;
    margin-top: 18px;
}

.overview-section-panel {
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(21, 32, 51, 0.08);
    background: linear-gradient(180deg, rgba(255, 253, 248, 0.96) 0%, rgba(246, 240, 232, 0.96) 100%);
    display: none;
}

.overview-section-panel:first-child {
    display: block;
}

.overview-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.overview-section-head h4,
.overview-group-summary-main strong {
    margin: 0;
    font-size: 22px;
    color: var(--text);
}

.overview-section-head .muted,
.overview-group-summary-main p {
    margin: 8px 0 0;
}

.overview-group-list {
    display: grid;
    gap: 14px;
}

.overview-group-disclosure {
    border: 1px solid rgba(21, 32, 51, 0.08);
    border-radius: 22px;
    background: linear-gradient(180deg, #fffdfa 0%, #f7f1e8 100%);
    overflow: hidden;
}

.overview-group-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    cursor: pointer;
    list-style: none;
}

.overview-group-summary::-webkit-details-marker {
    display: none;
}

.overview-group-summary::after {
    content: "展开";
    min-width: 44px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(15, 122, 120, 0.08);
    color: var(--brand-dark);
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

.overview-group-disclosure[open] .overview-group-summary::after {
    content: "收起";
}

.overview-group-summary-main {
    min-width: 0;
}

.overview-group-summary-side {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.overview-group-body {
    padding: 0 18px 18px;
}

.dashboard-shell .dashboard-topbar {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 26px;
}

.dashboard-shell .secondary-button {
    background: rgba(251, 248, 242, 0.82);
    border-color: rgba(20, 32, 43, 0.12);
    box-shadow: 0 12px 26px rgba(44, 35, 18, 0.08);
}

.dashboard-shell .dashboard-hero-card,
.dashboard-shell .dashboard-focus-card {
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 28px 56px rgba(11, 19, 27, 0.2);
    background:
        radial-gradient(circle at top right, var(--home-shell-glow), transparent 30%),
        linear-gradient(135deg, var(--home-shell-start) 0%, var(--home-shell-end) 100%);
    color: var(--surface-dark-text);
}

.dashboard-shell .dashboard-hero-card {
    padding: 16px 24px;
}

.dashboard-shell .dashboard-avatar {
    background: linear-gradient(180deg, var(--home-card-surface-strong) 0%, #ece5d8 100%);
    color: #182536;
    box-shadow:
        inset 0 0 0 1px rgba(24, 37, 54, 0.08),
        0 14px 24px rgba(14, 23, 33, 0.16);
}

.dashboard-shell .dashboard-card-eyebrow,
.dashboard-shell .dashboard-hero-subtitle,
.dashboard-shell .current-task-stage-footer .muted {
    color: var(--surface-dark-muted);
}

.dashboard-shell .dashboard-profile-grid article,
.dashboard-shell .current-task-stage-meta-card {
    background: linear-gradient(180deg, var(--home-card-surface) 0%, #ece7de 100%);
    border: 1px solid var(--home-card-line);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

.dashboard-shell .dashboard-profile-grid span,
.dashboard-shell .current-task-stage-meta-card span {
    color: var(--home-copy-muted);
}

.dashboard-shell .dashboard-profile-grid strong,
.dashboard-shell .current-task-stage-meta-card strong {
    color: #182536;
}

.dashboard-shell .current-task-stage-card {
    padding: 30px 32px 32px;
}

.dashboard-shell .current-task-stage-title,
.dashboard-shell .current-task-stage-label {
    color: #f7fbff;
}

.dashboard-shell .current-task-stage-badge {
    background: var(--home-accent-soft);
    color: #7f5312;
    border-color: rgba(216, 167, 69, 0.26);
}

.dashboard-shell .current-task-stage-badge.is-ready {
    background: rgba(223, 243, 239, 0.14);
    color: #d8f2ee;
    border-color: rgba(169, 226, 216, 0.24);
}

.dashboard-shell .current-task-stage-step {
    color: rgba(224, 233, 241, 0.74);
}

.dashboard-shell .current-task-stage-step::after {
    background: rgba(239, 228, 204, 0.18);
}

.dashboard-shell .current-task-stage-icon {
    background: linear-gradient(180deg, #f4ede0 0%, #e7dece 100%);
    border-color: rgba(216, 167, 69, 0.16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.46);
    display: grid;
    place-items: center;
}

.dashboard-shell .current-task-stage-step.is-current .current-task-stage-icon {
    background: linear-gradient(135deg, #f3cf84 0%, var(--home-accent) 100%);
    border-color: rgba(216, 167, 69, 0.42);
}

.dashboard-shell .current-task-stage-step.is-done .current-task-stage-icon {
    background: linear-gradient(180deg, #eff4f2 0%, #dfeae4 100%);
    border-color: rgba(154, 201, 189, 0.22);
}

.dashboard-shell .current-task-stage-step.is-done::after {
    background: rgba(214, 234, 225, 0.32);
}

.dashboard-shell .current-task-stage-icon-svg {
    width: 34px;
    height: 34px;
    color: #8090aa;
    opacity: 0.96;
}

.dashboard-shell .current-task-stage-step.is-current .current-task-stage-icon-svg {
    color: #182536;
}

.dashboard-shell .current-task-stage-step.is-done .current-task-stage-icon-svg {
    color: #182536;
}

.dashboard-shell .current-task-stage-step.is-current .current-task-stage-label,
.dashboard-shell .current-task-stage-step.is-done .current-task-stage-label {
    color: #f7fbff;
}

.dashboard-shell .current-task-stage-meta-card .deadline-text {
    color: var(--home-accent-strong);
}

.dashboard-shell .dashboard-primary-action {
    background: linear-gradient(135deg, #f2cf88 0%, var(--home-accent) 100%);
    color: #172334;
    box-shadow: 0 16px 30px rgba(216, 167, 69, 0.22);
}

.dashboard-shell .dashboard-primary-action.is-disabled {
    background: linear-gradient(135deg, rgba(144, 152, 165, 0.92) 0%, rgba(96, 104, 116, 0.96) 100%);
    color: rgba(247, 250, 252, 0.92);
    box-shadow: none;
}

.history-page .secondary-button {
    background: rgba(251, 248, 242, 0.82);
    border: 1px solid rgba(20, 32, 43, 0.12);
    box-shadow: 0 12px 26px rgba(44, 35, 18, 0.08);
}

.history-page-header,
.history-page .history-records-card {
    border-radius: 28px;
    border: 1px solid rgba(21, 32, 51, 0.08);
    background: linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(244, 237, 227, 0.96) 100%);
    box-shadow: var(--shadow-soft);
    color: var(--text);
}

.history-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px;
}

.history-page .history-records-card {
    margin-top: 16px;
    padding: 22px;
}

.history-page-header h3 {
    margin: 0;
    font-size: 28px;
    color: var(--text);
}

.history-page-header .dashboard-card-eyebrow,
.history-page-header .muted,
.history-page .history-records-card .dashboard-card-eyebrow,
.history-page .history-records-card .muted {
    color: var(--muted);
}

.history-page-header .muted {
    margin: 8px 0 0;
}

.history-page-header-meta {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
}

.history-page .dashboard-badge {
    background: var(--home-accent-soft);
    color: #7f5312;
    border-color: rgba(216, 167, 69, 0.26);
}

.history-page .history-list-grid {
    gap: 14px;
    margin-top: 18px;
}

.history-page .history-list-item {
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid rgba(216, 198, 166, 0.56);
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.96) 0%, rgba(244, 237, 228, 0.98) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.history-page .history-record-card {
    display: grid;
    grid-template-columns: minmax(180px, 0.9fr) minmax(420px, 1.8fr) auto;
    gap: 22px;
    align-items: center;
}

.history-page .history-list-main strong,
.history-page .history-list-side,
.history-page .history-list-meta .progress-chip {
    color: #182536;
}

.history-page .history-list-main p {
    color: var(--home-copy-muted);
}

.history-page .history-list-meta .progress-chip {
    background: #f8eed7;
    border: 1px solid rgba(216, 167, 69, 0.3);
}

.history-page .history-record-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(140px, 1fr));
    gap: 16px;
    width: 100%;
}

.history-page .history-record-stat {
    min-height: 94px;
    display: grid;
    align-content: center;
    justify-items: start;
    gap: 10px;
    padding: 16px 20px;
    border-radius: 18px;
    border: 1px solid rgba(216, 198, 166, 0.58);
    background: linear-gradient(180deg, rgba(255, 251, 244, 0.96) 0%, rgba(243, 235, 223, 0.96) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.58),
        0 12px 22px rgba(44, 35, 18, 0.06);
}

.history-page .history-record-stat-label {
    margin: 0;
    color: var(--home-copy-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.history-page .history-record-stat strong {
    margin: 0;
    color: #182536;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    word-break: break-word;
}

.history-page .history-record-stat-status {
    background: linear-gradient(180deg, rgba(241, 247, 244, 0.98) 0%, rgba(228, 239, 233, 0.96) 100%);
    border-color: rgba(170, 199, 187, 0.58);
}

.history-page .history-record-stat-manager {
    background: linear-gradient(180deg, rgba(255, 251, 244, 0.96) 0%, rgba(243, 235, 223, 0.96) 100%);
}

.history-page .history-record-stat-score {
    background: linear-gradient(135deg, rgba(242, 207, 136, 0.22) 0%, rgba(255, 248, 232, 0.98) 100%);
    border-color: rgba(216, 167, 69, 0.34);
}

.history-page .history-list-side .primary-button {
    min-width: 128px;
    min-height: 52px;
    padding: 0 22px;
    border-radius: 18px;
    background: linear-gradient(135deg, #f2cf88 0%, var(--home-accent) 100%);
    color: #172334;
    box-shadow: 0 16px 30px rgba(216, 167, 69, 0.22);
}

.history-page .empty-state-note {
    background: rgba(255, 251, 245, 0.9);
    border-color: rgba(216, 198, 166, 0.56);
    color: #182536;
}

.history-page .overview-section-tab {
    background: #fffaf1;
}

.history-page .overview-section-tab.is-active {
    color: #182536;
    background: linear-gradient(135deg, #f2cf88 0%, var(--home-accent) 100%);
    box-shadow: 0 14px 24px rgba(216, 167, 69, 0.18);
}

.history-page .overview-section-panel {
    border-radius: 22px;
    background: rgba(255, 251, 245, 0.82);
}

.history-page .overview-group-disclosure {
    background: linear-gradient(180deg, #fffdfa 0%, #f7f1e8 100%);
}

.overview-page .overview-records-card {
    margin-top: 22px;
    padding: 24px 26px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255, 252, 248, 0.96) 0%, rgba(248, 242, 233, 0.98) 100%);
    border: 1px solid rgba(216, 198, 166, 0.48);
    box-shadow: var(--shadow-soft);
}

.overview-page .review-meta-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.overview-page .overview-summary-card {
    display: grid;
    align-content: space-between;
    gap: 10px;
    min-height: 108px;
    border-radius: 22px;
    border-width: 1px;
    border-style: solid;
    background: linear-gradient(180deg, rgba(22, 34, 50, 0.96) 0%, rgba(17, 27, 41, 0.98) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 14px 28px rgba(8, 14, 22, 0.22);
}

.overview-summary-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.overview-page .workspace-stage-card .overview-summary-card span {
    color: rgba(219, 228, 238, 0.76);
    font-size: 14px;
    font-weight: 700;
}

.overview-summary-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: #f7fbff;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    flex: 0 0 auto;
}

.overview-summary-icon svg {
    width: 18px;
    height: 18px;
}

.overview-summary-icon.is-total {
    color: #d6e3f0;
}

.overview-summary-icon.is-pending {
    color: #ffd88b;
    background: rgba(214, 165, 74, 0.12);
    border-color: rgba(214, 165, 74, 0.24);
}

.overview-summary-icon.is-completed {
    color: #8ee0bb;
    background: rgba(92, 178, 143, 0.12);
    border-color: rgba(92, 178, 143, 0.24);
}

.overview-summary-icon.is-rate {
    color: #c6b2ff;
    background: rgba(146, 126, 226, 0.14);
    border-color: rgba(146, 126, 226, 0.24);
}

.overview-summary-metric {
    display: flex;
    align-items: flex-end;
}

.overview-page .overview-summary-card strong {
    font-size: 42px;
    line-height: 1;
    color: #f7fbff;
    letter-spacing: -0.02em;
}

.overview-page .overview-summary-card.is-waiting {
    border-color: rgba(214, 165, 74, 0.52);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        inset 0 0 0 1px rgba(214, 165, 74, 0.08),
        0 14px 28px rgba(8, 14, 22, 0.22);
}

.overview-page .overview-summary-card.is-ready {
    border-color: rgba(92, 178, 143, 0.48);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        inset 0 0 0 1px rgba(92, 178, 143, 0.08),
        0 14px 28px rgba(8, 14, 22, 0.22);
}

.overview-page .overview-summary-card.is-highlight {
    border-color: rgba(146, 126, 226, 0.46);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        inset 0 0 0 1px rgba(146, 126, 226, 0.08),
        0 14px 28px rgba(8, 14, 22, 0.22);
}

.overview-page .overview-summary-card.is-neutral {
    border-color: rgba(136, 157, 181, 0.34);
}

.overview-filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.overview-filter-tab {
    min-width: 120px;
    padding: 12px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 16px;
    border: 1px solid rgba(216, 198, 166, 0.56);
    background: rgba(255, 250, 243, 0.96);
    color: #182536;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.overview-filter-tab:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(44, 35, 18, 0.08);
}

.overview-filter-tab strong {
    font-size: 18px;
}

.overview-filter-tab.is-active {
    background: linear-gradient(135deg, #f2cf88 0%, var(--home-accent) 100%);
    border-color: rgba(216, 167, 69, 0.36);
    box-shadow: 0 14px 28px rgba(216, 167, 69, 0.18);
}

.overview-page .history-list-grid {
    gap: 16px;
    margin-top: 20px;
}

.overview-page .overview-task-card {
    display: grid;
    grid-template-columns: minmax(210px, 0.9fr) minmax(420px, 1.6fr) 170px;
    gap: 24px;
    align-items: center;
    padding: 20px 22px;
    border-radius: 22px;
    border: 1px solid rgba(216, 198, 166, 0.56);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.overview-page .overview-task-card.is-pending {
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.98) 0%, rgba(245, 238, 229, 0.96) 100%);
}

.overview-page .overview-task-card.is-completed {
    background: linear-gradient(180deg, rgba(240, 248, 243, 0.98) 0%, rgba(228, 240, 233, 0.96) 100%);
    border-color: rgba(158, 194, 173, 0.56);
}

.overview-page .overview-task-identity strong,
.overview-page .overview-task-side strong,
.overview-page .overview-task-status .progress-chip {
    color: #182536;
}

.overview-page .overview-task-identity strong {
    font-size: 18px;
}

.overview-page .overview-task-identity p,
.overview-page .overview-task-step,
.overview-page .overview-task-result,
.overview-page .overview-task-timing span {
    margin: 0;
    color: var(--home-copy-muted);
}

.overview-page .overview-task-status {
    display: grid;
    grid-template-columns: minmax(180px, 0.9fr) minmax(220px, 1.1fr);
    gap: 14px;
    align-items: stretch;
}

.overview-page .overview-task-panel {
    display: grid;
    align-content: start;
    gap: 8px;
    min-width: 0;
    padding-left: 14px;
    border-left: 3px solid rgba(126, 143, 164, 0.24);
}

.overview-page .overview-task-panel.is-mine {
    border-left-color: rgba(15, 122, 120, 0.38);
}

.overview-page .overview-task-panel.is-flow {
    border-left-color: rgba(122, 145, 176, 0.34);
}

.overview-page .overview-task-panel-label {
    color: var(--home-copy-muted);
    font-size: 12px;
    font-weight: 800;
}

.overview-page .overview-task-panel-head {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.overview-page .overview-task-step,
.overview-page .overview-task-result {
    font-size: 13px;
}

.overview-page .overview-task-side {
    display: grid;
    justify-items: end;
    gap: 14px;
}

.overview-page .overview-task-timing {
    display: grid;
    gap: 4px;
    text-align: right;
}

.overview-page .overview-task-timing strong {
    font-size: 15px;
}

.overview-page .history-list-side .primary-button {
    min-width: 132px;
    min-height: 44px;
    padding: 0 18px;
}

.overview-page .progress-chip.is-pending-self {
    background: #fff0dd;
    color: #9a5800;
    border-color: #efcd97;
}

.overview-page .progress-chip.is-pending-collaborator {
    background: #eaf3ff;
    color: #205089;
    border-color: #bfd6f6;
}

.overview-page .progress-chip.is-pending-manager {
    background: #efeaff;
    color: #5d4296;
    border-color: #d2c3f4;
}

.overview-page .progress-chip.is-completed {
    background: #e5f4eb;
    color: #216548;
    border-color: #bdddc9;
}

.company-efficiency-page .dashboard-main {
    gap: 16px;
}

.efficiency-topbar {
    align-items: flex-start;
}

.efficiency-filter-form {
    display: flex;
    align-items: end;
    gap: 10px;
}

.efficiency-filter-form label {
    display: grid;
    gap: 6px;
    color: var(--home-copy-muted);
    font-size: 12px;
    font-weight: 800;
}

.efficiency-filter-form select {
    min-height: 42px;
    min-width: 96px;
    padding: 0 12px;
    border: 1px solid rgba(216, 198, 166, 0.72);
    border-radius: 14px;
    background: rgba(255, 253, 248, 0.9);
    color: var(--text);
    font: inherit;
    font-weight: 800;
}

.efficiency-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.efficiency-kpi-card,
.efficiency-panel {
    border: 1px solid rgba(216, 198, 166, 0.58);
    background: linear-gradient(180deg, rgba(255, 253, 248, 0.96) 0%, rgba(246, 240, 232, 0.94) 100%);
    box-shadow: var(--shadow-soft);
}

.efficiency-kpi-card {
    display: grid;
    gap: 7px;
    min-height: 126px;
    padding: 16px 18px;
    border-radius: 22px;
}

.efficiency-kpi-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: var(--home-accent-soft);
    color: #8a5a11;
}

.efficiency-kpi-icon svg {
    width: 22px;
    height: 22px;
}

.efficiency-kpi-card span:not(.efficiency-kpi-icon),
.efficiency-kpi-card small {
    color: var(--home-copy-muted);
    font-weight: 800;
}

.efficiency-kpi-card strong {
    color: #182536;
    font-size: 27px;
    line-height: 1;
}

.efficiency-kpi-card.is-completion .efficiency-kpi-icon,
.efficiency-kpi-card.is-average .efficiency-kpi-icon,
.efficiency-kpi-card.is-high .efficiency-kpi-icon {
    background: var(--brand-soft);
    color: var(--brand-dark);
}

.efficiency-main-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
    margin-top: 12px;
}

.efficiency-main-grid > *,
.efficiency-bottom-grid > * {
    min-width: 0;
}

.efficiency-side-stack {
    display: grid;
    gap: 18px;
}

.efficiency-panel {
    padding: 18px;
    border-radius: 26px;
}

.efficiency-rank-card {
    border-color: rgba(216, 167, 69, 0.24);
    padding: 16px;
}

.efficiency-rank-note {
    align-self: start;
    padding: 6px 10px;
    border: 1px solid rgba(216, 198, 166, 0.72);
    border-radius: 999px;
    background: rgba(255, 253, 248, 0.82);
    color: var(--home-copy-muted);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.efficiency-department-table {
    display: grid;
    gap: 8px;
    margin-top: 12px;
    overflow-x: auto;
    max-width: 100%;
    padding-bottom: 4px;
}

.efficiency-department-row {
    display: grid;
    grid-template-columns: minmax(94px, 1.15fr) 44px 52px minmax(88px, 0.9fr) 58px 58px 58px 56px 72px;
    gap: 8px;
    align-items: center;
    min-height: 54px;
    padding: 0 10px;
    border: 1px solid rgba(216, 198, 166, 0.52);
    border-radius: 16px;
    background: rgba(255, 253, 248, 0.7);
}

.efficiency-department-head {
    min-height: 34px;
    border-color: transparent;
    background: transparent;
    color: var(--home-copy-muted);
    font-size: 12px;
    font-weight: 900;
}

.efficiency-department-row strong {
    color: #182536;
}

.efficiency-department-row span {
    min-width: 0;
    font-weight: 800;
}

.efficiency-progress-cell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px;
    gap: 6px;
    align-items: center;
}

.efficiency-progress {
    position: relative;
    overflow: hidden;
}

.efficiency-progress {
    height: 8px;
    border-radius: 999px;
    background: rgba(116, 130, 154, 0.16);
}

.efficiency-progress i,
.efficiency-department-bar b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--home-accent) 0%, var(--brand) 100%);
}

.efficiency-progress-cell em {
    color: var(--home-copy-muted);
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
}

.efficiency-rank-row p {
    color: var(--home-copy-muted);
    font-weight: 800;
}

.efficiency-rank-list {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.efficiency-rank-row {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-height: 50px;
    padding: 10px;
    border-radius: 16px;
    background: rgba(255, 253, 248, 0.78);
}

.efficiency-rank-row.is-placeholder {
    opacity: 0.62;
}

.efficiency-rank-medal {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #e6edf0;
    color: #182536;
    font-weight: 900;
}

.efficiency-rank-medal.is-gold {
    background: var(--home-accent);
}

.efficiency-rank-medal.is-silver {
    background: #dce4ea;
}

.efficiency-rank-medal.is-bronze {
    background: #e5c39c;
}

.efficiency-rank-row strong,
.efficiency-rank-row p {
    display: block;
    margin: 0;
}

.efficiency-rank-row em {
    color: #182536;
    font-style: normal;
    font-weight: 900;
}

.efficiency-bottom-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: 18px;
    margin-top: 14px;
}

.efficiency-rank-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.efficiency-department-bars,
.efficiency-score-cloud {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.efficiency-department-bar {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) 32px;
    gap: 10px;
    align-items: center;
}

.efficiency-department-bar span,
.efficiency-department-bar strong {
    font-weight: 900;
}

.efficiency-department-bar i {
    display: block;
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(116, 130, 154, 0.16);
}

.efficiency-score-cloud {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.efficiency-score-cloud span {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid rgba(216, 198, 166, 0.52);
    border-radius: 14px;
    background: rgba(255, 253, 248, 0.62);
    color: var(--home-copy-muted);
    font-weight: 800;
}

.efficiency-score-cloud span.is-ready {
    border-color: rgba(15, 122, 120, 0.22);
    background: var(--brand-soft);
    color: var(--brand-dark);
}

@media (max-width: 1180px) {
    .efficiency-topbar {
        flex-direction: column;
        align-items: stretch;
    }

    .efficiency-filter-form {
        flex-wrap: wrap;
    }

    .efficiency-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .efficiency-main-grid,
    .efficiency-bottom-grid {
        grid-template-columns: 1fr;
    }

    .efficiency-department-table {
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .efficiency-department-row {
        min-width: 900px;
    }
}

@media (max-width: 768px) {
    .efficiency-kpi-grid,
    .efficiency-score-cloud {
        grid-template-columns: 1fr;
    }

    .efficiency-filter-form label,
    .efficiency-filter-form select,
    .efficiency-filter-form .secondary-button {
        width: 100%;
    }

    .efficiency-department-bar {
        grid-template-columns: 96px minmax(0, 1fr) 32px;
    }
}

.dashboard-hero-card .dashboard-meta-card,
.workspace-stage-card .dashboard-meta-card {
    background: var(--surface-dark-card);
    border-color: var(--surface-dark-line);
    backdrop-filter: blur(8px);
}

.dashboard-hero-card .dashboard-meta-card span,
.workspace-stage-card .dashboard-meta-card span {
    color: rgba(222, 233, 242, 0.76);
}

.dashboard-hero-card .dashboard-meta-card strong,
.workspace-stage-card .dashboard-meta-card strong {
    color: var(--surface-dark-text);
}

@media (max-width: 768px) {
    .header-row,
    .site-nav {
        flex-direction: column;
        align-items: flex-start;
    }

    .grid-two {
        grid-template-columns: 1fr;
    }

    .score-section-head,
    .score-grid {
        grid-template-columns: 1fr;
        display: block;
    }

    .satisfaction-reference-detail,
    .overview-card-grid {
        grid-template-columns: 1fr;
    }

    .overview-page .review-meta-grid,
    .overview-page .overview-task-card {
        grid-template-columns: 1fr;
    }

    .review-flow-strip {
        flex-direction: column;
        overflow-x: visible;
        gap: 12px;
    }

    .review-flow-step {
        min-width: 0;
        margin-right: 0;
    }

    .review-flow-node,
    .review-flow-node.is-first,
    .review-flow-node.is-last {
        clip-path: none;
        border-radius: 18px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .review-page .review-meta-grid,
    .detail-page .review-meta-grid {
        grid-template-columns: 1fr;
    }

    .overview-page .overview-task-side {
        justify-items: start;
    }

    .overview-page .overview-task-status {
        grid-template-columns: 1fr;
    }

    .overview-page .overview-task-timing {
        text-align: left;
    }

    .amount-baseline-summary-card {
        padding: 18px;
    }

    .amount-baseline-summary-metrics {
        grid-template-columns: 1fr;
    }

    .amount-baseline-summary-metric {
        min-height: 116px;
    }

    .task-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .task-row-meta,
    .task-row-side {
        width: 100%;
    }

    .task-row-side {
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .legend-strip {
        margin-top: 12px;
    }

    .score-detail-table {
        display: block;
        overflow-x: auto;
    }

    .history-record-card summary,
    .history-record-heading {
        grid-template-columns: 1fr;
    }

    .app-modal-footer {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .login-page main.container {
        padding: 28px 0 40px;
    }

    .login-card {
        padding: 24px 22px 24px;
    }

    .login-card h2 {
        font-size: 28px;
    }
}

@media (max-width: 1180px) {
    .dashboard-shell,
    .workspace-shell {
        grid-template-columns: 1fr;
    }

    .dashboard-sidebar {
        gap: 18px;
        position: static;
        height: auto;
        overflow: visible;
    }

    .dashboard-sidebar-profile {
        margin-top: 0;
    }

    .dashboard-main {
        padding: 22px 18px 28px;
    }

    .permission-summary-grid {
        grid-template-columns: 1fr 1fr;
    }

    .account-summary-card .permission-summary-grid,
    .account-create-row-primary,
    .account-create-row-secondary {
        grid-template-columns: 1fr 1fr;
    }

    .account-create-row-secondary {
        grid-template-columns: 1fr;
    }

    .amount-baseline-topbar {
        align-items: stretch;
    }

    .amount-baseline-period-card {
        width: 100%;
    }

    .amount-baseline-summary-layout {
        grid-template-columns: 1fr;
    }

    .amount-baseline-summary-title {
        padding-right: 0;
        padding-bottom: 16px;
        border-right: 0;
        border-bottom: 1px solid rgba(216, 198, 166, 0.72);
    }

    .amount-baseline-summary-title p {
        max-width: none;
    }

    .amount-baseline-summary-metrics {
        grid-template-columns: 1fr 1fr;
    }

    .account-create-grid,
    .amount-baseline-create-layout,
    .amount-baseline-form-grid,
    .amount-baseline-form-matrix {
        grid-template-columns: 1fr;
    }

    .amount-baseline-create-layout {
        overflow: hidden;
    }

    .amount-baseline-security-panel {
        border-left: 0;
        border-top: 1px solid rgba(0, 118, 122, 0.18);
    }

    .amount-baseline-row {
        grid-template-columns: 1fr;
        gap: 10px;
        min-height: 0;
        padding: 14px;
        border: 1px solid rgba(216, 198, 166, 0.68);
        border-radius: 14px;
    }

    .amount-baseline-row-head {
        display: none;
    }

    .amount-baseline-employee::before,
    .amount-baseline-period::before,
    .account-status-cell::before,
    .amount-baseline-current::before,
    .amount-baseline-actions::before {
        content: attr(data-amount-cell-label);
        color: var(--home-copy-muted);
        font-size: 0.72rem;
        font-weight: 900;
    }

    .account-rows {
        gap: 12px;
        overflow: visible;
        border: 0;
        background: transparent;
    }

    .account-row {
        grid-template-columns: 1fr;
        gap: 10px;
        min-height: 0;
        padding: 14px;
        border: 1px solid rgba(216, 198, 166, 0.68);
        border-radius: 14px;
    }

    .account-row-head {
        display: none;
    }

    .account-row-cell::before,
    .account-id-form::before,
    .account-row-actions::before {
        content: attr(data-account-cell-label);
        color: var(--home-copy-muted);
        font-size: 0.72rem;
        font-weight: 900;
    }

    .account-id-form {
        grid-template-columns: 1fr;
    }

    .permission-row {
        grid-template-columns: 1fr;
    }

    .permission-switch-grid {
        grid-template-columns: 1fr;
    }

    .permission-row-side {
        justify-items: stretch;
    }

    .permission-search-input {
        min-width: 0;
        width: 100%;
    }

    .account-row-actions {
        align-items: stretch;
        justify-content: stretch;
        flex-direction: column;
    }

    .account-id-form button,
    .account-state-form button,
    .account-reset-open-button {
        width: 100%;
    }

    .template-management-toolbar,
    .template-department-summary,
    .template-employee-row {
        grid-template-columns: 1fr;
    }

    .template-department-meta {
        justify-content: flex-start;
    }

    .template-employee-head {
        display: none;
    }

    .template-employee-row {
        gap: 8px;
        align-items: start;
    }

    .template-row-actions {
        justify-content: flex-start;
    }

    .dashboard-profile-grid,
    .dashboard-meta-grid,
    .dashboard-step-strip,
    .dashboard-content-grid {
        grid-template-columns: 1fr 1fr;
    }

    .current-task-stage-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .current-task-stage-step:nth-child(2)::after,
    .current-task-stage-step:last-child::after {
        display: none;
    }

    .current-task-stage-meta {
        grid-template-columns: 1fr;
    }

    .detail-content-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .dashboard-sidebar-profile {
        align-items: flex-start;
    }

    .dashboard-sidebar-logout-button {
        min-height: 32px;
        padding: 0 10px;
    }

    .history-list-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .history-list-meta,
    .history-list-side {
        width: 100%;
    }

    .history-page .history-record-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .dashboard-profile-grid,
    .dashboard-meta-grid,
    .dashboard-step-strip,
    .dashboard-content-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-topbar,
    .dashboard-card-head,
    .dashboard-focus-actions,
    .dashboard-hero-main {
        flex-direction: column;
        align-items: flex-start;
    }

    .dashboard-primary-action {
        width: 100%;
    }

    .satisfaction-detail-summary,
    .satisfaction-detail-grid {
        grid-template-columns: 1fr;
    }

    .review-confirm-form-topbar {
        width: 100%;
        margin-left: 0;
        padding-top: 0;
    }

    .review-confirm-form-topbar .detail-confirm-button {
        width: 100%;
    }

    .history-page .history-record-stats {
        grid-template-columns: 1fr;
    }

    .permission-summary-grid {
        grid-template-columns: 1fr;
    }

    .account-summary-card .permission-summary-grid,
    .account-create-row-primary,
    .account-create-row-secondary {
        grid-template-columns: 1fr;
    }

    .current-task-stage-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .current-task-stage-flow {
        grid-template-columns: 1fr;
    }

    .current-task-stage-step::after {
        display: none;
    }

    .current-task-stage-title {
        font-size: 22px;
    }

    .review-form-actions {
        justify-content: stretch;
    }
}

@media (max-width: 1400px) {
    .cycle-action-grid,
    .cycle-generation-form,
    .cycle-record-toolbar {
        grid-template-columns: 1fr;
    }

    .cycle-record-actions {
        justify-content: flex-start;
    }

    .cycle-period-head {
        display: none;
    }

    .cycle-period-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }

    .cycle-row-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .cycle-kpi-grid,
    .cycle-form-grid,
    .cycle-period-row {
        grid-template-columns: 1fr;
    }

    .cycle-action-head,
    .cycle-section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .amount-export-inline-form {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .amount-export-passphrase-field input,
    .amount-export-inline-form .primary-button,
    .cycle-record-actions .cycle-light-button {
        width: 100%;
    }

    .cycle-action-buttons {
        justify-content: flex-start;
    }
}
