:root {
    --primary: #281432;
    --primary-soft: #3b2047;
    --blue: #2563eb;
    --background: #f5f6f8;
    --surface: #ffffff;
    --line: #e5e7eb;
    --muted: #667085;
    --text: #17121c;
    --radius: 16px;
    --shadow: 0 10px 30px rgba(40, 20, 50, .07);
}

* { box-sizing: border-box; }
html { color-scheme: light; }
body {
    margin: 0;
    background: var(--background);
    color: var(--text);
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-size: 14px;
    line-height: 1.65;
}
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header { position: sticky; z-index: 20; top: 0; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.header-inner { width: min(1440px, 100%); min-height: 72px; margin: 0 auto; padding: 0 32px; display: flex; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 10px; flex: none; }
.brand-mark { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: var(--primary); color: white; font-size: 18px; font-weight: 800; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.05; letter-spacing: .04em; }
.brand-copy strong { font-size: 14px; }
.brand-copy small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.global-nav { align-self: stretch; display: flex; align-items: stretch; gap: 2px; }
.global-nav a { position: relative; display: flex; align-items: center; padding: 0 13px; color: #5d5661; font-size: 13px; font-weight: 600; white-space: nowrap; }
.global-nav a:hover, .global-nav a.is-active { color: var(--primary); }
.global-nav a.is-active::after { position: absolute; right: 12px; bottom: -1px; left: 12px; height: 3px; border-radius: 3px 3px 0 0; background: var(--primary); content: ""; }
.account-menu { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.account-copy { display: flex; flex-direction: column; text-align: right; line-height: 1.35; }
.account-copy strong { font-size: 12px; }
.account-copy span { color: var(--muted); font-size: 10px; }
.logout-button { padding: 7px 11px; border: 1px solid var(--line); border-radius: 9px; background: white; color: #514858; cursor: pointer; font-size: 11px; }
.logout-button:hover { border-color: var(--primary); color: var(--primary); }
.nav-toggle { display: none; width: 40px; height: 40px; padding: 9px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.nav-toggle > span:not(.sr-only) { display: block; height: 2px; margin: 4px 0; border-radius: 2px; background: var(--primary); }

.page-shell { width: min(1280px, calc(100% - 64px)); margin: 0 auto; padding: 38px 0 64px; }
.page-heading { margin-bottom: 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.page-heading h1 { margin: 1px 0 5px; font-size: clamp(25px, 3vw, 34px); line-height: 1.3; letter-spacing: -.03em; }
.page-heading p { margin: 0; color: var(--muted); }
.eyebrow { margin: 0 !important; color: var(--blue) !important; font-size: 10px !important; font-weight: 800; letter-spacing: .14em; }
.date-chip { display: grid; min-width: 48px; height: 48px; place-items: center; border-radius: 14px; background: #ebe7ed; color: var(--primary); font-weight: 700; }

.next-schedule-card { min-height: 164px; margin-bottom: 22px; padding: 34px 38px; display: flex; align-items: center; justify-content: space-between; gap: 32px; overflow: hidden; border-radius: 20px; background: linear-gradient(125deg, var(--primary) 0%, #3b2047 64%, #50305b 100%); box-shadow: 0 18px 40px rgba(40, 20, 50, .18); color: white; }
.next-schedule-copy { display: flex; align-items: flex-start; gap: 19px; }
.section-icon { display: grid; width: 42px; height: 42px; flex: none; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 13px; background: rgba(255,255,255,.1); font-size: 21px; }
.eyebrow-light { color: #b9c9ff !important; }
.next-schedule-card h2 { margin: 5px 0 7px; font-size: 25px; }
.next-schedule-card p { margin: 0; color: rgba(255,255,255,.7); }
.empty-next { min-width: 148px; padding-left: 30px; display: flex; flex-direction: column; border-left: 1px solid rgba(255,255,255,.16); text-align: center; }
.empty-next strong { font-size: 42px; line-height: 1; }
.empty-next strong span { margin-left: 5px; font-size: 13px; }
.empty-next > span { margin-top: 10px; color: rgba(255,255,255,.6); font-size: 11px; }

.metric-grid { margin-bottom: 22px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.metric-card, .panel-card, .coming-soon-card, .setting-card { border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); }
.metric-card { padding: 19px 18px 17px; border-radius: 14px; }
.metric-top { display: flex; align-items: center; justify-content: space-between; color: #4f4752; font-size: 12px; font-weight: 700; }
.metric-top i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.metric-card strong { display: block; margin: 15px 0 5px; font-size: 29px; line-height: 1; }
.metric-card strong small { margin-left: 3px; color: var(--muted); font-size: 11px; }
.metric-card p { margin: 0; color: #8a8490; font-size: 10px; white-space: nowrap; }
.metric-blue .metric-top { color: #2563eb; }.metric-indigo .metric-top { color: #4f46e5; }.metric-red .metric-top { color: #dc2626; }.metric-amber .metric-top { color: #d97706; }.metric-slate .metric-top { color: #64748b; }

.dashboard-columns { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }
.panel-card { min-height: 310px; padding: 24px; border-radius: var(--radius); }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.panel-heading h2 { margin: 3px 0 0; font-size: 17px; }
.status-pill { padding: 5px 9px; border-radius: 20px; background: #f0edf2; color: #6f6573; font-size: 10px; font-weight: 700; }
.empty-state { min-height: 205px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--muted); text-align: center; }
.empty-state strong { margin-top: 9px; color: #4c4550; font-size: 13px; }
.empty-state p { margin: 4px 0; font-size: 11px; }
.empty-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #f2f0f3; color: var(--primary); font-size: 20px; }
.week-placeholder { margin: 33px 0 17px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }
.week-placeholder div { padding: 10px 5px; border-radius: 9px; background: #f6f6f8; text-align: center; }
.week-placeholder span { display: block; color: var(--muted); font-size: 10px; }
.week-placeholder i { display: block; width: 6px; height: 6px; margin: 12px auto 2px; border-radius: 50%; background: #d7d2da; }
.panel-note { margin: 0; color: #938d98; font-size: 10px; text-align: center; }

.guest-body { min-height: 100vh; background: radial-gradient(circle at 20% 10%, #ece5f0 0, transparent 38%), linear-gradient(145deg, #f8f8fa, #efedf1); }
.guest-shell { min-height: 100vh; padding: 32px 20px; display: grid; place-items: center; }
.login-card { width: min(440px, 100%); padding: 42px; border: 1px solid rgba(40,20,50,.09); border-radius: 22px; background: rgba(255,255,255,.97); box-shadow: 0 28px 70px rgba(40,20,50,.13); }
.login-brand { margin-bottom: 34px; display: flex; align-items: center; gap: 12px; }
.brand-mark-large { width: 42px; height: 42px; font-size: 21px; }
.login-brand div { display: flex; flex-direction: column; line-height: 1.1; letter-spacing: .06em; }
.login-brand strong { font-size: 15px; }.login-brand span { color: var(--muted); font-size: 11px; }
.login-heading h1 { margin: 4px 0 7px; font-size: 27px; }.login-heading > p:last-child { margin: 0; color: var(--muted); }
.form-stack { margin-top: 27px; display: grid; gap: 18px; }
.field-group label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 700; }
.field-group input { width: 100%; height: 48px; padding: 0 14px; border: 1px solid #d9d5dc; border-radius: 10px; background: white; color: var(--text); outline: none; }
.field-group input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
.field-error { margin: 5px 0 0; color: #c81e1e; font-size: 11px; }
.check-row { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; }
.check-row input { accent-color: var(--primary); }
.primary-button, .secondary-button { min-height: 46px; display: inline-grid; place-items: center; border-radius: 10px; cursor: pointer; font-weight: 700; }
.primary-button { border: 0; background: var(--primary); color: white; }.primary-button:hover { background: var(--primary-soft); }
.secondary-button { padding: 0 20px; border: 1px solid var(--line); background: white; color: var(--primary); }
.page-action { min-width: 130px; padding: 0 20px; }
.heading-actions, .form-actions, .filter-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.alert { margin-bottom: 20px; padding: 14px 17px; border: 1px solid; border-radius: 12px; }
.alert-success { border-color: #a7f3d0; background: #ecfdf5; color: #047857; }
.alert-warning { border-color: #fde68a; background: #fffbeb; color: #92400e; }
.alert-error { border-color: #fecaca; background: #fef2f2; color: #991b1b; }.alert-error ul { margin: 6px 0 0; padding-left: 20px; }
.alert-archive { border-color: #fcd34d; background: #fffbeb; color: #92400e; display: flex; justify-content: space-between; gap: 14px; }.alert-archive span { font-size: 12px; }

/* Projects: filters and list */
.filter-panel, .form-section, .detail-card { border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.filter-panel { margin-bottom: 22px; padding: 20px; }
.filter-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }.filter-keyword { grid-column: span 2; }
.field-group select, .field-group textarea { width: 100%; padding: 10px 12px; border: 1px solid #d9d5dc; border-radius: 10px; background: white; color: var(--text); outline: none; }
.field-group select { min-height: 44px; }.field-group textarea { resize: vertical; }
.field-group select:focus, .field-group textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
.filter-panel .field-group input { height: 44px; }.filter-actions { margin-top: 17px; padding-top: 16px; border-top: 1px solid var(--line); }.filter-actions .primary-button { padding: 0 28px; }
.result-summary { margin: 0 0 10px; color: var(--muted); font-size: 12px; }.result-summary strong { margin-right: 3px; color: var(--text); font-size: 17px; }
.project-table-wrap { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.project-table { width: 100%; border-collapse: collapse; table-layout: fixed; }.project-table th { padding: 12px 14px; background: #f8f8fa; color: #746d78; font-size: 10px; text-align: left; }.project-table td { padding: 17px 14px; vertical-align: top; border-top: 1px solid var(--line); }
.project-table th:nth-child(1) { width: 23%; }.project-table th:nth-child(2) { width: 14%; }.project-table th:nth-child(3) { width: 17%; }.project-table th:nth-child(4) { width: 14%; }.project-table th:nth-child(5) { width: 24%; }.project-table th:nth-child(6) { width: 8%; }
.project-table tr:hover td { background: #fcfbfd; }.project-table tr.is-archived td, .project-list-card.is-archived { background: #fafafa; }
.project-name { color: var(--primary); font-size: 15px; font-weight: 800; line-height: 1.45; }.project-name:hover { color: var(--blue); }
.project-main-cell p, .cell-note, .memo-preview { margin: 7px 0 0; color: var(--muted); font-size: 10px; }.project-meta { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 5px; }.project-meta span { padding: 2px 6px; border-radius: 6px; background: #f2f0f3; color: #6d6571; font-size: 9px; }
.status-badge { --badge-color: #64748b; display: inline-flex; align-items: center; padding: 4px 8px; border: 1px solid color-mix(in srgb, var(--badge-color) 24%, white); border-radius: 20px; background: color-mix(in srgb, var(--badge-color) 10%, white); color: var(--badge-color); font-size: 10px; font-weight: 800; }.status-badge.large { padding: 6px 12px; font-size: 12px; }
.archive-label { margin-top: 7px; display: inline-block; padding: 2px 6px; border-radius: 5px; background: #fef3c7; color: #92400e; font-size: 9px; font-weight: 700; }
.member-summary { display: grid; gap: 3px; }.member-summary small { margin-top: 3px; color: #928b96; font-size: 9px; }.member-summary span { font-size: 11px; }
.schedule-placeholder { color: #5d6574; font-size: 10px; font-weight: 700; }.link-summary { display: grid; gap: 4px; }.link-summary a { overflow: hidden; color: var(--blue); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.link-summary a span { margin-right: 5px; padding: 2px 4px; border-radius: 4px; background: #eff6ff; font-size: 8px; }.link-summary small { color: var(--muted); font-size: 9px; }
.project-table time { color: #5f5863; font-size: 10px; }.project-table time small { display: block; color: #98929b; }.project-card-list { display: none; }
.pagination-wrap { margin-top: 22px; }.pagination-wrap nav > div:first-child { display: none; }.pagination-wrap nav > div:last-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.pagination-wrap nav p { color: var(--muted); font-size: 11px; }.pagination-wrap nav span.relative { display: inline-flex; }.pagination-wrap nav a, .pagination-wrap nav span[aria-current] span, .pagination-wrap nav span[aria-disabled] span { min-width: 36px; min-height: 36px; padding: 8px 11px; display: inline-grid; place-items: center; border: 1px solid var(--line); background: white; font-size: 11px; }.pagination-wrap nav span[aria-current] span { border-color: var(--primary); background: var(--primary); color: white; }

/* Project form */
.project-form { display: grid; gap: 20px; }.form-section { padding: 25px; }.section-heading { margin-bottom: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }.section-heading h2 { margin: 3px 0 0; font-size: 18px; }.section-heading p:not(.eyebrow) { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.backlog-link-section { border-top: 3px solid #1f6feb; }.backlog-link-state { padding: 5px 9px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 11px; font-weight: 800; white-space: nowrap; }.backlog-link-state.is-linked { border-color: #a7d7c5; background: #edf9f4; color: #08765c; }.backlog-selected { min-height: 72px; padding: 14px 16px; display: flex; align-items: center; gap: 13px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; }.backlog-selected[hidden] { display: none; }.backlog-mark { width: 34px; height: 34px; flex: 0 0 34px; display: inline-grid; place-items: center; border-radius: 8px; background: #1f6feb; color: white; font-size: 15px; font-weight: 900; }.backlog-selected strong, .backlog-selected small { display: block; }.backlog-selected strong { color: var(--ink); font-size: 14px; }.backlog-selected small { margin-top: 5px; color: var(--muted); font-size: 11px; }.backlog-selected small span + span::before { content: " ・ "; }.backlog-picker-actions { margin-top: 14px; display: flex; align-items: center; gap: 14px; }.backlog-picker-dialog { width: min(780px, calc(100vw - 32px)); max-height: min(760px, calc(100vh - 32px)); padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 24px 64px rgba(15, 23, 42, .22); }.backlog-picker-dialog::backdrop { background: rgba(15, 23, 42, .46); }.backlog-dialog-head { padding: 20px 22px 16px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }.backlog-dialog-head h2 { margin: 3px 0 0; font-size: 18px; }.dialog-close { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--muted); font-size: 23px; cursor: pointer; }.backlog-search { padding: 16px 22px 0; display: block; }.backlog-search span { margin-bottom: 6px; display: block; color: var(--muted); font-size: 11px; font-weight: 700; }.backlog-search input { width: 100%; min-height: 42px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 8px; font: inherit; }.backlog-load-status { margin: 12px 22px 0; color: var(--muted); font-size: 11px; }.backlog-load-status[data-tone="success"] { color: #08765c; }.backlog-load-status[data-tone="error"] { color: #b42318; }.backlog-dialog-actions { padding: 12px 22px; border-bottom: 1px solid var(--line); }.backlog-project-list { max-height: 430px; padding: 8px; overflow-y: auto; }.backlog-project-option { width: 100%; padding: 12px 14px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid var(--line); background: white; color: var(--ink); text-align: left; cursor: pointer; }.backlog-project-option:hover:not(:disabled), .backlog-project-option:focus-visible { background: #f5f8ff; outline: 2px solid #86b7fe; outline-offset: -2px; }.backlog-project-option strong, .backlog-project-option small { display: block; overflow-wrap: anywhere; }.backlog-project-option strong { font-size: 13px; }.backlog-project-option small { margin-top: 4px; color: var(--muted); font-size: 10px; }.backlog-project-option em { color: #08765c; font-size: 10px; font-style: normal; font-weight: 800; }.backlog-project-option:disabled { cursor: not-allowed; opacity: .58; }.backlog-project-option:disabled em { color: #a33; }.backlog-list-empty { padding: 32px 16px; color: var(--muted); font-size: 12px; text-align: center; }.backlog-detail-link { padding: 13px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 11px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; color: var(--ink); }.backlog-detail-link strong, .backlog-detail-link small { display: block; overflow-wrap: anywhere; }.backlog-detail-link small { margin-top: 4px; color: var(--muted); font-size: 10px; }.backlog-detail-link i { color: #1f6feb; font-style: normal; }.backlog-archive-note { margin: 10px 0 0; color: #a33; font-size: 11px; font-weight: 700; }.backlog-unlink-zone { margin-top: 20px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.field-span-2 { grid-column: span 2; }.required { margin-left: 4px; color: #dc2626; font-size: 9px; }.field-help { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.compact-button { min-height: 38px; padding: 0 14px; font-size: 11px; }.repeater-list { display: grid; gap: 10px; }.repeater-row { padding: 13px; display: grid; align-items: end; gap: 10px; border: 1px solid var(--line); border-radius: 12px; background: #fafafa; }.member-row { grid-template-columns: minmax(180px, 2fr) minmax(150px, 1.4fr) auto auto; }.link-row { grid-template-columns: 1.2fr 2fr 1fr 90px auto; }.repeater-row .field-group label { font-size: 10px; }.repeater-row .field-group input, .repeater-row .field-group select { height: 40px; min-height: 40px; }
.primary-check { min-height: 40px; padding: 0 8px; display: flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 9px; background: white; cursor: pointer; font-size: 10px; white-space: nowrap; }.primary-check input { accent-color: var(--primary); }
.danger-text-button { height: 40px; padding: 0 10px; border: 0; background: transparent; color: #b42318; cursor: pointer; font-size: 10px; }.form-actions { padding: 4px 0 12px; }.form-actions .primary-button { padding: 0 25px; }

/* Project detail */
.project-detail-heading { align-items: flex-end; }.detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }.detail-main, .detail-sidebar { display: grid; gap: 18px; }.detail-card { padding: 24px; }.detail-card .section-heading { margin-bottom: 18px; }
.overview-list { margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }.overview-list div { min-height: 76px; padding: 14px; border-bottom: 1px solid var(--line); }.overview-list div:nth-child(odd) { border-right: 1px solid var(--line); }.overview-list div:nth-last-child(-n+2) { border-bottom: 0; }.overview-list dt { color: var(--muted); font-size: 10px; }.overview-list dd { margin: 5px 0 0; font-weight: 700; }
.role-groups { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }.role-group { padding: 14px; border: 1px solid var(--line); border-radius: 11px; }.role-group h3 { margin: 0 0 10px; font-size: 11px; }.role-group > p { margin: 0; color: var(--muted); font-size: 10px; }.member-chip { margin-top: 6px; display: flex; align-items: center; gap: 8px; }.member-chip .avatar { display: grid; width: 28px; height: 28px; flex: none; place-items: center; border-radius: 50%; background: #eee9f0; color: var(--primary); font-size: 10px; font-weight: 800; }.member-chip > span:nth-child(2) { font-size: 11px; font-weight: 700; }.member-chip small { display: block; color: #b45309; font-size: 8px; }.member-chip em { margin-left: auto; padding: 2px 6px; border-radius: 8px; background: #eff6ff; color: var(--blue); font-size: 8px; font-style: normal; }
.next-placeholder { padding: 24px; border: 1px dashed #cbd5e1; border-radius: 12px; background: #f8fafc; text-align: center; }.next-placeholder strong { color: #475569; }.next-placeholder p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }.count-badge { padding: 3px 8px; border-radius: 10px; background: #f0edf2; color: var(--muted); font-size: 9px; }
.detail-links { display: grid; gap: 8px; }.detail-links a { position: relative; padding: 12px 38px 12px 12px; display: grid; grid-template-columns: auto 1fr; gap: 2px 9px; border: 1px solid var(--line); border-radius: 10px; }.detail-links a:hover { border-color: #bfdbfe; background: #f8fbff; }.detail-links strong { font-size: 11px; }.detail-links small { grid-column: 2; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.detail-links i { position: absolute; right: 13px; top: 15px; color: var(--blue); font-style: normal; }.link-type-badge { grid-row: span 2; align-self: center; padding: 4px 6px; border-radius: 6px; background: #eff6ff; color: var(--blue); font-size: 8px; font-weight: 700; }
.memo-content { min-height: 70px; color: #403944; white-space: normal; }.compact-empty { padding: 18px; color: var(--muted); font-size: 11px; text-align: center; }
.activity-card { position: sticky; top: 90px; }.activity-list { margin: 0; padding: 0; list-style: none; }.activity-list li { position: relative; margin-left: 5px; padding: 0 0 20px 20px; border-left: 1px solid #ddd7df; }.activity-list li:last-child { padding-bottom: 0; border-color: transparent; }.activity-dot { position: absolute; top: 4px; left: -5px; width: 9px; height: 9px; border: 2px solid white; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px #bfdbfe; }.activity-list p { margin: 0; font-size: 10px; }.activity-list time { color: var(--muted); font-size: 8px; }.archive-actions h2 { margin: 0 0 7px; font-size: 14px; }.archive-actions p { margin: 0 0 15px; color: var(--muted); font-size: 10px; }.full-button { width: 100%; }.danger-button { min-height: 42px; border: 1px solid #fecaca; border-radius: 10px; background: #fff; color: #b42318; cursor: pointer; font-weight: 700; }
.login-note { margin: 24px 0 0; padding-top: 19px; border-top: 1px solid var(--line); color: #89828d; font-size: 10px; text-align: center; }

/* Production schedule */
.project-next-summary { display: grid; justify-items: start; gap: 2px; }
.project-next-summary > strong { font-size: 12px; }.project-next-summary > strong span { color: var(--muted); font-size: 9px; font-weight: 500; }
.project-next-summary > a { color: var(--primary); font-size: 11px; font-weight: 800; }.project-next-summary > a:hover { color: var(--blue); }
.project-next-summary > small { color: var(--muted); font-size: 9px; }.project-next-summary > em { padding: 1px 5px; border-radius: 7px; background: #ede9fe; color: #6d28d9; font-size: 8px; font-style: normal; font-weight: 800; }
.deadline-label { color: #64748b; font-size: 9px; font-weight: 800; }.deadline-overdue { color: #b42318; }.deadline-today { color: var(--blue); }
.delivery-summary { margin-top: 4px; color: #7b7280; font-size: 8px; }
.delivery-check { padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fafafa; }.delivery-check label { margin: 0; display: flex; align-items: center; gap: 9px; cursor: pointer; }.delivery-check input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--primary); }
.production-schedule { scroll-margin-top: 92px; }
.project-next-card { margin-bottom: 10px; padding: 20px; display: grid; grid-template-columns: 110px 155px minmax(180px, 1fr) auto; align-items: center; gap: 18px; border: 1px solid #c7d2fe; border-radius: 14px; background: linear-gradient(115deg, #f8faff, #fff); box-shadow: 0 8px 24px rgba(37,99,235,.08); }
.project-next-card.is-overdue { border-color: #fecaca; background: linear-gradient(115deg, #fff8f7, #fff); }.project-next-card.is-today { border-color: #bfdbfe; }
.next-card-label { display: grid; gap: 3px; }.next-card-label > span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; }.next-card-label > strong { color: var(--blue); font-size: 12px; }.is-overdue .next-card-label > strong { color: #b42318; }.next-card-label em { justify-self: start; padding: 2px 6px; border-radius: 8px; background: #ede9fe; color: #6d28d9; font-size: 8px; font-style: normal; font-weight: 800; }
.next-card-date { display: grid; }.next-card-date strong { color: var(--primary); font-size: 19px; line-height: 1.35; }.next-card-date span { color: #4f4752; font-size: 12px; font-weight: 700; }.next-card-date small { color: var(--muted); font-size: 9px; }
.next-card-main h3 { margin: 0 0 5px; font-size: 18px; }.next-card-main div { display: flex; flex-wrap: wrap; gap: 6px; }.next-card-main span { padding: 2px 7px; border-radius: 7px; background: #f0f1f5; color: #5f5863; font-size: 9px; }
.next-card-actions { display: flex; gap: 7px; }.next-card-actions form { margin: 0; }.clear-next-form { margin: 0 0 18px; text-align: right; }.link-button { padding: 3px; border: 0; background: transparent; color: var(--blue); cursor: pointer; font-size: 10px; text-decoration: underline; }
.reorder-help { margin: 18px 0 8px; color: var(--muted); font-size: 9px; }.schedule-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.schedule-table { width: 100%; min-width: 920px; border-collapse: collapse; }.schedule-table th { padding: 10px; background: #f8f8fa; color: #766f7a; font-size: 9px; text-align: left; white-space: nowrap; }.schedule-table th:first-child { width: 42px; }.schedule-table th:nth-child(2) { width: 105px; }.schedule-table th:nth-child(4) { width: 100px; }.schedule-table th:nth-child(5) { width: 90px; }.schedule-table th:nth-child(6) { width: 160px; }.schedule-table th:nth-child(7) { width: 145px; }
.schedule-table td { padding: 11px 10px; vertical-align: top; border-top: 1px solid var(--line); font-size: 10px; }.schedule-table td > strong { display: block; font-size: 11px; }.schedule-table td > small { display: block; color: var(--muted); font-size: 8px; }.schedule-row.status-completed, .schedule-row.status-skipped, .schedule-row.status-cancelled { background: #fafafa; color: #756f78; opacity: .78; }.schedule-row.is-dragging { opacity: .4; background: #eff6ff; }
.drag-handle { width: 28px; height: 34px; border: 1px solid var(--line); border-radius: 7px; background: white; color: #827a86; cursor: grab; font-weight: 900; letter-spacing: -3px; }.drag-handle:active { cursor: grabbing; }.row-index { color: var(--muted); }
.schedule-tags { margin-top: 4px; display: flex; flex-wrap: wrap; gap: 4px; }.schedule-tags span, .schedule-tags em { padding: 1px 5px; border-radius: 6px; background: #f1f2f4; color: #625b66; font-size: 8px; font-style: normal; }.schedule-tags em { background: #ede9fe; color: #6d28d9; font-weight: 800; }
.schedule-status { display: inline-flex; padding: 2px 6px; border-radius: 8px; background: #eef2ff; color: #4338ca; font-size: 8px; font-weight: 800; }.schedule-status.status-completed { background: #ecfdf5; color: #047857; }.schedule-status.status-skipped { background: #f1f5f9; color: #475569; }.schedule-status.status-cancelled { background: #fef2f2; color: #991b1b; }
.schedule-notes > span { color: #aaa4ad; }.schedule-notes details { margin-top: 6px; }.schedule-notes summary { color: var(--blue); cursor: pointer; font-size: 8px; }.schedule-notes textarea { width: 100%; margin: 5px 0; padding: 6px; border: 1px solid var(--line); border-radius: 6px; resize: vertical; }.schedule-notes form { display: block; }
.schedule-actions { display: flex; flex-wrap: wrap; gap: 4px; }.schedule-actions form { margin: 0; }.schedule-actions a, .schedule-actions button { padding: 3px 5px; border: 1px solid #ddd7df; border-radius: 6px; background: white; color: var(--primary); cursor: pointer; font-size: 8px; }.schedule-actions .danger-link { border-color: #fecaca; color: #b42318; }.reorder-actions { margin-top: 9px; display: flex; justify-content: flex-end; }.reorder-actions button:disabled { cursor: not-allowed; opacity: .5; }

/* Dashboard data lists */
.dashboard-next-items { min-width: 330px; padding-left: 28px; display: grid; gap: 7px; border-left: 1px solid rgba(255,255,255,.16); }.dashboard-next-items a { padding: 5px 0; display: grid; grid-template-columns: 75px minmax(120px, 1fr); gap: 2px 10px; border-bottom: 1px solid rgba(255,255,255,.1); }.dashboard-next-items a:last-child { border-bottom: 0; }.dashboard-next-items time { grid-row: span 2; color: #dbeafe; font-size: 11px; font-weight: 800; }.dashboard-next-items strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.dashboard-next-items small { color: rgba(255,255,255,.65); font-size: 9px; }
.dashboard-data-list { margin: 17px 0 0; padding: 0; display: grid; list-style: none; }.dashboard-data-list li { padding: 10px 0; display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 10px; align-items: center; border-top: 1px solid var(--line); }.dashboard-data-list time { color: var(--blue); font-size: 10px; font-weight: 800; }.dashboard-data-list a { overflow: hidden; color: var(--primary); font-size: 11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.dashboard-data-list small { color: var(--muted); font-size: 9px; }.dashboard-data-list.compact li { grid-template-columns: minmax(0, 1fr) auto; }.dashboard-data-list.compact div { display: grid; }.dashboard-empty { padding: 30px 10px; color: var(--muted); font-size: 11px; text-align: center; }
.dashboard-schedule-sections { margin-bottom: 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.dashboard-schedule-panel { min-height: 220px; padding: 18px; }.dashboard-schedule-panel .panel-heading h2 { font-size: 14px; }.dashboard-schedule-panel .dashboard-data-list li { grid-template-columns: 68px minmax(0, 1fr); }.dashboard-schedule-panel .dashboard-data-list small { grid-column: 2; }

.coming-soon-card { min-height: 380px; padding: 45px 25px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: var(--radius); text-align: center; }
.coming-soon-mark { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 20px; background: #f0edf2; color: var(--primary); font-size: 30px; }
.coming-soon-card h2 { margin: 22px 0 5px; font-size: 21px; }.coming-soon-card p { max-width: 520px; margin: 0 0 24px; color: var(--muted); }
.settings-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.setting-card { position: relative; padding: 26px; display: flex; gap: 14px; border-radius: var(--radius); }
.setting-card > span { display: grid; width: 39px; height: 39px; flex: none; place-items: center; border-radius: 10px; background: #f0edf2; }
.setting-card h2 { margin: 1px 0 5px; font-size: 15px; }.setting-card p { margin: 0; color: var(--muted); font-size: 11px; }
.setting-card em { position: absolute; top: 12px; right: 12px; padding: 3px 7px; border-radius: 10px; background: #f2f3f5; color: #8d8791; font-size: 9px; font-style: normal; }

@media (max-width: 1100px) {
    .header-inner { padding: 0 20px; gap: 15px; }.global-nav a { padding: 0 8px; font-size: 11px; }.account-copy { display: none; }
    .metric-grid { grid-template-columns: repeat(3, 1fr); }.metric-card p { white-space: normal; }
    .project-table th:nth-child(4), .project-table td:nth-child(4) { display: none; }.project-table th:nth-child(1) { width: 26%; }.project-table th:nth-child(5) { width: 28%; }
    .filter-grid { grid-template-columns: repeat(3, 1fr); }.detail-grid { grid-template-columns: minmax(0, 1fr) 290px; }.link-row { grid-template-columns: 1fr 1.5fr 1fr auto; }.link-row .sort-field { display: none; }
    .project-next-card { grid-template-columns: 95px 135px 1fr; }.next-card-actions { grid-column: 3; }.dashboard-schedule-sections { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
    .header-inner { min-height: 64px; flex-wrap: wrap; }.nav-toggle { display: block; margin-left: auto; }.account-menu { margin-left: 0; }
    .global-nav { position: absolute; top: 64px; right: 12px; left: 12px; padding: 8px; display: none; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); }
    .global-nav.is-open { display: flex; }.global-nav a { min-height: 43px; padding: 0 13px; border-radius: 8px; }.global-nav a.is-active { background: #f2eff3; }.global-nav a.is-active::after { display: none; }
    .page-shell { width: min(100% - 32px, 650px); padding-top: 26px; }.page-heading { margin-bottom: 20px; }.page-heading h1 { font-size: 25px; }
    .next-schedule-card { padding: 27px 24px; align-items: flex-start; flex-direction: column; }.empty-next { width: 100%; padding: 18px 0 0; flex-direction: row; align-items: baseline; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.16); border-left: 0; text-align: left; }.empty-next > span { margin-top: 0; }
    .metric-grid { grid-template-columns: repeat(2, 1fr); }.dashboard-columns { grid-template-columns: 1fr; }.settings-grid { grid-template-columns: 1fr; }
    .page-heading { align-items: flex-start; }.heading-actions { align-items: stretch; flex-direction: column-reverse; }.filter-grid { grid-template-columns: repeat(2, 1fr); }.filter-keyword { grid-column: span 2; }.project-table-wrap { display: none; }.project-card-list { display: grid; gap: 12px; }.project-list-card { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); }.card-top { margin-bottom: 9px; display: flex; align-items: center; justify-content: space-between; }.card-top time, .project-card-meta { color: var(--muted); font-size: 9px; }.project-card-meta { margin: 4px 0 13px; }.project-list-card dl { margin: 0; display: grid; gap: 7px; }.project-list-card dl div { display: grid; grid-template-columns: 70px 1fr; gap: 8px; }.project-list-card dt { color: var(--muted); font-size: 9px; }.project-list-card dd { margin: 0; font-size: 10px; }.card-links { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px; }.card-links a { padding: 4px 7px; border-radius: 6px; background: #eff6ff; color: var(--blue); font-size: 9px; }.pagination-wrap nav > div:last-child { align-items: stretch; flex-direction: column; }.pagination-wrap nav span.relative { flex-wrap: wrap; }
    .form-grid { grid-template-columns: 1fr; }.field-span-2 { grid-column: auto; }.member-row, .link-row { grid-template-columns: 1fr 1fr; }.member-row .danger-text-button, .link-row .danger-text-button { justify-self: end; }.detail-grid { grid-template-columns: 1fr; }.activity-card { position: static; }.role-groups { grid-template-columns: 1fr 1fr; }
    .project-next-card { grid-template-columns: 1fr 1fr; }.next-card-main { grid-column: span 2; }.next-card-actions { grid-column: span 2; }.dashboard-next-items { width: 100%; min-width: 0; padding: 17px 0 0; border-top: 1px solid rgba(255,255,255,.16); border-left: 0; }.dashboard-schedule-sections { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
    .header-inner { padding: 0 16px; }.account-menu { position: absolute; right: 63px; }.logout-button { padding: 6px 8px; font-size: 9px; }
    .page-shell { width: calc(100% - 28px); padding: 22px 0 44px; }.dashboard-heading .date-chip { display: none; }.page-heading h1 { font-size: 23px; }
    .next-schedule-card { min-height: 210px; padding: 24px 20px; }.next-schedule-copy { gap: 12px; }.section-icon { width: 36px; height: 36px; }.next-schedule-card h2 { font-size: 21px; }.next-schedule-card p { font-size: 11px; }
    .metric-grid { gap: 10px; }.metric-card { min-height: 136px; padding: 16px 14px; }.metric-card strong { font-size: 26px; }.metric-card p { line-height: 1.45; }
    .panel-card { min-height: 285px; padding: 20px 17px; }.login-card { padding: 31px 24px; }.login-heading h1 { font-size: 24px; }
    .page-heading { flex-direction: column; }.page-heading > .page-action, .heading-actions { width: 100%; }.heading-actions .secondary-button, .heading-actions .primary-button { width: 100%; }.filter-grid { grid-template-columns: 1fr; }.filter-keyword { grid-column: auto; }.filter-actions { align-items: stretch; flex-direction: column-reverse; }.filter-actions > * { width: 100%; }.form-section, .detail-card { padding: 18px 15px; }.section-heading { align-items: stretch; flex-direction: column; }.member-row, .link-row { grid-template-columns: 1fr; }.link-row .sort-field { display: block; }.repeater-row .danger-text-button { width: 100%; justify-self: stretch; border: 1px solid #fecaca; border-radius: 8px; }.form-actions { align-items: stretch; flex-direction: column-reverse; }.form-actions > * { width: 100%; }.overview-list { grid-template-columns: 1fr; }.overview-list div, .overview-list div:nth-child(odd), .overview-list div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }.overview-list div:last-child { border-bottom: 0; }.role-groups { grid-template-columns: 1fr; }.alert-archive { flex-direction: column; }.backlog-picker-actions { align-items: stretch; flex-direction: column; }.backlog-picker-actions > * { width: 100%; }.backlog-picker-dialog { width: calc(100vw - 18px); max-height: calc(100vh - 18px); }.backlog-dialog-head { padding: 16px; }.backlog-search { padding: 14px 16px 0; }.backlog-load-status { margin-inline: 16px; }.backlog-dialog-actions { padding-inline: 16px; }.backlog-project-list { max-height: 55vh; }.backlog-project-option { grid-template-columns: 34px minmax(0, 1fr); }.backlog-project-option em { grid-column: 2; }.backlog-selected { align-items: flex-start; }
    .project-next-card { grid-template-columns: 1fr; }.next-card-main, .next-card-actions { grid-column: auto; }.next-card-actions > * { flex: 1; }.next-card-actions a, .next-card-actions button { width: 100%; }.dashboard-data-list li { grid-template-columns: 65px minmax(0, 1fr); }.dashboard-data-list li > small { grid-column: 2; }
}

/* Direction checklists and dashboard */
.checklist-create-grid { margin-bottom: 18px; padding: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; border-radius: 12px; background: #f8f8fa; }
.checklist-create-grid form > label { display: block; margin-bottom: 5px; font-size: 10px; font-weight: 800; }.checklist-create-grid form > div { display: flex; gap: 7px; }
.checklist-create-grid select, .checklist-create-grid input, .checklist-management input, .checklist-add-form input, .checklist-add-form select { min-width: 0; min-height: 38px; padding: 7px 9px; border: 1px solid #d9d5dc; border-radius: 8px; background: white; }
.checklist-create-grid select, .checklist-create-grid input { flex: 1; }.checklist-stack { display: grid; gap: 12px; }
.checklist-card { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: white; }.checklist-card[open] { border-color: #d7cfe0; }
.checklist-card > summary { padding: 15px; display: grid; grid-template-columns: minmax(170px, 1fr) auto auto; gap: 14px; align-items: center; cursor: pointer; list-style-position: inside; background: #fbfafc; }
.checklist-card > summary > div:first-child { display: inline-grid; }.checklist-card > summary strong { font-size: 13px; }.checklist-card > summary small { color: var(--muted); font-size: 8px; }
.checklist-progress { display: grid; text-align: right; }.checklist-progress b { color: var(--primary); font-size: 19px; }.checklist-progress span { color: var(--muted); font-size: 8px; }
.checklist-alerts { display: flex; flex-wrap: wrap; gap: 4px; }.checklist-alerts em, .checklist-badges em { padding: 2px 6px; border-radius: 8px; background: #fff7ed; color: #c2410c; font-size: 8px; font-style: normal; font-weight: 800; }.checklist-alerts em.is-danger, .checklist-badges em.is-danger { background: #fef2f2; color: #b42318; }
.checklist-card-body { padding: 15px; border-top: 1px solid var(--line); }.checklist-management { margin-bottom: 12px; display: flex; justify-content: space-between; gap: 10px; }.checklist-management form { display: flex; gap: 6px; }
.checklist-items { display: grid; gap: 7px; }.checklist-item { padding: 10px; display: grid; grid-template-columns: 30px minmax(190px, 1fr) 155px 125px; gap: 10px; align-items: start; border: 1px solid var(--line); border-radius: 10px; background: white; }.checklist-item.is-overdue { border-color: #fecaca; background: #fffafa; }.checklist-item.status-completed, .checklist-item.status-not_applicable { background: #fafafa; opacity: .78; }.checklist-item.is-dragging { opacity: .4; }
.checklist-item-main { display: grid; gap: 5px; }.checklist-title-input, .checklist-item-main textarea, .checklist-item-meta input, .checklist-item-meta select { width: 100%; padding: 6px 8px; border: 1px solid #ddd7df; border-radius: 7px; background: white; font-size: 10px; }.checklist-title-input { font-weight: 800; }.checklist-item-main > strong { font-size: 11px; }.checklist-item-main > p { margin: 0; color: var(--muted); font-size: 9px; }
.checklist-badges { display: flex; gap: 4px; }.checklist-badges span { padding: 2px 6px; border-radius: 7px; background: #eef2ff; color: #4338ca; font-size: 8px; font-weight: 800; }.checklist-item-meta { display: grid; gap: 5px; }.checklist-item-meta label, .checklist-item-meta span { color: var(--muted); font-size: 9px; }
.checklist-item-actions { display: flex; flex-wrap: wrap; gap: 4px; }.checklist-item-actions form { margin: 0; }.checklist-item-actions button:not(.secondary-button) { padding: 4px 6px; border: 1px solid #ddd7df; border-radius: 6px; background: white; color: var(--primary); cursor: pointer; font-size: 8px; }.checklist-item-actions .danger-link { border-color: #fecaca !important; color: #b42318 !important; }
.checklist-add-form { margin-top: 12px; padding-top: 12px; display: grid; grid-template-columns: minmax(160px, 1fr) 150px 130px auto auto; gap: 7px; align-items: center; border-top: 1px solid var(--line); }.checklist-add-form label { font-size: 9px; white-space: nowrap; }
.template-list { display: grid; gap: 12px; }.template-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; }.template-card.is-inactive { opacity: .65; }.template-card h2 { margin: 7px 0 3px; font-size: 16px; }.template-card p { margin: 0; color: var(--muted); }.template-card small { color: #8a8490; }.template-item-row { grid-template-columns: 1fr 1fr auto auto; }
.direction-kpis { margin-bottom: 22px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }.filter-check { align-self: end; min-height: 44px; }.direction-list { display: grid; gap: 10px; }.direction-card { padding: 16px; display: grid; grid-template-columns: minmax(180px, 1.1fr) minmax(310px, 1.5fr) 100px minmax(170px, 1fr); gap: 18px; align-items: center; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); }.direction-card.has-attention { border-left: 4px solid #dc2626; }.direction-project { display: grid; justify-items: start; gap: 4px; }.direction-project > a { color: var(--primary); font-size: 14px; font-weight: 800; }.direction-project small { color: var(--muted); font-size: 9px; }
.direction-dates { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }.direction-dates div { padding: 8px; border-radius: 8px; background: #f8f8fa; }.direction-dates dt { color: var(--muted); font-size: 8px; }.direction-dates dd { margin: 2px 0 0; font-size: 10px; font-weight: 800; }.direction-dates small { display: block; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.direction-progress { display: grid; }.direction-progress strong { color: var(--primary); font-size: 22px; }.direction-progress span { color: var(--muted); font-size: 8px; }.text-danger { color: #b42318 !important; font-weight: 800; }.attention-reasons { display: flex; flex-wrap: wrap; gap: 4px; }.attention-reasons span { padding: 3px 6px; border-radius: 7px; background: #fef2f2; color: #b42318; font-size: 8px; font-weight: 700; }.attention-reasons small { color: var(--muted); }
@media (max-width: 1100px) { .direction-kpis { grid-template-columns: repeat(3, 1fr); }.direction-card { grid-template-columns: 1fr 1.5fr 90px; }.attention-reasons { grid-column: span 3; }.checklist-item { grid-template-columns: 30px 1fr 150px; }.checklist-item-actions { grid-column: 2 / -1; } }
@media (max-width: 760px) { .checklist-create-grid { grid-template-columns: 1fr; }.checklist-card > summary { grid-template-columns: 1fr auto; }.checklist-alerts { grid-column: span 2; }.checklist-item { grid-template-columns: 1fr; }.checklist-item .drag-handle { display: none; }.checklist-item-actions { grid-column: auto; }.checklist-add-form { grid-template-columns: 1fr 1fr; }.direction-kpis { grid-template-columns: repeat(2, 1fr); }.direction-card { grid-template-columns: 1fr; }.attention-reasons { grid-column: auto; }.template-card { align-items: stretch; flex-direction: column; } }
@media (max-width: 420px) { .checklist-create-grid form > div, .checklist-management, .checklist-management form { flex-direction: column; }.checklist-add-form { grid-template-columns: 1fr; }.direction-dates { grid-template-columns: 1fr; } }

/* Team status */
.team-kpis { margin-bottom: 22px; display: grid; grid-template-columns: repeat(8, 1fr); gap: 10px; }.team-kpis .metric-card { min-width: 0; padding: 16px 13px; }.team-kpis .metric-card strong { margin-top: 12px; font-size: 25px; }.team-status-section { margin-top: 18px; }.status-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }.status-table { width: 100%; min-width: 980px; border-collapse: collapse; }.status-table th { padding: 10px 8px; background: #f8f8fa; color: #746d78; font-size: 9px; text-align: center; white-space: nowrap; }.status-table th:first-child, .status-table th:nth-child(2) { text-align: left; }.status-table td { padding: 11px 8px; border-top: 1px solid var(--line); font-size: 10px; text-align: center; }.status-table td:first-child, .status-table td:nth-child(2) { text-align: left; }.status-table tbody tr:hover td { background: #fcfbfd; }.status-table tbody tr.has-attention td { background: #fffafa; }.status-table td > strong { color: var(--primary); font-size: 11px; }.employee-status-table { min-width: 1060px; }.member-alerts { display: flex; flex-wrap: wrap; justify-content: center; gap: 3px; }.member-alerts span, .member-alerts em { padding: 2px 5px; border-radius: 7px; background: #fef2f2; color: #b42318; font-size: 8px; font-style: normal; font-weight: 800; }.member-alerts small { color: var(--muted); }
@media (max-width: 1100px) { .team-kpis { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 760px) { .team-kpis { grid-template-columns: repeat(2, 1fr); }.team-status-section { padding: 18px 14px; } }

.saved-view-panel { margin-bottom: 18px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow); }.saved-view-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }.saved-view-heading h2 { margin: 1px 0 0; font-size: 18px; }.fixed-view-tabs, .custom-view-links { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 7px; }.view-tab, .custom-view-links a { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); font-size: 9px; font-weight: 800; }.view-tab:hover, .custom-view-links a:hover, .view-tab.is-active, .custom-view-links a.is-active { border-color: var(--primary); background: var(--primary); color: #fff; }.custom-view-links { padding-top: 12px; border-top: 1px solid var(--line); }.custom-view-links a { border-radius: 8px; }.custom-view-links em { margin-left: 5px; padding: 1px 4px; border-radius: 4px; background: #f3eef8; color: var(--primary); font-size: 7px; font-style: normal; }.custom-view-links a.is-active em { background: rgba(255,255,255,.18); color: #fff; }.custom-view-links .system-view { border-style: dashed; }.saved-view-actions { margin-top: 14px; display: flex; align-items: flex-start; gap: 10px; }.saved-view-actions details { min-width: 210px; border: 1px solid var(--line); border-radius: 9px; background: #faf9fb; }.saved-view-actions summary { padding: 8px 11px; cursor: pointer; color: var(--primary); font-size: 9px; font-weight: 800; }.saved-view-actions details > form { padding: 2px 10px 10px; display: grid; gap: 8px; }.saved-view-actions input:not([type="checkbox"]) { width: 100%; min-height: 36px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }.saved-view-actions label { color: var(--muted); font-size: 9px; }.saved-view-actions .compact-button { min-height: 34px; padding: 7px 10px; }.saved-view-secondary-actions { padding: 0 10px 10px; display: flex; flex-wrap: wrap; gap: 7px; }.saved-view-secondary-actions button { border: 0; background: none; color: var(--blue); cursor: pointer; font-size: 8px; font-weight: 800; }.saved-view-secondary-actions .danger-link { color: #b42318; }
@media (max-width: 760px) { .saved-view-panel { padding: 16px 14px; }.saved-view-heading { align-items: flex-start; }.fixed-view-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }.fixed-view-tabs .view-tab { flex: 0 0 auto; }.saved-view-actions { flex-direction: column; }.saved-view-actions details { width: 100%; } }

/* User management and account security */
.account-copy a { color: var(--blue); font-size: 8px; font-weight: 800; }
.user-filter-grid { grid-template-columns: 2fr repeat(4, 1fr); }
.user-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.user-table { width: 100%; min-width: 1080px; border-collapse: collapse; }
.user-table th { padding: 11px 12px; background: #f8f8fa; color: var(--muted); font-size: 9px; text-align: left; white-space: nowrap; }
.user-table td { padding: 13px 12px; vertical-align: top; border-top: 1px solid var(--line); font-size: 10px; }
.user-table tr.is-inactive td { background: #fafafa; color: #716b74; }
.user-table td > strong, .user-table td > small { display: block; }
.user-table td > small { margin-top: 2px; color: var(--muted); }
.team-chip { margin: 0 3px 4px 0; padding: 3px 6px; display: inline-block; border-radius: 7px; background: #f1f5f9; color: #475569; font-size: 8px; }
.team-chip.is-primary { background: #eff6ff; color: #1d4ed8; font-weight: 800; }
.state-label { padding: 3px 7px; display: inline-block; border-radius: 12px; background: #ecfdf5; color: #047857; font-size: 8px; font-weight: 800; }
.state-label.is-inactive { background: #f1f5f9; color: #64748b; }
.attention-text { display: block; color: #b45309 !important; font-weight: 800; }
.muted-text { color: var(--muted); }
.user-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.user-actions a, .user-actions button { padding: 4px 7px; border: 0; border-radius: 6px; background: #eff6ff; color: #1d4ed8; cursor: pointer; font-size: 8px; font-weight: 800; }
.user-actions form { margin: 0; }
.team-selector { margin: 0; padding: 0; border: 0; }
.team-selector legend { margin-bottom: 3px; font-weight: 800; }
.team-choice-grid { margin-top: 10px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.team-choice, .bordered-check { padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.temporary-password-panel { margin-bottom: 20px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid #bfdbfe; border-radius: var(--radius); background: #eff6ff; }
.temporary-password-panel h2, .temporary-password-panel p { margin: 0; }
.temporary-password-panel p:last-child { color: #475569; font-size: 10px; }
.temporary-password-copy { display: flex; align-items: center; gap: 10px; }
.temporary-password-copy code { padding: 10px 12px; border: 1px solid #93c5fd; border-radius: 8px; background: #fff; color: #1e3a8a; font-size: 14px; font-weight: 800; letter-spacing: .04em; }
.user-edit-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 20px; align-items: start; }
.user-side-panel { display: grid; gap: 16px; }
.user-side-panel .detail-card { padding: 18px; }
.user-side-panel h2 { margin: 0 0 8px; font-size: 14px; }
.user-side-panel p { color: var(--muted); font-size: 9px; }
.password-form { width: min(680px, 100%); }
@media (max-width: 900px) { .user-filter-grid { grid-template-columns: repeat(2, 1fr); }.user-filter-grid .filter-keyword { grid-column: span 2; }.user-edit-grid { grid-template-columns: 1fr; }.team-choice-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .team-choice-grid { grid-template-columns: 1fr; }.temporary-password-panel { align-items: stretch; flex-direction: column; }.temporary-password-copy { align-items: stretch; flex-direction: column; }.temporary-password-copy code { overflow-x: auto; }.user-filter-grid { grid-template-columns: 1fr; }.user-filter-grid .filter-keyword { grid-column: auto; } }
.readiness-summary { margin-bottom: 10px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.readiness-summary div { padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.readiness-summary span { color: var(--muted); font-size: 10px; font-weight: 800; }.readiness-summary strong { font-size: 25px; }
.readiness-summary .is-ok strong { color: #047857; }.readiness-summary .is-warning strong { color: #b45309; }.readiness-summary .is-error strong { color: #b42318; }
.readiness-time { margin: 0 0 20px; color: var(--muted); font-size: 9px; text-align: right; }
.readiness-section { margin-bottom: 18px; }.readiness-list { display: grid; gap: 7px; }
.readiness-item { padding: 11px 13px; display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 12px; align-items: start; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.readiness-item.is-warning { border-color: #fde68a; background: #fffdf5; }.readiness-item.is-error { border-color: #fecaca; background: #fffafa; }
.readiness-status { padding: 3px 6px; border-radius: 8px; background: #ecfdf5; color: #047857; font-size: 8px; font-weight: 800; text-align: center; }
.is-warning .readiness-status { background: #fef3c7; color: #92400e; }.is-error .readiness-status { background: #fee2e2; color: #991b1b; }
.readiness-item h3 { margin: 0; font-size: 11px; }.readiness-item > strong { font-size: 13px; }
.readiness-item details { margin-top: 5px; color: var(--muted); font-size: 9px; }.readiness-item summary { cursor: pointer; color: var(--blue); font-weight: 800; }.readiness-item ul { margin: 5px 0 0; padding-left: 18px; }
.readiness-note { padding: 12px 14px; border: 1px solid #bfdbfe; border-radius: 10px; background: #eff6ff; color: #475569; font-size: 9px; }
@media (max-width: 600px) { .readiness-summary { grid-template-columns: 1fr; }.readiness-item { grid-template-columns: 70px minmax(0, 1fr); }.readiness-item > strong { grid-column: 2; } }

.section-heading-actions, .empty-schedule-actions { display: flex; flex-wrap: wrap; gap: 8px; }.empty-schedule-actions { margin-top: 13px; justify-content: center; }.import-entry-card textarea { width: 100%; min-height: 290px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; resize: vertical; font: inherit; line-height: 1.8; }.import-base-year { max-width: 260px; margin-bottom: 18px; }.import-summary { margin-bottom: 15px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }.import-summary div { padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--line); border-radius: 11px; background: #fff; box-shadow: var(--shadow); }.import-summary span { color: var(--muted); font-size: 9px; font-weight: 800; }.import-summary strong { color: var(--primary); font-size: 21px; }.import-summary .has-error { border-color: #fecaca; background: #fffafa; }.import-summary .has-error strong { color: #b42318; }.import-summary .has-warning { border-color: #fde68a; background: #fffdf5; }.import-summary .has-warning strong { color: #a16207; }.reanalyze-form { margin-bottom: 15px; padding: 13px 15px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }.reanalyze-form label { font-size: 10px; font-weight: 800; }.reanalyze-form select { min-width: 110px; }.reanalyze-form p { margin: 0 0 0 auto; color: var(--muted); font-size: 9px; }.import-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }.import-table { width: 100%; min-width: 1260px; border-collapse: collapse; }.import-table th { padding: 10px 8px; background: #f8f8fa; color: var(--muted); font-size: 8px; text-align: left; white-space: nowrap; }.import-table td { padding: 9px 8px; vertical-align: top; border-top: 1px solid var(--line); }.import-table tr.has-error td { background: #fffafa; }.import-table tr.has-warning td { background: #fffdf5; }.import-table td:nth-child(1), .import-table td:nth-child(7) { width: 48px; text-align: center; }.import-table td:nth-child(2) { width: 180px; }.import-table td:nth-child(3) { width: 145px; }.import-table td:nth-child(4) { width: 190px; }.import-table td:nth-child(5), .import-table td:nth-child(6) { width: 130px; }.import-table td:nth-child(8) { width: 230px; }.import-table input:not([type="checkbox"]), .import-table select { width: 100%; min-height: 36px; padding: 6px 7px; border: 1px solid var(--line); border-radius: 7px; background: #fff; font-size: 9px; }.import-table input[type="time"] { margin-top: 6px; }.import-table input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--primary); }.source-line { color: var(--muted); font-size: 7px; font-weight: 800; }.import-table td > p { margin: 3px 0 0; font-size: 9px; line-height: 1.5; }.parse-messages { display: grid; justify-items: start; gap: 3px; }.parse-messages span { padding: 2px 5px; border-radius: 6px; font-size: 8px; }.parse-ok { background: #ecfdf5; color: #047857; }.parse-error { background: #fef2f2; color: #b42318; }.parse-warning { background: #fffbeb; color: #92400e; }.import-confirm-note { margin-top: 14px; padding: 13px 15px; border: 1px solid #bfdbfe; border-radius: 10px; background: #f8fbff; }.import-confirm-note strong { font-size: 10px; }.import-confirm-note p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
@media (max-width: 760px) { .section-heading-actions { width: 100%; }.section-heading-actions > * { flex: 1; }.import-summary { grid-template-columns: repeat(2, 1fr); }.reanalyze-form { align-items: stretch; flex-direction: column; }.reanalyze-form p { margin-left: 0; }.import-confirm-form .form-actions { margin-top: 10px; }.import-entry-card textarea { min-height: 250px; } }

/* Global schedule / MITELI SYSTEM SERIES v1.2 */
body.schedule-system-page {
    --schedule-brand: #850e84;
    --schedule-brand-hover: #6f0b6f;
    --schedule-brand-soft: #f5eaf5;
    --schedule-sidebar: #160d1d;
    --schedule-sidebar-muted: #a99dad;
    --schedule-ink: #17131c;
    --schedule-ink-2: #5f5864;
    --schedule-ink-3: #8b8391;
    --schedule-line: #e8e3ea;
    --schedule-line-strong: #d9d1dc;
    --schedule-surface-2: #faf9fb;
    --schedule-success: #238854;
    --schedule-warning: #b86d00;
    --schedule-danger: #c44242;
    margin: 0;
    background: #fff;
    color: var(--schedule-ink);
    font-size: 16px;
    line-height: 1.6;
}
.schedule-system-page > .site-header { display: none; }
.schedule-system-main { width: 100%; margin: 0; padding: 0; }
.schedule-app-shell { min-height: 100vh; display: grid; grid-template-columns: 76px minmax(0, 1fr); background: #fff; }
.schedule-sidebar { position: sticky; top: 0; z-index: 30; height: 100vh; display: flex; flex-direction: column; background: var(--schedule-sidebar); color: #fff; border-right: 1px solid rgba(255,255,255,.07); }
.schedule-sidebar-brand { height: 82px; display: grid; place-items: center; border-bottom: 1px solid rgba(255,255,255,.08); color: #fff; font-size: 20px; font-weight: 800; }
.schedule-sidebar-brand::before { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.24); content: "M"; }
.schedule-sidebar-brand { font-size: 0; }
.schedule-sidebar nav { padding: 14px 0; display: flex; flex-direction: column; gap: 2px; }
.schedule-sidebar nav a { position: relative; min-height: 58px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--schedule-sidebar-muted); font-size: 11px; line-height: 1; }
.schedule-sidebar nav a:hover { background: rgba(255,255,255,.04); color: #fff; }
.schedule-sidebar nav a.is-active { background: rgba(133,14,132,.18); color: #fff; }
.schedule-sidebar nav a.is-active::before { position: absolute; top: 10px; bottom: 10px; left: 0; width: 3px; background: var(--schedule-brand); content: ""; }
.schedule-sidebar svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.schedule-sidebar-version { margin-top: auto; padding: 12px 0 16px; border-top: 1px solid rgba(255,255,255,.08); color: #817485; font-size: 10px; text-align: center; }
.schedule-workspace { min-width: 0; }
.schedule-topbar { position: sticky; top: 0; z-index: 20; min-height: 76px; padding: 0 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--schedule-line); background: rgba(255,255,255,.96); backdrop-filter: blur(10px); }
.schedule-topbar > div:first-child { display: flex; align-items: baseline; gap: 14px; }
.schedule-topbar > div:first-child strong { font-size: 15px; letter-spacing: .12em; }
.schedule-topbar > div:first-child span { color: var(--schedule-ink-3); font-size: 13px; }
.schedule-account { display: flex; align-items: center; gap: 14px; }
.schedule-account > span { display: flex; flex-direction: column; text-align: right; line-height: 1.3; }
.schedule-account strong { font-size: 13px; }
.schedule-account small { color: var(--schedule-ink-3); font-size: 12px; }
.schedule-account button { min-height: 38px; padding: 0 13px; border: 1px solid var(--schedule-line-strong); border-radius: 2px; background: #fff; color: var(--schedule-ink-2); font-size: 13px; cursor: pointer; }
.schedule-content { width: min(1480px, calc(100% - 80px)); margin: 0 auto; padding: 52px 0 80px; }
.schedule-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; padding-bottom: 32px; border-bottom: 1px solid var(--schedule-line); }
.schedule-eyebrow { margin: 0 0 9px; color: var(--schedule-brand); font-size: 13px; font-weight: 800; letter-spacing: .14em; }
.schedule-page-head h1 { margin: 0; font-size: 32px; line-height: 1.25; letter-spacing: -.03em; }
.schedule-page-head > div > p:last-child { margin: 8px 0 0; color: var(--schedule-ink-2); font-size: 16px; }
.schedule-view-tabs { display: flex; gap: 28px; border-bottom: 1px solid var(--schedule-line); }
.schedule-view-tabs a { position: relative; padding: 0 0 12px; color: var(--schedule-ink-3); font-size: 14px; font-weight: 700; }
.schedule-view-tabs a.is-active { color: var(--schedule-brand); }
.schedule-view-tabs a.is-active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--schedule-brand); content: ""; }
.schedule-controls { padding: 30px 0 0; }
.schedule-period-row { display: flex; align-items: center; gap: 24px; }
.schedule-period-row h2 { margin: 0; font-size: 22px; line-height: 1.45; }
.schedule-period-nav { display: flex; align-items: center; }
.schedule-period-nav a { min-width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--schedule-line-strong); background: #fff; color: var(--schedule-ink); font-size: 16px; font-weight: 700; }
.schedule-period-nav a + a { border-left: 0; }
.schedule-period-nav a:hover { color: var(--schedule-brand); }
.schedule-period-nav .schedule-today-button { min-width: 64px; padding: 0 12px; font-size: 14px; }
.schedule-filter-form { margin-top: 24px; padding: 20px 0; display: grid; grid-template-columns: repeat(3, minmax(170px, 240px)) auto auto; align-items: end; gap: 12px; border-top: 1px solid var(--schedule-line); border-bottom: 1px solid var(--schedule-line); }
.schedule-filter-form label { display: grid; gap: 6px; }
.schedule-filter-form label > span { color: var(--schedule-ink-2); font-size: 14px; font-weight: 700; }
.schedule-filter-form select { width: 100%; min-height: 44px; padding: 0 36px 0 12px; border: 1px solid var(--schedule-line-strong); border-radius: 4px; background: #fff; color: var(--schedule-ink); font-size: 14px; }
.schedule-filter-form button { min-height: 44px; padding: 0 18px; border: 1px solid var(--schedule-brand); border-radius: 2px; background: var(--schedule-brand); color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; }
.schedule-filter-form button:hover { background: var(--schedule-brand-hover); }
.schedule-filter-form > a { min-height: 44px; padding: 0 8px; display: grid; place-items: center; color: var(--schedule-brand); font-size: 14px; font-weight: 700; }
.schedule-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid var(--schedule-line); }
.schedule-summary > div { min-height: 100px; padding: 22px 20px 18px 0; }
.schedule-summary > div + div { padding-left: 20px; border-left: 1px solid var(--schedule-line); }
.schedule-summary span { display: block; color: var(--schedule-ink-3); font-size: 14px; }
.schedule-summary strong { display: block; margin-top: 5px; overflow: hidden; font-size: 28px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.schedule-summary strong small { margin-left: 4px; color: var(--schedule-ink-3); font-size: 13px; }
.schedule-summary .has-warning strong { color: var(--schedule-danger); }
.schedule-summary .summary-person { font-size: 18px; line-height: 1.8; }
.schedule-context-line { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.schedule-context-line p { margin: 0; color: var(--schedule-ink-3); font-size: 13px; }
.schedule-legend { display: flex; flex-wrap: wrap; gap: 18px; }
.schedule-legend span { display: inline-flex; align-items: center; gap: 7px; color: var(--schedule-ink-2); font-size: 13px; }
.schedule-legend span::before { width: 3px; height: 16px; background: var(--schedule-ink-3); content: ""; }
.schedule-legend .legend-next::before { background: var(--schedule-brand); }
.schedule-legend .legend-overdue::before { background: var(--schedule-danger); }
.schedule-legend .legend-delivery::before { background: var(--schedule-warning); }
.schedule-legend .legend-completed::before { background: var(--schedule-success); }
.schedule-empty-message { padding: 34px 0; display: flex; align-items: baseline; gap: 14px; border-top: 1px solid var(--schedule-line); color: var(--schedule-ink-2); }
.schedule-empty-message strong { color: var(--schedule-ink); }
.schedule-empty-message span { font-size: 14px; }
.schedule-calendar-scroll { width: 100%; overflow-x: auto; border-top: 1px solid var(--schedule-line-strong); }
.schedule-month-calendar { min-width: 1120px; border-left: 1px solid var(--schedule-line); }
.schedule-weekdays, .schedule-month-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.schedule-weekdays span { padding: 11px 8px; border-right: 1px solid var(--schedule-line); border-bottom: 1px solid var(--schedule-line); background: var(--schedule-surface-2); color: var(--schedule-ink-3); font-size: 13px; font-weight: 700; text-align: center; }
.schedule-month-day { min-height: 206px; padding: 10px; border-right: 1px solid var(--schedule-line); border-bottom: 1px solid var(--schedule-line); background: #fff; }
.schedule-month-day.is-outside { background: var(--schedule-surface-2); }
.schedule-month-day > header { height: 28px; }
.schedule-month-day > header time { width: 28px; height: 28px; display: grid; place-items: center; font-size: 14px; font-weight: 700; }
.schedule-month-day.is-today > header time { border-radius: 2px; background: var(--schedule-brand); color: #fff; }
.schedule-month-day.is-outside > header { color: #b6afb9; }
.schedule-month-events { margin-top: 7px; display: grid; gap: 6px; }
.schedule-month-event { min-width: 0; padding: 5px 7px; display: block; border-left: 3px solid var(--schedule-line-strong); background: var(--schedule-surface-2); }
.schedule-month-event:hover { background: var(--schedule-brand-soft); }
.schedule-month-event.is-next { border-left-color: var(--schedule-brand); }
.schedule-month-event.is-overdue { border-left-color: var(--schedule-danger); }
.schedule-month-event.is-completed { border-left-color: var(--schedule-success); opacity: .72; }
.schedule-event-project, .schedule-month-event strong, .schedule-event-meta { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.schedule-event-project { color: var(--schedule-ink-3); font-size: 11px; }
.schedule-month-event strong { color: var(--schedule-ink); font-size: 13px; line-height: 1.45; }
.schedule-event-meta { color: var(--schedule-ink-2); font-size: 11px; }
.schedule-event-flags { display: flex; flex-wrap: wrap; gap: 7px; }
.schedule-event-flags em { color: var(--schedule-brand); font-size: 10px; font-style: normal; font-weight: 800; }
.schedule-month-event.is-overdue .schedule-event-flags em { color: var(--schedule-danger); }
.schedule-more-link { padding: 4px 0; color: var(--schedule-brand); font-size: 11px; font-weight: 700; }
.schedule-week-calendar { min-width: 1120px; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-left: 1px solid var(--schedule-line); }
.schedule-week-day { min-height: 520px; border-right: 1px solid var(--schedule-line); border-bottom: 1px solid var(--schedule-line); }
.schedule-week-day > header { min-height: 78px; padding: 13px 12px; display: grid; grid-template-columns: 1fr auto; align-items: baseline; border-bottom: 1px solid var(--schedule-line); background: var(--schedule-surface-2); }
.schedule-week-day > header span { color: var(--schedule-ink-3); font-size: 13px; }
.schedule-week-day > header strong { grid-row: 2; font-size: 20px; }
.schedule-week-day > header small { grid-row: 1 / span 2; grid-column: 2; color: var(--schedule-ink-3); font-size: 12px; }
.schedule-week-day.is-today > header { box-shadow: inset 3px 0 0 var(--schedule-brand); background: var(--schedule-brand-soft); }
.schedule-week-events { max-height: 560px; overflow-y: auto; }
.schedule-week-events > p { margin: 0; padding: 24px 12px; color: var(--schedule-ink-3); font-size: 13px; text-align: center; }
.schedule-week-event { padding: 13px 12px; display: block; border-bottom: 1px solid var(--schedule-line); border-left: 3px solid transparent; }
.schedule-week-event:hover { background: var(--schedule-surface-2); }
.schedule-week-event.is-next { border-left-color: var(--schedule-brand); }
.schedule-week-event.is-overdue { border-left-color: var(--schedule-danger); }
.schedule-week-event.is-completed { border-left-color: var(--schedule-success); opacity: .72; }
.schedule-week-event strong, .schedule-week-event > span { display: block; overflow: hidden; text-overflow: ellipsis; }
.schedule-week-event strong { margin: 2px 0 4px; font-size: 15px; line-height: 1.45; }
.schedule-week-event > span:not(.schedule-event-project) { color: var(--schedule-ink-2); font-size: 12px; }
.schedule-week-event .schedule-week-status { margin-top: 5px; color: var(--schedule-ink-3); }
.schedule-week-event em { display: inline-block; margin: 8px 8px 0 0; color: var(--schedule-brand); font-size: 11px; font-style: normal; font-weight: 800; }
.schedule-week-event.is-overdue em { color: var(--schedule-danger); }

@media (max-width: 1180px) {
    .schedule-content { width: calc(100% - 48px); }
    .schedule-filter-form { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
    .schedule-filter-form button, .schedule-filter-form > a { grid-row: 2; }
}
@media (max-width: 820px) {
    .schedule-app-shell { grid-template-columns: 1fr; }
    .schedule-sidebar { position: sticky; height: 64px; flex-direction: row; align-items: center; overflow-x: auto; }
    .schedule-sidebar-brand { width: 70px; height: 64px; flex: none; border-right: 1px solid rgba(255,255,255,.08); border-bottom: 0; }
    .schedule-sidebar nav { padding: 0; flex-direction: row; }
    .schedule-sidebar nav a { min-width: 64px; min-height: 64px; font-size: 9px; }
    .schedule-sidebar nav a.is-active::before { top: auto; right: 10px; bottom: 0; left: 10px; width: auto; height: 3px; }
    .schedule-sidebar-version { display: none; }
    .schedule-topbar { top: 64px; min-height: 64px; padding: 0 18px; }
    .schedule-topbar > div:first-child span, .schedule-account > span { display: none; }
    .schedule-content { width: calc(100% - 32px); padding-top: 38px; }
    .schedule-page-head { align-items: flex-start; flex-direction: column; }
    .schedule-filter-form { grid-template-columns: 1fr; }
    .schedule-filter-form button, .schedule-filter-form > a { grid-row: auto; }
    .schedule-summary { grid-template-columns: repeat(2, 1fr); }
    .schedule-summary > div { border-bottom: 1px solid var(--schedule-line); }
    .schedule-summary > div + div { padding-left: 0; border-left: 0; }
    .schedule-summary > div:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--schedule-line); }
    .schedule-context-line { padding: 14px 0; align-items: flex-start; flex-direction: column; }
}
