:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#18211d;background:#f5f7f4;line-height:1.5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}.app{min-height:100vh}aside{position:fixed;inset:0 auto 0 0;width:250px;background:#12251d;color:#fff;padding:28px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-weight:750;line-height:1.2}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#b9ef74;color:#12251d;font-weight:900}aside nav{display:grid;gap:8px;margin-top:46px}aside nav button{border:0;background:transparent;color:#bfcac4;text-align:left;padding:12px;border-radius:10px;font-weight:650}aside nav button.active{background:#284437;color:#fff}aside nav button:disabled{opacity:.45;cursor:not-allowed}.user{margin-top:auto;padding-top:20px;border-top:1px solid #365044;display:grid;overflow-wrap:anywhere}.user small{color:#aebcb5}.user button{color:#d4ded9;background:none;border:0;text-align:left;padding:10px 0}.content{margin-left:250px;max-width:1280px;padding:48px clamp(24px,5vw,72px)}.page-header{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:32px}.eyebrow{color:#50755f;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;margin:0 0 8px}h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;margin:0}h2{margin:0;font-size:1.2rem}.muted{color:#68736d}.page-header>button,.submit,.login form button{border:0;border-radius:11px;background:#1b603e;color:#fff;padding:13px 18px;font-weight:750}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stats article,.panel{background:#fff;border:1px solid #dde4df;border-radius:16px;padding:22px}.stats article{display:grid}.stats strong{font-size:2rem}.stats small,.job-list small,label small{color:#718079}.panel{margin-bottom:20px}.section-title{display:flex;justify-content:space-between;align-items:start}.mock-label{font-size:.7rem;letter-spacing:.08em;font-weight:800;color:#587060;background:#eef4ef;border-radius:999px;padding:5px 9px}.job-list{margin-top:20px}.job-list article{display:grid;grid-template-columns:auto 1fr auto auto;gap:13px;align-items:center;border-top:1px solid #e8ece9;padding:16px 0}.job-list article>div:nth-child(2){display:grid}.avatar{display:grid;place-items:center;width:42px;height:42px;background:#e8f6df;border-radius:12px;color:#235c3d;font-weight:850}.status{color:#2e6d4a;background:#edf8f1;border-radius:999px;padding:4px 9px;font-size:.75rem}.job-list button{border:0;background:none;font-size:1.6rem}.login{min-height:100vh;display:grid;place-content:center;padding:24px;background:radial-gradient(circle at top,#edf8df,#f5f7f4 50%)}.login>.brand{margin:0 auto 30px}.login-card{width:min(100%,440px);background:#fff;border:1px solid #dbe4de;border-radius:22px;padding:32px;box-shadow:0 22px 50px #173b2812}.login-card h1{font-size:2.25rem}.login form,.analysis-form label{display:grid;gap:7px;font-weight:700}.login form{gap:15px;margin-top:25px}input,select{width:100%;border:1px solid #bac7bf;border-radius:10px;padding:12px;background:#fff}.notice,.error,.success{padding:12px 14px;border-radius:10px}.notice,.success{background:#eaf7ee;color:#205a39}.error{background:#fff0ee;color:#8b2f26}.analysis-form{max-width:800px}.analysis-form .panel{display:grid;gap:20px}.grid,.limits{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.limits{grid-template-columns:repeat(3,1fr)}.platforms{display:grid;grid-template-columns:1fr 1fr;gap:12px}.platforms label{display:block}.platforms input{width:auto;margin-right:9px}.platforms span{display:inline-block;border:1px solid #c7d2ca;border-radius:10px;padding:12px;width:calc(100% - 25px)}.scope{display:flex;justify-content:space-between;background:#f0f6ee;border-radius:10px;padding:13px}.submit{display:block;margin-left:auto}.center{text-align:center}.mobile-nav{display:none}.loading{padding:40px}@media(max-width:760px){aside{display:none}.content{margin:0;padding:25px 18px 100px}.page-header{align-items:stretch;flex-direction:column}.page-header>button{width:100%}.stats{grid-template-columns:1fr 1fr}.stats article:last-child{grid-column:1/-1}.job-list article{grid-template-columns:auto 1fr}.job-list .status{grid-column:2}.job-list article>button{display:none}.grid,.limits{grid-template-columns:1fr}.scope{display:grid;gap:3px}.mobile-nav{position:fixed;display:flex;justify-content:space-around;inset:auto 0 0;background:#fff;border-top:1px solid #d9e0db;padding:8px 10px max(8px,env(safe-area-inset-bottom));z-index:2}.mobile-nav button{display:grid;gap:2px;place-items:center;border:0;background:none;color:#627068;font-size:1.2rem}.mobile-nav button span{font-size:.68rem}.mobile-nav button.active{color:#1b603e;font-weight:800}.login-card{padding:24px}.platforms{grid-template-columns:1fr}}.password-field{position:relative;display:flex}.password-field input{padding-right:84px}.password-field button{position:absolute;right:7px;top:7px;bottom:7px;border:0;border-radius:7px;background:#eef4ef;color:#24523a;font-weight:700}button:disabled{cursor:wait;opacity:.65}.session-banner{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:24px;padding:12px 16px;border:1px solid #d8e5dc;border-radius:12px;background:#edf6ef}.session-banner span{color:#496357;font-size:.88rem}.mobile-signout{display:none}.login-card>button{width:100%;border:0;border-radius:11px;background:#1b603e;color:#fff;padding:13px 18px;font-weight:750}@media(max-width:760px){.login{place-content:center stretch;padding:18px}.login-card{width:100%}.session-banner{display:grid}.mobile-signout{display:block;border:0;background:transparent;color:#1b603e;padding:4px 0;text-align:left;font-weight:750}}
