
#admin-open{white-space:nowrap;flex-shrink:0;border:1px solid #244f6c;border-radius:5px;background:#244f6c;color:#fff;font-size:11px;margin-left:8px;padding:7px 10px;text-decoration:none}
#admin-console[data-auth="locked"] .admin-layout{display:none}
#admin-login{max-width:360px;margin:70px auto;padding:28px;background:#fff;border:1px solid #bfd2df;border-radius:8px}
#admin-login[hidden]{display:none}
#admin-login label{display:block;font-size:16px;font-weight:700;margin-bottom:12px}
#admin-login input{width:100%;box-sizing:border-box;padding:10px;font-size:16px;border:1px solid #a8bccd;border-radius:4px}
#admin-login button{margin-top:14px;width:100%;padding:10px;background:#244f6c;color:white;border:0;border-radius:4px;cursor:pointer}
#admin-login-message{font-size:12px;color:#b52a37;margin:10px 0 0}
#admin-login-message:empty{display:none}
#admin-logout{margin-left:auto;margin-right:12px;border:1px solid #bfd2df;border-radius:4px;background:white;color:#244f6c;padding:7px 12px;cursor:pointer}
/* 9003: 관리자 콘솔은 팝업 — 전용 페이지 배치(body 100dvh flex)는 쓰지 않는다 */
#admin-console{display:block;width:100%;height:auto;min-height:calc(100vh - 72px);padding:0;border:0;border-radius:0;color:#18324a;background:#f7f9fc}
#admin-console .admin-top{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid #d9e2eb;background:white;flex-shrink:0}
#admin-console h2,#admin-console h3{margin:0;font-size:17px}
#admin-console h3{font-size:15px}
#admin-console .admin-top span{font-size:12px;color:#617589}
#admin-return{margin-left:auto;font-size:13px;color:#244f6c;text-decoration:none;border:1px solid #cbd9e3;border-radius:5px;padding:6px 12px}
#admin-console .admin-layout{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:stretch;flex:1;min-height:0;overflow:hidden}
#admin-console nav{padding:10px 8px;background:#152b40;min-height:0;overflow:auto}
#admin-console nav button{display:block;text-align:left;width:100%;border:0;border-left:3px solid transparent;background:transparent;padding:9px 8px 9px 23px;border-radius:4px;color:#d7e5f0;cursor:pointer;font-size:12px;line-height:1.6}
#admin-console nav button:hover{background:#243e55}
#admin-console nav button[aria-current="page"]{background:#315675;border-left-color:#f5c65c;color:white;font-weight:700}
#admin-console nav .admin-nav-group{margin:22px 4px 6px;padding:6px 7px;border-bottom:1px solid #456078;color:#98b8d1;font-size:11px;font-weight:700;letter-spacing:.5px}
#admin-console nav .admin-nav-group:first-child{margin-top:0}
#admin-console nav .admin-nav-sub{font-size:calc(1em - 2pt);font-weight:inherit}
#admin-content .admin-section-map{width:100%;border-collapse:collapse;table-layout:auto}
#admin-content .admin-section-map th,#admin-content .admin-section-map td{padding:4px 8px;border-bottom:1px solid #dce6ee;text-align:left;white-space:normal;overflow-wrap:anywhere;vertical-align:top}
#admin-content .admin-section-map th:first-child{width:1%;white-space:nowrap}
#admin-content .admin-basis-table{margin:12px 0 22px}
#admin-content .admin-basis-table th:first-child{width:auto}
#admin-calendar-year{margin:0 8px;min-width:100px}
#admin-content .admin-edit-action{display:inline-block;padding:3px 6px;margin:0;border:1px solid #bfd0dd;border-radius:5px;background:#fff;color:#244f6c;text-decoration:none;font:inherit;cursor:pointer}
#admin-content{padding:10px 16px;min-width:0;min-height:0;overflow:auto;font-size:13px;line-height:1.4}
#admin-content p{margin:8px 0;color:#617589}
#admin-content .admin-notice{background:#fff6df;color:#775719;padding:9px 12px;border-left:3px solid #d7ac52;margin-bottom:16px}
#admin-content .admin-items{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 14px}
#admin-content button[data-admin-item]{background:white;border:1px solid #cbd9e3;border-radius:6px;padding:8px 12px;color:#244f6c;cursor:pointer;font-size:13px}
#admin-content button[data-admin-item][aria-pressed="true"]{background:#244f6c;border-color:#244f6c;color:white}
#admin-content .admin-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0 8px}
#admin-content .admin-cost-heading{display:flex;align-items:center;gap:16px;margin-bottom:8px}
#admin-content .admin-scope-review{border:1px solid #b6cbdc;border-radius:6px;padding:12px;margin-bottom:14px;background:#f6faff;font-size:13px;color:#17324d}
#admin-content .admin-scope-review h3{margin:0 0 8px;font-size:17px}
#admin-content .admin-scope-review p{margin:8px 0}
#admin-content .admin-scope-review table{width:100%;table-layout:fixed;border-collapse:collapse}
#admin-content .admin-scope-review th,#admin-content .admin-scope-review td{padding:7px;border:1px solid #d5e1ea;text-align:left;white-space:normal;overflow-wrap:anywhere}
#admin-content .admin-scope-summary th:first-child{width:28%}
#admin-content .admin-scope-review summary{cursor:pointer;padding:7px 0;font-weight:600}
#admin-content .admin-scope-scroll{width:100%;min-width:0}
#admin-content .admin-scope-scroll thead th{position:sticky;top:0;background:#e6eff6;z-index:1}
#admin-content .admin-view-toggle{display:inline-flex;border:1px solid #b9cbd9;border-radius:6px;overflow:hidden}
#admin-content :is([data-admin-view],[data-admin-tab]){border:0;background:white;color:#244f6c;padding:7px 16px;cursor:pointer;font:inherit;white-space:nowrap}
#admin-content :is([data-admin-view],[data-admin-tab])[aria-pressed="true"]{background:#244f6c;color:white;font-weight:700}
#admin-content .admin-section-tabs{margin:8px 0;max-width:100%;overflow-x:auto;flex-shrink:0}
#admin-apply{margin-left:auto;padding:7px 20px;border:1px solid #b9cbd9;border-radius:5px;font:inherit}
#admin-content [data-admin-assignment]{width:17px;height:17px;accent-color:#244f6c}
#admin-content details{margin-top:14px}
#admin-content summary{cursor:pointer;font-weight:700}
#admin-search{width:230px;padding:8px;border:1px solid #cbd9e3;border-radius:5px;font:inherit}
#admin-content .admin-table-scroll{background:white;border:1px solid #d9e2eb;border-radius:6px}
#admin-content table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed;overflow-wrap:anywhere}
#admin-content th{position:sticky;top:0;background:#eaf0f5;color:#244f6c;z-index:1}
#admin-content th,#admin-content td{padding:4px 8px;border-bottom:1px solid #e4ebf1;vertical-align:top;text-align:left;white-space:normal;line-height:1.4}
#admin-content td button{border:0;border-bottom:1px solid #244f6c;color:#244f6c;background:transparent;font-weight:700;cursor:pointer;font-size:13px}
#admin-content tr[aria-selected="true"]{background:#eaf4fa}
#admin-content .admin-detail-cell{background:#f4f8fc;padding:18px;border-bottom:2px solid #cbd9e3}
#admin-content .admin-preview{border-left:3px solid #698998;padding:12px 16px;background:#fff;margin:16px 0}
#admin-content .admin-preview select{padding:7px 10px;max-width:100%;font:inherit;border:1px solid #b8c9d5;border-radius:5px;background:#fff}
#admin-drafts textarea{display:block;width:100%;box-sizing:border-box;font:inherit;margin:6px 0 10px;padding:8px;border:1px solid #b8c9d5}
#admin-drafts select{max-width:600px}
#admin-content .admin-overview{margin:0}
#admin-content .admin-overview button{font-size:13px;padding:4px 0;text-align:left}
#admin-content .admin-group-label{font-weight:700;color:#244f6c}
#admin-content .admin-overview th[scope="rowgroup"]{vertical-align:middle;background:#f4f7fa;border-right:1px solid #d8e1e9}
#admin-content .admin-overview .admin-hierarchy-label{position:static;background:white;font-weight:600}
#admin-content .admin-hierarchy-table th[scope="rowgroup"]{vertical-align:top;padding-top:4px}
#admin-content .admin-overview [data-admin-node]{background:transparent;border:0;border-radius:0;padding:4px 0;color:#244f6c;cursor:pointer;font:inherit;font-weight:600;text-align:left}
#admin-content .admin-hierarchy-table td:last-child button{white-space:nowrap;font-size:12px}
#admin-content .admin-account-path strong{white-space:nowrap;font-size:11px}
#admin-content .admin-hierarchy-label[data-depth="1"]{padding-left:22px}
#admin-content .admin-hierarchy-label[data-depth="2"]{padding-left:34px}
#admin-content .admin-hierarchy-label[data-depth="3"]{padding-left:46px}
#admin-content .admin-hierarchy-label[data-depth="4"]{padding-left:58px}
#admin-content .admin-overview button:disabled{opacity:.45;cursor:default;text-decoration:none}
#admin-content .admin-overview td{vertical-align:top;overflow-wrap:anywhere}
#admin-content .admin-rule-table{font-size:12px}
#admin-content .admin-rule-table th,#admin-content .admin-rule-table td{padding:4px 8px;line-height:1.4}
#admin-content .admin-rule-table .admin-rule-content{text-align:left}
#admin-content .admin-rule-table .admin-method-cell{border-right:2px solid #90a7b8}
#admin-content .admin-rule-table thead th:nth-child(4){border-right:2px solid #90a7b8}
#admin-content .admin-rule-table .admin-cost-group-start>th,#admin-content .admin-rule-table .admin-cost-group-start>td{border-top:3px solid #6f879b}
#admin-content .admin-rule-subtitle{display:block;margin-top:12px}
#admin-content .admin-rule-condition{margin:6px 0 10px}
#admin-content .admin-rule-edit summary{cursor:pointer;color:#244f6c;font-weight:600}
#admin-content details.admin-rule-edit{margin-top:0}
#admin-content .admin-rule-table{min-width:1100px}
#admin-content .admin-rule-table th[scope="rowgroup"]{white-space:nowrap;overflow-wrap:normal}
#admin-content .admin-rule-table .admin-method-cell{white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
#admin-content .admin-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
#admin-content .admin-row-actions>*,#admin-content .admin-row-actions button{flex-shrink:0}
#admin-content .admin-rule-table td:last-child button{white-space:nowrap;line-height:1.5;text-align:left}
#admin-content .admin-rule-account{color:#245b83;text-decoration:underline;text-underline-offset:3px}
#admin-content>h3,#admin-content .admin-cost-heading h3{font-size:22px;font-weight:700;color:#17324d;line-height:1.35;padding:0 0 6px}
#admin-content h4{font-size:16px;font-weight:700;color:#17324d;padding:10px 12px;border-left:4px solid #315b78;background:#eaf0f5;margin:22px 0 10px}
#admin-content .admin-table-scroll{max-height:var(--admin-table-space,none);overflow:auto;scrollbar-gutter:stable}
#admin-content .admin-forecast-table input{width:108px;box-sizing:border-box;text-align:right;padding:3px;border:1px solid #b8c8d7;font:inherit}
#admin-content table.admin-forecast-annual{min-width:0;width:100%;table-layout:fixed}
#admin-content table.admin-forecast-annual :is(th,td){overflow:hidden}
#admin-content table.admin-forecast-annual input{width:100%;min-width:0;}
#admin-content table.admin-forecast-table td.forecast-month-amount{text-align:right;font-variant-numeric:tabular-nums}
#admin-content table.admin-forecast-annual td:not(.forecast-fixed){font-variant-numeric:tabular-nums}
#admin-content table.admin-forecast-annual .forecast-col-1 span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#admin-content .project-cost-inline-body{text-align:left;white-space:normal;padding:6px 10px;background:#f7fafc}
#admin-content .factory-entry-table input{min-width:0;max-width:140px;text-align:right}
#admin-content .factory-entry-table [data-factory-operand]{width:90px}
#admin-content .factory-entry-table td:nth-child(3){white-space:normal;text-align:left}
#admin-content .project-cost-inline-body details{margin:5px 0;border-bottom:1px solid #d5e1eb}
#admin-content .project-cost-inline-body summary{padding:5px 0;cursor:pointer}
#admin-content .project-cost-inline-body table{min-width:0;width:100%;table-layout:fixed}
#admin-content .project-cost-inline-body th{position:static}
#admin-content .project-cost-inline-body td{white-space:normal;padding:4px}
#admin-content .admin-forecast-table input:invalid{border-color:#c33;background:#fff1f0}
#admin-content .forecast-actual,#admin-content .forecast-planned{display:block;white-space:nowrap;text-align:right}
#admin-content .forecast-planned{color:#8b5b00;background:#fff8df}
#admin-content tbody th{position:static;z-index:auto}
#admin-content thead th{position:sticky;top:0;z-index:3;background:#dfe9f2;color:#17324d;font-weight:700;border-bottom:2px solid #a8bccd;box-shadow:0 1px 0 #a8bccd}
#admin-content .admin-rule-table .admin-rule-account{font-size:11px!important;font-weight:400;line-height:1.6;padding:2px 0;border:0;text-decoration:underline;white-space:nowrap}
#admin-content .admin-rule-table .admin-account-list{font-size:11px!important;font-weight:400;line-height:1.6}
#admin-content .admin-target-chip{display:inline-block;max-width:100%;padding:3px 8px;margin:2px 5px 2px 0;border:1px solid #ccdbe7;border-radius:12px;background:#f3f7fb;color:#315772;font-size:11px;font-weight:400}
#admin-content .admin-basis-scroll{max-height:var(--admin-table-space,none);overflow:auto;margin:8px 0 12px;border:1px solid #d6e1eb;border-radius:6px;background:#fff;scrollbar-gutter:stable}
#admin-content .admin-basis-scroll table{margin:0}
#admin-content .admin-rule-summary{padding:12px 16px;background:white;border:1px solid #d6e1eb;border-radius:6px;margin:12px 0}
#admin-content .admin-rule-summary strong{display:block;font-size:14px;color:#183e5a;margin-bottom:4px}
#admin-rule-dialog thead th,#admin-edit-dialog thead th{position:sticky;top:-24px;background:#dfe9f2;z-index:2}
#admin-content .admin-account-mapping-table{table-layout:fixed;width:100%;font-size:12px}
#admin-content .admin-account-mapping-table td,#admin-content .admin-account-mapping-table th{padding:4px 8px;vertical-align:top;overflow-wrap:anywhere}
#admin-rule-dialog{max-width:92vw;max-height:85vh;border:1px solid #bfd2df;border-radius:10px;padding:24px;overflow:auto;color:#244b68}
#admin-rule-close{float:right;font:24px sans-serif;background:none;border:0;cursor:pointer}
#admin-rule-dialog h2{font-size:18px;margin:0 32px 12px 0}
#admin-rule-dialog h3{font-size:14px;margin-top:24px}
#admin-rule-dialog p,#admin-rule-dialog li{font-size:13px;line-height:1.7}
#admin-rule-dialog table{border-collapse:collapse;width:100%;table-layout:fixed}
#admin-rule-dialog th,#admin-rule-dialog td{padding:4px 8px;border-bottom:1px solid #dce6ee;text-align:left;overflow-wrap:anywhere;white-space:normal;vertical-align:top;line-height:1.4}
#admin-rule-dialog.admin-expense-dialog{width:1100px;max-width:94vw}
#admin-rule-dialog{width:1100px}
#admin-rule-dialog .admin-example-table td:nth-child(2){text-align:right;font-variant-numeric:tabular-nums}
#admin-rule-dialog summary{cursor:pointer;padding:12px 0;color:#315772;font-size:13px}
#admin-edit-dialog{width:1050px;max-width:94vw;max-height:85vh;padding:24px;border:1px solid #bfd2df;border-radius:10px;overflow:auto;color:#244b68}
#admin-edit-close{float:right;border:0;background:none;font-size:24px;cursor:pointer}
#admin-edit-content h2{font-size:18px;margin-right:35px}
#admin-edit-content table{width:100%;border-collapse:collapse;font-size:13px;margin:12px 0;table-layout:fixed}
#admin-edit-content th,#admin-edit-content td{padding:4px 8px;border-bottom:1px solid #dce6ee;text-align:left;vertical-align:top;overflow-wrap:anywhere;line-height:1.4}
#admin-edit-content textarea{width:100%;box-sizing:border-box;font:inherit;resize:vertical}
#admin-edit-content .rule-current{white-space:pre-wrap}
#admin-edit-content .admin-rule-texts th:first-child{width:22%}
#admin-edit-content .admin-edit-actions{position:sticky;bottom:-24px;background:#fff;padding:12px 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#admin-content .admin-account-path{margin-bottom:6px;line-height:1.5}
#admin-content .admin-overview [data-admin-assign]{font-size:12px;text-decoration:underline}
#admin-content .admin-target{display:inline-block;background:#eaf2f8;border-radius:4px;padding:2px 6px;margin:2px 3px 2px 0;color:#244f6c}
#admin-content dl{display:grid;grid-template-columns:120px minmax(0,1fr);margin:12px 0;gap:8px}
#admin-content dt{font-weight:700}#admin-content dd{margin:0;overflow-wrap:anywhere}
#admin-content code{font-size:11px;overflow-wrap:anywhere}
#admin-content .admin-empty{padding:25px 0;color:#617589}
#admin-content table,#admin-content table :is(th,td,button,input,select,textarea,label,span,strong,small,a,summary,p),
#admin-rule-dialog table,#admin-rule-dialog table *,#admin-edit-dialog table,#admin-edit-dialog table *{font-size:14px!important}
#admin-content tbody :is(th,td,button,strong,a,summary),#admin-rule-dialog tbody :is(th,td,button,strong,a,summary),#admin-edit-dialog tbody :is(th,td,button,strong,a,summary){font-weight:400!important}
#admin-content tbody button,#admin-rule-dialog tbody button,#admin-edit-dialog tbody button{min-height:24px;box-sizing:border-box;padding-top:2px;padding-bottom:2px;margin-top:0;margin-bottom:0}
#admin-content .admin-project-table{min-width:1060px;table-layout:fixed}
#admin-content .admin-project-overview{min-width:1120px}
#admin-content .admin-project-links{min-width:1040px}
#admin-content .admin-project-links :is(th,td){text-align:center;vertical-align:middle}
#admin-content .admin-project-links thead button{border:0;background:transparent;padding:0;color:inherit;font-weight:700;cursor:pointer}
#admin-content .admin-project-links td:has(.admin-project-missing){background:#f3dfe1;color:#873944}
#admin-content .admin-project-links .admin-project-missing{font-weight:700!important}
#admin-content .admin-project-links .admin-project-bridge-names{white-space:normal!important;overflow-wrap:anywhere}
#admin-content .admin-project-links td{white-space:normal!important;overflow-wrap:anywhere}
#admin-content .admin-project-link-code{border:0;background:transparent;text-decoration:underline;padding:2px;white-space:nowrap}
#admin-edit-content .admin-link-detail-scroll{max-height:65vh;overflow:auto}
#admin-content .admin-revenue-table{min-width:1100px;table-layout:auto}
#admin-content .admin-month-table{table-layout:fixed;border-collapse:separate;border-spacing:0}
#admin-content .admin-month-table :is(th,td){box-sizing:border-box;padding:4px 6px;font-size:11px;font-weight:400;white-space:nowrap;}
#admin-content .admin-month-table thead th{position:sticky;top:0;height:28px;background:#dfeaf3;z-index:4;text-align:center;font-weight:600}
#admin-content .admin-month-table thead tr:nth-child(2) th{top:28px}
#admin-content .admin-month-table .forecast-fixed{position:sticky;z-index:2;background:#f4f8fb;overflow:hidden;text-overflow:ellipsis}
#admin-content .admin-month-table thead .forecast-fixed{top:0;z-index:6;background:#dfeaf3}
#admin-content .admin-month-table .forecast-col-8{border-right:2px solid #8ba4ba}
#admin-content .admin-month-table .forecast-col-4{border-right:0}
#admin-content .admin-forecast-table :is(.forecast-col-0,.forecast-col-1){background:#edf3f8}
#admin-content .admin-forecast-table :is(.forecast-col-2,.forecast-col-3){background:#eef6f2;border-left:1px solid #cfddd6}
#admin-content .admin-forecast-table :is(.forecast-col-4,.forecast-col-5){background:#fff7e7;border-left:1px solid #e3dac5}
#admin-content .admin-forecast-table .forecast-col-5{border-right:2px solid #8ba4ba}
#admin-content .admin-forecast-table .forecast-month-amount{border-right:1px solid #e1e8ee}
#admin-content .admin-forecast-table .forecast-changed{background:#fff2bd}
#admin-content .admin-month-table .forecast-col-0{white-space:nowrap}
#admin-content .admin-month-table input{width:108px;max-width:100%;box-sizing:border-box;font:inherit;text-align:right}
#admin-content .forecast-project-label{display:flex;align-items:center;gap:4px}
#admin-content .forecast-project-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#admin-content .forecast-project-label button{flex-shrink:0;font:inherit;padding:2px 4px}
#admin-content .admin-month-table .revenue-month-cell{text-align:center}
#admin-content .revenue-input-period{background:#deeee4;color:#24613e}
#admin-content .revenue-input-outside,#admin-content .revenue-input-unknown{background:#fff;color:#24613e}
#admin-content table.admin-revenue-overview{min-width:0}
#admin-content table.admin-revenue-overview :is(th,td){padding:1px 3px;}
#admin-content .admin-revenue-overview tbody button{min-height:14px;padding:0 2px;line-height:14px}
#admin-content .admin-revenue-overview .forecast-col-5{border-right:2px solid #8ba4ba}
#admin-content .admin-revenue-overview .revenue-month-cell span{display:block;min-height:14px}
#admin-content .revenue-month-cell span{display:block;cursor:help}
#admin-content #forecast-message:empty{display:none}
#admin-content .admin-revenue-table :is(th,td),#admin-edit-content .admin-revenue-table :is(th,td){text-align:center;vertical-align:middle;padding:4px 6px;font-size:11px;white-space:nowrap}
#admin-content .admin-revenue-table td,#admin-edit-content .admin-revenue-table td{font-weight:400}
#admin-content .admin-revenue-table .admin-revenue-amount,#admin-edit-content .admin-revenue-table .admin-revenue-amount{text-align:right}
#admin-content .admin-revenue-table th,#admin-edit-content .admin-revenue-table th{position:sticky;top:0;background:#deebf3;z-index:1}
#admin-content .admin-revenue-table th button,#admin-edit-content .admin-revenue-table th button{font:inherit;color:inherit;border:0;background:transparent;padding:0;cursor:pointer}
#admin-edit-content .admin-revenue-table input{font:inherit;padding:4px;box-sizing:border-box;max-width:100%;border:1px solid #b9cad7;border-radius:3px}
#admin-edit-content [data-revenue-amount]{width:150px;text-align:right;background:#fff8df}
#admin-edit-content [data-revenue-reason]{width:600px}
#admin-content .admin-revenue-group{background:#e6f3eb}
#admin-content .admin-revenue-member td:nth-child(3){text-decoration:line-through;color:#607785}
#admin-edit-content .admin-project-link-detail{margin:0}
#admin-edit-content .admin-project-link-detail :is(th,td){text-align:center;vertical-align:middle;border:1px solid #d6e1e9;padding:5px}
#admin-edit-content .admin-project-link-detail th{position:sticky;top:0;background:#deebf3}
#admin-content .admin-project-overview :is(th,td){text-align:center;vertical-align:middle}
#admin-content .admin-project-overview td.admin-project-amount{text-align:right}
#admin-content .admin-project-overview :is(input,select){text-align:center}
#admin-content table.admin-forecast-table input[data-forecast-month]{text-align:right;font-variant-numeric:tabular-nums}
#admin-content .admin-cost-edit-table{min-width:800px}
#admin-content .cost-voucher-table{table-layout:fixed;min-width:1180px;width:100%}
#admin-content .cost-voucher-table th{text-align:center;white-space:normal}
#admin-content .cost-voucher-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#admin-content .cost-voucher-text:focus{white-space:normal;overflow-wrap:anywhere}
#admin-content .cost-voucher-filters{flex-wrap:wrap}
#admin-content .admin-cost-edit-table :is(input,select){width:100%;min-width:0;box-sizing:border-box;font:inherit;padding:3px}
#admin-content .admin-cost-edit-table .cost-money,#admin-content .cost-input-money{text-align:right;font-variant-numeric:tabular-nums}
#admin-content .cost-input-original{color:#83919b;text-decoration:line-through}
#admin-content .cost-input-changed{background:#fff2bc}
#admin-content .admin-labor-table th{text-align:center}
#admin-content .admin-labor-table td,#admin-content .admin-labor-table :is(input,select){text-align:right}
#admin-content .admin-labor-table td{white-space:nowrap}
#admin-content .admin-labor-table input:disabled{background:#e8edf1;color:#7b8791;cursor:not-allowed;border-color:#d6dfe5}
#admin-content .admin-labor-table .cost-work-project{white-space:nowrap}
#admin-content .cost-work-baseline{background:#edf3f7}
#admin-content .cost-salary-modes{display:flex;gap:24px;align-items:center;margin:8px 0}
#admin-content .cost-salary-modes label{display:flex;align-items:center;gap:6px}
#admin-content .admin-input-counts{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
#admin-content .admin-input-counts button{font:inherit;padding:5px 9px}
#admin-content .admin-input-status{width:100%;min-width:1080px;table-layout:fixed;border-collapse:collapse;font-size:11px}
#admin-content .admin-input-status :is(th,td){padding:4px;text-align:center;border:1px solid #d5e0e8;vertical-align:middle;overflow-wrap:anywhere}
#admin-content .admin-input-status thead th{position:sticky;top:0;background:#deebf3;z-index:3;height:26px;box-sizing:border-box}
#admin-content .admin-input-status thead tr:nth-child(2) th{top:26px}
#admin-content .admin-input-status thead tr:nth-child(3) th{top:52px}
#admin-content .admin-input-status th{white-space:normal;word-break:keep-all;line-height:1.3}
#admin-content .admin-input-status .input-record-count{white-space:nowrap}
#admin-content .admin-input-status .input-change{display:block;background:#fff0bc;color:#735719;border-radius:3px;margin-top:4px;font-size:10px}
:is(#admin-content,#admin-edit-content) .admin-change-history{width:100%;border-collapse:collapse;font-size:12px}
:is(#admin-content,#admin-edit-content) .admin-change-history :is(th,td){border:1px solid #d5e0e8;padding:6px;overflow-wrap:anywhere}
:is(#admin-content,#admin-edit-content) .admin-change-history th{text-align:center;background:#deebf3;position:sticky;top:0}
:is(#admin-content,#admin-edit-content) .admin-change-history td:nth-child(6){min-width:220px;max-width:460px}
#admin-content .admin-input-status th:first-child[rowspan]{width:30px}
#admin-content .admin-input-status th:nth-child(2)[rowspan]{width:140px}
#admin-content .admin-input-status button{border:0;background:transparent;font:inherit;color:inherit;padding:2px;cursor:pointer;width:100%}
#admin-content .admin-input-status button:hover{text-decoration:underline}
#admin-content .admin-input-status small{display:block;font-size:10px;background:#fff0bc;color:#735719}
#admin-content .input-state-attention{background:#fff1cf;color:#765819}
#admin-content .input-state-unavailable{background:#e4e9ef;color:#4b5b6c}
#admin-content .input-state-needs_review{background:#fff1d6;color:#805313}
#admin-content .input-state-outside{background:#fff;color:#7c8790}
#admin-content .admin-input-status .input-status-detail td{text-align:left;padding:8px;background:#f7f9fc}
#admin-content .input-status-detail button{width:auto;text-decoration:underline;margin-right:8px}
#admin-content .admin-project-overview td:nth-child(3){overflow-wrap:anywhere}
#admin-content .admin-project-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#admin-content td.admin-link-modified{background:#fff0b5!important}
#admin-content .admin-cost-legend{margin:4px 0 8px;font-size:13px;color:#4f5b65}
#admin-content .admin-project-cost-table .admin-project-member-open td,#admin-content .admin-revenue-overview .admin-project-member-open td,#admin-content .admin-forecast-table .admin-project-member-open td{background:#eef0f2;text-decoration:none!important;color:#4f5b65}
#admin-content .admin-link-legend{margin:4px 0 8px;font-size:13px;color:#4f5b65}
#admin-content .admin-link-legend-manual{background:#fff0b5;padding:1px 6px;border-radius:3px}
#admin-content .admin-link-legend-missing{color:#c62828;font-weight:700}
#admin-content .admin-project-links td button{margin-right:4px}
#admin-edit-content .admin-link-picker-toolbar{display:flex;gap:12px;align-items:center;margin:10px 0}
#admin-edit-content .admin-link-picker-toolbar input{flex:1;min-width:120px}
#admin-edit-content .admin-link-picker-list{max-height:55vh;overflow:auto}
#admin-edit-content .admin-link-picker-list table{width:100%;border-collapse:collapse}
#admin-edit-content .admin-link-picker-list th{top:0}
#admin-content .admin-factory-table{width:100%;min-width:1060px;table-layout:fixed}
#admin-content .admin-factory-table thead{position:sticky;top:0;z-index:2}
#admin-content .admin-factory-table th{position:static}
#admin-content .admin-factory-table :is(th,td){text-align:center;white-space:nowrap;padding:5px 7px}
#admin-content .admin-factory-table .factory-number{text-align:right;font-variant-numeric:tabular-nums}
#admin-content .admin-factory-table .factory-empty{background:#f3dfe1;color:#873944;font-weight:700!important}
#admin-content .admin-factory-table .factory-nickname{overflow:hidden;text-overflow:ellipsis}
#admin-content .admin-factory-table .factory-execution{text-align:right}
#admin-content .admin-factory-table .factory-execution.cost-input-changed{background:#fff0b5}
#admin-content .factory-entry{display:grid;grid-template-columns:minmax(150px,1fr) minmax(65px,auto) auto auto;gap:6px;align-items:center;padding:2px 0}
#admin-content .factory-entry span:first-child{text-align:left}
#admin-content .factory-entry span:nth-child(2){text-align:right;font-variant-numeric:tabular-nums}
#admin-content .factory-review{font-size:inherit;color:#873944}
#admin-edit-dialog:has(#factory-input-form){width:1000px;max-width:calc(100vw - 40px)}
#admin-edit-dialog #factory-input-form{font-size:12px}
#admin-edit-dialog .factory-input-header{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:10px 16px;margin-bottom:12px}
#admin-edit-dialog .factory-input-header label{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px;min-width:0;white-space:nowrap}
#admin-edit-dialog .factory-input-header :is(input,select){width:100%;min-width:0}
#admin-edit-dialog .factory-input-scroll{overflow:auto}
#admin-edit-dialog .factory-input-table{width:100%;min-width:720px;table-layout:fixed;border-collapse:collapse}
#admin-edit-dialog .factory-input-table :is(th,td){padding:10px 12px;border:1px solid #dce6ee;vertical-align:middle}
#admin-edit-dialog .factory-input-table th{text-align:center;white-space:nowrap}
#admin-edit-dialog .factory-input-table thead{background:#dfe9f2}
#admin-edit-dialog .factory-input-table tbody th{font-weight:400}
#admin-edit-dialog .factory-operands{display:flex;align-items:flex-end;gap:8px;min-width:0}
#admin-edit-dialog .factory-operands label{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
#admin-edit-dialog .factory-operands>span{flex:none;line-height:32px;white-space:nowrap}
#admin-edit-dialog .factory-operands input{width:100%;min-width:0}
#admin-edit-dialog #factory-input-form :is(input,select){box-sizing:border-box;height:32px;border:1px solid #bacbd8;border-radius:4px;padding:5px 8px;background:#fff;color:inherit;font:inherit}
#admin-edit-dialog #factory-input-form input{text-align:right}
#admin-edit-dialog #factory-input-form input:is([name=vendor],[name=description]){text-align:left}
#admin-edit-dialog [data-factory-amount]{width:100%;min-width:0}
#admin-edit-dialog [data-factory-calculated]{display:block;text-align:right;margin-top:4px;color:#627689;white-space:normal;overflow-wrap:anywhere}
#admin-edit-dialog .factory-input-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
#admin-edit-dialog .factory-input-actions button{padding:6px 18px;border:1px solid #bacbd8;border-radius:4px;background:#fff;color:#244f6c;cursor:pointer}
#admin-edit-dialog .factory-input-actions button[type=submit]{background:#2e5873;color:#fff;border-color:#2e5873}
#admin-content .admin-project-heading h3{font-size:24px;margin:0}
#admin-content .admin-project-add{position:relative;z-index:5;margin-right:4px}
#admin-content .admin-project-add summary{cursor:pointer;list-style:none;border:1px solid #b9cad7;border-radius:4px;padding:1px 12px;font-size:22px}
#admin-content .admin-project-add>div{position:absolute;right:0;min-width:170px;background:white;border:1px solid #b9cad7;padding:6px;box-shadow:0 3px 10px #0002}
#admin-content .admin-project-add button{display:block;width:100%;text-align:left;padding:7px}
#admin-content .admin-project-overview thead button{border:0;background:transparent;padding:0;font-weight:700;color:inherit;cursor:pointer}
#admin-content .admin-project-overview .admin-project-consolidated td{background:#dff2e5;color:#155d36}
#admin-content .admin-project-overview .admin-project-member td{background:#eef0f2;color:#4f5b65}
#admin-content .admin-group-toggle{border:0;border-radius:4px;font-size:11px!important;font-weight:700;line-height:16px;min-width:20px;padding:1px 5px;margin-left:3px;cursor:pointer;vertical-align:middle}
#admin-content .admin-project-period-note{font-size:inherit;font-weight:700;margin:4px 0 8px;color:#52697a}
#admin-content .admin-project-source-review{margin:4px 0 8px;font-size:11px}
#admin-content .admin-project-source-review summary{cursor:pointer;padding:4px 0}
#admin-content .admin-project-source-review table{width:100%}
#admin-content .admin-project-source-review th,#admin-content .admin-project-source-review td{text-align:center;white-space:normal;overflow-wrap:anywhere}
#admin-content .admin-project-source-review .admin-project-review-conflict{background:#f3dfe1;color:#873944}
#admin-content .admin-project-candidate{margin:4px 0 8px;font-size:11px}
#admin-content .admin-project-candidate summary{cursor:pointer;padding:4px 0}
#admin-content .admin-project-candidate h4{font-size:12px;margin:8px 0 4px}
#admin-content .admin-project-candidate p{font-size:11px;margin:4px 0}
#admin-content .admin-project-candidate table{width:100%}
#admin-content .admin-project-candidate td{overflow-wrap:anywhere}
#admin-content .admin-project-overview td.admin-project-status{white-space:normal!important;overflow-wrap:anywhere}
#admin-content .admin-project-overview td:has(.admin-project-missing){background:#f3dfe1!important;color:#873944!important}
#admin-content .admin-project-overview td:has(.admin-project-missing) .admin-project-missing{color:#873944!important;font-weight:700!important}
#admin-content .admin-project-overview td:has(.admin-project-missing) select{background:#f3dfe1;color:#873944}
#admin-content .admin-project-overview thead select{display:block;margin:3px auto 0;padding:1px 3px;max-width:100%;font-weight:400}
#admin-content .admin-project-overview .admin-project-member td:nth-child(3){padding-left:18px}
#admin-content .admin-project-toolbar input[type=checkbox]{width:auto;margin:0}
#admin-content .admin-project-amount input{text-align:right;font-variant-numeric:tabular-nums}
#admin-edit-dialog .project-create-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
#admin-edit-dialog .project-create-fields label{display:flex;flex-direction:column;gap:5px}
#admin-edit-dialog .project-create-fields :is(input,select){min-width:0;padding:6px}
#admin-edit-dialog .project-create-list{max-height:40vh;overflow:auto;margin:12px 0}
#admin-edit-dialog .project-create-list table{width:100%;border-collapse:collapse}
#admin-edit-dialog .project-create-list th{position:sticky;top:0;background:#dfe9f2}
#admin-edit-dialog .project-create-list :is(th,td){text-align:left;padding:4px 8px;border-bottom:1px solid #dce6ee}
#admin-content .admin-project-amount{text-align:right;font-variant-numeric:tabular-nums}
#admin-content .admin-project-pending{color:#64798a;font-weight:400}
#admin-content .admin-project-table input,#admin-content .admin-project-table select{box-sizing:border-box;width:100%;min-width:0;padding:5px 3px;border:1px solid #b9cad7;border-radius:4px;background:#fff;color:#18324a}
#admin-content .admin-project-table td{padding:4px 6px}
#admin-content .admin-project-table td:not(:nth-child(3)):not(:last-child){white-space:nowrap}
#admin-content .admin-project-table td:last-child{white-space:nowrap}
#admin-content .admin-project-table td:has(details){white-space:normal}
#admin-content thead th,#admin-content button,#admin-content :is(.admin-toolbar,.admin-project-toolbar) label{white-space:nowrap}
#admin-content :is(.admin-toolbar,.admin-project-toolbar) label{display:inline-flex;align-items:center;gap:6px}
#admin-project-message:empty{display:none}
#admin-content .admin-section-status{font-size:11px;font-weight:400;color:#617589;white-space:nowrap}
#admin-content .admin-project-table .admin-project-edit-row{background:#fff8e7}
#admin-content .admin-project-table button{font-weight:400;padding:4px;white-space:nowrap}
#admin-content .admin-project-meta{display:block;color:#64798a;margin-top:4px}
#admin-content .admin-project-warning{color:#ad4c28}
#admin-content .admin-project-missing,#admin-content .admin-project-table select.admin-project-missing{color:#c62828}
#admin-content .admin-project-overview td:has(.admin-project-changed):not(:has(.admin-project-missing)),#admin-content .admin-project-changed:not(.admin-project-missing){background:#fff0b8}
#admin-content .admin-project-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0}
#admin-content .admin-project-toolbar input{width:250px;padding:6px;border:1px solid #bccddb}
#admin-content .admin-project-toolbar select{padding:6px;border:1px solid #bccddb}
#admin-content .admin-project-table details{margin:4px 0}
#admin-content .admin-project-table details summary{font-weight:400;color:#245b80}
#admin-content .admin-project-cost-table button{font:inherit;font-weight:400;text-align:right;padding:3px 4px;white-space:nowrap}
#admin-content .admin-project-cost-table small{display:block;font:inherit;color:#627689}
#admin-content .admin-project-cost-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;}
#admin-content .admin-project-cost-table thead{position:sticky;top:0;z-index:3}
#admin-content .admin-project-cost-table th{position:static;text-align:center;white-space:nowrap;font-size:11px;padding:4px}
#admin-content .admin-project-cost-table thead tr:first-child th:nth-child(2){width:96px}
#admin-content .admin-project-cost-table td{padding:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#admin-content .admin-project-cost-table td:nth-child(13),#admin-content .admin-project-cost-table .cost-indirect-group{border-left:2px solid #92aabc}
#admin-content .admin-project-cost-table button[data-factory-period]{text-decoration:none;border-bottom:0}
#admin-content .admin-project-cost-table .cost-input-changed{background:#fff0b5}
#admin-edit-dialog:has(#factory-amount-form){width:480px;max-width:calc(100vw - 32px)}
#admin-edit-dialog #factory-amount-form label{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center;margin:12px 0}
#admin-edit-dialog #factory-amount-form :is(input,select){box-sizing:border-box;width:100%;min-width:0;font:inherit;padding:7px;border:1px solid #bacbd8}
#admin-edit-dialog #factory-amount-form input[name=amount]{text-align:right}
#admin-content .project-cost-description{text-align:left;white-space:normal;min-width:180px}
@media(max-width:750px){#admin-console .admin-layout{grid-template-columns:140px minmax(0,1fr)}#admin-content{padding:12px}#admin-content dl{grid-template-columns:1fr}#admin-console nav button{font-size:12px;padding:10px 6px}}
