:root{--primary:#059669;--primary-dark:#047857;--navy:#0f172a;--muted:#64748b;--line:#e2e8f0;--soft:#f8fafc;--soft-green:#ecfdf5;--white:#fff;--danger:#dc2626;--warning:#f59e0b;--shadow:0 14px 40px rgba(15,23,42,.08);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--navy);background:#f8fafc;font-size:16px;line-height:1.55}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:0 auto}.topbar,.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(10px)}.topbar-inner,.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 0}.brand,.site-brand{display:flex;align-items:center;gap:14px}.brand-logo,.site-logo{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#047857,#10b981);display:grid;place-items:center;color:#fff;font-size:26px;box-shadow:0 12px 26px rgba(5,150,105,.18);flex:0 0 auto}.brand h1,.site-brand h1{font-size:24px;line-height:1.05;margin:0;font-weight:900;color:var(--navy)}.brand span,.site-brand span{display:block;color:var(--primary);font-weight:700;margin-top:3px}.top-nav,.site-nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.top-nav a,.site-nav a{font-weight:800;color:#111827}.top-nav a:hover,.site-nav a:hover{color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:14px;padding:13px 22px;font-weight:900;cursor:pointer;transition:.2s ease;background:#fff;color:var(--navy);white-space:nowrap}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 12px 24px rgba(5,150,105,.18)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-outline{background:#fff;border-color:#cbd5e1;color:var(--navy)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-block{width:100%}.hero,.landing-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#effdf7 0,#f8fafc 65%);padding:72px 0}.hero:before,.landing-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(15,23,42,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.045) 1px,transparent 1px);background-size:34px 34px;opacity:.65}.hero-grid,.landing-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.85fr);gap:48px;align-items:center}.badge,.pill{display:inline-flex;align-items:center;border-radius:999px;padding:9px 18px;background:#d1fae5;color:#065f46;font-weight:900;margin-bottom:20px}.hero-text h2,.hero-title,.landing-title{font-size:clamp(38px,5.1vw,70px);line-height:1.08;margin:0 0 22px;font-weight:950;letter-spacing:-.04em;color:#0b1224}.hero-text p,.hero-desc,.landing-desc{font-size:20px;color:#475569;margin:0 0 28px;max-width:720px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}.hero-stats,.hero-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.stat-box,.feature-mini{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.stat-box strong,.feature-mini h4{display:block;margin:0 0 6px;font-size:24px;color:#064e3b;font-weight:950}.stat-box span,.feature-mini p{color:#64748b;font-size:15px;margin:0}.hero-card,.form-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 20px 55px rgba(15,23,42,.12)}.hero-card h3,.form-card h3{font-size:30px;margin:0 0 8px}.hero-card p,.form-card p{color:#64748b;margin:0 0 22px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:900;color:#334155}.form-group input,.form-group select,.form-group textarea,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:13px;padding:13px 15px;background:#fff;color:#0f172a;font-size:15px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(5,150,105,.12)}.section{padding:78px 0}.section.light{background:#fff}.section.soft{background:#f1f5f9}.section-heading{text-align:center;margin-bottom:40px}.section-heading h3{font-size:clamp(30px,3.5vw,46px);line-height:1.12;margin:0 0 10px;font-weight:950;letter-spacing:-.03em}.section-heading p{color:#64748b;margin:0;font-size:18px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cards-grid.two{grid-template-columns:repeat(2,1fr)}.cards-grid.four{grid-template-columns:repeat(4,1fr)}.card,.program-card,.info-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow)}.program-card h4,.info-card h4{font-size:24px;margin:0 0 10px}.program-card p,.info-card p{color:#64748b;margin:0 0 18px}.card-badge{display:inline-flex;background:#ccfbf1;color:#0f766e;border-radius:999px;padding:6px 12px;font-weight:900;font-size:13px;margin-bottom:14px}.program-meta{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.program-meta strong{display:block;font-size:22px;color:var(--primary);font-weight:950}.program-meta span{display:block;color:#64748b;font-size:14px}.icon{font-size:34px;margin-bottom:14px}.footer{background:#0f172a;color:#fff;padding:34px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer p{color:#cbd5e1;margin:6px 0 0}.footer a{color:#cbd5e1;margin-left:16px}.floating-wa,.chat-float{position:fixed;right:22px;bottom:22px;z-index:90;background:#16a34a;color:#fff;border-radius:999px;padding:14px 22px;font-weight:950;box-shadow:0 18px 40px rgba(22,163,74,.28)}.landing-slider,.hero-slider,.carousel,.landing-carousel,.header-carousel{width:min(1180px,92%);margin:24px auto 0;position:relative;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#e2e8f0}.landing-slider img,.hero-slider img,.carousel img,.landing-carousel img,.header-carousel img{display:block;width:100%;height:clamp(240px,42vw,520px);object-fit:cover}.slider-btn,.carousel-btn,.slide-btn{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:0;background:#fff;color:#0f172a;font-size:28px;display:grid;place-items:center;box-shadow:0 12px 24px rgba(15,23,42,.16);cursor:pointer;z-index:5}.slider-btn.prev,.carousel-btn.prev,.slide-btn.prev{left:22px}.slider-btn.next,.carousel-btn.next,.slide-btn.next{right:22px}.slider-dots,.carousel-dots{position:absolute;left:0;right:0;bottom:18px;display:flex;justify-content:center;gap:10px}.slider-dots button,.carousel-dots button,.slider-dot{width:12px;height:12px;border-radius:999px;border:2px solid #fff;background:transparent}.slider-dots button.active,.carousel-dots button.active,.slider-dot.active{background:#fff}.middle-image,.content-image,.hero-middle-image{border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.middle-image img,.content-image img,.hero-middle-image img{display:block;width:100%;height:360px;object-fit:cover}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#ecfdf5,#e2e8f0)}.auth-wrapper{width:100%;max-width:460px}.auth-card{background:#fff;border-radius:28px;padding:34px;box-shadow:0 25px 70px rgba(15,23,42,.15);border:1px solid var(--line)}.auth-brand{text-align:center;margin-bottom:26px}.auth-brand h1{margin:0;font-size:24px}.auth-brand p{margin:6px 0 0;color:#64748b}.alert{padding:14px 16px;border-radius:14px;margin-bottom:16px}.alert-danger{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#ecfdf5;color:#065f46;border:1px solid #bbf7d0}.dashboard{display:flex;min-height:100vh;background:#f8fafc}.sidebar{width:270px;background:#0f172a;color:#fff;padding:24px 18px;flex:0 0 270px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar h2{margin:0 0 24px;font-size:26px}.sidebar a{display:flex;align-items:center;gap:10px;color:#cbd5e1;padding:13px 14px;border-radius:14px;margin:5px 0;font-weight:900}.sidebar a:hover,.sidebar a.active{background:#1e293b;color:#fff}.main-content{flex:1;min-width:0}.main-header{background:#fff;border-bottom:1px solid var(--line);padding:22px 30px;display:flex;justify-content:space-between;align-items:center;gap:16px}.main-header h2{font-size:32px;line-height:1.1;margin:0}.main-header p{margin:6px 0 0;color:#64748b}.main-body{padding:30px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.stat-card h4{margin:0 0 10px;color:#64748b;font-size:15px}.stat-card strong{font-size:34px;line-height:1;color:#0f172a}.panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:var(--shadow);margin-bottom:26px}.panel h3{margin-top:0;font-size:24px}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{border-bottom:1px solid var(--line);padding:15px 14px;text-align:left;vertical-align:middle}.table th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#475569}.badge-status{display:inline-flex;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900}.badge-status.active{background:#dcfce7;color:#166534}.badge-status.inactive{background:#e2e8f0;color:#334155}.mobile-topbar,.dashboard-mobile-toggle{display:none}.dashboard-overlay{display:none}.link-strip{display:flex;gap:18px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory}.link-card{min-width:320px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow)}.copy-row{display:flex;gap:10px;align-items:center}.copy-row input{flex:1;min-width:0}.chart-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.bar-row{display:grid;grid-template-columns:190px 1fr 70px;gap:14px;align-items:center;margin:12px 0}.bar-track{height:18px;background:#e2e8f0;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#059669,#22c55e);border-radius:999px}@media (max-width:1100px){.hero-grid,.landing-hero-grid{grid-template-columns:1fr}.cards-grid.four{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){body{font-size:15px}.container{width:92%}.topbar-inner,.site-header-inner{align-items:flex-start;flex-direction:column;padding:14px 0}.brand-logo,.site-logo{width:56px;height:56px}.brand h1,.site-brand h1{font-size:24px}.top-nav,.site-nav{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px}.top-nav a,.site-nav a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 12px;text-align:center;font-size:14px}.hero,.landing-hero{padding:42px 0}.hero-grid,.landing-hero-grid{gap:28px}.hero-text h2,.hero-title,.landing-title{font-size:clamp(34px,11vw,54px)}.hero-text p,.hero-desc,.landing-desc{font-size:18px}.hero-actions{display:grid;grid-template-columns:1fr;gap:12px}.hero-stats,.hero-features{grid-template-columns:1fr}.hero-card,.form-card{padding:22px;border-radius:24px}.cards-grid,.cards-grid.two,.cards-grid.four{grid-template-columns:1fr}.program-meta{align-items:flex-start}.section{padding:54px 0}.landing-slider,.hero-slider,.carousel,.landing-carousel,.header-carousel{width:92%;border-radius:22px;margin-top:16px}.landing-slider img,.hero-slider img,.carousel img,.landing-carousel img,.header-carousel img{height:250px}.slider-btn,.carousel-btn,.slide-btn{width:44px;height:44px;font-size:24px}.slider-btn.prev,.carousel-btn.prev,.slide-btn.prev{left:12px}.slider-btn.next,.carousel-btn.next,.slide-btn.next{right:12px}.middle-image img,.content-image img,.hero-middle-image img{height:260px}.footer-inner{flex-direction:column;align-items:flex-start}.floating-wa,.chat-float{right:14px;bottom:14px;padding:12px 18px}.dashboard{display:block}.mobile-topbar,.dashboard-mobile-toggle{display:flex}.mobile-topbar{position:sticky;top:0;z-index:80;background:#fff;border-bottom:1px solid var(--line);padding:12px 16px;align-items:center;justify-content:space-between}.dashboard-mobile-toggle{border:0;background:#0f172a;color:#fff;border-radius:12px;padding:10px 13px;font-weight:900}.sidebar{position:fixed;z-index:100;left:0;top:0;bottom:0;height:100vh;transform:translateX(-105%);transition:.25s ease;width:285px}.sidebar.is-open{transform:translateX(0)}.dashboard-overlay{display:none;position:fixed;inset:0;z-index:95;background:rgba(15,23,42,.45)}.dashboard-overlay.is-open{display:block}.main-header{padding:20px 18px;display:block}.main-header h2{font-size:28px}.main-body{padding:18px}.stats-grid{grid-template-columns:1fr}.panel{padding:20px;border-radius:22px}.table{min-width:720px}.bar-row{grid-template-columns:1fr}.link-card{min-width:86vw}.copy-row{display:grid;grid-template-columns:1fr}.copy-row .btn{width:100%}}

/* =========================================================
   PATCH: Landing page premium layout + logo setting
   ========================================================= */
.public-landing-page{background:#f8fafc;overflow-x:hidden}.public-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.98);border-bottom:1px solid #e2e8f0;box-shadow:0 8px 28px rgba(15,23,42,.04);backdrop-filter:blur(12px)}.public-header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 0}.public-brand{display:flex;align-items:center;gap:14px;min-width:0}.public-logo-wrap{width:62px;height:62px;border-radius:20px;background:linear-gradient(135deg,#047857,#10b981);display:grid;place-items:center;box-shadow:0 16px 30px rgba(5,150,105,.2);overflow:hidden;flex:0 0 auto}.public-logo-img,.app-logo-img{width:100%;height:100%;object-fit:contain;padding:8px}.public-logo-img.large{width:100px;height:100px}.logo-fallback{font-size:28px;line-height:1}.public-brand h1{font-size:28px;line-height:1.05;margin:0;color:#0b1224;font-weight:950;letter-spacing:-.035em}.public-brand span{display:block;color:#059669;font-weight:900;margin-top:2px;font-size:18px}.public-nav{display:flex;align-items:center;gap:22px;white-space:nowrap}.public-nav a{font-weight:900;color:#111827}.public-nav a:hover{color:#059669}.lp-gallery-wrap{background:#f8fafc;padding:24px 0 12px}.lp-header-carousel{position:relative;width:100%;height:clamp(260px,42vw,520px);border-radius:28px;overflow:hidden;background:#e2e8f0;box-shadow:0 20px 55px rgba(15,23,42,.12)}.lp-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.02);transition:opacity .45s ease,transform .7s ease,visibility .45s}.lp-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}.lp-slide img{width:100%;height:100%;object-fit:cover;display:block}.lp-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:58px;height:58px;border:0;border-radius:50%;background:#fff;color:#0f172a;font-size:40px;line-height:1;display:grid;place-items:center;box-shadow:0 14px 30px rgba(15,23,42,.18);cursor:pointer;z-index:5}.lp-carousel-prev{left:24px}.lp-carousel-next{right:24px}.lp-carousel-btn:hover{background:#ecfdf5;color:#047857}.lp-carousel-dots{position:absolute;left:0;right:0;bottom:22px;display:flex;justify-content:center;gap:10px;z-index:6}.lp-dot{width:13px;height:13px;border-radius:999px;border:2px solid #fff;background:rgba(255,255,255,.15);box-shadow:0 3px 10px rgba(0,0,0,.12);cursor:pointer}.lp-dot.is-active{background:#fff}.lp-main-hero{position:relative;background:linear-gradient(135deg,#effdf7 0,#f8fafc 78%);padding:48px 0 70px;overflow:hidden}.lp-main-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(15,23,42,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.045) 1px,transparent 1px);background-size:34px 34px;opacity:.7}.lp-main-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.82fr);gap:44px;align-items:center}.lp-copy h2{font-size:clamp(40px,5vw,68px);line-height:1.08;margin:0 0 20px;font-weight:950;letter-spacing:-.045em;color:#0b1224}.lp-copy p{font-size:20px;color:#475569;max-width:700px;margin:0 0 24px}.lp-middle-card{border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 22px 55px rgba(15,23,42,.12);border:1px solid #e2e8f0;min-height:320px}.lp-middle-card img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover}.lp-middle-placeholder{height:360px;display:grid;place-items:center;text-align:center;color:#0f172a;background:linear-gradient(135deg,#ecfdf5,#fff)}.lp-middle-placeholder span{display:block;font-weight:950;margin-top:8px}.lp-feature-row{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:34px}.lp-mini-card{background:rgba(255,255,255,.95);border:1px solid #e2e8f0;border-radius:24px;padding:24px;text-align:center;box-shadow:0 15px 35px rgba(15,23,42,.07)}.lp-mini-icon{width:72px;height:72px;border-radius:50%;margin:0 auto 14px;background:#dffbed;color:#047857;display:grid;place-items:center;font-size:34px}.lp-mini-card h4{font-size:22px;line-height:1.15;margin:0 0 8px;font-weight:950}.lp-mini-card p{margin:0;color:#64748b;font-size:15px}.lp-info-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;background:linear-gradient(135deg,#ecfdf5,#f8fffc);border:1px solid #99f6e4;border-radius:24px;padding:24px 28px;box-shadow:0 14px 35px rgba(15,23,42,.05)}.lp-info-medal{width:68px;height:68px;border-radius:20px;background:#d1fae5;color:#047857;display:grid;place-items:center;font-size:34px;font-weight:950}.lp-info-banner h4{margin:0 0 4px;font-size:22px;color:#065f46}.lp-info-banner p{margin:0;color:#475569}.lp-info-banner>span{font-size:46px;color:#047857}.lp-content-panel{max-width:980px;margin:0 auto}.chat-float{position:fixed;right:22px;bottom:22px;z-index:100;background:#16a34a;color:#fff;border-radius:999px;padding:14px 22px;font-weight:950;box-shadow:0 18px 40px rgba(22,163,74,.28)}.sidebar-logo-inline{width:42px;height:42px;border-radius:13px;background:#047857;display:inline-grid;place-items:center;overflow:hidden;vertical-align:middle;margin-right:8px}.sidebar-logo-inline img{width:100%;height:100%;object-fit:contain;padding:5px}.mobile-topbar-logo{width:32px;height:32px;border-radius:10px;background:#047857;display:inline-grid;place-items:center;overflow:hidden;margin-right:8px;vertical-align:middle}.mobile-topbar-logo img{width:100%;height:100%;object-fit:contain;padding:4px}.settings-logo-preview{width:92px;height:92px;border-radius:24px;background:#ecfdf5;border:1px solid #bbf7d0;display:grid;place-items:center;overflow:hidden}.settings-logo-preview img{width:100%;height:100%;object-fit:contain;padding:8px}.settings-favicon-preview{width:54px;height:54px;border-radius:14px;background:#ecfdf5;border:1px solid #bbf7d0;display:grid;place-items:center;overflow:hidden}.settings-favicon-preview img{width:100%;height:100%;object-fit:contain;padding:6px}@media(max-width:900px){.public-header-inner{align-items:flex-start;flex-direction:column}.public-nav{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.public-nav a{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:12px;text-align:center}.lp-main-grid{grid-template-columns:1fr}.lp-feature-row{grid-template-columns:repeat(2,1fr)}.lp-middle-card{order:-1}.lp-middle-card img{min-height:260px}.lp-gallery-wrap{padding:14px 0 8px}.lp-header-carousel{height:260px;border-radius:22px}.lp-carousel-btn{width:46px;height:46px;font-size:30px}.lp-carousel-prev{left:14px}.lp-carousel-next{right:14px}.public-brand h1{font-size:27px}.public-brand span{font-size:18px}}@media(max-width:560px){.public-header-inner{padding:18px 0}.public-brand{width:100%}.public-logo-wrap{width:78px;height:78px;border-radius:24px}.public-brand h1{font-size:32px;max-width:330px}.public-nav{grid-template-columns:repeat(2,1fr)}.lp-header-carousel{height:250px}.lp-main-hero{padding:40px 0 55px}.lp-copy h2{font-size:clamp(36px,11vw,56px)}.lp-copy p{font-size:18px}.lp-feature-row{grid-template-columns:1fr 1fr;gap:14px}.lp-mini-card{padding:18px 14px;border-radius:20px}.lp-mini-icon{width:58px;height:58px;font-size:28px}.lp-mini-card h4{font-size:19px}.lp-mini-card p{font-size:14px}.lp-info-banner{grid-template-columns:1fr;text-align:left}.chat-float{right:16px;bottom:16px}}
