:root{--bg-base: #f2f4f1;--bg-panel: #ffffff;--text-main: #102a23;--text-subtle: #4a5a56;--line-soft: #dce5e2}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 500px at -5% -10%,#c6ddd7,#c6ddd700 60%),radial-gradient(1000px 420px at 110% -20%,#dce7d1,#dce7d100 55%),var(--bg-base);color:var(--text-main)}.app-shell{min-height:100vh;background:transparent}.app-header{background:linear-gradient(110deg,#123f35,#1c5849 45%,#2f6956);color:#fff;height:auto;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.2)}.title-main.ant-typography{margin:0;color:#fff;font-family:Space Grotesk,Manrope,sans-serif;letter-spacing:.02em}.subtitle-main{color:#ffffffd6;margin-top:4px;font-size:13px}.app-content{padding:16px}.content-grid{width:100%;display:grid;gap:12px}.content-split{width:100%;display:grid;align-items:start;min-height:calc(100vh - 140px)}.split-left-pane,.split-right-pane{min-width:0}.stacked-tab-content{display:grid;gap:16px}.split-divider{width:10px;cursor:col-resize;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:none}.split-divider-grip{width:4px;height:56px;border-radius:999px;background:linear-gradient(180deg,#d5dfdb,#95aaa2)}body.is-resizing-split{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.panel{background:var(--bg-panel);border:1px solid var(--line-soft);box-shadow:0 12px 26px #102a230f}.branch-toolbar{display:flex;justify-content:flex-end}.panel-head{display:flex;justify-content:space-between;align-items:center}.tree-panel .ant-typography{margin-bottom:0}.tree-panel{padding:10px 12px}.tree-meta{margin:6px 0 12px;color:var(--text-subtle);font-size:12px}.tree-foot{margin-top:8px;color:var(--text-subtle);font-size:12px}.branch-edit-box{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line-soft);display:grid;gap:8px}.modal-branch-tools{margin-top:4px}.version-modal-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:12px}.version-modal-branch-tree{border:1px solid var(--line-soft);border-radius:8px;padding:8px;max-height:520px;overflow:auto}.version-modal-versions{min-width:0}.version-branch-tree-item{display:flex;flex-direction:column;line-height:1.2}.version-branch-tree-name{color:var(--text-main)}.version-branch-tree-updated{color:var(--text-subtle);font-size:11px}.version-branch-tree-item.is-virtual .version-branch-tree-name{color:var(--text-subtle);font-style:italic}.hint-line{color:var(--text-subtle);font-size:12px}@media (max-width: 992px){.app-content{padding:10px}.content-split{display:block;min-height:auto}.split-divider{display:none}}.period-col{font-variant-numeric:tabular-nums}.period-year{background:#d3e2db}.period-semester{background:#deebe5}.period-quarter{background:#e7f2ec}.period-month{background:#f3faf6}.period-custom{background:#fffaf1}.period-group-title{display:inline-flex;align-items:center;gap:6px}.period-group-toggle{width:18px;height:18px;border:1px solid #8ea7a0;border-radius:4px;background:#f7fbf9;color:#1c4f41;font-size:12px;line-height:1;cursor:pointer;padding:0}.period-group-toggle:hover{background:#e9f3ef}.issues-modal-trigger{width:100%;justify-content:flex-start}.problem-icon-btn{color:#5f6d68}.problem-icon-btn.has-issues{color:#c06a14}.mapping-accordion .ant-collapse-header{align-items:center!important}.mapping-fields{width:100%;max-width:260px}.sheet-tabs-head{width:100%;justify-content:space-between}.sheet-label{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.sheet-label-main{min-width:0}.sheet-label-right{flex-shrink:0}.sheet-select-checkbox .ant-checkbox+span{font-size:12px}.discarded-sheet-row{width:100%;border:1px solid var(--line-soft);border-radius:8px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sheet-filter-overlay .ant-popover-inner{max-width:360px;max-height:min(78vh,720px);overflow:hidden;display:flex;flex-direction:column}.sheet-filter-overlay .ant-popover-inner-content{max-height:min(78vh,720px);overflow:auto}.sheet-error-overlay .ant-popover-inner{max-width:min(460px,90vw)}.sheet-error-popover{max-width:min(420px,84vw)}.sheet-filter-popover{width:320px;max-height:calc(min(78vh,720px) - 16px);overflow:auto;padding-right:2px}.sheet-filter-collapse{width:100%}.sheet-filter-column-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.sheet-filter-group{display:grid;gap:8px}.sheet-filter-options{max-height:220px;overflow:auto;display:grid;gap:6px;padding-right:4px}.consolidation-upload-hint{display:inline-block;cursor:pointer;font-size:12px;padding:2px 0}.consolidation-drag-active{min-height:210px}.discarded-token-list{border:1px dashed var(--line-soft);border-radius:8px;min-height:52px;padding:10px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px}.table-shell{width:100%;border:1px solid var(--line-soft);border-radius:10px;overflow:hidden;background:#fff}.consolidated-table .ant-table-thead>tr>th,.consolidated-table .ant-table-tbody>tr>td{font-family:Manrope,Segoe UI,sans-serif;font-variant-numeric:tabular-nums}.grid-period-cell{text-align:right}.grid-period-header.period-year,.grid-period-cell.period-year{background:#cfddd6}.grid-period-header.period-semester,.grid-period-cell.period-semester{background:#dbe8e2}.grid-period-header.period-quarter,.grid-period-cell.period-quarter{background:#e5efe9}.grid-period-header.period-month,.grid-period-cell.period-month{background:#f2f9f5}.grid-period-header.period-custom,.grid-period-cell.period-custom{background:#fffaf1}.grid-period-group-year{background:#c8d9d0;font-weight:700}.grid-period-group-quarter{background:#e3eee8;font-weight:600}.grid-period-group-semester{background:#d7e5de;font-weight:600}.grid-period-group-custom{background:#f8f5ef;font-weight:600}.grid-synthetic-group-root{background:#fff5e8;font-weight:700}.grid-synthetic-group-year{background:#fff7ee;font-weight:600}.grid-synthetic-header{background:#fff2df;color:#8f4e12}.grid-synthetic-cell{text-align:right;background:#fffaf2;color:#7c4511}.grid-total-group-root{background:#edf3ff;font-weight:700}.grid-total-group-year{background:#f4f8ff;font-weight:600}.grid-total-group-semester{background:#f7f9ff;font-weight:600}.grid-total-header{background:#e6eef9;color:#1f4468}.grid-total-cell{text-align:right;background:#eef4fb;color:#173754}.grid-total-header.total-quarter,.grid-total-cell.total-quarter{background:#e8f0fb;color:#214667}.grid-total-header.total-semester,.grid-total-cell.total-semester{background:#dce8f8;color:#1a3f62}.grid-total-header.total-year,.grid-total-cell.total-year{background:#ccddf3;color:#153753}.consolidated-table .ant-table-cell{border-color:#e9efec!important}.consolidated-table .ant-table-thead>tr>th{background:#f6f9f8;border-right:1px solid #d6e0dc!important;border-bottom:1px solid #d3ddd9!important}.consolidated-table .ant-table-thead>tr:first-child>th{border-bottom:2px solid #b6c8c1!important}.consolidated-table .ant-table-thead>tr:nth-child(2)>th{border-bottom:2px solid #c1d1cb!important}.consolidated-table .ant-table-thead>tr:nth-child(3)>th{border-bottom:1px solid #ccd8d3!important}.grid-period-group-year{border-left:2px solid #8fa79f!important;border-right:2px solid #8fa79f!important}.grid-period-group-semester{border-left:1px solid #9eb4ad!important;border-right:1px solid #9eb4ad!important}.grid-period-group-quarter{border-left:1px dashed #afc1bb!important;border-right:1px dashed #afc1bb!important}.grid-period-header.period-year{border-left:2px solid #8fa79f!important;border-right:2px solid #8fa79f!important}.grid-period-header.period-semester{border-left:1px solid #9eb4ad!important;border-right:1px solid #9eb4ad!important}.grid-period-header.period-quarter{border-left:1px dashed #afc1bb!important;border-right:1px dashed #afc1bb!important}
