/* SubjectMasterContent structure; retain the reviewed, readable prototype type scale. */
.catalog-screen{position:relative;flex:1;min-height:0;display:flex;background:var(--bg)}
.catalog-page{padding:16px;display:flex;flex-direction:column;gap:12px;width:100%;min-height:0;overflow:auto}
.catalog-heading{display:flex;align-items:center;gap:12px}.catalog-heading h1{font-size:23px}
.catalog-years{display:flex;gap:12px;align-items:flex-end}.catalog-years>.field:first-child{min-width:150px}
.catalog-years input{background:white}.catalog-years>.meta{align-self:center}.catalog-years .grow{max-width:none}
.catalog-excel{display:flex;gap:12px;overflow-x:auto;flex-shrink:0;padding:0 0 2px}
.catalog-excel .btn{flex-shrink:0}.catalog-copy{background:white;padding:16px;border-radius:14px;display:grid;gap:8px}
.catalog-budget-note{font-size:15px;color:#426784;line-height:1.6}
.catalog-search{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.catalog-search>select{max-width:285px}.catalog-search .search{min-width:180px}
.catalog-message{min-height:24px;font-size:15px;flex-shrink:0}.catalog-list{display:flex;flex-direction:column;gap:6px}
.catalog-subject{border-radius:14px;background:white;padding:16px}
.catalog-subject .catalog-meta{grid-template-columns:1fr 1fr 2fr;margin-top:12px;gap:12px}
.catalog-actions{display:flex;gap:12px;flex-wrap:nowrap;flex-shrink:0}
.catalog-actions .btn.danger{background:var(--bg)}
.catalog-table-head,.catalog-table-row{display:grid;gap:12px;align-items:center;padding:12px 16px}
.catalog-table-head{background:var(--light);color:var(--muted);font-size:15px}
.catalog-table-row{background:white;border-radius:14px;min-height:72px;padding:16px}
.catalog-table-head.function,.catalog-table-row.function{grid-template-columns:minmax(100px,1fr) minmax(130px,2fr) 162px}
.catalog-table-head.economic,.catalog-table-row.economic{grid-template-columns:minmax(100px,1fr) minmax(130px,1fr) 162px}
.catalog-table-row>div{min-width:0;overflow-wrap:anywhere}
.catalog-project{border-radius:14px;background:white;overflow:hidden;margin-bottom:6px}
.catalog-project-head{display:flex;gap:12px;align-items:center;padding:16px}
.catalog-chevron{color:var(--blue);padding:6px;min-width:30px;min-height:40px}
.catalog-children{border-top:1px solid var(--line)}
.catalog-child{display:flex;gap:12px;padding:12px 16px 12px 58px;align-items:center;background:#f7f8fb}
.catalog-child+.catalog-child{border-top:1px solid #e9edf2}.catalog-children>p{padding:16px}
.catalog-overlay{position:absolute;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:5}
.catalog-editor{width:94%;height:94%;max-width:720px;padding:16px;border-radius:14px;background:white;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 15px #1c395212}
.catalog-editor>h2{text-align:center;font-size:22px}
.catalog-editor-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:2px 5px 8px 1px;scrollbar-gutter:stable}
.catalog-editor-body .field{gap:6px;font-size:15px;flex-shrink:0}
.catalog-editor-body input:not([type=checkbox]),.catalog-editor-body select{background:var(--bg);border-color:transparent;height:42px}
.catalog-editor-body>.btn{align-self:flex-start}.catalog-editor-body>p{flex-shrink:0}
.catalog-editor-foot{display:flex;gap:12px;justify-content:center;flex-shrink:0}
.catalog-error:empty{display:none}.catalog-error{color:var(--red);font-size:15px;line-height:1.5}
.catalog-switch{display:flex;gap:12px;align-items:center;min-height:38px;position:relative;flex-shrink:0}
.catalog-switch>span:first-child{color:var(--muted);font-size:16px}
.catalog-switch input{position:absolute;opacity:0;width:44px;height:28px;left:80px}
.catalog-switch>span:last-child{width:44px;height:26px;border-radius:20px;background:#bdc5cf;position:relative;cursor:pointer}
.catalog-switch>span:last-child:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:white;transition:transform .12s}
.catalog-switch input:checked+span{background:var(--blue)}
.catalog-switch input:checked+span:after{transform:translateX(18px)}
.catalog-switch input:focus-visible+span{outline:2px solid var(--blue);outline-offset:3px}
.catalog-import-mode{background:var(--bg);border-radius:14px;padding:12px;display:grid;gap:6px}
.catalog-import-mode label{display:flex;align-items:center;gap:6px}
@media(max-width:1050px){.catalog-project-head{flex-wrap:wrap}.catalog-project-head>.grow{min-width:180px}.catalog-subject .catalog-meta{grid-template-columns:1fr 1fr}.catalog-subject .catalog-meta>div:last-child{grid-column:1/-1}.catalog-search>select{max-width:230px}}
@media(max-width:800px){.catalog-page{padding:12px}.catalog-years{flex-wrap:wrap}.catalog-years>.field:first-child{min-width:120px}.catalog-search>select{width:100%;max-width:none}.catalog-child{padding-left:20px;flex-wrap:wrap}.catalog-table-head.function,.catalog-table-row.function,.catalog-table-head.economic,.catalog-table-row.economic{grid-template-columns:minmax(85px,1fr) minmax(120px,1.3fr) 142px}.catalog-actions{gap:6px}.catalog-actions .btn{padding:6px 12px}.catalog-editor>h2{font-size:20px}.catalog-editor{padding:12px}.catalog-subject .row{align-items:flex-start}}
