@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#142535;--muted:#70808c;--border:#dfe6e9;--green:#197f69;--dark:#0c2030;--cream:#f8faf9;--shadow:0 22px 70px rgba(17,35,49,.07)}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream)}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button{cursor:pointer}.site-shell{min-height:100vh;display:grid;grid-template-columns:48% 52%}.brand-panel{background:var(--dark);color:#fff;min-height:100vh;padding:46px 9%;display:flex;flex-direction:column;position:relative;overflow:hidden}.brand-panel:after{content:'';position:absolute;width:560px;height:560px;border:1px solid rgba(149,216,200,.12);border-radius:50%;right:-280px;bottom:-160px;box-shadow:0 0 0 90px rgba(149,216,200,.025),0 0 0 180px rgba(149,216,200,.02);pointer-events:none}.brand{font-family:Manrope,sans-serif;color:inherit;font-weight:800;letter-spacing:-1.3px;font-size:25px;display:inline-flex;align-items:center;gap:10px;width:max-content}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#b6e7d6;color:#124737;font-size:24px}.brand-period{color:#85d8b9;margin-left:-10px}.brand-content{margin:auto 0;max-width:530px;position:relative;z-index:1}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2.2px;color:#8bd9c1}.brand-content h1{font-family:Manrope,sans-serif;font-size:clamp(40px,4.2vw,70px);letter-spacing:-3.6px;line-height:1.09;margin:25px 0}.brand-content p{color:#b6c7d0;font-size:17px;line-height:1.8;max-width:390px}.panel-grid{display:flex;gap:15px;flex-wrap:wrap;margin-top:65px;font-size:11px;color:#94b1bd}.panel-grid span{border-top:1px solid #385263;padding-top:15px;min-width:125px}.brand-footer{font-size:12px;color:#8fa6b2}.main-panel{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:45px 36px}.auth-content{width:100%;max-width:420px;margin:auto 0}.form-heading h2{font-family:Manrope,sans-serif;letter-spacing:-1.6px;font-size:34px;line-height:1.22;margin:14px 0 10px}.form-heading p{color:var(--muted);line-height:1.7;font-size:14px;margin:0 0 35px}.eyebrow.dark{color:var(--green)}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{font-size:13px;font-weight:700;margin-top:7px}.auth-form input:not([type=checkbox]){width:100%;height:49px;border:1px solid #dbe3e5;background:white;border-radius:9px;padding:0 15px;color:var(--ink);outline:none;transition:border .2s,box-shadow .2s}.auth-form input:focus{border-color:#238d77;box-shadow:0 0 0 3px #1a92751c}.auth-form input::placeholder{color:#a0adb5}.label-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.label-row a{font-size:12px;font-weight:700}.password-wrap{position:relative}.password-wrap input{padding-right:65px!important}.show-password{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--green);font-size:12px;font-weight:700}.checkbox-line{display:flex;align-items:center;gap:9px;color:#576875;font-weight:500!important;margin:12px 0!important}.checkbox-line input{accent-color:var(--green)}.primary-button{margin-top:15px;width:100%;border:0;border-radius:9px;background:#167a65;color:white;min-height:50px;padding:0 18px;font-weight:700;display:flex;align-items:center;justify-content:space-between;transition:background .2s,transform .2s}.primary-button:hover{background:#105e4f;transform:translateY(-1px)}.primary-button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #83d7be;outline-offset:3px}.form-foot{text-align:center;margin-top:28px;font-size:13px;color:#6d7f89}.form-foot a{font-weight:700}.main-footer{font-size:11px;color:#a1adb4}.flash-stack{margin-bottom:20px}.flash{border-radius:8px;padding:12px 15px;margin-bottom:8px;background:#e9f5f0;color:#17634f;font-size:13px}.flash.error{background:#fff0ed;color:#a83c31}.flash.warning{background:#fff5e6;color:#8a5b13}.mobile-brand{display:none}.dashboard-body{background:#f5f8f7}.dashboard-layout{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.dash-sidebar{background:#0c2030;color:#9eb3bf;padding:34px 23px;display:flex;flex-direction:column;gap:9px}.dash-sidebar .brand{color:white;margin-bottom:55px}.side-caption{font-size:10px;letter-spacing:1.5px;color:#668494;font-weight:700;margin:23px 12px 8px}.dash-sidebar>a:not(.brand),.dash-sidebar>span{padding:12px;border-radius:9px;font-size:13px;color:#93aab6}.dash-sidebar .nav-active{background:#1c3e48;color:#e5faf2!important}.sidebar-bottom{margin-top:auto;font-size:11px;color:#63808e}.dash-main{padding:0 6% 70px}.dash-header{height:86px;border-bottom:1px solid #e1e8e7;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#6b7d87}.signout{border:1px solid #d7e1e0;border-radius:8px;background:white;padding:10px 16px;color:#2c5f59}.dash-welcome{padding:62px 0 42px}.dash-welcome h1{font-family:Manrope,sans-serif;font-size:clamp(30px,4vw,46px);letter-spacing:-2px;margin:14px 0}.dash-welcome p{color:#73838c;max-width:570px;line-height:1.8}.empty-state{border:1px dashed #cbdad6;border-radius:18px;background:white;padding:65px 25px;text-align:center;max-width:850px}.empty-icon{width:58px;height:58px;background:#e4f3ec;color:#267e64;border-radius:16px;display:grid;place-items:center;margin:0 auto 19px;font-size:29px}.empty-state h2{font-family:Manrope,sans-serif;letter-spacing:-1px}.empty-state p{max-width:430px;margin:0 auto 25px;color:#71838c;line-height:1.7;font-size:14px}.coming-soon{display:inline-block;border-radius:20px;background:#f0f5f3;color:#467468;padding:9px 15px;font-size:11px;font-weight:700}@media(max-width:850px){.site-shell{grid-template-columns:1fr}.brand-panel{display:none}.main-panel{min-height:100vh;padding:28px 24px}.mobile-brand{display:block;align-self:flex-start;font-family:Manrope,sans-serif;font-weight:800;font-size:20px;color:var(--green)}.auth-content{padding:45px 0}.dashboard-layout{grid-template-columns:1fr}.dash-sidebar{padding:18px;flex-direction:row;align-items:center;overflow:auto}.dash-sidebar .brand{margin:0 15px 0 0}.dash-sidebar .side-caption,.dash-sidebar>span,.sidebar-bottom{display:none}.dash-main{padding:0 24px 50px}.dash-header{height:70px}.dash-welcome{padding:40px 0 25px}}@media(max-width:450px){.form-heading h2{font-size:29px}.main-panel{padding:24px 19px}.dash-sidebar .brand{font-size:20px}}
