@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700&family=Playfair+Display:wght@400;500;600;700&display=swap");:root{--green-900:#003912;--green-700:#00732e;--green-500:#00d16b;--green-100:#d0f7e6;--orange:#ff7640;--lime:#d0e500;--ink:#0c1611;--charcoal:#2a322d;--slate:#5c655f;--mist:#9aa39c;--line:#e5e9e4;--paper:#f6f8f4;--white:#ffffff;--serif:"Playfair Display",Georgia,serif;--sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:28px 24px 72px}.topbar{display:flex;align-items:center;justify-content:space-between;margin:8px 0 24px}.logout{border:1px solid var(--line);background:var(--white);color:var(--slate);border-radius:9px;padding:8px 16px;font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer}.logout:hover{color:var(--ink);border-color:var(--mist)}.hello{margin-bottom:30px}.hello .eyebrow{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--green-700);margin:0 0 10px}.hello h1{font-family:var(--serif);font-weight:500;font-size:40px;line-height:1.05;letter-spacing:-.01em;margin:0 0 8px;color:var(--ink)}.hello h1 .accent{color:var(--green-700)}.hello p{margin:0;color:var(--slate);font-size:16px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:18px;gap:18px}.tile{position:relative;display:block;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:24px;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;overflow:hidden}.tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent,var(--green-500));opacity:0;transition:opacity .14s ease}.tile:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,57,18,.1);border-color:transparent}.tile:hover:before{opacity:1}.tile .icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;font-size:24px;margin-bottom:16px}.tile h3{font-family:var(--serif);font-weight:600;margin:0 0 3px;font-size:20px;color:var(--ink)}.tile .tag{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:11px}.tile p{margin:0;font-size:14px;color:var(--slate);line-height:1.55}.tile .go{margin-top:18px;font-size:14px;font-weight:600;color:var(--green-700)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,rgba(0,209,107,.16),transparent 60%),linear-gradient(160deg,var(--green-900),#052c14 60%,var(--green-900))}.login-card{width:100%;max-width:400px;background:var(--white);border-radius:22px;padding:36px 34px;box-shadow:0 30px 70px rgba(0,20,8,.45)}.login-card .logo{width:64px;height:64px;border-radius:16px;display:block;margin:0 auto 20px}.login-card h1{text-align:center;font-family:var(--serif);font-weight:500;font-size:27px;margin:0 0 4px;color:var(--ink)}.login-card h1 .accent{color:var(--green-700)}.login-card .sub{text-align:center;color:var(--slate);font-size:14px;margin:0 0 26px}.field{display:block;width:100%;border:1px solid var(--line);border-radius:11px;padding:13px 15px;font-size:15px;font-family:var(--sans);margin-bottom:12px;background:var(--white);color:var(--ink)}.field:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 3px rgba(0,209,107,.14)}.btn{width:100%;border:none;border-radius:11px;background:var(--green-700);color:#fff;font-size:15px;font-weight:600;font-family:var(--sans);padding:13px;cursor:pointer;transition:background .12s ease}.btn:hover{background:var(--green-900)}.btn:disabled{opacity:.6;cursor:not-allowed}.error{color:#b3261e;font-size:14px;text-align:center;margin:0 0 12px;min-height:18px}