:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:15px;color:#15313a;background:#f4f7f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#067963}a:hover{text-decoration:underline}.loading-initial{padding:4rem;text-align:center}.app{display:flex;min-height:100vh}.sidebar{width:264px;flex-shrink:0;background:#12373e;color:#e8f2f1;padding:27px 18px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;min-height:100vh;max-height:100vh;overflow-y:auto}.brand{display:flex;gap:12px;align-items:center;padding:0 12px 17px;border-bottom:1px solid #34535a}.brand-mark{background:#397c68;border-radius:14px;width:46px;height:46px;display:grid;place-items:center;font-size:26px;flex-shrink:0}.brand strong{display:block;font-size:17px;line-height:1.2}.brand small{color:#bbd0cc;font-size:12px;line-height:1.3;display:block;margin-top:5px}.nav-group{font-size:10px;text-transform:uppercase;color:#94b9b2;letter-spacing:1.5px;font-weight:700;padding:16px 14px 6px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-btn{width:100%;border:0;border-radius:10px;background:transparent;color:#d2e3e1;text-align:left;padding:12px 14px;display:flex;gap:12px;align-items:center;font-size:14px;font-weight:550}.nav-btn:hover{background:#234b51}.nav-btn.active{background:#ddf8eb;color:#135340;font-weight:750}.nav-icon{font-size:18px;width:20px;text-align:center}.sidebar-bottom{margin-top:auto;padding:20px 10px 3px;border-top:1px solid #34535a;font-size:12px;color:#bdcfca}.sidebar-bottom .mini-line{display:flex;justify-content:space-between;gap:10px;margin:8px 0}.main{flex:1;min-width:0}.header{background:#fff;border-bottom:1px solid #e2ebeb;display:flex;align-items:center;justify-content:space-between;padding:17px clamp(20px,4vw,54px);gap:16px;position:sticky;top:0;z-index:10}.header-left{display:flex;align-items:center;gap:10px;min-width:0}.header-title{font-size:14px;font-weight:760;color:#263f48}.header-sub{font-size:11px;color:#798d91;margin-top:2px}.header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.pill{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:720;border-radius:999px;padding:7px 11px;background:#fff3d9;color:#875b12;border:1px solid #f1d7a5;white-space:nowrap}.pill.prod{background:#e4f4e9;color:#1a6c4a;border-color:#bde2cb}.role-select{max-width:180px;padding:8px 10px;border:1px solid #cddcde;background:white;border-radius:9px;color:#2b464e;font-size:12px}.content{max-width:1490px;margin:auto;padding:28px clamp(20px,4vw,54px) 72px}.page-eyebrow{color:#299071;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:1.5px;margin:0 0 7px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:23px;flex-wrap:wrap}.page-head h1{font-size:clamp(23px,2.5vw,32px);font-weight:770;letter-spacing:-.7px;margin:0 0 6px;color:#113840}.page-head p{margin:0;color:#70888e;line-height:1.55;font-size:13px}.actions{display:flex;gap:9px;flex-wrap:wrap}.btn{appearance:none;display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid #cddad9;background:#fff;color:#184b44;border-radius:9px;padding:10px 15px;font-weight:700;font-size:12px;text-decoration:none;min-height:38px}.btn:hover{border-color:#67a694;background:#f3faf7;text-decoration:none}.btn.primary{background:#13806a;border-color:#13806a;color:white}.btn.primary:hover{background:#0d6e5c}.btn.secondary{background:#eaf5ef;border-color:#c9e6d6}.btn.danger{color:#a93439;border-color:#edc8c8}.btn.small{padding:7px 9px;font-size:11px;min-height:29px}.btn:disabled{opacity:.45;cursor:not-allowed}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:19px}.metric{background:#fff;border:1px solid #e0e9e7;border-radius:15px;padding:22px 22px 19px;position:relative;overflow:hidden;box-shadow:0 2px 10px rgba(13,40,50,.025)}.metric.feature{background:#123b43;color:white;border-color:#123b43}.metric .accent{height:4px;width:38px;border-radius:3px;background:#70d8a9;margin-bottom:19px}.metric-label{font-size:12px;color:#65818a;font-weight:650}.metric.feature .metric-label{color:#bcdad3}.metric-number{font-size:clamp(22px,2.5vw,34px);letter-spacing:-.6px;font-weight:800;margin:7px 0}.metric.feature .metric-number{color:#fff}.metric-note{font-size:11px;color:#82999c;line-height:1.4}.metric.feature .metric-note{color:#c2d9d3}.subgrid{display:grid;grid-template-columns:1.35fr 1fr;gap:17px}.card{background:#fff;border:1px solid #e1eae8;border-radius:15px;overflow:hidden;box-shadow:0 2px 10px rgba(13,40,50,.025)}.card-pad{padding:22px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:21px 23px 17px}.card-head h2,.section-title{font-size:16px;color:#183d45;font-weight:760;margin:0}.card-head p{font-size:12px;color:#8ba0a2;margin:5px 0 0}.card-head+.table-wrap{margin-top:0}.card-note{color:#71898e;font-size:12px;line-height:1.5}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px;flex-wrap:wrap}.toolbar .right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.input,.select,.textarea{border:1px solid #cfdedd;background:#fff;border-radius:8px;padding:10px 11px;color:#193e48;min-width:0;width:100%;outline-color:#37a888}.input:focus,.select:focus,.textarea:focus{border-color:#229878;box-shadow:0 0 0 3px #dff6ed}.input.short,.select.short{width:auto;min-width:115px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:12px;font-weight:730;color:#35535a}.field small{font-size:11px;color:#7e9296;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;gap:10px;justify-content:flex-start;align-items:center;flex-wrap:wrap;margin-top:20px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}.data-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.65px;color:#789096;background:#f8fbfa;font-weight:800;padding:13px 19px;border-bottom:1px solid #e4edeb}.data-table td{padding:13px 19px;border-bottom:1px solid #eef2f1;color:#344d55;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#f9fcfb}.data-table .right{text-align:right}.muted{color:#84999e!important}.amount{font-weight:750;font-variant-numeric:tabular-nums;color:#1e424a!important}.green{color:#087c64!important}.red{color:#b74c51!important}.status{display:inline-block;padding:5px 8px;border-radius:6px;font-weight:740;font-size:10px;white-space:nowrap;background:#e8f4ee;color:#278063}.status.pending{background:#fff1dc;color:#a27113}.status.partial{background:#e9f1fa;color:#386c98}.status.cancel{background:#f0f0f0;color:#777}.status.private{background:#eff0ff;color:#675b9a}.empty{padding:35px;text-align:center;color:#85999c;font-size:13px}.note{background:#ecf5f2;border:1px solid #d3e8e0;border-radius:11px;padding:14px 16px;font-size:12px;line-height:1.6;color:#395e57;margin-bottom:17px}.warning{background:#fff8e8;border-color:#f6dfad;color:#7c601f}.info-block{padding:15px 18px;background:#f6faf9;border-radius:10px;border:1px solid #e0ebea;color:#55747a;font-size:12px;line-height:1.6}.form-panel{margin:18px 0 22px}.form-panel>.card-pad{padding:25px}.two-col{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1.4fr);gap:17px}.badge-count{padding:4px 8px;border-radius:7px;background:#e2f5ea;color:#1d7f5d;font-size:10px;font-weight:750}.period-chips{display:flex;flex-wrap:wrap;gap:7px}.period-chip{border:1px solid #d4e2df;border-radius:10px;padding:9px 12px;background:#fff;min-width:130px}.period-chip .period-month{font-size:12px;font-weight:700;display:block;margin-bottom:5px;text-transform:capitalize}.period-chip small{font-size:11px;color:#718b8b}.period-chip.paid{background:#f1faf5;border-color:#d5ebdd}.period-chip.partial{background:#f5f8fd;border-color:#cbdaf0}.period-chip.unpaid{background:#fffaf2;border-color:#f0e1c3}.row-stack{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #eef2f1}.row-stack:last-child{border:none}.row-stack strong{font-size:12px}.row-stack p{font-size:11px;color:#789096;margin:5px 0 0}.visual-progress{height:8px;background:#e6eeea;overflow:hidden;border-radius:99px}.visual-progress>div{height:100%;background:#22a786;border-radius:99px}.toast-area{position:fixed;bottom:21px;right:24px;z-index:100;display:flex;flex-direction:column;gap:8px}.toast{box-shadow:0 10px 35px #17373c30;border:1px solid #b4d9ce;background:#f3fff9;color:#174c3b;padding:14px 17px;border-radius:12px;font-size:13px;max-width:360px}.toast.error{background:#fff2f0;color:#9e4037;border-color:#f0c7bf}.table-action{color:#087b68;font-size:11px;font-weight:800;text-decoration:none;background:none;border:0;padding:0}.table-action:hover{text-decoration:underline}.modal-wrap{position:fixed;inset:0;background:#0d252c9a;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;border-radius:17px;max-width:730px;width:100%;max-height:92vh;overflow:auto;box-shadow:0 20px 60px #0b222c54}.modal-head{padding:20px 25px;border-bottom:1px solid #e2e8e8;display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h2{margin:0;font-size:18px}.modal-body{padding:23px 25px}.close{border:0;background:#eef4f1;border-radius:8px;width:32px;height:32px;font-size:20px}.modal-img{max-width:100%;max-height:70vh;object-fit:contain;display:block;margin:auto}.menu-toggle{display:none}.footer{margin-top:30px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:9px;color:#8ca0a3;font-size:11px}.separator{height:1px;background:#e1e9e8;margin:18px 0}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:22px;background:radial-gradient(circle at 20% 20%,#d8f6e5,#f5f8f8 55%)}.login-card{width:min(460px,100%);padding:36px;background:#fff;border-radius:19px;box-shadow:0 14px 55px #14444b20}.login-card h1{font-size:29px;color:#173d44;margin:14px 0}.login-card p{line-height:1.65;font-size:13px;color:#6d8588}.login-icon{font-size:37px}.stat-row{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #eaf1ed;font-size:12px}.stat-row:last-child{border:0}.stat-row strong{color:#163f46}.split{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}.hidden{display:none!important}.privacy{white-space:pre-wrap;line-height:1.85;color:#55707a;font-size:13px}.chip-demo{border-radius:7px;background:#fff8e5;color:#886012;font-size:11px;padding:5px 9px;font-weight:760}.select-date{max-width:170px}.banner-demo{background:#fff4d9;color:#7c591d;font-size:12px;padding:10px 25px;text-align:center;border-bottom:1px solid #f4e2b8}.code{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;background:#e9f2f0;padding:2px 5px;border-radius:4px;font-size:12px;word-break:break-all}.inline-help{color:#789296;font-size:11px}.attachment-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.error-line{font-size:12px;color:#ac3939;margin-top:9px}.step-number{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#e6f7ed;color:#147255;font-weight:800;margin-right:8px}.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mini-kpi{padding:17px;background:#f6faf9;border-radius:11px}.mini-kpi .label{font-size:11px;color:#718c90}.mini-kpi .value{font-size:24px;font-weight:800;margin-top:4px;color:#214a51}.allocation-row{display:grid;grid-template-columns:1fr 135px 70px;gap:7px;align-items:center;padding:8px;border-bottom:1px solid #ebf1ef;font-size:12px}.allocation-row:last-child{border:none}.allocation-scroll{max-height:260px;overflow:auto;border:1px solid #e0eae8;border-radius:8px}.allocation-row input{padding:7px}.kbd{border:1px solid #cbded9;padding:3px 5px;border-radius:4px;font:11px monospace}
@media(max-width:1150px){.sidebar{width:221px}.content{padding:25px}.subgrid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.metric{padding:18px}}@media(max-width:790px){.app{display:block}.sidebar{display:none;position:fixed;top:0;left:0;height:100vh;width:270px;max-height:100vh;z-index:30;box-shadow:12px 0 40px #0003}.sidebar.open{display:flex}.menu-toggle{display:inline-grid;place-items:center;border:1px solid #d1e2e0;border-radius:9px;background:#fff;width:37px;height:37px;font-size:20px}.header{padding:13px 17px}.content{padding:22px 15px 55px}.metric-grid{grid-template-columns:1fr 1fr}.metric.feature{grid-column:1/-1}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.header-right .role-select{max-width:130px}.footer{padding-bottom:20px}}@media(max-width:510px){.metric-grid{grid-template-columns:1fr}.metric.feature{grid-column:auto}.form-grid,.form-grid.three,.preview-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.header-title{font-size:12px}.header-sub{display:none}.header-right{gap:5px}.content{padding:19px 12px 50px}.card-head{padding:16px}.card-pad,.form-panel>.card-pad{padding:17px}.metric{padding:20px}.allocation-row{grid-template-columns:1fr 105px 30px}.role-select{max-width:108px!important}.pill{font-size:10px;padding:6px 8px}.btn{font-size:11px;padding:10px}.page-head h1{font-size:25px}}
