:root{font-family:"Malgun Gothic","Noto Sans KR",sans-serif;font-size:14px;color:#243449;background:#f4f6fa}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:0;border-radius:7px;background:#255bd5;color:#fff;min-height:38px;padding:9px 13px;cursor:pointer;font-weight:600}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:default}button.secondary{background:#e8edf6;color:#34516e}button.danger{background:#a33737}button.link{background:transparent;color:#245bc7;padding:0;min-height:24px;text-align:left}input,select,textarea{min-height:38px;border:1px solid #cdd6e2;border-radius:6px;background:#fff;color:inherit;padding:8px;max-width:100%}textarea{min-height:80px;resize:vertical}label{display:grid;gap:5px;margin:9px 0}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #94b5f5;outline-offset:2px}[hidden]{display:none!important}aside{position:fixed;inset:0 auto 0 0;width:184px;background:#172d48;color:#fff;padding:20px 12px;display:flex;flex-direction:column;overflow-y:auto}.brand{font-size:16px;font-weight:800;letter-spacing:1.5px;padding:0 8px}nav{display:grid;gap:3px;margin-top:22px}nav button{text-align:left;background:transparent;color:#c4d1e4;font-size:13px;padding:10px 9px}nav button.active{background:#2c4768;color:white}.aside-bottom{margin-top:auto;padding:20px 8px 0;display:grid;gap:5px}.aside-bottom button{background:none;color:#bfd0e7;text-align:left;padding:4px 0;min-height:28px}.aside-bottom small{color:#839cb8}.main{margin-left:184px;padding:0 22px}header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 0 10px}.title-row,.actions,.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}h1{font-size:22px;margin:0}h2{font-size:17px;margin:0 0 14px}h3{font-size:15px}.icon{padding:4px 10px;font-size:19px}.badge,.pill{display:inline-block;border-radius:5px;padding:4px 8px;font-size:12px;background:#e7eef8;color:#385879}.badge.write{background:#e4f3e8;color:#23633b}#status{padding:4px 0 10px;min-height:18px;color:#3d638d;font-size:13px}#status:empty{padding:0;min-height:9px}.error,.bad{color:#ae3434!important}.good{color:#267047}.muted,.subtle{color:#708199;line-height:1.5}.toolbar{margin-bottom:12px}.toolbar input[type=search]{width:260px}.card,.metric{background:#fff;border:1px solid #dce3ed;border-radius:9px;padding:16px;margin-bottom:14px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{padding:14px}.metric strong{display:block;font-size:25px;margin-top:7px}.metric span{color:#6c7d93;font-size:13px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-grid .card p{margin:6px 0}.highlight{font-size:19px;font-weight:700;color:#264a7b}.table-wrap{width:100%;overflow-x:auto;border:1px solid #e0e6ef;border-radius:8px;background:white}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;background:#edf2f8;color:#536780;font-size:12px;white-space:nowrap}th,td{padding:10px 11px;border-bottom:1px solid #e7ecf3;line-height:1.45}td{vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8faff}td .actions{min-width:90px}td button{font-size:12px;min-height:30px;padding:6px 9px}td .link{font-size:13px;font-weight:700}.empty{padding:28px;text-align:center;color:#8190a3}.nowrap{white-space:nowrap}.cell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:7px}.cell-tile{background:#f1f7f2;border:1px solid #c9dfd0;border-radius:7px;color:#345c40;padding:11px;text-align:left;display:grid;gap:4px}.cell-tile small{font-weight:normal;font-size:11px}.cell-tile.보관{background:#f4eade;border-color:#e7d3b8;color:#755b36}.cell-tile.추천{background:#e8eefc;border-color:#b5c9f2;color:#3e5c93}.cell-tile.폐쇄{background:#eeeef2;border-color:#d8d8e1;color:#85859a}.cell-tile.selected{background:#265bd5;color:#fff;border-color:#265bd5}.detail-grid{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(280px,1.5fr);gap:20px}.customer-info{background:#f4f7fb;padding:16px;border-radius:9px;align-self:start}.customer-info h3{font-size:20px;margin:0 0 15px}.metadata{display:grid;grid-template-columns:76px 1fr;gap:10px;line-height:1.5}.metadata dt{color:#77879b}.metadata dd{margin:0;overflow-wrap:anywhere}.guri-select .cell-grid{grid-template-columns:1fr}.guri-select .cell-tile{grid-template-columns:1fr auto;align-items:center;padding:12px 15px}.selection-footer{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.inline-note{background:#f0f5fd;border:1px solid #d6e1f1;border-radius:7px;padding:10px 13px;line-height:1.6;margin-bottom:12px}.warning-list{color:#8f6529;padding-left:20px;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.close{float:right;background:#eaf0f7;color:#4d617c;min-height:30px;padding:3px 10px;font-size:22px}dialog{border:0;border-radius:12px;width:min(920px,94vw);max-height:91vh;overflow:auto;padding:22px;box-shadow:0 20px 70px #12284844}dialog::backdrop{background:#14243b77}dialog h2{padding-right:35px}dialog .table-wrap{max-height:none}dialog .actions{margin-top:15px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6fa;padding:12px;font-size:12px}footer{padding:18px 0;color:#8190a4;font-size:12px}.login{display:grid;place-items:center;min-height:100vh}.login-card{padding:30px;width:min(400px,92vw);background:#fff;border:1px solid #dce4ef;border-radius:12px}.login-card .brand{display:block;color:#255bd5;margin-bottom:24px;padding:0}.login-card h1{font-size:25px}.login-card button{width:100%;margin-top:15px}.login-card label{margin-top:16px}#login-error{color:#a33}.split-actions{display:flex;justify-content:space-between;gap:10px;align-items:center}.section-gap{margin-top:18px}
@media(max-width:1100px){aside{width:165px}.main{margin-left:165px;padding:0 15px}header{align-items:flex-start}.actions{justify-content:flex-end}.metrics{gap:8px}th,td{padding:9px}.detail-grid{grid-template-columns:1fr 1.3fr}}
@media(max-width:760px){aside{position:static;width:auto;padding:12px;overflow:visible}.brand{font-size:14px}nav{display:flex;overflow-x:auto;gap:4px;margin-top:10px}nav button{white-space:nowrap}.aside-bottom{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:9px 6px 0}.aside-bottom small{display:none}.main{margin-left:0;padding:0 12px}header{flex-wrap:wrap;padding-top:13px}.actions{justify-content:flex-start}h1{font-size:20px}.metrics{grid-template-columns:repeat(2,1fr)}.summary-grid,.detail-grid,.form-grid{grid-template-columns:1fr}.detail-grid{gap:12px}.customer-info{padding:12px}.metadata{grid-template-columns:70px 1fr 70px 1fr;gap:7px}.customer-info h3{margin-bottom:9px}.toolbar input[type=search]{width:100%}dialog{padding:16px}.guri-select .cell-grid{grid-template-columns:1fr}.table-wrap table{min-width:620px}.card{padding:13px}}

/* Readable single-line lists. Full values and review reasons remain in customer details. */
.main{padding:0 18px}header{padding:14px 0 9px}#status{padding-bottom:7px}#status:empty{min-height:5px}
button{min-height:36px;padding:8px 12px}input,select{min-height:36px;padding:7px 9px}
h2{margin-bottom:10px}.card,.metric{padding:14px;margin-bottom:12px}.metrics,.summary-grid{gap:10px}.metric strong{margin-top:5px}
.toolbar{gap:9px;margin-bottom:10px}.toolbar label{margin:4px 0}.result-count{margin-right:auto}
th,td{padding:8px 10px}td button{min-height:28px;padding:4px 9px}.badge,.pill{padding:4px 7px}
.summary-grid{align-items:start}.summary-grid .card{margin-bottom:0}.summary-grid .card p{margin:6px 0}.capacity-period{margin:0 0 9px;font-size:13px}
.capacity-card h2{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.capacity-card .pill{font-weight:normal;font-size:13px;white-space:nowrap}
.capacity-issues{margin:5px 0;padding-left:18px;line-height:1.5;color:#a33}.capacity-issues li+li{margin-top:4px}.review-link{margin:3px 0;font-size:13px}
/* Future and Guri assignment lists share column sizes and one-line rows. */
.assignment-table table{table-layout:fixed;min-width:1100px}.guri-table table{min-width:1100px}
.assignment-table th.list-date{width:100px}.assignment-table th.list-duration,.assignment-table th.list-cbm{width:64px}
.assignment-table th.list-state{width:84px}.assignment-table th.list-action{width:88px}
.assignment-table th,.assignment-table td{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.assignment-table .list-duration,.assignment-table .list-cbm{text-align:right;font-variant-numeric:tabular-nums}
.assignment-table .list-date{font-variant-numeric:tabular-nums}
.assignment-table td .link{display:block;max-width:100%;min-height:28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assignment-table .cell-list{font-weight:normal}.assignment-table .status-link{color:#a3691c;text-decoration:underline;text-underline-offset:3px}
button.brand{background:transparent;color:inherit;text-align:left;min-height:24px;padding:0 8px;line-height:24px;flex-shrink:0}
button.brand:hover{background:#2c4768;filter:none}
.review-scope{padding:8px 10px;background:#edf2f8;border-radius:6px}footer{padding:14px 0}
@media(max-width:760px){.main{padding:0 12px}.summary-grid{grid-template-columns:1fr}.card{padding:12px}.toolbar input[type=search]{width:100%}}

/* Clickable column headings preserve the existing compact table geometry. */
.sortable-table th:has(.sort-header){padding:0}
.sortable-table .sort-header{display:flex;align-items:center;gap:4px;width:100%;min-height:34px;margin:0;padding:8px;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:600;line-height:1.45;text-align:left;white-space:nowrap}
.sortable-table .sort-header:hover{background:#e0e9f6;filter:none}
.sortable-table .sort-header:focus-visible{outline-offset:-3px}
.sortable-table .sort-header::after{content:"↕";font-size:10px;opacity:.45;flex:none}
.sortable-table th[aria-sort="ascending"] .sort-header::after{content:"▲";color:#255bd5;opacity:1}
.sortable-table th[aria-sort="descending"] .sort-header::after{content:"▼";color:#255bd5;opacity:1}
.assignment-table th.list-duration .sort-header,.assignment-table th.list-cbm .sort-header{justify-content:flex-end}
nav [data-page="guri-assigned"]{white-space:nowrap}

/* Fixed application frame; scroll belongs to the active work list. */
body.workspace-open{height:100dvh;overflow:hidden}
#workspace{height:100dvh;overflow:hidden}
#workspace .main{height:100%;display:flex;flex-direction:column;min-width:0;overflow:hidden}
#workspace header,#status,#last-run{flex:none}
#workspace header{min-width:0}
#status{max-height:64px;overflow:auto;overflow-wrap:anywhere}
#last-run{padding:8px 0;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#content{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}
#content>.toolbar,#content>.actions,#content>.inline-note,#content>p,#content>.review-scope{flex:none}
#content>.list-output,#content>.table-wrap{flex:1;min-height:0}
.list-output{min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.list-output>.table-wrap,.list-output>.cell-grid{flex:1;min-height:0}
#content .table-wrap,#content .list-output>.cell-grid{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
#content .list-output>.cell-grid{align-content:start;padding-right:4px}
.table-wrap thead{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 #dce3ed}
.table-wrap:focus-visible,.cell-grid:focus-visible{outline:2px solid #94b5f5;outline-offset:-2px}
#content>.capacity-summary{flex:none;max-height:28%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
#content>.capacity-summary+p{margin:8px 0;font-size:12px}
#content>.metrics{flex:none}
.dashboard-panels{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,1.5fr);gap:12px;flex:1;min-height:0;min-width:0}
.dashboard-summary{display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0}
.dashboard-panels .card{display:flex;flex-direction:column;min-height:0;min-width:0;margin:0;overflow:hidden}
.dashboard-panels .card>h2{flex:none}
.dashboard-summary>.card{flex:0 1 auto;max-height:60%}
.dashboard-panels .card>.table-wrap,.dashboard-panels .card>.capacity-summary,.dashboard-panels .card>.warning-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.dashboard-panels .warning-list{margin:0}
#content>.tools-panel{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow:hidden;margin-bottom:0}
.tools-panel>h2,.tools-panel>.toolbar,.tools-panel>.actions,.tools-panel>p{flex:none}
.tools-panel>.list-output,.tools-panel>.table-wrap{flex:1;min-height:0}
.tools-tabs button[aria-pressed="true"]{background:#255bd5;color:#fff}

/* The picker has fixed context and actions, and one scrollable cell list. */
dialog.assignment-dialog[open]{display:flex;flex-direction:column;width:min(1000px,96vw);height:min(760px,94dvh);max-height:94dvh;overflow:hidden;padding:20px}
dialog.assignment-dialog>form{position:absolute;top:12px;right:14px}
dialog.assignment-dialog>h2{flex:none;margin:0 0 14px;line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.assignment-content{flex:1;min-height:0;min-width:0;overflow:hidden}
.assignment-content>.detail-grid{height:100%;min-height:0;grid-template-columns:minmax(240px,.9fr) minmax(280px,1.5fr)}
.assignment-content .customer-info{width:100%;min-width:0;max-height:100%;padding:14px}
.assignment-content .customer-info h3{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 12px}
.assignment-content .metadata{margin:0;gap:9px;font-size:13px;grid-template-columns:68px minmax(0,1fr)}
.assignment-content .metadata dd{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.assignment-choices{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}
.assignment-choices>form{flex:none}
.assignment-choices>form label{margin:0 0 10px}
.assignment-choices>.cell-grid{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;padding:2px 5px 2px 2px}
.assignment-choices>.selection-footer{flex:none;margin:0;padding:12px 0 0;border-top:1px solid #e0e6ef;background:#fff}
.assignment-choices>p{flex:none;font-size:12px;line-height:1.4;margin:8px 0 0}
@media(max-width:1100px){
 .dashboard-panels{grid-template-columns:minmax(240px,1fr) minmax(300px,1.2fr)}
}
@media(max-width:900px){
 .dashboard-panels{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1.3fr)}
 .dashboard-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
}
@media(max-width:760px){
 #workspace{display:flex;flex-direction:column}
 #workspace>aside{flex:none;max-height:34dvh;min-height:0;padding:8px 12px;overflow:hidden}
 #workspace>aside nav{margin-top:6px;flex-shrink:0}
 #workspace>aside nav button{padding:8px 9px}
 #workspace>aside .aside-bottom{padding:5px 6px 0;gap:8px;font-size:12px}
 #workspace>aside .aside-bottom button{font-size:12px;min-height:24px}
 #workspace .main{height:auto;flex:1;min-height:0}
 #workspace header{padding:8px 0 5px;gap:6px}
 #workspace header .actions{gap:6px}
 #workspace header .actions button{min-height:30px;padding:5px 8px;font-size:12px}
 #workspace h1{font-size:18px}
 #content>.toolbar{gap:6px;margin-bottom:7px}
 #content>.toolbar input[type=search]{flex:1 1 170px;min-width:0;width:auto}
 #last-run{font-size:11px;padding:5px 0}
 .metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .metric{padding:8px;margin-bottom:8px}.metric span{font-size:11px}.metric strong{font-size:20px}
 .dashboard-summary{grid-template-columns:minmax(0,1fr)}
 dialog.assignment-dialog[open]{padding:14px;height:96dvh;max-height:96dvh}
 dialog.assignment-dialog>h2{margin-bottom:10px;font-size:16px}
 .assignment-content>.detail-grid{display:flex;flex-direction:column;gap:10px}
 .assignment-content .customer-info{flex:none;padding:10px}
 .assignment-content .customer-info h3{font-size:16px;margin-bottom:8px}
 .assignment-content .metadata{grid-template-columns:58px minmax(0,1fr) 58px minmax(0,1fr);gap:5px 7px;font-size:12px;line-height:18px}
 .assignment-content .assignment-choices{flex:1;min-height:0}
 .assignment-choices>.selection-footer{padding-top:8px}
 .assignment-choices>.cell-grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}
 .guri-select .assignment-choices>.cell-grid{grid-template-columns:1fr}
}
@media(max-height:560px) and (min-width:761px){
 .assignment-content .metadata{gap:5px;font-size:12px;line-height:17px}
 .assignment-content .customer-info{padding:10px}
 .assignment-content .customer-info h3{font-size:16px;margin-bottom:8px}
 dialog.assignment-dialog[open]{height:96dvh;max-height:96dvh;padding:14px}
 dialog.assignment-dialog>h2{margin-bottom:8px;font-size:16px}
}

.assignment-review>.table-wrap{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.assignment-review>.inline-note{flex:none;margin:8px 0 0}

/* Preserve card content height when the scrolling grid contains many rows. */
.cell-grid{grid-auto-rows:max-content;align-content:start}
.assignment-choices>.cell-grid>.cell-tile{min-height:64px;align-content:center;line-height:20px}
.assignment-choices>.cell-grid>.cell-tile small{line-height:16px}
.guri-select .assignment-choices>.cell-grid>.cell-tile{min-height:44px}

/* Field expenses: fixed job context and totals; only the input/list pane scrolls. */
.expense-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 14px;border:1px solid #c8d7ec;border-radius:10px;background:#f1f6ff;font-size:13px;flex:none}
.expense-banner strong{color:#25436b}.expense-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;flex:none;margin:12px 0}
.expense-filters label{min-width:100px;flex:1;margin:0;font-size:12px}.expense-filters input,.expense-filters select{width:100%;min-width:0}.expense-filters label:nth-child(3){flex:1.4}
.page-site-costs .expense-list{flex:1;min-height:0}.expense-list .table-wrap{height:100%;overflow:auto}.expense-list td{white-space:nowrap;font-size:13px}.expense-list td:nth-last-child(2){text-align:right;font-variant-numeric:tabular-nums}
/* Shared pager: page controls are centered in the whole content width. */
.list-pager{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding-top:10px;flex:none;font-size:13px;min-width:0}
.list-page-info{grid-column:1;min-width:0;color:#526273;line-height:1.5;overflow-wrap:anywhere}
.list-page-buttons{grid-column:2;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;min-width:0;max-width:100%}
.list-page-buttons button{min-width:32px;min-height:32px;padding:6px 8px;font-size:13px;font-variant-numeric:tabular-nums}
.list-page-buttons button.is-current:disabled{background:#25436b;border-color:#25436b;color:#fff;opacity:1}
@media(max-width:1250px){.list-pager{grid-template-columns:minmax(0,1fr);gap:5px}.list-page-info,.list-page-buttons{grid-column:1;text-align:center}.list-page-buttons{justify-self:center}}
@media(max-width:760px){.list-page-buttons{gap:3px}.list-page-buttons button{min-width:28px;min-height:30px;padding:5px}}

.expense-state{display:inline-block;font-size:12px;font-weight:600;border-radius:5px;padding:4px 7px;white-space:nowrap;background:#eef1f5;color:#526273}.expense-state.test{background:#e4f4ec;color:#206848}.expense-state.legacy{background:#e7effb;color:#315d94}.expense-state.empty{background:#fff2d8;color:#835d17}
#modal.expense-dialog[open]{width:min(1180px,96vw);height:90dvh;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;padding:22px}
.expense-dialog>h2{flex:none;font-size:18px;margin:0 30px 18px 0}.expense-content{display:grid;grid-template-columns:180px minmax(0,1fr) 225px;gap:18px;min-height:0;flex:1;overflow:hidden}
.expense-context{background:#f6f8fb;border:1px solid #e5eaf0;border-radius:10px;padding:14px;overflow:auto;min-height:0;position:static;width:auto;height:auto;color:inherit}
.expense-context .metadata{display:grid;grid-template-columns:1fr;gap:4px;margin:16px 0}.expense-context dt{font-size:11px;color:#718095;margin-top:8px}.expense-context dd{margin:0;font-size:13px;overflow-wrap:anywhere;line-height:1.5}.expense-context p,.expense-context small{font-size:12px;line-height:1.6}
.expense-fields{min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:12px;scrollbar-gutter:stable;margin:0;display:block}
.expense-fields>label{font-size:13px;display:block;margin:0 0 14px}.expense-fields>label>select{width:100%;margin-top:6px}
.expense-group{border:1px solid #e0e6ed;border-radius:9px;margin:0 0 12px;padding:12px;background:#fff}
.expense-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.expense-group h3{font-size:13px;margin:0}.expense-group-head button{font-size:12px;padding:5px 9px}
.expense-rows:empty:after{content:'필요한 항목을 추가하세요.';font-size:12px;color:#7b8797}
.expense-row{display:flex;align-items:end;gap:8px;min-height:52px;flex-shrink:0;padding:5px 0}.expense-row>label{margin:0;min-width:0;flex:1;font-size:11px}.expense-row>label:last-of-type{max-width:180px;flex:1}.expense-row-label{font-size:12px;align-self:center;flex:1;min-width:45px}.expense-row>div>label{margin:0;font-size:11px}.expense-row input,.expense-row select{height:36px;width:100%;min-width:0;margin:3px 0 0;padding:7px 8px;font-size:13px}
.expense-row:has(label+label)>.expense-row-label{display:none}.expense-money{display:flex;align-items:center;gap:4px}.expense-money input{text-align:right;font-variant-numeric:tabular-nums}.expense-money>span{font-size:12px;color:#617085}.expense-remove{height:36px;padding:5px 7px;font-size:12px}
.expense-summary{display:flex;flex-direction:column;min-height:0;overflow:auto;border-left:1px solid #e3e9f0;padding-left:18px}.expense-summary h3{font-size:14px;margin:0 0 16px}.expense-totals{display:grid;gap:12px;padding-bottom:18px;border-bottom:1px solid #e3e9f0;margin-bottom:18px}.expense-totals>div{display:flex;justify-content:space-between;gap:10px;font-size:13px}.expense-totals strong{font-variant-numeric:tabular-nums}.expense-grand{font-size:25px;letter-spacing:-.7px;margin:5px 0 18px;color:#173d68;overflow-wrap:anywhere}.expense-deposit{padding:12px;background:#f1f6ff;border-radius:8px;display:grid;gap:8px;font-size:12px}.expense-deposit strong{font-size:18px}.expense-summary .muted{font-size:11px;line-height:1.6}.expense-summary>button{margin-top:8px;width:100%}.expense-error:empty{display:none}.expense-error{color:#a32f39;background:#fff0f1;padding:10px;border-radius:8px;font-size:13px;line-height:1.6}.expense-history{padding:12px;border:1px solid #c6d7ee;border-radius:8px;margin-bottom:15px;font-size:12px}.expense-history summary{cursor:pointer;padding:10px 0}.expense-history h4{margin:12px 0 6px}.expense-history .table-wrap{max-height:220px;overflow:auto}
@media(max-width:1000px){.expense-content{grid-template-columns:150px minmax(0,1fr) 190px;gap:12px}.expense-context{padding:10px}.expense-summary{padding-left:12px}.expense-grand{font-size:21px}.expense-filters label{flex-basis:100px}.expense-row-label{display:none}}
@media(max-width:760px){
 #modal.expense-dialog[open]{height:96dvh;max-height:96dvh;width:98vw;padding:12px}.expense-dialog>h2{font-size:16px;margin-bottom:12px}
 .expense-content{display:flex;flex-direction:column;gap:10px}.expense-context{flex:none;max-height:95px;overflow:auto;padding:8px 10px}.expense-context .metadata{grid-template-columns:50px 1fr 50px 1fr;gap:3px 6px;margin:6px 0}.expense-context dt{margin:0}.expense-context dd{font-size:11px}.expense-context p,.expense-context small{display:none}
 .expense-fields{flex:1;padding-right:4px}.expense-group{padding:10px}.expense-summary{flex:none;border:0;border-top:1px solid #e3e9f0;padding:10px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;max-height:185px;overflow:auto}.expense-summary h3,.expense-summary>.muted,.expense-summary>span,.expense-totals{display:none}.expense-grand{font-size:22px;margin:0;align-self:center}.expense-deposit{padding:4px 8px;gap:2px}.expense-deposit strong{font-size:15px}.expense-summary>button{margin:0}.expense-filters{gap:7px}.expense-filters label{font-size:11px;flex-basis:28%;min-width:85px}.expense-pager{font-size:12px}
}

.expense-dialog>form{position:absolute;top:12px;right:14px}
.expense-row-label{display:none}.expense-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:0 10px}.expense-fields>*{grid-column:1/-1}.expense-fields>.expense-group[data-kind="2"],.expense-fields>.expense-group[data-kind="5"],.expense-fields>.expense-group[data-kind="6"]{grid-column:auto}.expense-group[data-kind="2"] .expense-row>label,.expense-group[data-kind="5"] .expense-row>label,.expense-group[data-kind="6"] .expense-row>label{max-width:none}
@media(max-width:1000px){.expense-fields>.expense-group[data-kind="2"],.expense-fields>.expense-group[data-kind="5"],.expense-fields>.expense-group[data-kind="6"]{grid-column:1/-1}}
@media(max-height:700px) and (min-width:761px){
 .expense-summary h3{margin-bottom:8px}.expense-totals{gap:4px;padding-bottom:10px;margin-bottom:10px}.expense-totals>div{font-size:12px;line-height:17px}.expense-grand{font-size:21px;margin:3px 0 10px}.expense-deposit{padding:8px;gap:4px}.expense-deposit strong{font-size:16px}.expense-summary .muted{font-size:10px;line-height:1.4;margin:7px 0}.expense-summary>button{min-height:30px;padding:6px;margin-top:4px}
}

/* Permission settings: fixed identity/actions and a scrolling menu matrix. */
.account-tabs button[aria-pressed="true"]{background:var(--primary,#203d54);color:#fff}
.account-tabs{flex-shrink:0}.permission-dialog{width:min(960px,calc(100vw - 32px));max-width:960px}
#modal.permission-dialog[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);overflow:hidden}
#modal-content.permission-content{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.permission-form{display:flex;flex-direction:column;gap:14px;min-height:0;overflow:hidden}
.permission-form>.form-grid,.permission-footer{flex-shrink:0}.permission-grid{min-height:120px;overflow:auto;flex:1 1 auto}
.permission-grid table{min-width:680px}.permission-grid td:nth-child(2),.permission-grid td:nth-child(3){text-align:center}
.permission-grid input[type="checkbox"]{width:18px;height:18px;min-width:18px;accent-color:#1c6e85;cursor:pointer}
.permission-footer{display:flex;align-items:center;gap:18px;justify-content:space-between;border-top:1px solid #dde4e9;padding-top:10px}
.permission-footer p{margin:0;max-width:680px}.permission-footer button{flex-shrink:0}
@media(max-width:640px){.permission-footer{align-items:stretch;flex-direction:column;gap:8px}.permission-form{gap:8px}.permission-dialog .form-grid{grid-template-columns:1fr 1fr}}
.permission-form>.error:empty{display:none}.permission-form>.error{flex-shrink:0;margin:0}

.expense-state.complete{background:#e4f4ec;color:#206848}.expense-state.review{background:#fff1d6;color:#875100}

.calculation-status{flex:none;color:#5b6f86;font-size:12px;padding:0 0 8px}
