:root{color:#18312c;background:#f4f7f4;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Inter,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{background:#f4f7f4}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.auth-layout{min-height:100vh;background:linear-gradient(180deg,#e8f2eb 0,#f6f8f6 42%)}.brand-panel{min-height:300px;padding:max(1.25rem,env(safe-area-inset-top)) 1.25rem 4.5rem;color:#173a32;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.brand-panel:before,.brand-panel:after{content:"";position:absolute;border:1px solid rgba(42,121,100,.12);border-radius:50%;pointer-events:none}.brand-panel:before{width:260px;height:260px;right:-90px;top:-110px}.brand-panel:after{width:180px;height:180px;right:-48px;top:-72px}.brand-mark{width:44px;height:44px;border-radius:14px;background:#23735e;color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:850;letter-spacing:-.03em;box-shadow:0 8px 24px #23735e2e;position:relative;z-index:1}.eyebrow,.step{margin:0;color:#478071;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.brand-panel h1{max-width:620px;margin:.7rem 0 1rem;font-size:clamp(2.65rem,12vw,5.5rem);line-height:.98;letter-spacing:-.06em}.brand-copy{max-width:520px;margin:0;color:#5f746e;font-size:1rem;line-height:1.6}.brand-stats{display:none}.auth-panel{min-height:calc(100vh - 265px);margin-top:-2.25rem;padding:0 1rem max(1.5rem,env(safe-area-inset-bottom));display:grid;place-items:start center;position:relative;z-index:2}.demo-badge{display:none}.auth-card{width:min(100%,450px);padding:1.55rem;background:#ffffffeb;border:1px solid rgba(211,222,216,.9);border-radius:26px;box-shadow:0 22px 60px #26453b1a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.auth-card h2{margin:.35rem 0 .65rem;font-size:1.75rem;letter-spacing:-.045em}.muted{margin:0 0 1.45rem;color:#71807b;line-height:1.55}.auth-card label{display:grid;gap:.5rem;margin:1rem 0;color:#365049;font-size:.79rem;font-weight:750}.auth-card input,.auth-card select{width:100%;min-height:52px;padding:.9rem 1rem;border:1px solid #d5dfda;border-radius:14px;background:#f9fbfa;color:#18312c;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.auth-card input:focus,.auth-card select:focus{border-color:#4b917e;background:#fff;box-shadow:0 0 0 4px #4b917e1f}.auth-card button[type=submit]{width:100%;min-height:52px;margin-top:1rem;padding:1rem 1.1rem;border:0;border-radius:14px;background:#23735e;color:#fff;font-weight:800;display:flex;justify-content:space-between;align-items:center;cursor:pointer;box-shadow:0 12px 24px #23735e2e}.auth-card button:disabled{cursor:wait;opacity:.62}.form-message{margin:.75rem 0 0;padding:.75rem .85rem;border-radius:12px;font-size:.76rem;line-height:1.4}.form-message.error{background:#fff2ef;color:#8a3d31}.form-message.success{background:#edf8f2;color:#276c59}.preview-link{margin-top:-.45rem;color:#6f817b}.text-button{width:100%;min-height:46px;padding:.85rem;border:0;background:none;color:#357361;font-size:.8rem;font-weight:750;cursor:pointer}.otp-input{font-size:1.5rem;letter-spacing:.4em;text-align:center}.privacy-note{max-width:420px;margin:1rem auto 0;color:#8b9793;font-size:.68rem;text-align:center}.dashboard-shell{min-height:100vh;padding-bottom:calc(86px + env(safe-area-inset-bottom));background:#f4f7f4}.desktop-sidebar{display:none}.dashboard-main{width:min(100%,1180px);margin:0 auto;padding:max(1.25rem,env(safe-area-inset-top)) 1rem 1.5rem}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dashboard-header h2{max-width:18ch;margin:.35rem 0 0;font-size:clamp(1.7rem,7vw,2.5rem);line-height:1.05;letter-spacing:-.05em}.dashboard-header h2 span{display:block;overflow:hidden;text-overflow:ellipsis}.profile-button{width:46px;height:46px;flex:0 0 auto;border:1px solid #d7e2dc;border-radius:50%;background:#fff;color:#276c59;font-size:.72rem;font-weight:850;box-shadow:0 6px 18px #26453b14}.data-status{width:max-content;max-width:100%;margin:1rem 0;padding:.5rem .7rem;border:1px solid #dce6e1;border-radius:999px;background:#ffffffd1;display:flex;align-items:center;gap:.45rem;color:#587069;font-size:.68rem}.data-status>span{width:7px;height:7px;border-radius:50%;background:#4b9a76;box-shadow:0 0 0 4px #4b9a761a}.data-status.loading>span{background:#d0a24c}.data-status.synthetic>span{background:#8a9692}.data-status strong{color:#31584d}.data-status small{color:#8b9894}.dashboard-message{margin:-.35rem 0 1rem;color:#8a3d31;font-size:.76rem}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.metrics article,.chart-card,.invoice-card{min-width:0;padding:1.05rem;border:1px solid #dfe7e3;border-radius:22px;background:#fff;box-shadow:0 10px 30px #26453b0e}.metrics .usage-card{grid-column:1 / -1;min-height:175px;background:linear-gradient(145deg,#e3f2e9,#f7fbf8);border-color:#cfe1d7;position:relative;overflow:hidden}.metrics .usage-card:after{content:"";position:absolute;width:180px;height:180px;right:-70px;bottom:-105px;border:1px solid rgba(47,124,101,.15);border-radius:50%;box-shadow:0 0 0 28px #2f7c6509,0 0 0 58px #2f7c6506}.metric-icon{width:34px;height:34px;margin-bottom:1.25rem;border-radius:11px;background:#2d8069;color:#fff;display:grid;place-items:center;font-weight:900}.metric-icon.soft{margin-bottom:1rem;background:#edf4f0;color:#39715f}.metrics span,.card-heading span{display:block;color:#75857f;font-size:.72rem}.metrics strong{display:block;margin:.6rem 0;font-size:clamp(1.25rem,6vw,2rem);letter-spacing:-.04em}.metrics small{font-size:.7rem;letter-spacing:0}.metrics em{color:#7d8c87;font-size:.68rem;font-style:normal}.dashboard-grid{display:grid;gap:.75rem;margin-top:.75rem}.card-heading{display:flex;justify-content:space-between;align-items:flex-start}.card-heading strong{display:block;margin-top:.25rem;font-size:1rem}.card-heading button{min-width:42px;min-height:36px;border:0;border-radius:11px;background:#f1f5f3;color:#39715f;font-size:.72rem;font-weight:750}.bars{height:210px;display:flex;align-items:end;gap:.65rem;padding-top:1.75rem}.bars div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:.55rem}.bars i{width:100%;max-width:34px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#65b799,#2f8069);box-shadow:0 6px 14px #2f80691f}.bars small{color:#82908b;font-size:.64rem;text-transform:capitalize}.invoice-row{min-width:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.95rem 0;border-bottom:1px solid #edf1ef}.invoice-row:last-child{border-bottom:0;padding-bottom:0}.invoice-date{width:40px;height:44px;border-radius:12px;background:#edf4f0;display:grid;place-items:center;align-content:center;color:#356c5c}.invoice-date strong{font-size:.9rem;line-height:1}.invoice-date small{margin-top:.2rem;font-size:.58rem;text-transform:capitalize}.invoice-copy{min-width:0}.invoice-copy strong,.invoice-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-copy strong{font-size:.78rem}.invoice-copy small{margin-top:.25rem;color:#899590;font-size:.62rem}.invoice-amount{text-align:right}.invoice-amount strong{display:block;font-size:.72rem}.invoice-amount small{display:block;margin-top:.25rem;color:#82908b;font-size:.6rem}.invoice-amount .pending{color:#a66c1e}.invoice-amount .paid{color:#44815d}.mobile-tab-bar{position:fixed;z-index:10;left:50%;bottom:max(.65rem,env(safe-area-inset-bottom));width:min(calc(100% - 1.25rem),460px);min-height:66px;padding:.45rem .5rem;border:1px solid rgba(211,222,216,.9);border-radius:22px;background:#ffffffe6;box-shadow:0 16px 40px #26453b29;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transform:translate(-50%);display:grid;grid-template-columns:repeat(4,1fr)}.mobile-tab-bar button{min-width:0;min-height:52px;border:0;border-radius:15px;background:none;color:#84918d;display:grid;place-items:center;align-content:center;gap:.2rem}.mobile-tab-bar button span{font-size:1rem}.mobile-tab-bar button small{font-size:.6rem}.mobile-tab-bar button.active{background:#eaf3ee;color:#2d715e}@media(min-width:760px){.auth-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:#f7f9f7}.brand-panel{min-height:100vh;padding:3rem clamp(2.5rem,7vw,7rem);background:linear-gradient(145deg,#e0eee5,#f2f7f3)}.brand-panel h1{font-size:clamp(3.6rem,6vw,6rem)}.brand-stats{display:flex;gap:2.5rem;color:#698078}.brand-stats span{display:grid}.brand-stats strong{color:#234b40;font-size:1.35rem}.auth-panel{min-height:100vh;margin:0;padding:2rem;place-items:center;align-content:center}.demo-badge{margin-bottom:1rem;padding:.5rem .75rem;border:1px solid #d8e3dd;border-radius:999px;background:#fff;display:block;color:#667a73;font-size:.7rem;font-weight:750}.demo-badge span{display:inline-block;width:7px;height:7px;margin-right:.4rem;border-radius:50%;background:#5ca07e}.auth-card{padding:2.5rem}}@media(min-width:920px){.dashboard-shell{padding:0 0 0 220px}.desktop-sidebar{position:fixed;inset:0 auto 0 0;width:220px;padding:1.6rem 1rem;border-right:1px solid #e0e8e4;background:#fafcfaf0;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.desktop-sidebar nav{display:grid;gap:.35rem;margin-top:2.5rem}.desktop-sidebar nav button,.exit{min-height:46px;padding:.75rem .85rem;border:0;border-radius:13px;background:none;color:#70827b;display:flex;align-items:center;gap:.75rem;text-align:left;font-size:.78rem;font-weight:700}.desktop-sidebar nav button span{width:20px;color:#5d7c72;text-align:center}.desktop-sidebar nav button.active{background:#eaf3ee;color:#285e4f}.exit{margin-top:auto;cursor:pointer}.dashboard-main{padding:2.25rem clamp(2rem,4vw,4rem)}.metrics{grid-template-columns:1.35fr 1fr 1fr}.metrics .usage-card{grid-column:auto}.dashboard-grid{grid-template-columns:1.15fr .95fr}.mobile-tab-bar{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
