@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#21372e;background:#f5f7f6;font-size:16px;--green:#166644;--line:#dce4df;--muted:#6b7c72}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible{outline:3px solid #35996c}button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px 15px;color:inherit;font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{background:#f0f6f2}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover{background:#0e5034}button.quiet{border-color:transparent;background:transparent}button.danger{color:#a83535}svg.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}header{height:78px;background:#fff;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brandmark{width:42px;height:42px;background:var(--green);color:white;display:grid;place-items:center;font:800 18px Manrope,sans-serif;border-radius:9px}.brand strong{font:800 1.1rem Manrope,sans-serif}.brand small{display:block;color:var(--muted);font-size:.75rem;margin-top:2px}.identity{display:flex;align-items:center;gap:12px}.avatar{background:#e8f0eb;border:1px solid #cedcd2;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:.8rem;font-weight:700}.identity small{color:var(--muted);font-size:.75rem}.nav{display:flex;gap:26px;align-items:stretch;height:100%}.nav button{border:0;border-radius:0;background:none;position:relative;color:var(--muted);padding:0 3px}.nav button.active{color:var(--green)}.nav button.active:after{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--green);content:''}.workspace{max-width:1800px;margin:auto;padding:26px 32px 20px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:700;color:var(--muted);margin:0 0 7px}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}h1{font:800 1.85rem Manrope,sans-serif;letter-spacing:-.045em;margin:0}h2{font:700 1.2rem Manrope,sans-serif;letter-spacing:-.02em;margin:0}p{line-height:1.6}.subtle{color:var(--muted);font-size:.875rem}.heading p{margin:8px 0 0}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:24px}.metric{padding:21px 25px;position:relative}.metric:not(:last-child):after{position:absolute;content:'';right:0;top:22px;bottom:22px;width:1px;background:var(--line)}.metric label{color:var(--muted);font-size:.875rem;display:flex;align-items:center;gap:8px}.metric strong{display:block;font:700 1.9rem Manrope,sans-serif;margin-top:8px;font-variant-numeric:tabular-nums}.metric strong small{font:500 .875rem 'DM Sans',sans-serif;color:var(--muted)}.metric em{font-style:normal;font-size:.75rem;color:var(--muted);display:block;margin-top:5px}.sheet{border:1px solid #d4dfd7;border-radius:10px;background:#fff;overflow:hidden}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search{position:relative;min-width:240px}.search svg{position:absolute;left:12px;top:11px;color:var(--muted)}.search input{padding-left:38px;width:100%}input,select,textarea{border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:#fff;color:inherit;min-width:0;font-size:.875rem}input:focus,select:focus,textarea:focus{outline:2px solid #3b9c70;outline-offset:-1px}input::placeholder{color:#94a097}input[type=date]{max-width:160px}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.view-switch{background:#f3f6f4;border-radius:6px;padding:3px;display:flex}.view-switch button{padding:7px 11px;background:transparent;border-color:transparent}.view-switch .active{background:white;border-color:var(--line);box-shadow:0 1px 2px #00000008}.formula{display:flex;align-items:center;background:#fcfdfc;border-bottom:1px solid var(--line);height:37px;font-size:.75rem;color:var(--muted)}.formula b{padding:0 20px;color:#446150;border-right:1px solid var(--line);height:100%;display:flex;align-items:center;min-width:82px}.formula span{padding-left:15px}.table-scroll{max-height:calc(100vh - 422px);min-height:260px;overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;white-space:nowrap}th,td{height:45px;border-bottom:1px solid #e6ece8;border-right:1px solid #edf1ee;text-align:left;padding:0 13px}th{position:sticky;top:0;z-index:2;background:#f2f6f3;color:#527060;font-size:.75rem;font-weight:600;height:41px}th:first-child,td:first-child{position:sticky;left:0;background:#f8faf8;text-align:center;min-width:45px;color:#8a998f;padding:0 10px;font-size:.75rem;z-index:1}th:first-child{z-index:4}th:nth-child(2),td:nth-child(2){position:sticky;left:45px;background:#fff;box-shadow:1px 0 #dce4df;z-index:1;min-width:112px}th:nth-child(2){background:#f2f6f3;z-index:3}.folio{font-weight:700;color:var(--green);font-size:.8rem;border:0;padding:0;background:none;white-space:nowrap}td.editable{padding:0;min-width:115px}td.editable input,td.editable select{border:0;border-radius:0;background:transparent;min-width:105px;width:100%;height:44px;padding:0 11px;font-size:.875rem}td.editable input[type=number]{width:110px}td.editable select{min-width:125px}tr:hover td{background:#f6faf7}tr.cancelled td{color:#99a39d;background:#fafbfa}tr.dirty td{background:#fffbed}.badge{border-radius:4px;font-size:.75rem;display:inline-flex;padding:4px 7px;font-weight:500;background:#eaf4ef;color:#26724e}.badge.pending{background:#fff5dd;color:#93661a}.badge.cancel{background:#f0f1f1;color:#7e8781}.badge.alert{color:#b33c32;background:#fff0ec}.num{text-align:right;font-variant-numeric:tabular-nums}.sheet-footer{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;font-size:.75rem;color:var(--muted);gap:12px;background:#fcfdfc}.sheet-tabs{display:flex;align-items:center;gap:0;margin-top:0;border-bottom:1px solid var(--line)}.sheet-tabs button{border:0;border-radius:0;padding:13px 20px;background:transparent;color:var(--muted)}.sheet-tabs button.active{border-bottom:2px solid var(--green);color:var(--green);background:#e9f3ed}.hint{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:.75rem;padding:18px 2px}.hint kbd{font:inherit;background:white;border:1px solid var(--line);border-radius:3px;padding:2px 5px}.demo-banner{background:#fff8e8;border-bottom:1px solid #eee1bd;color:#806226;font-size:.8rem;padding:9px 32px;display:flex;justify-content:space-between;align-items:center;gap:12px}.demo-banner button{background:transparent;border:0;padding:2px 6px;font-size:.8rem;color:#735515;text-decoration:underline}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-story{background:#14593c;color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:space-between}.login-story .brandmark{background:#ffffff19;border:1px solid #ffffff30}.login-story h1{font-size:3.4rem;max-width:500px;line-height:1.13}.login-story p{color:#c0d6c9;max-width:420px}.login-story small{color:#abc8b8}.login-form{display:flex;align-items:center;justify-content:center;padding:40px}.login-inner{width:380px;max-width:100%}.login-inner h2{font-size:1.7rem}.login-inner form{display:grid;gap:14px;margin:26px 0 16px}.login-inner label{font-size:.875rem}.login-inner input{width:100%;margin-top:7px;padding:13px}.login-inner button{padding:13px}.login-inner>button{width:100%}.notice{border:1px solid #eadfc1;background:#fff9ea;border-radius:7px;padding:12px;font-size:.875rem;color:#7d602a;line-height:1.5;margin:16px 0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;padding:20px}.record-card{border:1px solid var(--line);border-radius:8px;padding:18px}.record-card .actions{justify-content:space-between}.record-card h3{font-size:1.1rem;margin:16px 0 5px}.record-card dl{display:grid;grid-template-columns:1fr 1fr;font-size:.875rem;gap:12px}.record-card dt{color:var(--muted);font-size:.75rem}.record-card dd{margin:3px 0 0}.empty{padding:65px 20px;text-align:center;color:var(--muted)}.empty h2{color:#365442;margin:12px 0}.catalog-layout{display:grid;grid-template-columns:220px 1fr;gap:22px}.catalog-menu{display:flex;flex-direction:column;gap:6px}.catalog-menu button{justify-content:space-between;border-color:transparent;background:transparent;padding:13px}.catalog-menu .active{background:#e4f0e9;color:var(--green)}.catalog-menu span{font-size:.75rem;background:#fff;padding:2px 7px;border-radius:4px}.catalog-table{max-height:65vh;overflow:auto}.catalog-table td:first-child,.catalog-table td:nth-child(2),.catalog-table th:first-child,.catalog-table th:nth-child(2){position:static;text-align:left;min-width:0;padding:12px 20px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.report-grid .sheet{padding:24px}.bar-row{display:grid;grid-template-columns:100px 1fr 90px;gap:15px;align-items:center;font-size:.875rem;margin-top:24px}.bar{height:10px;background:#edf3ef;border-radius:3px;overflow:hidden}.bar i{height:100%;background:#318663;display:block}.report-table td:first-child,.report-table th:first-child{position:static;text-align:left;color:inherit;font-size:inherit;padding-left:0}.report-table td:nth-child(2),.report-table th:nth-child(2){position:static;box-shadow:none}.report-table{margin-top:15px}.loading{padding:70px;text-align:center}dialog{border:1px solid var(--line);border-radius:13px;padding:0;width:720px;max-width:calc(100vw - 24px);max-height:90vh;color:inherit;box-shadow:0 20px 80px #102b2933}dialog::backdrop{background:#102b295c}dialog .dialog-head{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid var(--line)}dialog form{padding:0}dialog .dialog-body{padding:22px 25px;max-height:64vh;overflow:auto}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fields label{display:block;font-size:.875rem;font-weight:500}.fields input,.fields select,.fields textarea{width:100%;display:block;margin-top:7px;max-width:none}.fields .wide{grid-column:1/-1}.fields label small{display:block;color:var(--muted);font-size:.75rem;font-weight:400;margin-top:6px}.fields .check{display:flex;align-items:center;gap:10px}.fields .check input{width:auto;margin:0}.section-label{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:22px 0 14px;margin:0}.section-label:first-child{padding-top:0}.dialog-footer{padding:16px 25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;background:#fafcfb}.auto-unit{padding:12px;background:#eef5f0;border-radius:6px;font-size:.875rem;color:#4f6a59}.net-display{font-size:.875rem;background:#eef5f0;padding:12px;margin-top:18px;border-radius:6px}.net-display b{font-size:1.15rem;color:var(--green)}.error{color:#b43d34;font-size:.875rem;line-height:1.5}.error:empty{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#213e2f;color:#fff;padding:13px 22px;border-radius:8px;box-shadow:0 5px 25px #0002;z-index:100;max-width:90vw;font-size:.875rem;display:none}#toast.visible{display:block}.savebar{background:#fff4d2;border-bottom:1px solid #e8d499;padding:8px 20px;display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:.875rem}.pill{font-size:.75rem;padding:5px 9px;background:#eaf1ed;border-radius:20px;color:#416550}.offline{background:#fff0ec;padding:10px 32px;font-size:.875rem;color:#9b3e31}.status-select{max-width:150px}.hidden{display:none!important}@media(min-width:1500px){.table-scroll{max-height:calc(100vh - 465px)}}@media(max-width:900px){header{padding:0 20px}.workspace{padding:24px 20px}.identity .user-name{display:none}.nav{gap:18px}.metrics .metric{padding:18px}.heading{align-items:flex-start}.login-story{padding:35px}.login-story h1{font-size:2.6rem}.report-grid{grid-template-columns:1fr}.catalog-layout{grid-template-columns:180px 1fr}}@media(max-width:640px){header{height:auto;min-height:70px;flex-wrap:wrap;padding:14px 16px 0;gap:8px}.brand strong{font-size:1rem}.brandmark{width:35px;height:35px;font-size:15px}.identity{margin-left:auto}.nav{order:3;width:100%;height:44px;justify-content:center;gap:38px}.identity .avatar{display:none}.workspace{padding:22px 14px}.heading{flex-direction:column;gap:17px}h1{font-size:1.65rem}.heading .actions{width:100%}.heading .actions button{flex:1}.metrics{grid-template-columns:1fr 1fr;margin-bottom:18px}.metric{padding:15px!important}.metric:nth-child(2):after{display:none}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.metric strong{font-size:1.65rem}.metric label{font-size:.8rem}.metric em{font-size:.75rem}.toolbar{padding:12px;gap:12px}.search{width:100%}.filters{width:100%}.filters input,.filters select{flex:1;min-width:110px}.view-switch{margin-left:auto}.table-scroll{max-height:55vh;min-height:220px}.hint{display:block;line-height:1.8}.hint span{display:block}.sheet-footer{flex-wrap:wrap}.sheet-tabs{overflow:auto}.sheet-tabs button{padding:12px 15px;white-space:nowrap}.demo-banner{padding:9px 14px;font-size:.75rem}.demo-banner span{max-width:76%}.login{grid-template-columns:1fr}.login-story{padding:25px;min-height:210px;gap:25px}.login-story h1{font-size:2rem}.login-story p,.login-story>small{display:none}.login-form{padding:30px 22px}.catalog-layout{display:block}.catalog-menu{flex-direction:row;overflow:auto;margin-bottom:16px}.catalog-menu button{white-space:nowrap;gap:10px}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}dialog .dialog-body{padding:20px 18px}.dialog-footer{padding:14px 18px}.report-grid .sheet{padding:18px}.bar-row{grid-template-columns:85px 1fr 65px;gap:10px}.formula span{overflow:hidden;white-space:nowrap}.offline{padding:10px 14px}}
