:root{--bg:#f6f8fa;--card:#fff;--ink:#172d34;--sub:#667780;--line:#e3e9ec;--brand:#1b4444;--lime:#d6ff3a;--soft:#edf5f2;--danger:#9a2f34}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:flex;min-height:100vh}.sidebar{width:245px;flex:0 0 245px;background:#173c3d;color:#d9e9e7;padding:26px 15px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 26px;border-bottom:1px solid #33575a;margin-bottom:25px}.brand strong{font-size:16px;color:white;display:block}.brand small{font-size:10px;letter-spacing:.03em;color:#a5c5c0}.logo{width:35px;height:35px;background:var(--lime);color:#173c3d;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:800;border-radius:10px}.side-caption{font-size:10px;color:#88aba5;margin:5px 13px 12px;font-weight:800;letter-spacing:.15em}.sidebar nav{display:flex;flex-direction:column;gap:3px;margin-bottom:23px}.sidebar nav a{display:flex;gap:12px;align-items:center;color:#c7dedb;padding:11px 13px;font-weight:550;border-radius:9px}.sidebar nav a span{font-size:13px}.sidebar nav a:hover,.sidebar nav a.active{background:#2d5555;color:#fff;text-decoration:none}.side-note{font-size:11px;color:#97b5b2;margin-top:auto;line-height:1.8;padding:12px;border-top:1px solid #33575a}.main-content{flex:1;min-width:0}.topbar{height:64px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 33px;color:var(--sub);font-size:12px}.env{font-size:10px;font-weight:800;color:#547465;border:1px solid #b9d1c1;border-radius:20px;padding:5px 10px;letter-spacing:.08em}.page-content{max-width:1300px;margin:0 auto;padding:30px 34px 80px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}h1{font-size:27px;letter-spacing:-.045em;margin:0 0 5px;font-weight:750}h2{font-size:18px;letter-spacing:-.025em;margin:0 0 15px}h3{font-size:15px;margin:0 0 12px}.muted{color:var(--sub)}p{margin:6px 0 12px}.small{font-size:12px}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--sub);font-weight:750;margin-bottom:10px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 2px 9px rgba(20,56,61,.025);margin-bottom:20px}.card h2{margin-bottom:18px}.metric .label{color:var(--sub);font-size:12px;margin-bottom:9px}.metric .value{font-size:27px;letter-spacing:-.045em;font-weight:780}.metric .detail{margin-top:4px;font-size:12px;color:var(--sub)}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--brand);background:var(--brand);color:white;font:inherit;font-weight:650;padding:9px 14px;border-radius:8px;cursor:pointer;white-space:nowrap}.btn:hover{background:#27615f;text-decoration:none;color:#fff}.btn.secondary{background:white;color:var(--brand);border-color:#b6cac8}.btn.secondary:hover{background:#eaf1ee}.btn.small{padding:6px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field[hidden]{display:none!important}.field{display:flex;flex-direction:column;gap:6px}.field.span-2{grid-column:1/-1}label{font-size:12px;font-weight:680;color:#415358}input,select,textarea{width:100%;border-radius:8px;border:1px solid #cbd6d9;outline:0;background:#fff;color:var(--ink);padding:10px 11px;font:inherit;min-height:42px}input:focus,select:focus,textarea:focus{border-color:#367976;box-shadow:0 0 0 3px #e0f3ef}textarea{min-height:100px;resize:vertical}.hint{font-size:11px;color:var(--sub)}.input-actions{margin-top:18px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:#6c7f86;font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:#f9fbfc;padding:12px 13px;border-bottom:1px solid var(--line)}td{padding:12px 13px;border-bottom:1px solid #edf0f1;font-size:13px;vertical-align:top}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.pill{display:inline-block;border-radius:99px;padding:3px 9px;background:#ebf3f0;color:#216a53;font-size:11px;font-weight:700}.pill.warn{background:#fff0dc;color:#936322}.pill.dark{background:#e9eff2;color:#4c6874}.notice{padding:13px 16px;border-radius:9px;margin-bottom:20px;border:1px solid}.notice.success{background:#e9f7ee;border-color:#b2d9c0;color:#216443}.notice.error{background:#fff0f0;border-color:#f1c8c8;color:#8e3030}.notice ul{margin:6px 0 0;padding-left:18px}.note{background:#f4f7f7;border-left:3px solid #a0c3b9;padding:11px 13px;color:#4f6667;font-size:12px;border-radius:0 7px 7px 0}.number{font-variant-numeric:tabular-nums}.progress-track{height:6px;background:#e6eeec;border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:#387f72;border-radius:10px}.inline-note{font-size:12px;padding-top:10px;color:var(--sub)}.select-list{border:1px solid var(--line);border-radius:10px;max-height:240px;overflow:auto;padding:7px}.select-list label{display:flex;align-items:center;gap:9px;padding:7px 9px;font-weight:500;border-radius:5px}.select-list label:hover{background:#f2f7f6}.select-list input[type=checkbox]{width:15px;height:15px;min-height:auto;flex:0 0 auto}.subnav{display:flex;gap:8px;margin-bottom:17px}.tagline{margin:0;color:var(--sub)}.empty{color:var(--sub);text-align:center;padding:24px 0}@media(max-width:1000px){.sidebar{width:200px;flex-basis:200px}.grid-4{grid-template-columns:repeat(2,1fr)}.page-content{padding:25px}}@media(max-width:700px){.app-shell{display:block}.sidebar{width:100%;display:block;padding:13px}.brand{margin:0;padding:8px}.sidebar nav{display:flex;flex-direction:row;flex-wrap:wrap;margin:8px 0}.sidebar nav a{padding:8px;font-size:11px}.sidebar nav a span{font-size:11px}.side-caption,.side-note{display:none}.topbar{height:50px;padding:0 16px}.page-content{padding:18px}.grid,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.field.span-2{grid-column:auto}.page-heading{flex-direction:column;align-items:stretch}h1{font-size:22px}}

.parta-section{margin-top:23px;padding:21px;border-radius:12px;border:1px solid #cddedb;background:#f7fbfa}.parta-section h2{margin-bottom:13px}.parta-preview{margin-top:16px;border:1px solid #c6dcd4;border-radius:10px;background:#ecf7f3;padding:15px 18px;color:#205349}.parta-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.parta-results small{display:block;color:#52756b;font-size:11px;margin-bottom:4px}.parta-results strong{font-size:20px;font-weight:780;letter-spacing:-.02em}.parta-section input[readonly]{background:#edf3f3;color:#4d6864}
.select-action{display:flex;gap:7px;align-items:center}.select-action select{min-width:0;flex:1}.select-action .btn{width:auto;min-height:42px;padding:7px 10px;font-size:11px;line-height:1.2;white-space:normal;flex:0 0 auto}.quick-modal[hidden]{display:none!important}.quick-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;display:grid!important;place-items:center!important;padding:18px!important;margin:0!important;visibility:visible;opacity:1;isolation:isolate}.quick-modal-backdrop{position:absolute;inset:0;background:rgba(13,35,38,.58);backdrop-filter:blur(3px)}.quick-modal-card{position:relative;z-index:1;width:min(100%,470px);max-height:min(90vh,680px);overflow:auto;background:#fff;border:1px solid #dce7e5;border-radius:16px;padding:25px;box-shadow:0 24px 80px rgba(12,38,40,.24);animation:quick-modal-in .16s ease-out}.quick-modal-card h2{margin-bottom:10px}.modal-fields{margin-top:20px}.quick-modal-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:8px;background:#f1f5f4;color:#49615e;font-size:23px;cursor:pointer}.quick-modal-close:hover{background:#e4eeeb}.quick-modal-actions{display:flex;justify-content:flex-end;margin-top:19px}.quick-modal .hint{margin-top:10px;color:#9a3939}.modal-open{overflow:hidden}@keyframes quick-modal-in{from{opacity:0;transform:translateY(7px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
.supplier-payment-form{display:flex;gap:6px;align-items:center;min-width:700px}.supplier-payment-form input,.supplier-payment-form select{width:auto;min-width:115px;min-height:34px;padding:6px 8px;font-size:12px}.supplier-payment-form input[type=date]{min-width:135px}.supplier-payment-form button{flex:0 0 auto}@media(max-width:700px){.select-action{align-items:stretch;flex-wrap:wrap}.select-action select{flex-basis:100%}.supplier-payment-form{flex-wrap:wrap;min-width:0}}
.error-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#edf5f2,#f7f9fa)}.error-card{width:min(100%,560px);padding:38px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 60px rgba(20,56,61,.1)}.error-card .logo{margin-bottom:24px}.error-card h1{margin:8px 0 12px}.error-actions{margin-top:25px}
@media(min-width:701px){.sidebar{position:fixed;inset:0 auto 0 0;height:100vh;overflow-y:auto;overscroll-behavior:contain;z-index:100;scrollbar-width:thin;scrollbar-color:#527875 #173c3d}.main-content{width:calc(100% - 245px);margin-left:245px}.topbar{position:sticky;top:0;z-index:40}}@media(min-width:701px) and (max-width:1000px){.sidebar{width:200px;flex-basis:200px}.main-content{width:calc(100% - 200px);margin-left:200px}}@media(max-width:700px){.sidebar{position:sticky;top:0;z-index:100;max-height:48vh;overflow-y:auto;overscroll-behavior:contain}.main-content{width:auto;margin-left:0}}
.sidebar{scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar{display:none;width:0;height:0}.brand small{color:#c2d5d1}.side-caption{color:rgba(255,255,255,.86);font-size:10px;font-weight:650;letter-spacing:.14em}.sidebar nav a{color:#e2eeec;transition:background .16s ease,color .16s ease}.sidebar nav a:hover:not(.active){background:rgba(255,255,255,.1);color:#fff}.sidebar nav a.active{background:var(--lime);color:#173c3d;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.topbar{min-height:70px;height:auto;padding:10px 30px;background:#fff}.business-context{display:flex;align-items:center;gap:11px;color:var(--ink)}.context-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eaf3ef;color:var(--brand);font-weight:800}.business-context strong,.user-details strong{display:block;font-size:13px;font-weight:750;line-height:1.25}.business-context small,.user-details small{display:block;margin-top:3px;font-size:11px;color:var(--sub)}.topbar-right{display:flex;align-items:center;gap:18px}.user-chip{display:flex;align-items:center;gap:10px;padding:5px 12px 5px 5px;border:1px solid var(--line);border-radius:11px;background:#fbfcfc}.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--brand);color:#fff;font-size:13px;font-weight:750}.topbar-right form{margin:0}.topbar-right .btn{min-height:36px}@media(max-width:700px){.topbar{min-height:58px;height:auto;padding:8px 12px;gap:10px}.context-mark{display:none}.business-context{font-size:11px}.business-context strong{font-size:12px}.business-context small,.user-details small{font-size:10px}.topbar-right{gap:7px}.user-chip{gap:6px;padding:3px 7px 3px 3px}.user-avatar{width:28px;height:28px}.user-details strong{font-size:11px}.topbar-right .btn{padding:6px 8px;font-size:10px}}

.report-tabs{margin-bottom:18px}.report-tabs .report-tab-active{background:#173c3d;border-color:#173c3d;color:#fff}.report-tabs .report-tab-active:hover{background:#245451;border-color:#245451;color:#fff}
