:root{
  --green:#159947;
  --green-dark:#0f7f3a;
  --green-soft:#edf9f1;
  --green-soft-2:#e4f5ea;
  --green-line:#bfe5cc;
  --navy:#102233;
  --ink:#22313f;
  --muted:#6e7a89;
  --line:#e4e9ee;
  --bg:#f8faf9;
  --card:#fff;
  --danger:#dc2626;
  --orange:#bf6b05;
  --blue:#2563eb;
  --shadow:0 14px 40px rgba(16,34,51,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);font-weight:400;letter-spacing:-.01em;overflow-x:hidden}
a{text-decoration:none;color:inherit}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.topbar{min-height:5.2rem;display:flex;align-items:center;justify-content:space-between;width:min(100%,1200px);margin:auto;padding:0 2%}.brand{display:flex;align-items:center}.brand img{width:clamp(10rem,18vw,18rem);display:block}.member-btn{margin-left:auto;background:var(--green);color:#fff;padding:.78rem 1.15rem;border-radius:999px;font-size:.92rem;font-weight:400;box-shadow:0 10px 24px rgba(21,153,71,.18);transition:.2s ease}.member-btn:hover{background:var(--green-dark);transform:translateY(-1px)}.mobile-toggle{display:none;border:0;background:var(--green-soft);border-radius:14px;font-size:1.5rem;padding:.45rem .75rem;margin-left:.75rem;color:var(--navy)}.main-nav{width:min(100%,1200px);margin:auto;padding:0 2% .85rem;display:flex;gap:.3rem;justify-content:center;flex-wrap:wrap}.main-nav a{position:relative;padding:.72rem .95rem .66rem 1.05rem;border-left:2px solid transparent;border-bottom:0;border-radius:13px 13px 0 13px;color:#405063;font-size:.93rem;font-weight:400;transition:.22s ease}.main-nav a:hover,.main-nav a.active{background:var(--green-soft);color:var(--green-dark);border-left-color:var(--green-dark)}.hero{width:min(100%,1200px);margin:0 auto;padding:clamp(2.5rem,6vw,5rem) 2% 4rem;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3%;align-items:center}.pill,.eyebrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--green-dark);background:var(--green-soft);border:1px solid var(--green-line);border-radius:999px;padding:.55rem .85rem;font-size:.83rem;font-weight:400}.hero h1,.section h2{font-size:clamp(2.15rem,4.8vw,4rem);line-height:1.04;margin:1.1rem 0;color:#071827;letter-spacing:-.045em;font-weight:500}.section h2{font-size:clamp(1.8rem,3vw,2.85rem)}.hero p,.section p{font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.7;color:var(--muted);max-width:43rem;font-weight:400}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.8rem 0}.btn{border:0;border-radius:14px;padding:.86rem 1rem;font-weight:400;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s ease;white-space:nowrap}.btn.primary{background:var(--green);color:#fff;box-shadow:0 12px 28px rgba(21,153,71,.18)}.btn.primary:hover{background:var(--green-dark);transform:translateY(-1px)}.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--navy)}.btn.secondary:hover{border-color:var(--green-dark);color:var(--green-dark);transform:translateY(-1px)}.btn.full{width:100%}.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1.75rem}.trust-grid div{background:#fff;border:1px solid var(--line);padding:1rem;border-radius:18px;box-shadow:0 8px 24px rgba(16,34,51,.04)}.trust-grid strong{display:block;font-size:clamp(1.35rem,2vw,1.7rem);font-weight:500;color:var(--navy)}.trust-grid span{font-size:.82rem;color:var(--muted);font-weight:400}.browser-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:1.1rem;box-shadow:var(--shadow);max-width:100%}.browser-dots{display:flex;gap:.5rem;margin-bottom:1rem}.browser-dots span{width:.7rem;height:.7rem;border-radius:999px;background:#cbd5e1}.app-preview{display:grid;grid-template-columns:28% 1fr;min-height:22rem;background:linear-gradient(135deg,#f8fffa,#eef6ff);border-radius:22px;overflow:hidden}.preview-sidebar{background:#102233;color:#fff;padding:1.35rem;display:flex;flex-direction:column;gap:1rem}.preview-sidebar b{font-size:1.25rem;font-weight:500}.preview-sidebar span{color:#d6e1dd;font-weight:400}.preview-main{padding:1.35rem;min-width:0}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.stat-row div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}.stat-row b{display:block;font-size:1.45rem;font-weight:500}.stat-row span{color:var(--muted);font-size:.75rem;font-weight:400}.chart-bars{height:9rem;background:#fff;border:1px solid var(--line);border-radius:18px;margin:1rem 0;display:flex;align-items:end;gap:5%;padding:1rem}.chart-bars i{flex:1;border-radius:10px 10px 0 0;background:linear-gradient(180deg,var(--green),#b6edc6)}.mini-table{width:100%;border-collapse:separate;border-spacing:0 .5rem}.mini-table td{background:#fff;padding:.72rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.9rem}.mini-table td:first-child{border-left:1px solid var(--line);border-radius:12px 0 0 12px}.mini-table td:last-child{border-right:1px solid var(--line);border-radius:0 12px 12px 0;text-align:right;color:var(--green-dark);font-weight:400}.section{width:min(100%,1200px);margin:0 auto;padding:clamp(3rem,6vw,4.5rem) 2%}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem}.cards-two{display:grid;grid-template-columns:1fr;gap:1rem}.card,.feature,.role-grid div,.contact-form,.dashboard-card,.panel,.table-card,.calendar-card,.event-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;box-shadow:0 10px 30px rgba(16,34,51,.055);min-width:0}.card h3,.feature h3{margin:0 0 .5rem;font-weight:500;color:var(--navy)}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.7rem}.feature b{color:var(--green-dark);font-size:.82rem;font-weight:500}.feature p{font-size:.95rem}.calendar-public{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1.2rem;margin-top:1.5rem}.calendar-filter{display:grid;gap:.75rem}.calendar-list{display:grid;gap:.9rem}.event-card{display:grid;grid-template-columns:14% minmax(0,1fr);gap:1rem;align-items:start}.datebox{aspect-ratio:1;border:1px solid var(--green-line);border-radius:16px;background:var(--green-soft);display:grid;place-items:center;color:var(--green-dark);min-width:3.25rem}.datebox strong{font-size:1.45rem;font-weight:500;line-height:1}.datebox small{display:block;text-transform:uppercase;font-size:.72rem;font-weight:400}.event-card h3{margin:0 0 .35rem;font-size:1.05rem;font-weight:500;color:var(--navy)}.event-card p{font-size:.9rem;margin:.2rem 0 .8rem}.event-actions{display:flex;gap:.5rem;flex-wrap:wrap}.mini-btn{border:1px solid var(--green-line);background:#fff;color:var(--green-dark);border-radius:10px;padding:.52rem .72rem;font-size:.82rem;font-weight:400;cursor:pointer}.architecture-flow{margin-top:1.7rem;display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.architecture-flow div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:.95rem 1.05rem;font-weight:400}.architecture-flow span{color:var(--green-dark);font-weight:400}.role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin-top:1.6rem}.role-grid div{text-align:center;font-weight:400}.cta-band{background:linear-gradient(135deg,#102233,#0b4a2e);border-radius:30px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:1.2rem}.cta-band h2,.cta-band p{color:#fff}.contact-form{display:grid;gap:.75rem;max-width:45rem;margin-top:1.4rem}.contact-form input,.contact-form textarea,.login-form input,.login-form select,.role-switch select,.form-grid input,.form-grid select,.form-grid textarea,.search-input{width:100%;border:1px solid var(--line);border-radius:13px;padding:.82rem;background:#fff;color:var(--navy);outline:none;font-weight:400;min-width:0}.contact-form textarea{min-height:7.5rem}.contact-form input:focus,.contact-form textarea:focus,.login-form input:focus,.login-form select:focus,.role-switch select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.search-input:focus{border-color:var(--green-dark);box-shadow:0 0 0 3px rgba(21,153,71,.08)}.site-footer{border-top:1px solid var(--line);padding:1.6rem 2%;display:flex;justify-content:space-between;gap:1rem;width:min(100%,1200px);margin:auto;color:var(--muted);font-weight:400}.login-body{min-height:100vh;background:radial-gradient(circle at 20% 20%,#dff8e7,transparent 36%),linear-gradient(135deg,#f7faf9,#eef6ff)}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(20rem,34%) 1fr}.login-card{background:#fff;padding:clamp(2rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow);min-width:0}.login-logo img{width:min(100%,17rem);display:block;margin:0 auto 1.2rem}.login-card h1{font-size:clamp(2rem,4vw,2.8rem);margin:0 0 .6rem;font-weight:500}.login-card p{color:var(--muted);line-height:1.6}.login-form{display:grid;gap:1rem;margin-top:1.2rem}.login-form label{font-weight:400;color:#334155}.login-form label input,.login-form label select{margin-top:.5rem}.login-links{display:flex;justify-content:space-between;gap:1rem;margin-top:1.2rem;color:var(--green-dark);font-weight:400}.login-visual{display:flex;align-items:center;justify-content:center;padding:3%}.glass-panel{width:min(100%,38rem);border-radius:32px;padding:clamp(1.5rem,4vw,2.5rem);background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.72);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.glass-panel h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08;margin:0 0 1.6rem;font-weight:500}.login-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.login-stats div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.1rem}.login-stats b{display:block;font-size:1.9rem;font-weight:500}.login-stats span{color:var(--muted);font-weight:400}.app-layout{min-height:100vh;display:grid;grid-template-columns:minmax(15rem,19%) minmax(0,1fr);width:100%}.app-sidebar{background:linear-gradient(180deg,#e8f7ee 0%,#dff3e7 100%);border-right:1px solid #d6eadf;color:#314236;padding:1rem;position:sticky;top:0;height:100vh;overflow:auto}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.72);border:1px solid rgba(21,153,71,.16);border-radius:20px;padding:.8rem;margin-bottom:1rem;box-shadow:0 8px 22px rgba(21,153,71,.06)}.sidebar-brand img{width:min(100%,11.5rem);display:block}.close-sidebar{display:none;border:0;background:#fff;border-radius:12px;font-size:1.55rem;color:var(--navy)}.role-switch{margin:.8rem 0 1rem;background:rgba(255,255,255,.72);border:1px solid rgba(21,153,71,.16);border-radius:18px;padding:1rem}.role-switch label{display:block;color:#607083;font-size:.75rem;font-weight:400;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.06em}.role-menu{display:grid;gap:.25rem}.role-menu button{width:100%;border:0;background:transparent;color:#314236;text-align:left;padding:.78rem .82rem .78rem .95rem;border-left:2px solid transparent;border-bottom:0;border-radius:13px;font-weight:400;cursor:pointer;transition:.2s ease}.role-menu button:hover,.role-menu button.active{background:#fff;color:var(--green-dark);border-left-color:var(--green-dark);box-shadow:0 8px 18px rgba(21,153,71,.08)}.app-main{min-width:0;width:100%}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:1rem 2%;background:rgba(248,250,249,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.app-header h1{font-size:clamp(1.35rem,2vw,1.75rem);margin:0;font-weight:500;color:var(--navy)}.app-header span{color:var(--muted);font-weight:400}.hamburger{display:none;border:0;background:#fff;border-radius:14px;padding:.55rem .75rem;font-size:1.35rem;box-shadow:0 8px 20px rgba(16,34,51,.08)}.app-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.icon-btn,.logout{border:1px solid var(--line);background:#fff;border-radius:13px;padding:.7rem .82rem;font-weight:400}.logout{color:var(--danger)}.content-area{padding:1.4rem 2%;width:100%;max-width:100%;min-width:0}.loading-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:2rem;box-shadow:var(--shadow)}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.dashboard-card b{display:block;font-size:clamp(1.6rem,2.5vw,2rem);margin:.5rem 0;font-weight:500;color:var(--navy)}.dashboard-card span{color:var(--muted);font-weight:400}.dashboard-card small{color:var(--green-dark);font-weight:400}.layout-two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:1rem;align-items:start}.panel h2,.table-card h2{margin:0 0 1rem;font-weight:500;color:var(--navy)}.table-card,.panel{overflow-x:auto;max-width:100%}.table-card>table,.panel>table{width:100%}.data-table{width:100%;border-collapse:collapse;table-layout:auto}.data-table th,.data-table td{padding:.82rem .75rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;word-break:normal;overflow-wrap:anywhere;font-size:.92rem}.data-table th{font-size:.72rem;text-transform:uppercase;color:var(--muted);letter-spacing:.05em;font-weight:500}.data-table tr:hover td{background:#fbfefc}.badge{display:inline-flex;border-radius:999px;padding:.38rem .62rem;font-size:.76rem;font-weight:400;white-space:nowrap}.badge.green{background:#e7f9ed;color:var(--green-dark)}.badge.blue{background:#eaf2ff;color:var(--blue)}.badge.orange{background:#fff4e5;color:var(--orange)}.badge.red{background:#ffe8e8;color:var(--danger)}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.toolbar .left,.toolbar .right{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;min-width:0}.toolbar h2{margin:0}.search-input{width:min(100%,20rem)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;max-width:100%}.form-grid label{display:grid;gap:.45rem;color:#4a5969;font-weight:400;min-width:0}.form-grid .wide{grid-column:1/-1}.form-grid textarea{min-height:7rem}.mini-chart{height:13rem;background:linear-gradient(180deg,#f9fffb,#fff);border:1px solid var(--line);border-radius:18px;margin-bottom:1rem;display:flex;align-items:end;gap:4%;padding:1rem}.mini-chart i{flex:1;background:linear-gradient(180deg,var(--green),#baf1c8);border-radius:10px 10px 0 0}.timeline{display:grid;gap:.75rem}.timeline div{border-left:2px solid var(--green-dark);padding:.7rem .8rem;background:#f8fafc;border-radius:0 13px 13px 0}.kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.kanban-col{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:.9rem;min-width:0}.kanban-col h3{margin:0 0 .75rem;font-weight:500}.kanban-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.75rem;margin-bottom:.65rem}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(2.8rem,1fr));gap:.5rem;width:100%;max-width:100%}.score-grid input{text-align:center;padding:.7rem;border-radius:12px;border:1px solid var(--line);min-width:0}.toast{position:fixed;right:1.25rem;bottom:1.25rem;background:#102233;color:#fff;padding:.85rem 1rem;border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(.6rem);transition:.2s;z-index:999;max-width:calc(100vw - 2rem)}.toast.show{opacity:1;transform:translateY(0)}.calendar-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:1rem}.calendar-filters{display:grid;gap:.75rem}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.month-grid div{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:4.4rem;padding:.5rem;font-size:.8rem;color:var(--muted)}.month-grid .busy{background:var(--green-soft);border-color:var(--green-line);color:var(--green-dark)}.engagement-list{display:grid;gap:.8rem}.engagement-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem;display:grid;grid-template-columns:12% minmax(0,1fr);gap:1rem}.engagement-card h3{margin:0 0 .35rem;font-weight:500}.engagement-card p{margin:.2rem 0 .75rem;color:var(--muted)}@media(max-width:1100px){.hero,.split,.calendar-public,.calendar-grid,.login-shell,.layout-two{grid-template-columns:1fr}.feature-grid,.role-grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-visual{display:none}.app-layout{grid-template-columns:1fr}.app-sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,20rem);z-index:80;transform:translateX(-105%);transition:.25s;height:100vh}.app-sidebar.open{transform:translateX(0)}.close-sidebar,.hamburger{display:block}.kanban{grid-template-columns:repeat(2,minmax(0,1fr))}.app-header{align-items:flex-start}.content-area{padding:1rem 2%}}@media(max-width:720px){.topbar{min-height:4.3rem}.brand img{width:clamp(9rem,45vw,13rem)}.main-nav{display:none;flex-direction:column;align-items:stretch;padding:.25rem 2% 1rem}.main-nav.open{display:flex}.main-nav a{width:100%}.mobile-toggle{display:block}.member-btn{padding:.65rem .85rem}.hero{padding-top:2.3rem}.app-preview{grid-template-columns:1fr}.preview-sidebar{display:none}.feature-grid,.role-grid,.dashboard-grid,.kanban,.login-stats,.stat-row,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.site-footer,.cta-band{display:grid}.event-card,.engagement-card{grid-template-columns:1fr}.datebox{width:4rem;height:4rem;aspect-ratio:auto}.glass-panel h2{font-size:2rem}.app-actions{gap:.4rem}.score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.data-table th,.data-table td{font-size:.84rem;padding:.72rem .55rem}.month-grid div{min-height:3.2rem}.login-card{min-height:100vh}.login-links{display:grid}.toolbar,.toolbar .left,.toolbar .right{align-items:stretch}.search-input{width:100%}}@media(max-width:440px){.app-header{display:grid;grid-template-columns:auto 1fr;align-items:start}.app-actions{grid-column:1/-1;justify-content:flex-start}.trust-grid{grid-template-columns:1fr}.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.btn{width:100%}.event-actions .mini-btn{flex:1}.topbar{gap:.5rem}.member-btn{font-size:.8rem}}
