@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--navy:#142b43;--ink:#1a2c3d;--muted:#80909f;--teal:#087c78;--line:#e7ecef;--bg:#f5f7f9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:13px}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}svg{width:19px;height:19px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#aabac9;position:fixed;inset:0 auto 0 0;width:244px;display:flex;flex-direction:column;z-index:30}.brand{height:88px;display:flex;gap:12px;align-items:center;padding:0 27px;color:white;border-bottom:1px solid #ffffff0c}.brandmark{background:#20b6a5;border-radius:9px;width:36px;height:38px;display:grid;place-items:center;color:#fff}.brandmark svg{width:25px;height:25px}.brand-name{font-family:Manrope,sans-serif;font-size:21px;font-weight:800;letter-spacing:-.7px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:3px;font-weight:500;color:#a6b9c9}.nav-scroll{overflow:auto;padding:25px 14px;flex:1;scrollbar-width:thin}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.7px;color:#738a9f;margin:0 14px 14px}.nav-group{margin:24px 0 0}.navbtn{width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:12px 14px;border-radius:7px;color:#adbdca;font-size:12px;position:relative}.navbtn svg{width:17px;height:17px;color:#8ca3b7}.navbtn:hover{background:#ffffff08;color:white}.navbtn.active{color:#fff;background:#22625f}.navbtn.active svg{color:#7ee1cf}.navbtn .arrow{margin-left:auto;font-size:14px}.subnav{padding-left:30px}.subnav .navbtn{font-size:11px;padding:9px 10px}.nav-bottom{margin:0 16px 16px;padding:17px 12px;border-top:1px solid #ffffff13;display:flex;gap:10px;align-items:center}.avatar{height:33px;width:33px;border-radius:50%;display:grid;place-items:center;background:#d9e9e6;color:#26786c;font-weight:700;font-size:11px}.nav-bottom strong{color:#edf2f5;font-size:11px;display:block}.nav-bottom small{font-size:10px;color:#7f98ac}.workspace{grid-column:2;min-width:0}.topbar{height:73px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:25px}.crumb{display:flex;align-items:center;gap:11px;color:#98a5af;font-size:11px}.crumb strong{font-weight:500;color:#516271}.top-right{display:flex;gap:20px;align-items:center}.top-date{font-size:11px;color:#778591;display:flex;gap:8px;align-items:center}.demo-tag{border:1px solid #e4eceb;border-radius:5px;padding:5px 9px;font-size:9px;letter-spacing:1px;color:#6c8683}.top-user{border-left:1px solid var(--line);padding-left:20px;display:flex;gap:10px;align-items:center}.iconbtn{padding:6px;position:relative}.page{padding:31px 36px 20px;max-width:1800px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:15px}h1,h2,h3,p{margin:0}h1{font-family:Manrope,sans-serif;font-size:27px;font-weight:800;letter-spacing:-1px;line-height:1.4}.subtitle{color:#8a97a3;margin-top:5px;font-size:12px}.eyebrow{color:#299083;font-size:9px;letter-spacing:1.5px;font-weight:700;margin-bottom:7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border-radius:6px;border:1px solid #dce3e8;background:white;font-size:11px;font-weight:600;white-space:nowrap}.btn svg{width:15px;height:15px}.btn.primary{background:var(--teal);border-color:var(--teal);color:white;box-shadow:0 3px 5px #087c7814}.btn:hover{filter:brightness(.97)}.btn.ghost{border:0;background:transparent;padding:4px;color:#6c7f8f}.btn.danger{color:#b54a4a}.head-actions{display:flex;gap:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);border-radius:9px;padding:20px 21px;position:relative;overflow:hidden}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#748390;font-size:11px;font-weight:500}.stat-icon{display:grid;place-items:center;height:33px;width:33px;border-radius:9px;color:#238f85;background:#eaf6f2}.stat:nth-child(2) .stat-icon{color:#5482be;background:#edf3fb}.stat:nth-child(3) .stat-icon{color:#d49a41;background:#fcf4e6}.stat:nth-child(4) .stat-icon{color:#8170b5;background:#f2eff9}.stat-value{font-family:Manrope,sans-serif;font-size:29px;font-weight:800;letter-spacing:-1px;margin-top:10px}.stat-bottom{font-size:10px;color:#9aa6b0;margin-top:9px;display:flex;gap:6px}.stat-bottom b{color:#218f77;font-weight:600}.grid-charts{display:grid;grid-template-columns:1.75fr 1fr;gap:22px;margin-bottom:23px}.card{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.card-head{padding:21px 23px 15px;display:flex;justify-content:space-between;align-items:center;gap:15px}.card-title{font-family:Manrope,sans-serif;font-size:14px;font-weight:800;letter-spacing:-.25px}.card-sub{font-size:10px;color:#98a3ad;margin-top:5px}.period{border:1px solid var(--line);font-size:10px;border-radius:5px;padding:7px 9px;display:flex;gap:12px;align-items:center}.legend{display:flex;gap:15px;color:#8b99a5;font-size:9px;margin:4px 23px 0}.legend span{display:flex;align-items:center;gap:6px}.dot{height:6px;width:6px;border-radius:50%;background:#208f83;display:inline-block}.dot.blue{background:#b5ccde}.chart{height:183px;margin:17px 24px 20px 19px;display:flex;gap:10px}.y-axis{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:24px;color:#a4afb8;font-size:9px;min-width:24px}.plot{position:relative;display:flex;flex:1;justify-content:space-around;align-items:flex-end;border-bottom:1px solid #edf1f4;background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#eff2f5 calc(25% - 1px),#eff2f5 25%);margin-bottom:24px}.bar-group{height:100%;display:flex;gap:6px;align-items:flex-end;position:relative;width:7%;justify-content:center}.bar{width:13px;background:#208f83;border-radius:3px 3px 0 0;min-height:2px;transition:height .3s}.bar.blue{background:#d0e0ec}.bar-group label{position:absolute;top:calc(100% + 10px);font-size:9px;color:#9ba8b2}.donut-area{display:flex;justify-content:center;align-items:center;padding:20px 20px 15px;gap:27px}.donut{width:143px;height:143px;border-radius:50%;background:conic-gradient(#168a7e 0 58%,#9bc5c2 58% 82%,#e0ecec 82%);position:relative;display:grid;place-items:center;flex-shrink:0}.donut:before{content:'';position:absolute;inset:22px;background:white;border-radius:50%}.donut-text{position:relative;text-align:center}.donut-text strong{display:block;font:800 28px Manrope,sans-serif;letter-spacing:-1px}.donut-text small{color:#8c9ba6;font-size:9px}.donut-legend{display:grid;gap:17px}.donut-legend div{display:flex;align-items:center;gap:8px;color:#8a99a5;font-size:10px}.donut-legend strong{color:#354c5d;font-size:11px;margin-left:auto;padding-left:10px}.donut-foot{border-top:1px solid #f0f2f4;margin:3px 23px 0;padding:13px 0;color:#929fa9;font-size:10px}.donut-foot b{color:#358e7c}.table-head{padding:21px 23px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.tabs{display:flex;gap:24px;align-items:center;border-bottom:1px solid var(--line);margin:16px 23px 0}.tab{padding:0 1px 12px;font-size:11px;color:#8a99a5;position:relative;display:flex;gap:7px;align-items:center}.tab.active{color:#147d74;font-weight:600;border-bottom:2px solid #16877d}.count{background:#edf5f2;padding:2px 5px;border-radius:4px;font-size:9px;color:#2e8a7c}.table-tools{padding:17px 23px;display:flex;gap:10px;justify-content:space-between}.search{display:flex;align-items:center;gap:9px;color:#96a3ad}.search input{border:0;background:transparent;outline:none;width:235px;font-size:11px;color:#4a5f71}.search svg{width:16px;height:16px}.filter-row{display:flex;gap:9px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:9px;text-transform:uppercase;letter-spacing:.65px;color:#8997a3;font-weight:600;padding:13px 22px;background:#fafbfc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:16px 22px;border-bottom:1px solid #edf1f4;font-size:11px;color:#5c6e7e}td strong{color:#3d5264;font-weight:600}.code{color:#1b8177;font-weight:600;font-size:11px}.cell-sub{display:block;font-size:9px;color:#9ba8b1;margin-top:4px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:4px;background:#eaf4f0;color:#3a967d;padding:5px 8px;font-size:9px}.badge:before{content:'';width:4px;height:4px;background:currentColor;border-radius:50%}.badge.amber{background:#fff4e1;color:#bd8c39}.badge.blue{background:#edf3fc;color:#658dc0}.badge.gray{background:#f0f2f4;color:#8996a1}.table-footer{padding:15px 23px;display:flex;align-items:center;justify-content:space-between;color:#98a5b0;font-size:10px}.pagination{display:flex;gap:5px;align-items:center}.pagination button{height:25px;min-width:26px;border:1px solid var(--line);border-radius:4px;font-size:10px}.pagination button.active{background:#178578;color:white;border-color:#178578}.bottom-row{display:grid;grid-template-columns:1.65fr 1fr;gap:22px;margin-top:23px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 22px 23px}.quick{border:1px solid var(--line);border-radius:7px;padding:17px 8px;text-align:center;transition:.15s}.quick:hover{border-color:#72b2a8;background:#f7fcfa}.quick svg{color:#4b958c;width:21px;height:21px;margin-bottom:10px}.quick span{display:block;font-size:10px;font-weight:500;color:#718391}.bay-list{display:flex;gap:9px;padding:8px 23px 23px}.bay{flex:1;text-align:center;padding:12px 6px;border-radius:6px;background:#eef7f3;color:#69a18e;font-size:9px}.bay.busy{background:#fcf5e8;color:#bd9b58}.bay svg{display:block;margin:0 auto 8px;width:23px;height:23px}.bay strong{display:block;font-size:10px;color:#537465;margin-bottom:5px}.bay.busy strong{color:#a78a54}.footer{display:flex;justify-content:space-between;padding:24px 1px 4px;color:#a0acb5;font-size:9px;gap:10px}.footer a{color:#748f8c}.empty{padding:50px;text-align:center;color:#8a9ba8}.form-card{padding:24px;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.field label{display:block;font-size:11px;font-weight:500;color:#687e8e;margin-bottom:8px}.field label em{color:#d79867;font-style:normal}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe6eb;border-radius:5px;padding:10px 12px;background:white;outline:0;color:#3e5668;min-height:38px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#3a9c8c;box-shadow:0 0 0 3px #329c8a0c}.field textarea{min-height:78px;resize:vertical}.field input[type=checkbox]{width:18px;min-height:18px}.field.wide{grid-column:1/-1}.section-title{font:700 13px Manrope,sans-serif;margin-bottom:21px;padding-bottom:15px;border-bottom:1px solid var(--line)}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.steps{display:flex;gap:30px;padding:20px 25px;margin-bottom:20px}.step{color:#99a7b1;display:flex;align-items:center;gap:9px;font-size:11px}.step span{border:1px solid #dce4e9;border-radius:50%;display:grid;place-items:center;width:25px;height:25px;font-size:10px}.step.active{color:#16887c}.step.active span{background:#16887c;color:white;border-color:#16887c}.notice{border:1px solid #dcebe7;background:#f0f8f5;padding:13px 17px;border-radius:6px;color:#5e8e82;font-size:11px;margin-bottom:20px}.modal-bg{position:fixed;inset:0;background:#0c243e70;z-index:100;display:flex;justify-content:center;align-items:center;padding:25px;backdrop-filter:blur(2px)}.modal{background:#fff;width:820px;max-width:100%;max-height:90vh;border-radius:12px;overflow:auto;box-shadow:0 20px 80px #0c243e30}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:23px 25px;border-bottom:1px solid var(--line)}.modal h2{font:800 19px Manrope,sans-serif}.modal-body{padding:25px}.modal .form-grid{grid-template-columns:repeat(2,1fr)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#153d38;color:white;border-radius:7px;padding:13px 22px;box-shadow:0 5px 25px #0002;z-index:200;display:none;font-size:12px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-intro{background:var(--navy);padding:65px;display:flex;flex-direction:column;justify-content:center;color:white}.login-intro h1{font-size:48px;max-width:480px;line-height:1.2;margin:70px 0 24px}.login-intro p{color:#a5b9c8;line-height:1.8;max-width:380px}.login-form{display:flex;align-items:center;justify-content:center;padding:30px}.login-form form{width:350px}.login-form h2{font:800 28px Manrope,sans-serif;margin-bottom:12px}.login-form .field{margin-top:22px}.login-form .btn{width:100%;margin-top:25px}.error{color:#ba4e4e;font-size:11px;margin-top:10px}.mobile-toggle{display:none}.report-summary{display:flex;justify-content:flex-end;gap:40px;padding:22px;background:#fbfcfc;border-top:1px solid var(--line)}.report-summary small{display:block;color:#8b9aa5;font-size:10px;margin-bottom:5px}.report-summary strong{font:800 19px Manrope,sans-serif}.row-actions{display:flex;gap:10px;align-items:center}.row-actions .btn{padding:6px 9px;font-size:10px}.invoice{max-width:800px;margin:auto;padding:35px}.invoice h1{font-size:25px}.invoice-top{display:flex;justify-content:space-between;margin-bottom:25px}.invoice-meta{display:grid;grid-template-columns:1fr 1fr;margin:30px 0;gap:20px;line-height:1.8}.invoice-total{margin-left:auto;width:270px;margin-top:25px}.invoice-total div{display:flex;justify-content:space-between;padding:10px}.invoice-total .grand{border-top:2px solid var(--teal);font-weight:700;font-size:17px}.file-help{font-size:10px;color:#94a2ad;margin-top:6px}.hidden{display:none!important}
@media(min-width:1500px){.page{padding-top:38px}.chart{height:210px}.stat{padding:24px}.donut-area{padding-top:30px;padding-bottom:25px}}
@media(max-width:1200px){.sidebar{width:215px}.shell{grid-template-columns:215px 1fr}.topbar,.page{padding-left:24px;padding-right:24px}.stat{padding:16px}.donut-area{gap:15px}.donut{width:120px;height:120px}.donut-legend{gap:14px}.top-date{display:none}.grid-charts{grid-template-columns:1.5fr 1fr}td,th{padding-left:15px;padding-right:15px}.brand{padding:0 20px}.brand-name{font-size:20px}.quick-grid{gap:8px}.quick{padding:15px 5px}}
@media(max-width:950px){.stats{grid-template-columns:repeat(2,1fr)}.grid-charts,.bottom-row{grid-template-columns:1fr}.donut-area{justify-content:flex-start;padding:20px 40px;gap:40px}.form-grid{grid-template-columns:repeat(2,1fr)}.head-actions .btn:first-child{display:none}.donut-legend{min-width:160px}}
@media(max-width:700px){.shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 40px #0003}.workspace{width:100%}.topbar{height:60px;padding:0 17px;gap:10px}.mobile-toggle{display:block}.top-right{gap:10px}.top-user{padding-left:10px}.demo-tag{display:none}.page{padding:23px 17px}.crumb{font-size:10px;gap:6px}.crumb svg{display:none}h1{font-size:23px}.subtitle{font-size:11px;max-width:210px;line-height:1.6}.page-head{align-items:flex-start}.head-actions .btn{font-size:10px;padding:10px}.stats{gap:10px}.stat{padding:15px}.stat-value{font-size:25px}.stat-top{font-size:10px}.stat-icon{height:28px;width:28px}.stat-bottom{font-size:9px}.table-tools{flex-wrap:wrap;padding:15px}.search input{width:200px}.card-head,.table-head{padding:18px 16px}.tabs{margin-left:16px;gap:18px}.form-grid,.modal .form-grid{grid-template-columns:1fr}.form-card{padding:18px}.steps{gap:12px;padding:16px}.step{font-size:9px;gap:5px}.step span{width:21px;height:21px}.quick-grid{padding:0 15px 18px;grid-template-columns:repeat(2,1fr)}.footer{line-height:1.8;flex-wrap:wrap}.top-user strong{display:none}.login{grid-template-columns:1fr}.login-intro{padding:30px}.login-intro h1{font-size:30px;margin-top:25px}.login-intro p{display:none}.login-form{padding:35px}.modal-bg{padding:10px}.modal-body{padding:18px}.report-summary{gap:20px}.table-footer{padding:13px;font-size:9px}}
@media print{body{background:white}.sidebar,.topbar,.page-head,.footer,.no-print,.modal-head{display:none!important}.shell{display:block}.workspace{width:100%}.page{padding:0}.modal-bg{position:static;background:white;padding:0;display:block}.modal{width:100%;max-height:none;box-shadow:none}.modal-body{padding:0}body:has(.modal-bg) #app{display:none}.invoice{padding:15px}th,td{font-size:10px}.card{border:0}.invoice .invoice-top h1{display:block}}
