:root{--bg:#edf0eb;--paper:#fff;--ink:#25312b;--muted:#748078;--line:#ccd4ce;--line-soft:#e5ebe7;--accent:#245b48;--accent-dark:#194637;--accent-soft:#e5f0eb;--header:#315e4e;--cream:#f7f6f1;--danger:#b84f46;--shadow:0 16px 42px rgba(39,57,49,.1)}
*{box-sizing:border-box}body{min-width:1180px;margin:0;background:var(--bg);color:var(--ink);font-family:"Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(2000px,calc(100% - 28px));margin:14px auto 28px}
.sheet-header,.dashboard,.dashboard-filters,.toolbar,.toolbar-main,.toolbar-filters,.toolbar-files,.search-box,.select-box,.progress-meta,.sheet-footer,.header-actions,.bulk-bar,.modal-header,.inline-form,.category-heading,.category-actions,.middle-row,.template-row,.template-actions,.backup-toolbar,.modal-actions{display:flex;align-items:center}
.sheet-header{justify-content:space-between;padding:19px 24px;border:1px solid var(--line);border-bottom:0;background:var(--paper)}.overline,.save-state{margin:0}.overline{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.18em}.sheet-title{display:block;width:min(720px,60vw);margin:5px 0 4px;padding:0;border:0;outline:0;background:transparent;color:var(--ink);font-family:Georgia,serif;font-size:32px;font-weight:700;letter-spacing:-.04em}.sheet-title:focus{box-shadow:inset 0 -2px var(--accent)}.save-state{color:var(--muted);font-size:11px}.header-actions{gap:8px}.month-group{padding:9px 12px;border:1px solid var(--line);background:var(--cream)}.month-group span,.select-box span{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}.month-group input{border:0;outline:0;background:transparent;color:var(--accent-dark);font-size:15px;font-weight:800}
.auth-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--line);border-top:0;background:#f8faf8}.auth-panel[hidden]{display:none}.auth-panel strong{display:block;margin-bottom:3px;color:var(--accent-dark);font-size:12px}.auth-panel span{color:var(--muted);font-size:11px}.auth-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}body.auth-readonly .sheet-panel,body.auth-readonly .notes-panel,body.auth-readonly .dashboard,body.auth-readonly .dashboard-filters{opacity:.72}body.auth-readonly .auth-panel{opacity:1}
.migration-helper{display:grid;gap:10px;margin:12px 0 14px;padding:13px;border:1px solid var(--line);background:#fbfcfa}.migration-helper header{display:flex;justify-content:space-between;align-items:center}.migration-helper h3{margin:3px 0 0;font-family:Georgia,serif;font-size:18px}.migration-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.migration-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.migration-status div{min-width:0;padding:8px;border:1px solid var(--line-soft);background:#fff}.migration-status dt{margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:800}.migration-status dd{margin:0;color:var(--ink);font-size:11px;line-height:1.45;word-break:break-word}
.dashboard{gap:1px;border:1px solid var(--line);background:var(--line)}.summary-card,.progress-card{min-height:78px;background:var(--paper)}.summary-card{min-width:100px;padding:12px 16px}.summary-card span,.progress-meta{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}.summary-card strong{display:block;margin-top:5px;color:var(--accent-dark);font-family:Georgia,serif;font-size:25px}.progress-card{flex:1;padding:17px 20px}.progress-meta{justify-content:space-between;margin-bottom:10px}.progress-track{height:9px;overflow:hidden;border-radius:99px;background:#edf1ee}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s}
.dashboard-filters{gap:7px;padding:8px 13px;border:1px solid var(--line);border-top:0;background:#f8faf8}.dashboard-filters>span{margin-right:3px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}.dashboard-chip{padding:5px 11px;border:1px solid var(--line);border-radius:99px;background:var(--paper);color:var(--muted);font-size:11px;font-weight:800}.dashboard-chip:hover,.dashboard-chip.active{border-color:var(--accent);background:var(--accent);color:#fff}
.workspace{display:flex;align-items:flex-start;gap:12px}.sheet-panel{min-width:0;flex:1;margin-top:12px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.toolbar{position:sticky;z-index:8;top:0;min-height:59px;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--cream)}.toolbar-main,.toolbar-filters,.toolbar-files{gap:6px}.toolbar-files{margin-left:auto}.button{min-height:34px;padding:0 11px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:11px;font-weight:800}.button:hover{border-color:#9daaa4}.button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-dark)}.button.danger-fill{border-color:var(--danger);background:var(--danger);color:#fff}.search-box,.select-box{min-height:34px;border:1px solid var(--line);background:var(--paper)}.search-box{gap:6px;width:180px;padding:0 8px;color:var(--muted)}.search-box input,.select-box select{border:0;outline:0;background:transparent;color:var(--ink);font-size:11px}.search-box input{width:100%}.select-box{gap:4px;padding:0 7px}.text-button{border:0;background:transparent;color:var(--accent);font-size:10px;font-weight:800;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.text-button:hover{text-decoration-color:currentColor}
.bulk-bar{position:sticky;z-index:7;top:53px;gap:9px;padding:8px 12px;border-bottom:1px solid #c6d9d1;background:#edf7f3;color:var(--accent-dark);font-size:11px}.bulk-bar label{margin-left:auto}.bulk-bar select{min-height:27px;border:1px solid var(--line);background:#fff}.table-wrap{min-height:400px;max-height:calc(100vh - 255px);overflow:auto}.agenda-table{width:100%;min-width:1720px;border-collapse:separate;border-spacing:0;table-layout:fixed}th,td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}th{position:sticky;z-index:5;top:0;height:40px;padding:6px;background:var(--header);color:#fff;font-size:11px;font-weight:800;text-align:center}th:not(.select-column,.row-number,.row-actions){width:128px}th.wide{width:210px}.select-column{left:0;width:38px}.row-number{left:38px;width:48px}.row-actions{width:140px}td{height:53px;padding:0;background:var(--paper)}tbody tr:nth-child(even) td{background:#fbfcfa}tbody tr:hover td{background:#f4f8f5}tbody tr.status-done td{background:#eff8f2}tbody tr.status-active td{background:#f1f7fd}tbody tr.status-hold td{background:#fff8ec}tbody tr.status-cancelled td{background:#fff2f1}tbody tr.dragging{opacity:.45}.select-cell,.number-cell{position:sticky;z-index:2;background:inherit!important;text-align:center}.select-cell{left:0}.number-cell{left:38px;color:var(--muted);font-size:11px;font-weight:800}.category-cell{box-shadow:inset 4px 0 var(--category-color,#cad4cf)}.cell-input,.cell-select,.cell-textarea{width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:11px}.cell-input,.cell-select{padding:0 7px}.cell-textarea{min-height:52px;padding:7px;line-height:1.4;resize:vertical}.cell-input:focus,.cell-select:focus,.cell-textarea:focus{background:#fffef7;box-shadow:inset 0 0 0 2px #d6ad45}.status-select{font-weight:800}.status-select[data-status="미시작"]{color:#67726d}.status-select[data-status="진행중"]{color:#21689a}.status-select[data-status="완료"]{color:#27734e}.status-select[data-status="보류"]{color:#a26722}.status-select[data-status="취소"]{color:#b84f46}.completion-cell{text-align:center}.completion-check,.row-check{width:17px;height:17px;accent-color:var(--accent)}.action-group{display:flex;justify-content:center;gap:3px}.icon-button{width:26px;height:26px;border:1px solid var(--line-soft);background:#fff;color:var(--accent-dark);font-size:12px;font-weight:800}.icon-button:hover{border-color:var(--accent);background:var(--accent-soft)}.icon-button.delete:hover{border-color:var(--danger);background:#f9ecea;color:#9c4038}.group-row td{position:sticky;z-index:3;top:40px;height:35px;padding:0 10px;border-color:#d8e3de;background:#eef5f2!important;color:var(--accent-dark);font-size:12px;font-weight:800}.group-toggle{border:0;background:transparent;color:inherit;font-weight:800}.group-chip{display:inline-block;width:10px;height:10px;margin:0 6px;border-radius:99px;vertical-align:-1px}.drag-handle{margin-right:6px;color:var(--muted);cursor:grab}.empty-state{padding:65px 20px;color:var(--muted);text-align:center}.empty-state strong{display:block;margin-bottom:7px;color:var(--ink);font-size:16px}.empty-state p{margin:0;font-size:12px}.sheet-footer{justify-content:space-between;padding:9px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}
.notes-panel{position:sticky;top:12px;width:300px;max-height:calc(100vh - 24px);margin-top:12px;overflow-y:auto;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);transition:.18s}.notes-panel.closed{display:none}.notes-panel header{display:flex;justify-content:space-between;padding:15px;border-bottom:1px solid var(--line)}.notes-panel h2{margin:4px 0 0;font-family:Georgia,serif;font-size:21px}.panel-close{border:0;background:transparent;color:var(--muted);font-size:22px}.notes-panel label{display:grid;gap:5px;padding:10px 14px 0;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em}.notes-panel textarea{min-height:70px;padding:8px;border:1px solid var(--line);outline:0;color:var(--ink);font-size:11px;resize:vertical}.unfinished{padding:14px}.unfinished h3{margin:0;color:var(--accent-dark);font-size:12px}.unfinished ol{margin:9px 0 0;padding-left:19px;color:var(--muted);font-size:11px;line-height:1.55}
.monthly-no-input{width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--accent-dark);font-size:11px;font-weight:800;text-align:center}.monthly-no-input:focus{background:#fffef7;box-shadow:inset 0 0 0 2px #d6ad45}
.toast{position:fixed;right:20px;bottom:20px;z-index:30;visibility:hidden;padding:11px 14px;background:var(--accent-dark);color:#fff;font-size:11px;font-weight:800;opacity:0;transform:translateY(7px);transition:.16s}.toast.show{visibility:visible;opacity:1;transform:translateY(0)}.modal-backdrop{position:fixed;z-index:20;inset:0;display:grid;visibility:hidden;place-items:center;padding:20px;background:rgba(28,43,37,.43);opacity:0;transition:.16s}.modal-backdrop.open{visibility:visible;opacity:1}.modal{width:min(760px,100%);max-height:min(780px,calc(100vh - 40px));overflow-y:auto;padding:19px;border:1px solid var(--line);background:var(--paper);box-shadow:0 22px 58px rgba(30,51,42,.2)}.small-modal{width:min(510px,100%)}.confirm-modal{width:min(430px,100%)}.modal-header{justify-content:space-between;margin-bottom:15px}.modal-header h2{margin:4px 0 0;font-family:Georgia,serif;font-size:25px}.modal-close{width:32px;height:32px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:21px}.inline-form{gap:7px;margin-bottom:15px}.inline-form input[type=text]{min-height:35px;flex:1;padding:0 9px;border:1px solid var(--line);outline:0}.inline-form input[type=color]{width:42px;height:35px;border:1px solid var(--line);background:#fff}.category-list,.template-list{display:grid;gap:8px}.category-card,.template-row{border:1px solid var(--line);background:#fbfcfa}.category-card{padding:9px}.category-heading{justify-content:space-between;gap:9px}.category-heading input[type=text],.middle-row input{min-height:31px;flex:1;padding:0 8px;border:1px solid var(--line);outline:0;font-size:11px}.category-heading input[type=color]{width:36px;height:31px;border:1px solid var(--line);background:#fff}.category-actions,.template-actions{gap:5px}.small-button{min-height:27px;padding:0 7px;border:1px solid var(--line);background:#fff;color:var(--accent-dark);font-size:10px;font-weight:800}.small-button:hover{border-color:var(--accent);background:var(--accent-soft)}.small-button.danger:hover{border-color:var(--danger);background:#f9ecea;color:#9c4038}.middle-list{display:grid;gap:4px;margin-top:7px;padding-left:15px}.middle-row{gap:5px}.middle-row:before{content:"└";color:var(--muted)}.template-row{justify-content:space-between;gap:9px;padding:11px}.template-row strong{display:block;margin-bottom:3px;font-size:12px}.template-row span,.modal-empty,.modal-copy{color:var(--muted);font-size:11px}.modal-empty{padding:24px 10px;border:1px dashed var(--line);text-align:center}.modal-copy{line-height:1.6}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.choice-button{padding:13px;border:1px solid var(--line);background:#fbfcfa;text-align:left}.choice-button:hover{border-color:var(--accent);background:var(--accent-soft)}.choice-button strong,.choice-button span{display:block}.choice-button span{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}.stack-field{display:grid;gap:5px;margin:10px 0;color:var(--muted);font-size:11px;font-weight:800}.stack-field select,.stack-field input[type=color]{min-height:34px;border:1px solid var(--line);background:#fff}.full-button{width:100%;margin-top:8px}.backup-toolbar{justify-content:space-between;margin-bottom:10px}.backup-toolbar p{color:var(--muted);font-size:11px}.settings-grid{display:grid;gap:9px}.check-field{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:12px}.modal-actions{justify-content:flex-end;gap:7px;margin-top:16px}body.compact td{height:40px}body.compact .cell-textarea{min-height:39px;padding:4px}body.compact .group-row td{height:30px}
@page{size:A4 landscape;margin:8mm}@media print{body{min-width:0;background:#fff;print-color-adjust:exact;-webkit-print-color-adjust:exact}.app-shell{width:100%;margin:0}.sheet-header{padding:0 0 7px;border:0}.sheet-title{font-size:24px}.save-state,.overline,.dashboard-filters,.toolbar,.bulk-bar,.sheet-footer,.notes-panel,.row-actions,td:last-child,th:last-child{display:none}.dashboard{margin-bottom:5px}.summary-card,.progress-card{min-height:43px;padding:6px 9px}.summary-card{min-width:75px}.summary-card strong{margin-top:2px;font-size:18px}.sheet-panel{margin:0;border:0;box-shadow:none}.table-wrap{min-height:0;max-height:none;overflow:visible}.agenda-table{min-width:0;table-layout:auto}th{position:static;height:24px;padding:3px;font-size:8px}td{height:31px}.select-column,.select-cell{display:none}.row-number,.number-cell{position:static}.group-row td{position:static;height:23px}.cell-input,.cell-select,.cell-textarea{padding:2px;font-size:7px;resize:none}.completion-check{width:12px;height:12px}}

.warning-card strong{color:var(--danger)}.portfolio-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:10px;margin-top:10px}.portfolio-card{min-height:132px;padding:13px;border:1px solid var(--line);background:var(--paper)}.portfolio-card header{display:flex;justify-content:space-between;align-items:center}.portfolio-card h2{margin:3px 0 0;font-family:Georgia,serif;font-size:18px}.category-progress-list{display:grid;gap:7px;margin-top:11px}.category-progress-item{display:grid;grid-template-columns:90px 1fr 76px;align-items:center;gap:8px;color:var(--muted);font-size:10px}.category-progress-item strong{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.mini-progress{height:7px;overflow:hidden;border-radius:99px;background:#edf1ee}.mini-progress span{display:block;height:100%;border-radius:inherit}.due-list{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}.due-list li{display:grid;grid-template-columns:62px 1fr 64px;gap:6px;color:var(--muted);font-size:10px}.due-list strong{overflow:hidden;color:var(--ink);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.due-list .empty-list{display:block}.sort-direction{min-width:30px;height:34px;border:1px solid var(--line);background:#fff;color:var(--accent-dark);font-weight:800}.archive-toggle{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}.overdue-badge{display:inline-block;margin:0 4px;padding:2px 4px;border-radius:3px;background:#fee2e2;color:#b42318;font-size:9px;font-weight:800}.archive-badge{display:inline-block;margin:0 4px;padding:2px 4px;border-radius:3px;background:#e7eaec;color:#56616b;font-size:9px;font-weight:800}.date-tools{display:flex;gap:2px;padding:2px}.date-tools input{min-width:0;width:50%;height:22px;border:1px solid var(--line);background:#fff;font-size:9px}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.overview-card{padding:12px;border:1px solid var(--line);background:#fbfcfa}.overview-card header{display:flex;align-items:center;gap:6px}.overview-card h3{margin:0;font-size:13px}.overview-card dl{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:10px 0 0}.overview-card dt,.overview-card dd,.history-list{margin:0;color:var(--muted);font-size:11px}.overview-card dd{color:var(--ink);font-weight:800}.history-list{display:grid;gap:7px;padding-left:18px;line-height:1.5}

@media print{.portfolio-grid{display:none}}

/* Keep Korean toolbar labels intact and balanced. */
.toolbar{gap:14px;padding:10px 14px}.toolbar-main,.toolbar-files{display:flex;align-items:center;flex-wrap:nowrap;gap:8px}.toolbar-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.toolbar .button,.toolbar .text-button,.bulk-bar .small-button{display:inline-flex;align-items:center;justify-content:center;height:36px;min-height:36px;width:max-content;min-width:max-content;padding:0 12px;line-height:1;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;text-align:center}.toolbar .text-button{padding:0 4px}.toolbar .select-box,.toolbar .search-box{height:36px;min-height:36px;white-space:nowrap;word-break:keep-all}.toolbar .select-box{flex:0 0 auto}.toolbar-files{flex:0 0 auto;margin-left:auto}.bulk-bar{column-gap:8px}.bulk-bar .small-button{height:29px;min-height:29px;padding:0 9px}

/* Responsive layout stabilization */
body{min-width:0;overflow-x:hidden}button{display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.app-shell{max-width:2000px;width:calc(100% - 28px)}.workspace{min-width:0}.sheet-panel{min-width:0}.table-wrap{width:100%;max-width:100%;overflow:auto}.agenda-table{min-width:1840px}.date-cell-input{min-width:122px;padding:0 5px}.toolbar{flex-wrap:wrap;align-items:center}.toolbar-main,.toolbar-files{flex-wrap:wrap}.toolbar-filters{display:grid;min-width:min(100%,620px);flex:1 1 620px;grid-template-columns:minmax(180px,2fr) repeat(auto-fit,minmax(130px,1fr));gap:7px}.toolbar-filters .search-box,.toolbar-filters .select-box{width:100%;min-width:0}.toolbar-files{margin-left:auto}.header-actions{flex-wrap:wrap;justify-content:flex-end}.dashboard{flex-wrap:wrap}.summary-card{flex:1 1 100px}.progress-card{flex:2 1 260px}.bulk-bar{flex-wrap:wrap}.notes-panel{flex:0 0 300px}.portfolio-card{min-width:0}

@media (max-width:1399px){
  .workspace{display:block}.notes-panel{position:static;width:100%;max-width:none;max-height:none;margin-top:12px}.toolbar-main{flex:1 1 100%}.toolbar-filters{order:2;flex:1 1 100%;grid-template-columns:minmax(180px,2fr) repeat(auto-fit,minmax(135px,1fr))}.toolbar-files{order:3;flex:1 1 100%;margin-left:0}.table-wrap{max-height:calc(100vh - 245px)}
}

@media (max-width:1024px){
  .app-shell{width:calc(100% - 20px);margin:10px auto 20px}.sheet-header{padding:15px 16px}.sheet-title{width:min(100%,640px);font-size:28px}.portfolio-grid{grid-template-columns:1fr 1fr}.category-dashboard-card{grid-column:1/-1}.toolbar{gap:9px;padding:9px}.toolbar-main,.toolbar-files{gap:6px}.toolbar-filters{grid-template-columns:minmax(180px,2fr) repeat(3,minmax(125px,1fr))}.table-wrap{max-height:calc(100vh - 220px)}
}

@media (max-width:767px){
  .app-shell{width:calc(100% - 12px);margin:6px auto 14px}.sheet-header{display:block;padding:13px}.sheet-title{width:100%;font-size:25px}.header-actions{justify-content:flex-start;margin-top:11px}.dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{min-width:0}.progress-card{grid-column:1/-1}.portfolio-grid{grid-template-columns:1fr;gap:7px;margin-top:7px}.category-dashboard-card{grid-column:auto}.dashboard-filters{overflow-x:auto;padding:7px 9px}.dashboard-filters>*{flex:0 0 auto}.sheet-panel{margin-top:7px}.toolbar{position:static;display:flex;align-items:stretch;gap:8px;padding:8px}.toolbar-main,.toolbar-files{width:100%;flex:1 1 100%}.toolbar-filters{width:100%;min-width:0;flex:1 1 100%;grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-filters .search-box{grid-column:1/-1}.toolbar .button,.toolbar .text-button{height:34px;min-height:34px}.toolbar-files{margin-left:0}.bulk-bar{position:static}.table-wrap{max-height:68vh}.notes-panel{margin-top:8px}.notes-panel header{padding:12px}.notes-panel label{padding:9px 11px 0}.portfolio-card{padding:11px}.portfolio-card h2{font-size:17px}
}

@media (max-width:479px){
  .sheet-header{padding:11px}.sheet-title{font-size:22px}.header-actions{gap:6px}.header-actions .button{height:32px;min-height:32px;padding:0 9px}.month-group{padding:7px 9px}.dashboard{grid-template-columns:1fr}.progress-card{grid-column:auto}.summary-card,.progress-card{min-height:61px;padding:10px 12px}.summary-card strong{font-size:22px}.dashboard-filters{gap:5px}.dashboard-chip{padding:5px 9px}.toolbar-main,.toolbar-files{gap:5px}.toolbar-filters{grid-template-columns:1fr}.toolbar-filters .search-box{grid-column:auto}.toolbar .button{padding:0 9px}.toolbar .text-button{padding:0 5px}.bulk-bar{gap:6px;padding:7px}.portfolio-card{padding:10px}.category-progress-item{grid-template-columns:78px 1fr 68px;gap:5px}.due-list li{grid-template-columns:54px 1fr 62px;gap:4px}.notes-panel textarea{min-height:62px}.modal{padding:14px}.choice-grid,.overview-grid{grid-template-columns:1fr}
}

/* Daily Agenda */
.agenda-tabs{display:flex;gap:1px;border:1px solid var(--line);border-top:0;background:var(--line)}.agenda-tab{min-height:42px;flex:0 0 180px;border:0;background:var(--paper);color:var(--muted);font-size:12px;font-weight:800}.agenda-tab:hover,.agenda-tab.active{background:var(--accent);color:#fff}.daily-view{display:grid;min-width:0;gap:12px;margin-top:12px}.daily-view[hidden],.monthly-view[hidden]{display:none!important}.daily-header,.daily-section>header,.daily-notes>header,.daily-focus>header,.daily-date-tools,.daily-toolbar,.daily-view-switch{display:flex;align-items:center}.daily-header{justify-content:space-between;padding:15px 18px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.daily-header h2,.daily-section h2,.daily-notes h2,.daily-focus h2{margin:4px 0 0;font-family:Georgia,serif}.daily-header h2{font-size:25px}.daily-date-tools{flex-wrap:wrap;justify-content:flex-end;gap:7px}.daily-date-tools input{min-height:34px;padding:0 8px;border:1px solid var(--line);background:#fff;color:var(--accent-dark);font-weight:800}.daily-section,.daily-notes,.daily-focus{min-width:0;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.daily-section>header,.daily-notes>header,.daily-focus>header{justify-content:space-between;padding:13px 15px;border-bottom:1px solid var(--line)}.daily-section h2,.daily-notes h2,.daily-focus h2{font-size:19px}.daily-section>header span,.daily-notes>header span,.daily-focus>header span{color:var(--muted);font-size:11px}.daily-toolbar{flex-wrap:wrap;gap:7px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--cream)}.daily-view-switch{gap:5px;margin-right:4px}.daily-toolbar .search-box{width:220px}.daily-table-wrap{width:100%;max-width:100%;min-height:0;max-height:520px;overflow-x:auto;overflow-y:auto;scrollbar-gutter:stable}.daily-unified-table{width:100%;min-width:2420px}.daily-unified-table .row-number{left:0}.daily-order-column{width:50px}.daily-order-cell{text-align:center;white-space:nowrap}.daily-no-input{width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--accent-dark);font-size:11px;font-weight:800;text-align:center}.daily-no-input:focus{background:#fffef7;box-shadow:inset 0 0 0 2px #d6ad45}.daily-drag-handle{display:inline-block;color:var(--muted);font-size:15px;line-height:25px;vertical-align:middle;cursor:grab}.daily-drag-handle:active{cursor:grabbing}.daily-unified-table tr.daily-dragging{opacity:.45}.daily-unified-table tr.daily-dragging .daily-drag-handle{cursor:grabbing}.daily-unified-table tr.daily-drag-over td{border-top:2px solid var(--accent)}.daily-unified-table th:nth-child(3){width:62px}.daily-unified-table th:nth-child(4){width:86px}.daily-unified-table th:nth-child(5){width:112px}.daily-unified-table th:nth-child(12),.daily-unified-table th:nth-child(13){width:132px}.daily-repeat-cell{display:flex;align-items:center;gap:3px;padding:2px}.daily-type-badge,.daily-priority-badge{display:inline-block;padding:3px 6px;border-radius:99px;font-size:10px;font-weight:800}.daily-type-badge.linked{background:#e5f0eb;color:var(--accent-dark)}.daily-type-badge.only{background:#eef3fb;color:#315d91}.daily-priority-badge.high{background:#fee2e2;color:#b42318}.daily-priority-badge.medium{background:#fff2cf;color:#946200}.daily-priority-badge.low{background:#e8f3ec;color:#27734e}.daily-group-row td{height:34px;padding:0 11px;background:#eef5f2!important;color:var(--accent-dark);font-size:11px;font-weight:800}.daily-cell-muted{display:block;padding:0 7px;color:var(--muted);font-size:11px}.daily-focus-summary{min-width:190px}.daily-focus-summary strong,.daily-focus-summary span{display:block;color:var(--muted);font-size:11px}.daily-focus-summary span{margin:3px 0 6px;text-align:right}.daily-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:11px}.daily-focus-card{min-height:74px;padding:11px;border:1px solid var(--line);background:#fbfcfa}.daily-focus-card strong,.daily-focus-card span{display:block}.daily-focus-card strong{color:var(--accent-dark);font-size:11px}.daily-focus-card span{margin-top:7px;color:var(--ink);font-size:12px;font-weight:800}.daily-focus-card.empty span{color:var(--muted);font-weight:400}.daily-focus-card button{float:right;border:0;background:transparent;color:var(--muted);font-size:15px}.monthly-row-highlight td{animation:monthly-row-flash 2.4s ease-out}@keyframes monthly-row-flash{0%,45%{background:#fff1a8!important}100%{background:inherit}}.daily-notes-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:13px}.daily-notes-grid label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800}.daily-notes-grid textarea{min-height:92px;padding:8px;border:1px solid var(--line);outline:0;color:var(--ink);font-size:11px;resize:vertical}.daily-notes-grid textarea:focus{background:#fffef7;box-shadow:inset 0 0 0 2px #d6ad45}

@media (max-width:1024px){.daily-header{align-items:flex-start;gap:10px;flex-direction:column}.daily-date-tools{justify-content:flex-start}.daily-notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.daily-focus-grid{grid-template-columns:1fr}.daily-toolbar .search-box,.daily-toolbar .select-box{width:100%}}
@media (max-width:479px){.agenda-tab{flex:1 1 50%}.daily-date-tools{gap:5px}.daily-date-tools .button{padding:0 8px}.daily-notes-grid{grid-template-columns:1fr}}

.daily-table-wrap::-webkit-scrollbar{width:13px;height:13px}.daily-table-wrap::-webkit-scrollbar-track{background:#e7ece8}.daily-table-wrap::-webkit-scrollbar-thumb{border:3px solid #e7ece8;border-radius:99px;background:#94a39c}.daily-table-wrap::-webkit-scrollbar-thumb:hover{background:#64766f}
.recurring-weekdays{display:flex;flex-wrap:wrap;gap:9px;margin:8px 0;padding:10px;border:1px solid var(--line)}.recurring-weekdays legend{padding:0 5px;color:var(--muted);font-size:11px;font-weight:800}.recurring-weekdays label{display:flex;align-items:center;gap:3px;color:var(--ink);font-size:11px}
.daily-unified-table .row-number,.daily-unified-table .number-cell{position:static;left:auto}.daily-complete-column{width:52px}.daily-unified-table th:nth-child(4){width:62px}.daily-unified-table th:nth-child(5){width:86px}.daily-unified-table th:nth-child(6){width:112px}.daily-unified-table th:nth-child(13),.daily-unified-table th:nth-child(14){width:132px}.daily-unified-table tr.daily-completed td{background:#e8f6ed!important}
.daily-unified-table .row-number,.daily-unified-table .number-cell,.daily-unified-table .daily-complete-column,.daily-unified-table .daily-order-column{position:static;left:auto;z-index:auto}.daily-drag-handle{cursor:grab;user-select:none}.daily-drag-handle:active{cursor:grabbing}.daily-unified-table tr.dragging{opacity:.55;outline:2px solid var(--accent)}.daily-drop-placeholder td{height:6px;padding:0;background:var(--accent-soft);border-top:2px solid var(--accent)}
.daily-unified-table{min-width:2620px}.daily-unified-table th:nth-child(13){width:190px}.daily-unified-table th:nth-child(14),.daily-unified-table th:nth-child(15),.daily-unified-table th:nth-child(16){width:210px}.daily-task-cell{position:relative;height:100%}.daily-task-cell .cell-textarea{padding-right:62px}.auto-plan-badge{position:absolute;right:5px;bottom:4px;padding:2px 5px;border-radius:99px;background:#e5f0eb;color:var(--accent-dark);font-size:10px;font-weight:800;line-height:1.2;pointer-events:none}
.daily-unified-table th.daily-complete-column,.daily-unified-table th.daily-order-column,.daily-unified-table th.row-number{position:sticky;top:0;left:auto;z-index:5}.daily-unified-table td.completion-cell,.daily-unified-table td.daily-order-cell,.daily-unified-table td.number-cell{position:static;left:auto;z-index:auto}
.completed-log-view{display:grid;min-width:0;gap:12px;margin-top:12px}.completed-log-view[hidden]{display:none!important}.completed-log-table{min-width:1900px}.completed-log-table-wrap{width:100%;max-width:100%;overflow:auto}.completed-log-toolbar{display:flex;flex-wrap:wrap}.completed-log-toolbar .search-box{width:240px}.completed-log-toolbar .select-box input[type=date]{min-height:32px;border:0;outline:0;background:transparent;color:var(--ink);font-size:11px}.completed-log-group-row td{height:34px;padding:0 11px;background:#eef5f2!important;color:var(--accent-dark);font-size:11px;font-weight:800}.completed-log-type{display:inline-block;padding:3px 6px;border-radius:99px;font-size:10px;font-weight:800}.completed-log-type.only{background:#eef3fb;color:#315d91}.completed-log-type.linked{background:#e5f0eb;color:var(--accent-dark)}.completed-log-type.repeat{background:#fff2cf;color:#946200}.completed-log-table td{font-size:11px}.completed-log-table .cell-readonly{display:block;max-height:52px;overflow:auto;padding:7px;line-height:1.4;white-space:pre-wrap}.completed-log-table .row-actions .action-group{flex-wrap:wrap}
.completed-graph-panel{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.completed-graph-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-bottom:1px solid var(--line)}.completed-graph-panel h2{margin:4px 0 0;font-family:Georgia,serif;font-size:19px}.completed-graph-list{display:grid;gap:6px;max-height:260px;overflow:auto;padding:10px 12px}.completed-graph-row{display:grid;grid-template-columns:92px minmax(180px,1fr) 170px;align-items:center;gap:9px;font-size:11px}.completed-graph-label{color:var(--accent-dark);font-weight:800}.completed-graph-bar{display:flex;height:15px;overflow:hidden;border:1px solid var(--line-soft);border-radius:99px;background:#f1f4f2}.completed-graph-done{background:var(--accent)}.completed-graph-open{background:#d7ded9}.completed-graph-meta{color:var(--muted);font-weight:800;text-align:right;white-space:nowrap}@media (max-width:760px){.completed-graph-row{grid-template-columns:1fr}.completed-graph-meta{text-align:left}}

.daily-unified-table th:nth-child(1),
.daily-unified-table td:nth-child(1){
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
}
.daily-unified-table th:nth-child(2),
.daily-unified-table td:nth-child(2){
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
}
.daily-unified-table th:nth-child(3),
.daily-unified-table td:nth-child(3){
  width:54px!important;
  min-width:54px!important;
  max-width:54px!important;
}
.daily-unified-table{min-width:3020px!important}
.daily-unified-table th:nth-child(7),
.daily-unified-table td:nth-child(7),
.daily-unified-table th:nth-child(8),
.daily-unified-table td:nth-child(8){
  width:92px;
  min-width:92px;
  max-width:92px;
}
.daily-unified-table th:nth-child(9),
.daily-unified-table td:nth-child(9){
  width:96px;
  min-width:96px;
  max-width:96px;
}
.time-input{min-width:74px;padding:0 4px;text-align:center}
.time-quick-menu{position:absolute;z-index:2000;display:flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow)}
.time-quick-menu[hidden]{display:none}
.time-quick-menu button{height:25px;min-height:25px;padding:0 7px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--accent-dark);font-size:10px;font-weight:800}
.time-quick-menu button:hover{background:var(--accent);color:#fff}
.completed-log-table{min-width:2200px}

/* Language Study */
.legacy-language-study-view{display:none!important}
.language-study-view{display:grid;min-width:0;gap:12px;margin-top:12px}
.language-study-view[hidden]{display:none!important}
.language-study-section{min-width:0}
.language-table-wrap{width:100%;max-width:100%;max-height:560px;overflow:auto;scrollbar-gutter:stable}
.language-study-table{min-width:2100px}
.language-study-table th:nth-child(1),
.language-study-table td:nth-child(1){width:58px;min-width:58px;max-width:58px}
.language-study-table th:nth-child(2),
.language-study-table td:nth-child(2){width:54px;min-width:54px;max-width:54px}
.language-study-table th:nth-child(3),
.language-study-table td:nth-child(3){width:120px}
.language-study-table th:nth-child(4),
.language-study-table td:nth-child(4){width:130px}
.language-study-table th:nth-child(7),
.language-study-table td:nth-child(7),
.language-study-table th:nth-child(8),
.language-study-table td:nth-child(8),
.language-study-table th:nth-child(12),
.language-study-table td:nth-child(12),
.language-study-table th:nth-child(13),
.language-study-table td:nth-child(13){width:100px}
.language-study-table th:nth-child(9),
.language-study-table td:nth-child(9),
.language-study-table th:nth-child(10),
.language-study-table td:nth-child(10){width:128px}
.language-study-table .number-cell{position:static;left:auto;background:inherit!important}
.language-study-table tr.language-completed td{background:#e8f6ed!important}
.language-no-input{width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--accent-dark);font-size:11px;font-weight:800;text-align:center}
.language-no-input:focus{background:#fffef7;box-shadow:inset 0 0 0 2px #d6ad45}
.language-toolbar .search-box{width:220px}
.language-toolbar .select-box input[type=date]{min-height:32px;border:0;outline:0;background:transparent;color:var(--ink);font-size:11px}
.language-study-table .row-actions .action-group{flex-wrap:wrap}
.language-study-table{min-width:2780px}
.language-study-table th:nth-child(9),
.language-study-table td:nth-child(9),
.language-study-table th:nth-child(11),
.language-study-table td:nth-child(11){width:128px}
.language-study-table th:nth-child(12),
.language-study-table td:nth-child(12){width:128px}
.language-study-table th:nth-child(10),
.language-study-table td:nth-child(10){width:86px;text-align:center}
.language-study-table th:nth-child(14),
.language-study-table td:nth-child(14),
.language-study-table th:nth-child(15),
.language-study-table td:nth-child(15){width:100px}
.language-study-table th:nth-child(7),.language-study-table td:nth-child(7),
.language-study-table th:nth-child(8),.language-study-table td:nth-child(8){width:92px}
.language-study-table th:nth-child(9),.language-study-table td:nth-child(9),
.language-study-table th:nth-child(10),.language-study-table td:nth-child(10){width:90px;text-align:center}
.language-study-table th:nth-child(11),.language-study-table td:nth-child(11){width:116px;text-align:center}
.language-study-table th:nth-child(12),.language-study-table td:nth-child(12){width:96px}
.language-study-table th:nth-child(13),.language-study-table td:nth-child(13),
.language-study-table th:nth-child(15),.language-study-table td:nth-child(15),
.language-study-table th:nth-child(16),.language-study-table td:nth-child(16){width:128px}
.language-study-table th:nth-child(14),.language-study-table td:nth-child(14){width:86px;text-align:center}
.language-study-table th:nth-child(17),.language-study-table td:nth-child(17),
.language-study-table th:nth-child(18),.language-study-table td:nth-child(18),
.language-study-table th:nth-child(19),.language-study-table td:nth-child(19){width:100px}
.language-lesson-count-input{width:100%;height:100%;padding:0 5px;border:0;outline:0;background:transparent;text-align:center}
.language-lesson-count-input:focus{background:#fffef7;box-shadow:inset 0 0 0 2px #d6ad45}
.language-calculated-cell{color:var(--accent-dark);font-size:11px;font-weight:800;text-align:center}
.language-dday{display:inline-block;color:var(--accent-dark);font-size:11px;font-weight:900}
.language-bulk-control{background:#f8faf8}
.language-bulk-editor{display:grid;width:100%;gap:8px;margin-top:2px;padding:10px;border:1px solid #c9d9d2;background:#f3f8f5}
.language-bulk-heading{display:flex;align-items:baseline;gap:9px;color:var(--accent-dark)}
.language-bulk-heading strong{font-size:12px}.language-bulk-heading span{color:var(--muted);font-size:10px}
.language-bulk-group{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.language-bulk-group>b{width:58px;color:var(--accent-dark);font-size:10px}
.language-bulk-change-group{padding-top:8px;border-top:1px solid #d8e3de}
.language-bulk-value-control{display:flex;align-items:center;min-height:36px;min-width:260px;padding:0 8px;border:1px solid var(--line);background:#fff}
.language-bulk-value-control>span{margin-right:8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.language-bulk-value-control input:not([type=checkbox]),.language-bulk-value-control select{width:180px;min-width:180px;min-height:32px;padding:0 7px;border:0;border-left:1px solid var(--line-soft);outline:0;background:#fff;color:var(--ink);font-size:11px}
.language-bulk-value-control textarea{width:280px;min-width:220px;min-height:48px;padding:7px;border:0;border-left:1px solid var(--line-soft);outline:0;background:#fff;color:var(--ink);font-size:11px;resize:vertical}
.language-bulk-value-control input::placeholder{color:#8a948f}
.language-bulk-value-control input[type=checkbox]{width:17px;height:17px;margin-left:6px;accent-color:var(--accent)}
.language-bulk-button{height:34px;min-height:34px;align-self:stretch}
@media (max-width:767px){.language-bulk-group>b{width:100%}.language-bulk-control,.language-bulk-value-control{width:100%;min-width:0}.language-bulk-value-control input:not([type=checkbox]),.language-bulk-value-control select,.language-bulk-value-control textarea{width:100%;min-width:0}.language-bulk-button{width:100%}}
.language-insight-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(420px,1.15fr);gap:12px}
.language-insight-panel,.language-dday-panel,.language-insight-card{min-width:0;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.language-insight-panel>header,.language-dday-panel>header,.language-insight-card>header{display:block;padding:13px 15px;border-bottom:1px solid var(--line)}
.language-insight-panel h2,.language-dday-panel h2,.language-insight-card h2{margin:3px 0 0;font-family:Georgia,serif;font-size:19px;color:var(--accent-dark)}
.language-donut-grid,.language-donut-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;padding:12px}
.language-donut-card{display:flex;align-items:center;gap:10px;min-height:104px;padding:11px;border:1px solid var(--line);background:#fbfcfa}
.language-donut-card strong,.language-donut-card span{display:block}
.language-donut-card strong{color:var(--accent-dark);font-size:13px}
.language-donut-card span{margin-top:4px;color:var(--muted);font-size:12px;font-weight:800}
.language-donut-ring{--rate:0;display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--rate) * 1%), #e8eee9 0)}
.language-donut-ring:before{content:"";grid-area:1/1;width:38px;height:38px;border-radius:50%;background:#fff}
.language-donut-ring span{grid-area:1/1;position:relative;margin:0;color:var(--accent-dark);font-size:12px;font-weight:900}
.language-donut-metrics{display:grid;gap:3px;margin-top:5px}.language-donut-metrics span{margin:0;font-size:10px;font-weight:700}
.language-dday-table-wrap{max-height:300px;overflow:auto}
.language-dday-table{width:100%;min-width:760px;border-collapse:collapse}
.language-dday-table th,.language-dday-table td{height:34px;padding:6px 8px;border-bottom:1px solid var(--line-soft);font-size:11px;text-align:left;white-space:nowrap}
.language-dday-table th{position:sticky;top:0;z-index:1;background:#f8faf8;color:var(--accent-dark);font-weight:900}
.language-sort-button{width:100%;border:0;background:transparent;color:var(--accent-dark);font:inherit;font-weight:900;text-align:left;cursor:pointer}
.language-sort-button.active{color:var(--accent)}
.language-dday-table tr.completed td{background:#f2f7f4;color:#8a958f}
.language-dday-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:4px;color:#fff;font-size:10px;font-weight:900}
.dday-danger{background:#dc2626}
.dday-warning{background:#f59e0b}
.dday-soon{background:#d6ad45}
.dday-safe{background:var(--accent)}
.language-progress-mini{position:relative;height:8px;min-width:82px;border-radius:99px;background:#e4ebe7}
.language-progress-mini span{display:block;height:100%;border-radius:99px;background:var(--accent)}
.language-progress-mini em{position:absolute;right:0;top:10px;color:var(--muted);font-size:10px;font-style:normal;font-weight:800}
.language-dday-empty{height:58px!important;color:var(--muted);text-align:center!important}
@media(max-width:1100px){.language-insight-grid{grid-template-columns:1fr}}

/* Schedule Tabs */
.schedule-view{display:grid;min-width:0;gap:12px;margin-top:12px}
.schedule-view[hidden]{display:none!important}
.schedule-section{min-width:0}
.schedule-table-wrap{width:100%;max-width:100%;max-height:560px;overflow:auto;scrollbar-gutter:stable}
.schedule-table{min-width:1980px}
.schedule-table th:nth-child(1),
.schedule-table td:nth-child(1){width:58px;min-width:58px;max-width:58px}
.schedule-table th:nth-child(2),
.schedule-table td:nth-child(2){width:54px;min-width:54px;max-width:54px}
.schedule-table th:nth-child(3),
.schedule-table td:nth-child(3),
.schedule-table th:nth-child(4),
.schedule-table td:nth-child(4),
.schedule-table th:nth-child(10),
.schedule-table td:nth-child(10),
.schedule-table th:nth-child(11),
.schedule-table td:nth-child(11),
.schedule-table th:nth-child(12),
.schedule-table td:nth-child(12){width:112px}
.schedule-table th:nth-child(7),
.schedule-table td:nth-child(7),
.schedule-table th:nth-child(8),
.schedule-table td:nth-child(8),
.schedule-table th:nth-child(9),
.schedule-table td:nth-child(9){width:128px}
.schedule-table .number-cell{position:static;left:auto;background:inherit!important}
.schedule-table tr.schedule-completed td{background:#e8f6ed!important}
.schedule-no-input{width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--accent-dark);font-size:11px;font-weight:800;text-align:center}
.schedule-no-input:focus{background:#fffef7;box-shadow:inset 0 0 0 2px #d6ad45}
.schedule-toolbar .search-box{width:240px}
.schedule-toolbar .select-box input[type=date]{min-height:32px;border:0;outline:0;background:transparent;color:var(--ink);font-size:11px}
.schedule-domain-label{display:flex;align-items:center;justify-content:center;height:100%;padding:0 7px;color:var(--accent-dark);font-size:11px;font-weight:800}
.schedule-table .row-actions .action-group{flex-wrap:wrap}
.agenda-tabs{overflow-x:auto;scrollbar-gutter:stable;white-space:nowrap}
.agenda-tabs .agenda-tab{flex:1 0 150px}
.schedule-subtabs{display:flex;gap:1px;overflow-x:auto;border:1px solid var(--line);background:var(--line);box-shadow:var(--shadow);scrollbar-gutter:stable}
.schedule-subtab{min-height:40px;flex:0 0 auto;min-width:112px;padding:0 14px;border:0;background:var(--paper);color:var(--muted);font-size:12px;font-weight:800}
.schedule-subtab:hover,.schedule-subtab.active{background:var(--accent);color:#fff}
.schedule-subtabs::-webkit-scrollbar,.agenda-tabs::-webkit-scrollbar{height:10px}
.schedule-subtabs::-webkit-scrollbar-track,.agenda-tabs::-webkit-scrollbar-track{background:#e7ece8}
.schedule-subtabs::-webkit-scrollbar-thumb,.agenda-tabs::-webkit-scrollbar-thumb{border:2px solid #e7ece8;border-radius:99px;background:#94a39c}

@media (max-width:767px){
  .agenda-tabs .agenda-tab{flex:0 0 150px}
  .schedule-subtab{min-width:104px}
}


.health-weight-panel{display:grid;gap:12px;margin-top:12px}
.health-weight-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;border:1px solid var(--line);background:var(--paper)}
.health-weight-header h2{margin:4px 0 4px;font-family:Georgia,serif;font-size:24px}
.health-weight-header span{color:var(--muted);font-size:12px}
.health-weight-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.health-weight-tabs{display:flex;gap:7px;align-items:center;padding:9px 13px;border:1px solid var(--line);background:#f8faf8}
.health-chart-card{position:relative;min-height:310px;padding:16px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}
.health-weight-chart{display:block;width:100%;height:280px}
.health-weight-chart text{fill:var(--muted);font-size:11px}
.health-weight-chart .axis{stroke:var(--line)}
.health-weight-chart .grid{stroke:var(--line-soft)}
.health-weight-chart .weight-line{fill:none;stroke:var(--accent);stroke-width:3}
.health-weight-chart .weight-dot{fill:var(--paper);stroke:var(--accent);stroke-width:2}
.health-weight-chart .loss-area{fill:var(--accent-soft);opacity:.65}
.health-weight-table{min-width:760px}
.health-weight-table-wrap{max-height:360px}
.health-weight-empty-row td{height:74px;color:var(--muted);font-size:12px;text-align:center}
.health-weight-input{width:100%;height:100%;min-height:42px;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px;padding:0 8px}
.health-weight-input:focus{background:#fffef7;box-shadow:inset 0 0 0 2px #d6ad45}
.health-weight-note{min-height:42px;padding:8px;resize:vertical}

.health-view{display:grid;gap:12px;margin-top:12px}
.health-view[hidden]{display:none!important}
.schedule-view[hidden], .daily-view[hidden], .completed-log-view[hidden]{display:none!important}
[hidden]{display:none!important}


.health-goal-panel{display:grid;gap:12px;margin-top:12px;padding:16px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}
.health-goal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.health-goal-header h2{margin:4px 0 4px;font-family:Georgia,serif;font-size:24px}
.health-goal-header span{color:var(--muted);font-size:12px}
.health-goal-header strong{padding:6px 10px;border:1px solid var(--line);background:var(--cream);color:var(--accent-dark);font-size:11px;white-space:nowrap}
.health-goal-grid{display:grid;grid-template-columns:150px 150px 150px 1fr;gap:8px}
.health-goal-grid label{display:grid;gap:5px;padding:9px;border:1px solid var(--line);background:#fbfcfa}
.health-goal-grid label span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}
.health-goal-grid input{min-height:32px;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px;font-weight:700}
.health-goal-grid input:focus{background:#fffef7;box-shadow:inset 0 -2px #d6ad45}
.health-goal-memo{grid-column:1/-1}
@media(max-width:900px){.health-goal-grid{grid-template-columns:1fr 1fr}.health-goal-memo{grid-column:1/-1}}


.health-goal-check .health-achieved-inline{display:flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:var(--ink);font-size:12px;font-weight:800}
.health-goal-check input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent)}
.health-goal-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;padding-top:12px;border-top:1px solid var(--line-soft)}
.health-goal-list-head h3{margin:3px 0 0;font-size:15px;color:var(--accent-dark)}
.health-goal-list{display:grid;gap:7px}
.health-goal-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);background:#fbfcfa}
.health-goal-item.achieved{background:#eff8f2}
.health-goal-item strong{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:13px}
.health-goal-item span{display:block;color:var(--ink);font-size:12px;font-weight:800}
.health-goal-item p{margin:4px 0 0;color:var(--muted);font-size:11px}
.health-goal-item label{display:flex;align-items:center;gap:5px;white-space:nowrap;color:var(--accent-dark);font-size:11px;font-weight:800}
.health-goal-item input{width:16px;height:16px;accent-color:var(--accent)}

#healthGoalTargetLoss{color:var(--accent-dark);background:var(--accent-soft)}


.health-goal-grid{
  grid-template-columns:120px 120px 120px 120px 1fr 120px !important;
  align-items:end;
}
.health-goal-grid label{
  min-width:0;
  padding:6px 8px;
}
.health-goal-grid input{
  min-height:28px;
  font-size:12px;
}
.health-goal-memo{
  grid-column:1/-1;
}
@media(max-width:1200px){
  .health-goal-grid{
    grid-template-columns:repeat(3,1fr) !important;
  }
}


/* KPI style monthly health goals */
.kpi-health-goal-panel{padding:14px 16px}
.health-kpi-grid{display:grid;grid-template-columns:130px repeat(3,150px) 120px;gap:8px;align-items:stretch}
.health-kpi-card{position:relative;display:grid;gap:4px;min-height:74px;padding:9px 10px;border:1px solid var(--line);background:#fbfcfa}
.health-kpi-card span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}
.health-kpi-card input{width:100%;min-height:30px;border:0;outline:0;background:transparent;color:var(--accent-dark);font-family:Georgia,serif;font-size:24px;font-weight:800;letter-spacing:-.03em}
.health-kpi-card em{position:absolute;right:10px;bottom:9px;color:var(--muted);font-size:11px;font-style:normal;font-weight:800}
.health-kpi-card.readonly{background:var(--accent-soft)}
.health-kpi-card.readonly input{color:var(--accent-dark)}
.health-kpi-achieved .health-achieved-inline{align-self:end;display:flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--accent-dark);font-size:13px;font-weight:800}
.health-kpi-achieved input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}
.health-kpi-subgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.health-kpi-subgrid label{display:grid;gap:5px;padding:8px 10px;border:1px solid var(--line);background:#fbfcfa}
.health-kpi-subgrid span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}
.health-kpi-subgrid input{min-height:30px;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px;font-weight:700}
@media(max-width:1300px){.health-kpi-grid{grid-template-columns:repeat(3,1fr)}.health-kpi-subgrid{grid-template-columns:1fr}}
#healthGoalCurrentWeight{background:transparent!important}


/* Final compact KPI card tuning */
.health-goal-panel.kpi-health-goal-panel{
  padding:14px 16px !important;
  gap:10px !important;
}
.health-goal-header{
  margin-bottom:2px;
}
.health-goal-header h2{
  font-size:21px !important;
}
.health-goal-header span{
  font-size:11px !important;
}
.health-kpi-grid{
  grid-template-columns:150px 150px 150px 150px 120px !important;
  gap:8px !important;
  align-items:stretch !important;
}
.health-kpi-card{
  min-height:68px !important;
  padding:8px 10px !important;
  overflow:hidden !important;
}
.health-kpi-card span{
  font-size:10px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}
.health-kpi-card input{
  min-height:26px !important;
  max-width:100% !important;
  font-size:19px !important;
  line-height:1.1 !important;
  letter-spacing:-0.04em !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.health-kpi-card input[type="month"]{
  font-family:"Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif !important;
  font-size:17px !important;
  font-weight:800 !important;
  letter-spacing:-0.03em !important;
}
.health-kpi-card input::placeholder{
  font-size:16px !important;
  color:#8a958f !important;
}
.health-kpi-card em{
  right:9px !important;
  bottom:8px !important;
  font-size:10px !important;
}
.health-kpi-achieved .health-achieved-inline{
  padding:0 !important;
  font-size:12px !important;
  gap:5px !important;
}
.health-kpi-achieved input[type=checkbox]{
  width:16px !important;
  height:16px !important;
}
.health-kpi-subgrid{
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}
.health-kpi-subgrid label{
  padding:7px 9px !important;
}
.health-kpi-subgrid input{
  min-height:27px !important;
  font-size:12px !important;
}

/* Weight log table alignment fix */
.health-weight-table{
  min-width:980px !important;
  table-layout:fixed !important;
}
.health-weight-table th,
.health-weight-table td{
  height:44px !important;
}
.health-weight-table th:nth-child(1),
.health-weight-table td:nth-child(1){
  width:70px !important;
  left:0 !important;
}
.health-weight-table th:nth-child(2),
.health-weight-table td:nth-child(2){
  width:150px !important;
}
.health-weight-table th:nth-child(3),
.health-weight-table td:nth-child(3){
  width:120px !important;
}
.health-weight-table th:nth-child(4),
.health-weight-table td:nth-child(4){
  width:auto !important;
}
.health-weight-table th:nth-child(5),
.health-weight-table td:nth-child(5){
  width:110px !important;
}
.health-weight-table .number-cell{
  left:0 !important;
  width:70px !important;
  position:static !important;
}
.health-weight-table .row-number{
  left:0 !important;
  width:70px !important;
}
.health-weight-input{
  width:100% !important;
  min-width:0 !important;
  min-height:42px !important;
  height:42px !important;
  padding:0 8px !important;
  font-size:12px !important;
  line-height:42px !important;
}
.health-weight-input[type="date"]{
  font-size:12px !important;
  text-align:left !important;
  padding:0 6px !important;
}
.health-weight-input[type="number"]{
  font-size:12px !important;
  text-align:left !important;
}
.health-weight-note{
  min-height:42px !important;
  height:42px !important;
  padding:7px 8px !important;
  font-size:12px !important;
}
.health-weight-table .row-actions .icon-button{
  width:auto !important;
  min-width:42px !important;
  padding:0 7px !important;
}

/* Goal history compact */
.health-goal-list-head{
  margin-top:2px !important;
  padding-top:9px !important;
}
.health-goal-item{
  padding:8px 10px !important;
}
.health-goal-item strong{
  font-size:12px !important;
}
.health-goal-item span,
.health-goal-item p{
  font-size:11px !important;
}

@media(max-width:1300px){
  .health-kpi-grid{
    grid-template-columns:repeat(3, minmax(130px, 1fr)) !important;
  }
}
@media(max-width:900px){
  .health-kpi-grid,
  .health-kpi-subgrid{
    grid-template-columns:1fr 1fr !important;
  }
}


/* Monthly goal save/edit/delete controls */
.health-goal-pick{
  flex:1;
  min-width:0;
  border:0;
  background:transparent;
  text-align:left;
  padding:0;
  color:inherit;
}
.health-goal-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.health-goal-actions label{
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  color:var(--accent-dark);
  font-size:11px;
  font-weight:800;
}
.health-goal-actions .small-button{
  min-height:26px;
  padding:0 8px;
}
.health-goal-actions .small-button.danger{
  color:#9c4038;
}


.health-goal-save-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
.health-goal-save-actions .button{
  min-height:30px;
  padding:0 10px;
  font-size:11px;
}
.health-goal-list{
  justify-items:start;
  align-items:start;
}
.health-goal-mini-table{
  width:min(920px,100%);
  border-collapse:collapse;
  table-layout:fixed;
  background:var(--paper);
  border:1px solid var(--line);
  font-size:11px;
}
.health-goal-mini-table th,
.health-goal-mini-table td{
  position:static !important;
  height:30px !important;
  padding:5px 7px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:middle;
}
.health-goal-mini-table th{
  background:var(--header);
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.health-goal-mini-table th:nth-child(1){width:88px}
.health-goal-mini-table th:nth-child(2),
.health-goal-mini-table th:nth-child(3),
.health-goal-mini-table th:nth-child(4){width:70px}
.health-goal-mini-table th:nth-child(6){width:54px;text-align:center}
.health-goal-mini-table th:nth-child(7){width:96px}
.health-goal-mini-table td:nth-child(6){text-align:center}
.health-goal-mini-table .achieved td{
  background:#eff8f2;
}
.health-goal-mini-table .goal-text{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.health-goal-link{
  border:0;
  background:transparent;
  color:var(--accent-dark);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}
.health-goal-mini-table .goal-actions{
  display:flex;
  gap:4px;
  align-items:center;
}
.health-goal-mini-table .small-button{
  min-height:22px;
  padding:0 6px;
  font-size:10px;
}

/* Health tab: monthly KPI layout */
.health-view{gap:12px;margin-top:12px}
.health-goal-panel.kpi-health-goal-panel{gap:10px!important;padding:16px!important;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.health-goal-header{align-items:flex-start!important}
.health-goal-save-actions{display:flex;align-items:center;gap:8px}
.health-goal-save-actions strong{border:1px solid var(--line);background:#f8faf8;color:var(--accent-dark)}
.health-kpi-grid{display:grid!important;grid-template-columns:repeat(6,minmax(128px,1fr))!important;gap:10px!important}
.health-kpi-card{min-height:76px!important;padding:10px 12px!important;border:1px solid var(--line)!important;background:#fff!important;border-radius:4px;box-shadow:none!important}
.health-kpi-card span{color:var(--accent-dark)!important;font-size:10px!important;font-weight:900!important;letter-spacing:0!important}
.health-kpi-card input{font-family:Georgia,"Times New Roman",serif!important;font-size:21px!important;text-align:center}
.health-kpi-card input[type=month]{font-family:"Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif!important;font-size:15px!important}
.health-kpi-card.readonly input,#healthGoalTargetLoss{background:transparent!important;color:var(--accent)!important}
.health-kpi-card em{color:var(--ink)!important}
.health-kpi-achieved .health-achieved-inline{justify-self:center;align-self:center;color:var(--ink)!important}
.health-kpi-subgrid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.health-kpi-subgrid label{padding:12px!important;border:1px solid var(--line)!important;background:#f8faf8!important;border-radius:4px}
.health-kpi-subgrid input{min-height:30px!important}
.health-layout{display:grid;grid-template-columns:minmax(300px,1.05fr) minmax(360px,1.35fr) minmax(270px,.9fr);gap:12px;align-items:start}
.health-exercise-panel,.health-weight-panel,.health-monthly-panel{min-width:0;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.health-exercise-panel>header,.health-weight-status>header,.health-weight-table-section>header,.health-monthly-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line)}
.health-exercise-panel h2,.health-weight-status h2,.health-weight-table-section h2,.health-monthly-panel h2{margin:3px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:19px;color:var(--accent-dark)}
.health-exercise-month{padding:10px 14px 0}
.health-exercise-month select{min-height:32px;border:1px solid var(--line);background:#fff;color:var(--accent-dark);font-weight:800}
.health-exercise-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:10px 14px 14px}
.health-exercise-day-name{padding:6px 2px;color:var(--ink);font-size:10px;font-weight:900;text-align:center}
.health-exercise-cell{display:grid;place-items:center;gap:4px;min-height:43px;border:1px solid var(--line-soft);background:#fff;color:var(--ink);font-size:10px}
.health-exercise-cell.empty{background:#f8faf8}
.health-exercise-cell input{width:15px;height:15px;accent-color:var(--accent)}
.health-exercise-summary{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:0;margin:0 14px 12px;padding:13px;border:1px solid var(--line-soft);background:#f4f8f5}
.health-exercise-summary div{display:grid;gap:4px;padding:0 11px;border-right:1px solid var(--line)}
.health-exercise-summary div:last-child{border-right:0}
.health-exercise-summary span{color:var(--muted);font-size:10px;font-weight:800}
.health-exercise-summary strong{color:var(--accent);font-size:20px}
.health-exercise-progress{align-self:center;height:8px!important;padding:0!important;border:0!important;border-radius:99px;background:#dfe7e2}
.health-exercise-progress span{display:block;width:0;height:100%;border-radius:99px;background:var(--accent);transition:.16s}
.health-exercise-legend,.health-monthly-legend{display:flex;gap:16px;padding:0 14px 14px;color:var(--ink);font-size:11px;font-weight:800}
.health-exercise-legend i{display:inline-block;width:12px;height:12px;margin-right:5px;border:1px solid var(--line);vertical-align:-2px;background:#fff}
.health-exercise-legend i.done{background:var(--accent)}
.health-weight-panel{display:grid!important;gap:0!important;margin-top:0!important}
.health-weight-status,.health-weight-table-section{min-width:0}
.health-weight-badges{display:grid;gap:6px;justify-items:end}
.health-weight-badges span,.health-weight-badges strong{padding:6px 9px;border:1px solid var(--line);background:#f8faf8;color:var(--accent-dark);font-size:11px}
.health-weight-badges strong.success{background:var(--accent);color:#fff}
.health-chart-card{min-height:220px!important;padding:12px!important;border:0!important;border-bottom:1px solid var(--line);box-shadow:none!important}
.health-weight-chart{height:205px!important}
.health-weight-chart .target-line{stroke:#ef4444;stroke-width:2;stroke-dasharray:4 4}
.health-weight-chart .target-label{fill:#ef4444;font-size:11px;font-weight:800}
.health-weight-chart .loss-area{opacity:.35}
.health-weight-table{min-width:0!important;width:100%!important;table-layout:fixed!important}
.health-weight-table-wrap{max-height:220px!important;overflow:auto}
.health-weight-table th,.health-weight-table td{height:34px!important;padding:4px 6px!important;font-size:11px}
.health-weight-table th:nth-child(1),.health-weight-table td:nth-child(1){width:108px!important}
.health-weight-table th:nth-child(2),.health-weight-table td:nth-child(2){width:88px!important}
.health-weight-table th:nth-child(3),.health-weight-table td:nth-child(3){width:72px!important;text-align:center}
.health-weight-table th:nth-child(5),.health-weight-table td:nth-child(5){width:58px!important}
.health-weight-input{min-height:30px!important;height:30px!important;line-height:30px!important;padding:0 4px!important}
.health-weight-note{min-height:30px!important;height:30px!important;padding:5px!important}
.health-weight-delta .loss,.health-monthly-table .loss{color:var(--accent);font-weight:900}
.health-weight-delta .gain,.health-monthly-table .gain{color:#dc2626;font-weight:900}
.health-monthly-panel{padding-bottom:12px}
.health-monthly-panel>header span{padding:5px 8px;background:#f8faf8;color:var(--muted);font-size:10px;font-weight:800}
.health-monthly-table{width:100%;min-width:620px;border-collapse:collapse}
.health-goal-list{overflow-x:auto}
.health-monthly-table th,.health-monthly-table td{height:32px;padding:5px 7px;border-bottom:1px solid var(--line-soft);font-size:11px;text-align:left;white-space:nowrap}
.health-monthly-table th{background:#f8faf8;color:var(--accent-dark);font-weight:900}
.health-monthly-table th:nth-child(7),.health-monthly-table td:nth-child(7){width:94px;text-align:center}
.health-monthly-actions{display:flex;justify-content:center;gap:4px}
.health-monthly-actions .small-button{min-height:24px;padding:0 6px;font-size:10px}
.health-kpi-card input{color:var(--accent-dark)!important;opacity:1!important}
.health-kpi-card input:disabled,.health-kpi-card input[readonly]{opacity:1!important}
.health-status{display:inline-flex;align-items:center;min-height:20px;padding:2px 6px;border-radius:4px;color:#fff;font-size:10px;font-weight:900}
.health-status.success{background:var(--accent)}
.health-status.partial{background:#f59e0b}
.health-status.miss{background:#dc2626}
.health-monthly-legend .success:before,.health-monthly-legend .partial:before,.health-monthly-legend .miss:before{content:"";display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:2px}
.health-monthly-legend .success:before{background:var(--accent)}
.health-monthly-legend .partial:before{background:#f59e0b}
.health-monthly-legend .miss:before{background:#dc2626}
.health-goal-filter{display:none}
.health-monthly-panel>.button{margin:0 14px;width:calc(100% - 28px)}
@media(max-width:1200px){.health-kpi-grid{grid-template-columns:repeat(3,minmax(128px,1fr))!important}.health-layout{grid-template-columns:1fr}.health-weight-table{min-width:720px!important}}
@media(max-width:700px){.health-kpi-grid,.health-kpi-subgrid{grid-template-columns:1fr!important}.health-exercise-summary{grid-template-columns:1fr}.health-exercise-summary div{border-right:0;border-bottom:1px solid var(--line);padding:8px 0}.health-exercise-summary div:last-child{border-bottom:0}}

.auto-backup-list{display:grid;gap:8px;max-height:360px;overflow:auto;margin-top:12px}
.auto-backup-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);background:#fbfcfa}
.auto-backup-row input{width:16px;height:16px;accent-color:var(--accent)}
.auto-backup-row span{display:grid;gap:3px}
.auto-backup-row strong{color:var(--accent-dark);font-size:12px}
.auto-backup-row em{color:var(--muted);font-size:11px;font-style:normal;font-weight:800}

.language-import-modal{width:min(980px,100%)}
.language-import-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.language-import-guide{display:grid;gap:6px;align-content:center;margin:10px 0;padding:10px;border:1px solid var(--line);background:#fbfcfa;color:var(--muted);font-size:11px;font-weight:800;line-height:1.55}
.language-import-guide code{display:block;padding:7px;border:1px solid var(--line-soft);background:#fff;color:var(--accent-dark);font-size:11px;white-space:normal;word-break:break-all}
.language-advanced-import{margin-top:10px;border:1px solid var(--line);background:#fbfcfa}
.language-advanced-import summary{cursor:pointer;padding:9px 10px;color:var(--accent-dark);font-size:11px;font-weight:900}
.language-advanced-import .language-import-grid{padding:0 10px 10px}
.language-import-text{grid-column:1/-1}
.language-import-text textarea{min-height:180px;padding:10px;border:1px solid var(--line);outline:0;resize:vertical;background:#fff;color:var(--ink);font:inherit;font-size:12px;line-height:1.55}
.language-import-preview-wrap{margin-top:12px;max-height:330px;overflow:auto;border:1px solid var(--line);background:#fff}
.language-import-preview-table{width:100%;min-width:980px;border-collapse:collapse}
.language-import-preview-table th,
.language-import-preview-table td{height:36px;padding:6px 8px;border-bottom:1px solid var(--line-soft);font-size:11px;text-align:left;white-space:nowrap}
.language-import-preview-table th{position:sticky;top:0;z-index:1;background:#f8faf8;color:var(--accent-dark);font-weight:900}
.language-import-preview-table input,
.language-import-preview-table select{width:100%;min-height:28px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:11px}
.language-import-preview-table input[type=number]{text-align:center}
.language-import-empty{height:58px!important;color:var(--muted);text-align:center!important}
.siwon-update-preview-table{min-width:1240px}
.siwon-update-status{display:inline-block;padding:4px 7px;border-radius:4px;font-size:10px;font-weight:900;white-space:nowrap}
.siwon-update-status.new{background:#e8f6ed;color:#08784f}
.siwon-update-status.update{background:#fff2cf;color:#946200}
.siwon-update-status.same{background:#eef0f0;color:var(--muted)}

.language-study-table{table-layout:fixed!important}
.language-study-table th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.language-study-table th:nth-child(1),
.language-study-table td:nth-child(1){
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  text-align:center!important;
}
.language-study-table th:nth-child(2),
.language-study-table td:nth-child(2){
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  text-align:center!important;
}
.language-study-table th.row-number{left:auto!important}
.language-study-table .number-cell{position:static!important;left:auto!important;text-align:center!important}
.language-no-input{width:100%!important;text-align:center!important}
.language-toolbar{row-gap:8px!important;margin-bottom:8px!important}

.schedule-table{table-layout:fixed!important}
.schedule-table th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.schedule-table th:nth-child(1),
.schedule-table td:nth-child(1){
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  text-align:center!important;
}
.schedule-table th:nth-child(2),
.schedule-table td:nth-child(2){
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  text-align:center!important;
}
.schedule-table th.row-number{left:auto!important}
.schedule-table .number-cell{position:static!important;left:auto!important;text-align:center!important}
.schedule-no-input{width:100%!important;text-align:center!important}
.schedule-toolbar{row-gap:8px!important;margin-bottom:8px!important}

@media(max-width:700px){
  .language-import-grid{grid-template-columns:1fr}
  .language-import-modal{max-height:calc(100vh - 24px);padding:14px}
}

.health-use-latest{grid-column:1/-1;justify-self:start;margin-top:4px;padding:3px 7px;border:1px solid var(--line);background:#fff;color:var(--accent-dark);font-size:10px;font-weight:800}
.health-use-latest:hover{border-color:var(--accent);background:var(--accent-soft)}
.health-weight-table-wrap{width:100%!important;max-width:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
.health-weight-table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important;box-sizing:border-box!important}
.health-weight-table th,.health-weight-table td{overflow:hidden!important}
.health-weight-table th:nth-child(1),.health-weight-table td:nth-child(1){width:46px!important;text-align:center!important}
.health-weight-table th:nth-child(2),.health-weight-table td:nth-child(2){width:130px!important}
.health-weight-table th:nth-child(3),.health-weight-table td:nth-child(3){width:90px!important;text-align:center!important}
.health-weight-table th:nth-child(4),.health-weight-table td:nth-child(4){width:80px!important;text-align:center!important}
.health-weight-table th:nth-child(5),.health-weight-table td:nth-child(5){width:60px!important;text-align:center!important}
.health-weight-table th:nth-child(6),.health-weight-table td:nth-child(6),
.health-weight-table th:nth-child(7),.health-weight-table td:nth-child(7){width:85px!important;text-align:center!important}
.health-weight-table th:nth-child(8),.health-weight-table td:nth-child(8){width:auto!important;min-width:180px!important;overflow-wrap:break-word!important}
.health-weight-table th:nth-child(9),.health-weight-table td:nth-child(9){width:70px!important;min-width:70px!important;max-width:70px!important;text-align:center!important}
.health-weight-table textarea,.health-weight-table input{max-width:100%!important}
.health-weight-table input[type="number"]{display:block;width:100%!important;max-width:80px!important;margin:0 auto;padding:0 3px!important;text-align:center!important}
.health-weight-table input[type="date"]{display:block;width:100%!important;max-width:138px!important;min-width:0!important;margin:0 auto;padding:0 3px!important}
.health-weight-note{width:100%!important;min-width:0!important;min-height:38px!important;height:38px!important;padding:5px 6px!important;resize:vertical!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.health-weight-table .row-actions .icon-button{width:auto!important;min-width:0!important;min-height:27px!important;padding:0 8px!important;font-size:12px!important}
.health-weight-number{color:var(--accent-dark);font-weight:900}
.health-weight-period input{width:16px;height:16px;accent-color:#ec4899}
.health-weight-delta .neutral{color:var(--muted);font-weight:900}
.health-weight-chart .morning-dot{fill:#fff;stroke:#4fd6b3;stroke-width:2}
.health-weight-chart .evening-dot{fill:#fff;stroke:#28736b;stroke-width:2}
.health-weight-chart .morning-label{fill:#169777;font-size:9px}
.health-weight-chart .evening-label{fill:#28736b;font-size:9px}

.health-main-layout{display:grid;grid-template-columns:minmax(360px,.32fr) minmax(720px,.68fr);gap:16px;align-items:start}
.health-left-column,.health-right-column{display:flex;min-width:0;flex-direction:column;gap:16px}
.health-left-column .health-exercise-panel,.health-left-column .health-monthly-panel,.health-right-column .health-weight-panel{width:100%;min-width:0}
.health-right-column .health-weight-panel{margin-top:0!important}
.health-weight-table th:nth-child(1),.health-weight-table td:nth-child(1){width:50px!important}
.health-weight-table th:nth-child(2),.health-weight-table td:nth-child(2){width:130px!important}
.health-weight-table th:nth-child(3),.health-weight-table td:nth-child(3),
.health-weight-table th:nth-child(5),.health-weight-table td:nth-child(5){width:110px!important}
.health-weight-table th:nth-child(4),.health-weight-table td:nth-child(4),
.health-weight-table th:nth-child(6),.health-weight-table td:nth-child(6){width:105px!important}
.health-weight-table th:nth-child(7),.health-weight-table td:nth-child(7){width:65px!important}
.health-weight-table th:nth-child(8),.health-weight-table td:nth-child(8){width:auto!important;min-width:180px!important}
.health-weight-table th:nth-child(9),.health-weight-table td:nth-child(9){width:80px!important;min-width:80px!important;max-width:80px!important}
.health-weight-note{min-height:52px!important;height:52px!important;resize:vertical!important;white-space:normal!important;overflow-wrap:break-word!important}
.health-weight-table .row-actions .icon-button{width:auto!important;padding:0 8px!important;font-size:12px!important}
.health-weight-chart .morning-segment{stroke:#16a66a;stroke-width:3;stroke-linecap:round}
.health-weight-chart .evening-segment{stroke:#1769aa;stroke-width:3;stroke-linecap:round}
.health-weight-chart .period-segment{stroke:#ec4899;stroke-width:3}
.health-weight-chart .morning-point{fill:#fff;stroke:#16a66a;stroke-width:2}
.health-weight-chart .evening-point{fill:#fff;stroke:#1769aa;stroke-width:2}
.health-weight-chart .period-point{fill:#fff;stroke:#ec4899;stroke-width:3}
@media(max-width:1200px){.health-main-layout{grid-template-columns:1fr}.health-left-column,.health-right-column{gap:12px}}
.daily-unified-table th:last-child,.daily-unified-table td:last-child{width:146px!important}
.daily-unified-table .row-actions .action-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px 5px;align-content:center}
.daily-unified-table .row-actions .small-button,.daily-unified-table .row-actions .icon-button{width:100%;min-width:0;min-height:22px;height:22px;padding:0 4px;font-size:10px;line-height:1}

.schedule-insight-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(440px,1.15fr);gap:12px}
.schedule-insight-grid[hidden]{display:none!important}
.schedule-insight-card{min-width:0;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.schedule-insight-card>header{padding:13px 15px;border-bottom:1px solid var(--line)}
.schedule-insight-card h2{margin:3px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:19px;color:var(--accent-dark)}
.schedule-progress-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;padding:12px}
.schedule-progress-item{display:flex;align-items:center;gap:10px;min-height:84px;padding:11px;border:1px solid var(--line);background:#fbfcfa}
.schedule-progress-item strong,.schedule-progress-item span{display:block}
.schedule-progress-item strong{color:var(--accent-dark);font-size:12px}
.schedule-progress-item>div:not(.schedule-progress-ring)>span{margin-top:4px;color:var(--muted);font-size:11px;font-weight:800}
.schedule-progress-ring{--rate:0;display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--rate) * 1%),#e8eee9 0)}
.schedule-progress-ring:before{content:"";grid-area:1/1;width:38px;height:38px;border-radius:50%;background:#fff}
.schedule-progress-ring span{grid-area:1/1;position:relative;color:var(--accent-dark);font-size:12px;font-weight:900}
.schedule-status-table-wrap{max-height:300px;overflow:auto}
.schedule-status-table{width:100%;min-width:720px;border-collapse:collapse}
.schedule-status-table th,.schedule-status-table td{height:34px;padding:6px 8px;border-bottom:1px solid var(--line-soft);font-size:11px;text-align:left;white-space:nowrap}
.schedule-status-table th{position:sticky;top:0;z-index:1;background:#f8faf8;color:var(--accent-dark);font-weight:900}
.schedule-status-table th:nth-child(2),.schedule-status-table td:nth-child(2){width:34%;white-space:normal}
.schedule-status-table tr.completed td{background:#f2f7f4;color:#8a958f}
.schedule-progress-mini{position:relative;width:100%;min-width:90px;height:18px;padding-top:3px;background:linear-gradient(#e8eee9,#e8eee9) center/100% 6px no-repeat}
.schedule-progress-mini span{display:block;height:6px;background:var(--accent)}
.schedule-progress-mini em{position:absolute;right:0;bottom:-1px;color:var(--muted);font-size:9px;font-style:normal;font-weight:800}
.schedule-status-empty{height:58px!important;color:var(--muted);text-align:center!important}
@media(max-width:1100px){.schedule-insight-grid{grid-template-columns:1fr}}

.schedule-focus-panel{min-width:0;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.schedule-focus-panel[hidden]{display:none!important}
.schedule-focus-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line)}
.schedule-focus-panel h2{margin:3px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:19px;color:var(--accent-dark)}
.schedule-focus-panel>header>span{padding:5px 8px;background:#f8faf8;color:var(--accent-dark);font-size:11px;font-weight:900}
.schedule-focus-table-wrap{max-height:230px;overflow:auto}
.schedule-focus-table{width:100%;min-width:900px;border-collapse:collapse}
.schedule-focus-table th,.schedule-focus-table td{height:35px;padding:6px 9px;border-bottom:1px solid var(--line-soft);font-size:11px;text-align:left;white-space:nowrap}
.schedule-focus-table th{position:sticky;top:0;z-index:1;background:#f8faf8;color:var(--accent-dark);font-weight:900}
.schedule-focus-table th:nth-child(2),.schedule-focus-table td:nth-child(2){width:24%;white-space:normal}
.schedule-focus-table th:nth-child(3),.schedule-focus-table td:nth-child(3){width:28%;white-space:normal;line-height:1.45}
.schedule-focus-badge,.schedule-priority{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:900}
.schedule-focus-badge.today{background:var(--accent);color:#fff}
.schedule-focus-badge.week{background:#e5f0eb;color:var(--accent-dark)}
.schedule-focus-badge.overdue{background:#fee2e2;color:#b42318}
.schedule-focus-table tr.overdue td{background:#fff7f7;color:#7f3b36}
.schedule-priority.high{background:#fee2e2;color:#b42318}
.schedule-priority.medium{background:#fff2cf;color:#946200}
.schedule-priority.low{background:#e8f3ec;color:#27734e}
.schedule-focus-empty{height:58px!important;color:var(--muted);text-align:center!important}

.language-focus-panel{min-width:0;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.language-focus-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line)}
.language-focus-panel h2{margin:3px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:19px;color:var(--accent-dark)}
.language-focus-panel>header>span{padding:5px 8px;background:#f8faf8;color:var(--accent-dark);font-size:11px;font-weight:900}
.language-focus-table-wrap{max-height:230px;overflow:auto}
.language-focus-table{width:100%;min-width:820px;border-collapse:collapse}
.language-focus-table th,.language-focus-table td{height:35px;padding:6px 9px;border-bottom:1px solid var(--line-soft);font-size:11px;text-align:left;white-space:nowrap}
.language-focus-table th{position:sticky;top:0;z-index:1;background:#f8faf8;color:var(--accent-dark);font-weight:900}
.language-focus-table th:nth-child(2),.language-focus-table td:nth-child(2){width:28%;white-space:normal}
.language-focus-table th:nth-child(3),.language-focus-table td:nth-child(3){width:28%;white-space:normal;line-height:1.45}
.language-focus-table tr.overdue td{background:#fff7f7;color:#7f3b36}
.language-focus-empty{height:58px!important;color:var(--muted);text-align:center!important}
