@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap");:root{--ink:#172321;--muted:#78837f;--muted-2:#a5afaa;--line:#e7ebe8;--surface:#ffffff;--wash:#f5f7f5;--deep:#123b35;--deep-2:#1f554b;--mint:#dcefe8;--mint-strong:#a8dbc9;--coral:#f47b63;--amber:#efb96b;--shadow:0 18px 50px rgba(22,57,49,0.08)}.master-data-module{margin-top:28px}.workspace-page{margin-top:22px}.master-data-actions{align-items:center;display:flex;gap:12px}.master-data-tabs{border-bottom:1px solid var(--line);display:flex;gap:6px;margin-top:20px;overflow-x:auto}.master-data-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font:inherit;padding:11px 16px;white-space:nowrap}.master-data-tabs button.active{border-bottom-color:var(--deep-2);color:var(--deep-2);font-weight:700}.master-data-tabs button span{background:var(--mint);border-radius:999px;color:var(--deep-2);font-size:11px;margin-left:7px;padding:2px 7px}.master-data-subheading{align-items:center;display:flex;justify-content:space-between;padding:16px 0 10px}.master-data-subheading div{display:flex;flex-direction:column;gap:4px}.master-data-subheading span{color:var(--muted);font-size:13px}.master-data-permission{background:var(--mint);border-radius:999px;color:var(--deep-2)!important;font-size:12px!important;padding:5px 10px}.master-data-table-wrap{overflow-x:auto}.master-data-table{min-width:720px}.master-data-disabled{opacity:.62}.master-data-row-actions{display:flex;flex-wrap:wrap;gap:6px}.master-data-check{align-items:center;color:var(--ink);display:flex;gap:8px;padding:10px 0}.master-data-check input{accent-color:var(--deep-2)}.master-data-empty{background:var(--mint);border-radius:12px;color:var(--muted);margin-top:16px;padding:24px;text-align:center}.master-data-modal{max-width:760px}.master-data-sections{display:grid;grid-gap:14px;gap:14px;margin-top:0}.master-data-card{min-width:0;scroll-margin-top:22px}.master-data-card .master-data-subheading{padding:0 0 14px}.master-data-card .master-data-table-wrap{border-top:1px solid var(--line);padding-top:4px}.inventory-module{margin-top:24px;scroll-margin-top:22px}.inventory-section-title{align-items:center}.inventory-section-title h2{margin:0;font-size:17px;letter-spacing:-.5px}.inventory-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.inventory-actions .primary-button,.inventory-actions .secondary-button{padding:8px 11px;font-size:10px}.inventory-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:14px}.inventory-summary-card{min-width:0;border:1px solid #e8eeeb;border-radius:11px;background:#fff;padding:13px 15px;box-shadow:0 8px 25px rgba(20,55,46,.03)}.inventory-summary-card em,.inventory-summary-card span{display:block;color:var(--muted);font-size:9px;font-style:normal}.inventory-summary-card strong{display:block;margin:8px 0 4px;color:var(--ink);font-size:20px;letter-spacing:-.5px}.inventory-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);grid-gap:14px;gap:14px}.inventory-panel{min-width:0;overflow:hidden}.inventory-document-panel{margin-top:14px}.inventory-table-wrap{overflow-x:auto}.inventory-table{min-width:640px}.inventory-stock-warning{color:#c95745}.inventory-empty{border:1px dashed #cfe3d9;border-radius:10px;background:#f7fbf9;padding:14px 16px;color:var(--muted);font-size:10px;line-height:1.5}.inventory-module>.inventory-empty{margin-bottom:14px}.inventory-modal{width:min(760px,100%)}.inventory-order-lines{margin-top:20px}.inventory-order-lines-heading{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:10px}.inventory-order-lines-heading>div{display:flex;flex-direction:column;gap:4px}.inventory-order-line-actions span,.inventory-order-lines-heading span{color:var(--muted);font-size:10px}.inventory-order-total strong,.inventory-order-total-inline{color:var(--deep-2);white-space:nowrap}.inventory-order-lines-table{border:1px solid var(--line);border-radius:9px;overflow-x:auto}.inventory-order-line{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(170px,1.6fr) minmax(90px,1fr) minmax(100px,1.2fr) 78px 92px 54px 92px 34px;min-width:790px;padding:9px 10px}.inventory-order-line+.inventory-order-line{border-top:1px solid #f0f3f1}.inventory-order-line-header{background:#fbfcfb;color:var(--muted-2);font-size:9px}.inventory-order-line>input,.inventory-product-search input{background:#fbfcfb;border:1px solid var(--line);border-radius:7px;color:var(--ink);height:34px;min-width:0;outline:none;padding:0 8px;width:100%}.inventory-order-line>input:focus,.inventory-product-search input:focus{border-color:var(--mint-strong);box-shadow:0 0 0 3px rgba(168,219,201,.25)}.inventory-line-readonly{color:#5f6e68;font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-line-amount{font-size:10px;font-weight:700;white-space:nowrap}.inventory-line-remove{background:transparent;border:0;color:#c06d5c;cursor:pointer;font-size:10px;padding:3px 0}.inventory-order-line-actions{align-items:center;display:flex;justify-content:space-between;margin-top:9px}.inventory-order-total{align-items:center;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:12px;margin-top:10px;padding-top:12px;color:var(--muted);font-size:11px}.inventory-form-note{margin-top:12px;border-radius:8px;background:#f7fbf9;padding:9px 11px;color:#638276;font-size:9px;line-height:1.5}@media (max-width:900px){.inventory-dashboard-grid{grid-template-columns:1fr}.inventory-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.inventory-section-title{align-items:flex-start}.inventory-actions{justify-content:flex-start}.inventory-summary-grid{grid-template-columns:1fr 1fr}}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--wash);color:var(--ink);font-family:DM Sans,Noto Sans SC,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;flex:0 0 246px;align-self:flex-start;background:var(--deep);color:#d9e8e2;display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow-y:auto;padding:25px 17px 18px;position:-webkit-sticky;position:sticky;top:0}.brand{display:flex;align-items:center;gap:11px;padding:0 12px 32px}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--mint-strong);display:grid;place-items:center;color:var(--deep);font-weight:800;font-size:15px;letter-spacing:-1px}.brand-copy{line-height:1.12}.brand-copy strong{display:block;font-size:14px;color:#f2faf6;letter-spacing:.2px}.brand-copy span{display:block;margin-top:4px;color:#91b3a8;font-size:10px;letter-spacing:1.4px;text-transform:uppercase}.nav-label{color:#73988d;font-size:10px;letter-spacing:1.2px;padding:0 13px 9px}.nav-list{display:grid;grid-gap:5px;gap:5px}.nav-group{display:grid;grid-gap:3px;gap:3px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;border:0;color:#9dbbb1;background:transparent;padding:11px 13px;border-radius:10px;text-align:left;font-size:13px;transition:background .16s ease,color .16s ease}.nav-item.active,.nav-item:hover{color:#f0faf5;background:rgba(188,232,214,.13)}.nav-icon{width:18px;height:18px;display:grid;place-items:center;font-size:15px;opacity:.92}.nav-badge{margin-left:auto;min-width:21px;padding:3px 6px;border-radius:999px;background:rgba(244,123,99,.92);color:white;font-size:10px;text-align:center}.nav-chevron{margin-left:auto;color:#8eb2a5;font-size:15px}.nav-submenu{display:grid;grid-gap:2px;gap:2px;margin:0 0 4px 43px}.nav-subitem{border:0;border-left:1px solid rgba(188,232,214,.22);color:#8eaea4;background:transparent;cursor:pointer;font:inherit;font-size:12px;padding:7px 10px;text-align:left}.nav-subitem.active,.nav-subitem:hover{border-left-color:var(--mint-strong);color:#f0faf5}.nav-subitem.active{font-weight:700}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(220,239,232,.14);padding:16px 10px 0}.entity-card{display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#d1ece0;color:#22584c;font-size:12px;font-weight:700}.entity-copy{min-width:0}.entity-copy span,.entity-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-copy strong{color:#eef8f3;font-size:12px}.entity-copy span{margin-top:3px;color:#85a69b;font-size:10px}.main-content{min-width:0;flex:1 1;padding:30px 38px 42px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{color:var(--muted);font-size:11px;letter-spacing:.4px;margin-bottom:7px}.page-title{margin:0;font-size:clamp(22px,2.7vw,30px);line-height:1.2;letter-spacing:-1.2px}.topbar-actions{display:flex;align-items:center;gap:12px}.search{width:210px;position:relative}.search input{width:100%;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--surface);outline:none;padding:0 12px 0 35px;color:var(--ink);font-size:12px}.form-field input:focus,.form-field select:focus,.search input:focus{border-color:#91caba;box-shadow:0 0 0 3px rgba(168,219,201,.24)}.search-icon{position:absolute;left:12px;top:11px;color:var(--muted-2);font-size:14px}.icon-button{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:#61706a;font-size:16px}.notification-dot{position:absolute;right:8px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--coral);border:1px solid white}.data-source-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #dfe9e4;border-radius:999px;background:#fbfdfc;color:var(--muted);padding:7px 9px;font-size:9px;white-space:nowrap}.data-source-pill i{width:6px;height:6px;border-radius:50%;background:var(--muted-2)}.data-source-pill.mysql{border-color:#c7e6d8;background:#eff8f3;color:#3b846d}.data-source-pill.mysql i{background:#46a379}.data-source-pill.loading i{background:var(--amber)}.primary-button{border:0;border-radius:9px;background:var(--deep);color:#f6fbf9;padding:11px 16px;font-size:12px;font-weight:700;box-shadow:0 8px 20px rgba(18,59,53,.13);transition:transform .16s ease,background .16s ease}.primary-button:hover{background:#1b4e46;transform:translateY(-1px)}.primary-button .plus{margin-right:6px;font-size:16px;vertical-align:-1px}.setup-callout{display:flex;align-items:center;gap:12px;margin:-8px 0 20px;border:1px solid #cce8da;border-radius:12px;background:#f0faf5;padding:13px 15px}.setup-callout-icon{width:25px;height:25px;display:grid;flex:0 0 25px;place-items:center;border-radius:50%;background:#caecd9;color:#317e64;font-size:12px;font-weight:700}.setup-callout>div{flex:1 1;min-width:0}.setup-callout strong{display:block;color:#276d56;font-size:11px}.setup-callout p{margin:4px 0 0;color:#62877a;font-size:9px}.setup-callout .primary-button{flex:0 0 auto;padding:9px 12px;font-size:10px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:21px}.stat-card{min-height:119px;background:var(--surface);border:1px solid #e9eeeb;border-radius:13px;padding:17px 18px 15px;box-shadow:0 8px 25px rgba(20,55,46,.035)}.stat-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.stat-label{color:var(--muted);font-size:11px}.stat-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;color:var(--deep-2);background:var(--mint);font-size:13px}.stat-value{margin:14px 0 5px;font-size:24px;line-height:1;letter-spacing:-.8px}.stat-trend{color:#3e9a78;font-size:10px}.stat-trend.warn{color:#cb825a}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(300px,.78fr);grid-gap:21px;gap:21px;align-items:start}.cost-panel,.monthly-section{margin-top:22px;scroll-margin-top:22px}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:13px}.section-title-row h2{margin:0;font-size:17px;letter-spacing:-.5px}.section-title-row p{margin:5px 0 0;color:var(--muted);font-size:10px}.validation-badge{border:1px solid #cfe8dc;border-radius:999px;background:#eff8f3;color:#3a896f;padding:6px 10px;font-size:9px;white-space:nowrap}.monthly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:13px;gap:13px}.monthly-card{min-height:142px;border:1px solid #e8eeeb;border-radius:12px;background:white;padding:15px 16px 14px;box-shadow:0 8px 25px rgba(20,55,46,.03)}.monthly-card-result{border-color:#cde7db;background:#f5fbf7}.monthly-card-top{display:flex;align-items:center;justify-content:space-between}.monthly-card-label{color:var(--muted);font-size:10px}.monthly-card-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:var(--mint);color:#347e69;font-size:13px}.amber-icon{background:#fff1d8;color:#c78835}.coral-icon{background:#fce9e5;color:#d3735c}.monthly-card>strong{display:block;margin-top:15px;font-size:20px;letter-spacing:-.6px}.monthly-card>span{display:block;overflow:hidden;margin-top:7px;color:var(--muted);font-size:9px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.mini-progress{height:4px;overflow:hidden;margin-top:13px;border-radius:999px;background:#e3f0ea}.mini-progress i{display:block;height:100%;border-radius:inherit;background:#53ab89}.amber-progress{background:#f9ecd8}.amber-progress i{background:#e5a34f}.coral-progress{background:#fae5e0}.coral-progress i{background:#e48670}.result-note{margin-top:13px;color:#43856f;font-size:9px;line-height:1.45}.cost-panel{overflow:hidden}.cost-table{min-width:990px}.cost-panel{overflow-x:auto}.cost-panel .panel-heading{min-width:560px}.cost-modal{width:min(690px,100%)}.ledger-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:21px;gap:21px;margin-top:22px}.ledger-grid.single-page .ledger-panel{grid-column:1/-1}.ledger-panel{min-width:0;overflow:hidden;scroll-margin-top:22px}.ledger-summary{display:flex;align-items:center;gap:17px;border-top:1px solid #f0f3f1;border-bottom:1px solid #f0f3f1;background:#fbfcfb;padding:10px 20px;color:var(--muted);font-size:10px}.ledger-summary strong{margin-left:4px;color:var(--ink);font-size:13px}.warning-number,.warning-text{color:#c88835!important}.ledger-scroll{overflow-x:auto}.ledger-table{min-width:730px}.status-text{font-size:9px}.verified-text{color:#3a946e}.income-modal,.personnel-modal{width:min(720px,100%)}.panel{background:var(--surface);border:1px solid #e9eeeb;border-radius:13px;box-shadow:0 8px 25px rgba(20,55,46,.035)}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 15px}.panel-heading h2{margin:0;font-size:14px;letter-spacing:-.2px}.panel-heading p{margin:5px 0 0;color:var(--muted);font-size:10px}.text-button{border:0;background:transparent;color:#318b76;font-size:11px;padding:3px}.project-table{width:100%;border-collapse:collapse}.project-table th{color:var(--muted-2);background:#fbfcfb;border-top:1px solid #f1f3f1;border-bottom:1px solid #eef1ef;padding:10px 20px;font-size:10px;font-weight:500;text-align:left;white-space:nowrap}.project-table td{border-bottom:1px solid #f1f3f1;padding:13px 20px;font-size:11px;vertical-align:middle}.project-table tr:last-child td{border-bottom:0}.project-table tbody tr{transition:background .16s ease}.project-table tbody tr:hover{background:#fbfdfc}.project-name{color:var(--ink);font-weight:700}.project-id{color:var(--muted-2);margin-top:4px;font-family:DM Sans,sans-serif;font-size:9px;letter-spacing:.15px}.customer{color:#5f6e68}.amount{font-weight:700;white-space:nowrap}.status-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:9px;white-space:nowrap}.status-pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.done{background:#e4f5ed;color:#3a946e}.status-pill.progress{background:#fff3dc;color:#c88835}.status-pill.pending{background:#fceae6;color:#d16f5b}.table-action{border:0;color:#388b77;background:transparent;padding:3px 0;font-size:10px;white-space:nowrap}.ledger-review-actions{display:flex;gap:8px;margin-top:5px}.review-difference{color:#c67862}.side-stack{display:grid;grid-gap:21px;gap:21px}.flow-panel{padding-bottom:13px}.flow-summary{display:flex;align-items:center;gap:17px;padding:5px 20px 14px}.ring{width:81px;height:81px;flex:0 0 81px;border-radius:50%;background:conic-gradient(var(--deep-2) 0deg 270deg,#e3ebe7 270deg 1turn);display:grid;place-items:center}.ring:after{content:"";width:59px;height:59px;border-radius:50%;background:white;position:absolute}.ring-value{position:relative;z-index:1;text-align:center}.ring-value strong{display:block;font-size:17px;line-height:1}.ring-value span{color:var(--muted);font-size:8px}.flow-summary-copy strong{display:block;font-size:12px}.flow-summary-copy p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.flow-list{padding:0 20px}.flow-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #f0f3f1}.flow-check{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e2f4ec;color:#3e9976;font-size:11px;font-weight:800}.flow-check.wait{background:#fff3dd;color:#ce8e3c}.flow-copy{flex:1 1}.flow-copy strong{display:block;font-size:11px;font-weight:600}.flow-copy span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.flow-record-meta{color:var(--muted-2)!important;font-size:8px!important}.flow-count{color:var(--muted);font-size:10px}.todo-list{padding:0 20px 17px}.todo-item{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-top:1px solid #f0f3f1}.todo-marker{width:7px;height:7px;flex:0 0 7px;margin-top:4px;border-radius:50%;background:var(--coral)}.todo-marker.amber{background:var(--amber)}.todo-copy{min-width:0;flex:1 1}.todo-copy strong{display:block;font-size:11px;font-weight:600}.todo-copy span{display:block;overflow:hidden;margin-top:4px;color:var(--muted);text-overflow:ellipsis}.todo-copy span,.todo-time{font-size:9px;white-space:nowrap}.todo-time{color:var(--muted-2)}.empty-state{color:var(--muted);padding:24px 20px;text-align:center;font-size:11px}.overlay{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:rgba(13,35,31,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:17px;background:#fff;box-shadow:var(--shadow)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:23px 24px 17px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:18px;letter-spacing:-.5px}.modal-header p{margin:6px 0 0;color:var(--muted);font-size:10px}.close-button{width:30px;height:30px;border:0;border-radius:8px;background:var(--wash);color:var(--muted);font-size:17px}.form-body{padding:20px 24px 24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:15px;gap:15px}.form-field{display:grid;grid-gap:7px;gap:7px}.form-field.full{grid-column:1/-1}.form-field label{color:#63716b;font-size:10px;font-weight:600}.field-hint{margin-left:5px;color:var(--muted-2);font-size:9px;font-weight:400}.form-field input,.form-field select{width:100%;height:40px;border:1px solid var(--line);border-radius:8px;outline:none;background:#fbfcfb;padding:0 11px;color:var(--ink);font-size:12px}.form-field input.file-input{height:auto;min-height:40px;padding:9px 11px;background:white;color:var(--muted);font-size:10px}.number-preview{display:flex;align-items:center;gap:9px;margin-top:18px;padding:12px 13px;border-radius:9px;background:#eef8f3;color:#2d705e;font-size:10px}.number-preview strong{color:var(--deep);font-family:DM Sans,sans-serif;font-size:11px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.secondary-button{border:1px solid var(--line);border-radius:8px;background:white;color:#65736d;padding:10px 14px;font-size:11px}.detail-modal{width:min(770px,100%)}.detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:16px 24px;background:#fbfcfb;border-bottom:1px solid var(--line)}.detail-meta span{color:var(--muted);font-size:10px}.detail-meta strong{color:var(--ink);font-size:11px}.detail-body{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:22px;gap:22px;padding:21px 24px 24px}.detail-section h3{margin:0 0 12px;font-size:12px}.detail-section h3 span{margin-left:6px;color:var(--muted);font-size:9px;font-weight:400}.detail-flow-grid{display:grid;grid-gap:8px;gap:8px}.detail-flow-card{display:flex;align-items:center;gap:10px;border:1px solid #edf1ee;border-radius:9px;padding:11px}.flow-card-button{width:100%;background:white;color:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.flow-card-button:hover{border-color:#b9dace;background:#fbfefc;transform:translateY(-1px)}.detail-flow-card .flow-check{display:grid;flex:0 0 20px;margin-top:0}.detail-flow-card strong{display:block;font-size:10px}.detail-flow-card span{display:block;margin-top:3px;color:var(--muted);font-size:9px}.flow-status-tag{display:block;margin-left:auto;margin-top:0;flex:0 0 auto;border-radius:999px;padding:4px 7px;font-size:9px}.flow-status-tag.verified{background:#e4f5ed;color:#3a946e}.flow-status-tag.not-started,.flow-status-tag.to-complete{background:#fff3dc;color:#c88835}.flow-status-tag.difference{background:#fceae6;color:#d16f5b}.flow-editor{margin-top:13px;border:1px solid #cfe8dc;border-radius:10px;background:#f8fcfa;padding:13px}.flow-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.flow-editor-heading span,.flow-editor-heading strong{display:block}.flow-editor-heading strong{color:var(--ink);font-size:11px}.flow-editor-heading span{margin-top:4px;color:var(--muted);font-size:9px}.flow-editor-heading button{border:0;background:transparent;color:var(--muted);font-size:17px;line-height:1}.flow-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:11px;gap:11px}.flow-editor-grid .form-field input,.flow-editor-grid .form-field select{height:36px;background:white}.flow-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.difference-text{color:#d16f5b}.evidence-tree{display:grid;grid-gap:7px;gap:7px}.evidence-folder{display:flex;align-items:center;gap:9px;border-radius:8px;background:#f7f9f7;padding:9px 11px;color:#51635c;font-size:10px}.evidence-folder.ready{color:#317760;background:#eff8f3}.evidence-folder em{margin-left:auto;color:var(--muted-2);font-size:9px;font-style:normal}.evidence-file-list{margin-top:15px;border-top:1px solid #edf1ee;padding-top:13px}.evidence-file-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#61706a;font-size:10px;font-weight:600}.evidence-file-head em{color:var(--muted-2);font-size:9px;font-style:normal;font-weight:400}.evidence-file-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #edf1ee;border-radius:8px;padding:9px 10px}.evidence-file-row+.evidence-file-row{margin-top:7px}.evidence-file-copy{display:flex;align-items:center;min-width:0;gap:9px}.file-icon{width:23px;height:23px;display:grid;flex:0 0 23px;place-items:center;border-radius:6px;background:#eef8f3;color:#3e8b71;font-size:12px}.evidence-file-copy span,.evidence-file-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evidence-file-copy strong{max-width:220px;color:#43554e;font-size:10px}.evidence-file-copy span{max-width:260px;margin-top:3px;color:var(--muted);font-size:8px}.evidence-file-actions{display:flex;flex:0 0 auto;align-items:center;gap:9px}.evidence-file-actions a,.evidence-file-actions button{border:0;background:transparent;padding:3px 0;color:#398b75;font-size:9px;text-decoration:none}.evidence-file-actions button{color:#c67862}.empty-evidence{border-radius:8px;background:#f8faf8;padding:11px;color:var(--muted-2);font-size:9px;text-align:center}.toast{position:fixed;right:26px;bottom:26px;z-index:30;border:1px solid #b9e4d2;border-radius:10px;background:#edfaf3;color:#276e59;padding:12px 15px;box-shadow:var(--shadow);font-size:11px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef8f3,#f8faf8 52%,#e8f3ee)}.auth-card{width:min(420px,100%);border:1px solid #dcebe3;border-radius:18px;background:white;padding:28px;box-shadow:0 18px 50px rgba(20,55,46,.1)}.auth-brand{padding-bottom:23px;border-bottom:1px solid #edf2ef}.auth-card h1{margin:24px 0 8px;font-size:21px}.auth-card>p,.auth-loading{color:var(--muted);font-size:11px;line-height:1.6}.auth-form{display:grid;grid-gap:14px;gap:14px;margin-top:20px}.auth-form label{display:grid;grid-gap:7px;gap:7px;color:#63716b;font-size:10px;font-weight:600}.auth-form input{width:100%;height:42px;border:1px solid var(--line);border-radius:8px;outline:none;background:#fbfcfb;padding:0 11px;color:var(--ink);font-size:12px}.auth-form .primary-button{width:100%;margin-top:5px}.auth-error{border:1px solid #f1d2c9;border-radius:8px;background:#fff5f1;color:#bd6b58;padding:10px 11px;font-size:10px;line-height:1.5}.user-pill{max-width:120px;overflow:hidden;border:1px solid #dcebe3;border-radius:999px;background:#f3faf6;color:#377b66;padding:7px 10px;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.topbar-admin-button,.topbar-logout-button{padding:9px 11px;white-space:nowrap}.close-request-button{margin-left:auto;padding:7px 10px;font-size:9px}.identity-modal{width:min(950px,100%)}.approval-modal{width:min(900px,100%)}.audit-modal{width:min(1180px,100%)}.audit-body{padding:22px 24px 25px}.audit-filters{display:grid;grid-template-columns:1.25fr 1fr .75fr auto auto;grid-gap:8px;gap:8px;margin-bottom:16px}.audit-filters input,.audit-filters select{min-width:0;height:36px;border:1px solid var(--line);border-radius:8px;outline:none;background:#fbfcfb;padding:0 10px;color:var(--ink);font-size:10px}.audit-table-wrap{overflow:auto;max-height:58vh;border:1px solid #edf1ee;border-radius:9px}.audit-table{min-width:900px}.audit-summary{max-width:330px;overflow:hidden;color:#65736d;font-size:9px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.evidence-center-panel{margin-top:21px}.evidence-center-scroll{overflow:auto;max-height:420px;padding:0 20px 18px}.evidence-center-table{min-width:820px}.approval-body{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:22px;gap:22px;padding:22px 24px 25px}.section-count{margin-left:5px;color:var(--muted);font-size:9px;font-weight:400}.approval-list{display:grid;grid-gap:8px;gap:8px}.approval-row{display:flex;align-items:center;gap:11px;border:1px solid #edf1ee;border-radius:8px;padding:10px}.approval-copy{min-width:0;flex:1 1}.approval-copy em,.approval-copy span,.approval-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-copy strong{color:#43554e;font-size:10px}.approval-copy em,.approval-copy span{margin-top:3px;color:var(--muted);font-size:8px;font-style:normal}.approval-actions{display:flex;flex:0 0 auto;gap:8px}.approval-actions button{border:0;background:transparent;color:#398b75;padding:3px 0;font-size:9px;white-space:nowrap}.approval-actions .reject-action{color:#c67862}.identity-body{display:grid;grid-template-columns:.95fr 1.05fr;grid-gap:22px;gap:22px;padding:22px 24px 25px}.identity-section{min-width:0}.role-management-section{grid-column:1/-1;border-top:1px solid #edf1ee;padding-top:20px}.role-editor-heading,.role-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.role-section-heading .identity-hint{margin-bottom:0}.role-management-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(220px,.9fr) minmax(300px,1.5fr);grid-gap:13px;gap:13px;align-items:start}.role-catalog,.role-create-form,.role-editor{display:grid;grid-gap:8px;gap:8px;min-width:0;border:1px solid #edf1ee;border-radius:9px;padding:12px}.role-create-form input,.role-create-form textarea,.role-editor input,.role-editor textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;outline:none;background:#fbfcfb;padding:8px;color:var(--ink);font:inherit;font-size:10px;resize:vertical}.role-create-form textarea,.role-editor textarea{min-height:58px}.role-create-form input:focus,.role-create-form textarea:focus,.role-editor input:focus,.role-editor textarea:focus{border-color:#9ccdbd;box-shadow:0 0 0 3px rgba(81,160,132,.1)}.role-form-title{color:#43554e;font-size:10px;font-weight:700}.role-catalog{max-height:350px;overflow:auto}.role-catalog-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:1px solid #edf1ee;border-radius:7px;background:#fff;padding:8px;color:var(--ink);text-align:left}.role-catalog-item.selected,.role-catalog-item:hover{border-color:#9ccdbd;background:#f4faf7}.role-catalog-item>span{min-width:0}.role-catalog-item em,.role-catalog-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-catalog-item strong{color:#43554e;font-size:10px}.role-catalog-item em,.role-catalog-item small,.role-editor-heading em,.role-editor-heading span{margin-top:3px;color:var(--muted);font-size:8px;font-style:normal;font-weight:400}.role-catalog-item small{flex:0 0 auto;white-space:nowrap}.role-editor-heading{align-items:center;margin-bottom:2px}.role-editor-heading span,.role-editor-heading strong{display:block}.role-editor-heading strong{color:#43554e;font-size:11px}.role-custom-tag,.role-system-tag{border-radius:999px;padding:4px 7px;white-space:nowrap}.role-system-tag{background:#f2f3f2;color:#7a8580!important}.role-custom-tag{background:#e9f7f0;color:#398b75!important}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px;max-height:210px;overflow:auto;border-top:1px solid #edf1ee;border-bottom:1px solid #edf1ee;padding:9px 0}.permission-item{display:flex;align-items:flex-start;gap:6px;min-width:0;border-radius:6px;padding:5px}.permission-item:hover{background:#f7faf8}.permission-item.locked{opacity:.58}.permission-item input{width:auto;margin-top:2px;accent-color:#398b75}.permission-item span{min-width:0}.permission-item em,.permission-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permission-item strong{color:#4b5c55;font-size:9px}.permission-item em{margin-top:2px;color:var(--muted);font-size:7px;font-style:normal}.role-editor-actions{display:flex;align-items:center;gap:10px;min-height:28px}.role-editor-actions .identity-hint{margin:0}.identity-section h3{margin:0 0 12px;font-size:13px}.identity-hint{margin:-4px 0 12px;color:var(--muted);font-size:10px;line-height:1.5}.identity-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:14px}.identity-create-form input,.identity-create-form select,.robot-admin-row select{min-width:0;height:35px;border:1px solid var(--line);border-radius:7px;background:#fbfcfb;padding:0 8px;color:var(--ink);font-size:10px}.identity-create-form .primary-button{padding:7px 9px;font-size:10px}.identity-list,.robot-list{display:grid;grid-gap:7px;gap:7px}.identity-list-row,.robot-admin-row{display:flex;align-items:center;gap:9px;border:1px solid #edf1ee;border-radius:8px;padding:9px 10px}.identity-list-row>div,.robot-admin-copy{min-width:0;flex:1 1}.identity-list-row span,.identity-list-row strong,.robot-admin-copy span,.robot-admin-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-list-row strong,.robot-admin-copy strong{color:#43554e;font-size:10px}.identity-list-row span,.robot-admin-copy span{margin-top:3px;color:var(--muted);font-size:8px}.identity-list-row em{flex:0 0 auto;font-size:8px;font-style:normal}.identity-active{color:#3a946e}.identity-disabled{color:#c67862}.robot-admin-row select{width:105px;flex:0 0 105px}.robot-admin-actions{display:flex;flex:0 0 auto;gap:7px}.robot-admin-actions button{border:0;background:transparent;color:#398b75;padding:3px 0;font-size:9px;white-space:nowrap}.robot-secret{display:grid;grid-gap:6px;gap:6px;margin-top:12px;border:1px solid #f0dfb9;border-radius:8px;background:#fff9eb;padding:10px;color:#9a6e2d;font-size:9px}.robot-secret code{overflow-wrap:anywhere;color:#745321;font-family:DM Sans,sans-serif;font-size:10px}@media (max-width:1160px){.main-content{padding:26px 24px 36px}.sidebar{width:218px;flex-basis:218px}.project-table td:nth-child(3),.project-table th:nth-child(3){display:none}}@media (max-width:900px){.sidebar{width:70px;flex-basis:70px;padding-left:10px;padding-right:10px}.brand{justify-content:center;padding:0 0 32px}.brand-copy,.nav-badge,.nav-item span:not(.nav-icon),.nav-label,.sidebar-bottom{display:none}.nav-item{justify-content:center;padding:12px 0}.dashboard-grid{grid-template-columns:1fr}.monthly-grid,.side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.identity-body,.ledger-grid{grid-template-columns:1fr}.role-management-section{grid-column:auto}.role-management-grid{grid-template-columns:1fr 1fr}.role-editor{grid-column:1/-1}}@media (max-width:650px){.main-content{padding:21px 15px 32px}.topbar,.topbar-actions{align-items:stretch;flex-direction:column}.topbar-actions{gap:9px}.search,.topbar-actions .primary-button{width:100%}.section-title-row{align-items:flex-start;flex-direction:column;gap:10px}.setup-callout{align-items:flex-start;flex-wrap:wrap}.setup-callout .primary-button{width:100%;margin-left:37px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-value{font-size:20px}.detail-body,.monthly-grid,.side-stack{grid-template-columns:1fr}.project-table td,.project-table th{padding-left:12px;padding-right:12px}.project-table td:nth-child(4),.project-table th:nth-child(4){display:none}.form-grid,.identity-body{grid-template-columns:1fr}.role-management-section{grid-column:auto}.role-management-grid{grid-template-columns:1fr 1fr}.role-editor{grid-column:1/-1}.approval-body{grid-template-columns:1fr}.audit-filters{grid-template-columns:1fr 1fr}.identity-create-form,.role-management-grid{grid-template-columns:1fr}.role-editor{grid-column:auto}.permission-grid{grid-template-columns:1fr}.robot-admin-row{align-items:stretch;flex-wrap:wrap}.robot-admin-row select{width:100%;flex-basis:100%}.robot-admin-actions{margin-left:auto}.form-field.full{grid-column:auto}}