:root{--p:#0b6b52;--p2:#084a3b;--p3:#0f8b69;--bg:#f4f7f6;--txt:#17342d;--mut:#6b7d77;--card:#fff;--danger:#b42318;--warning:#b7791f;--line:#e1ebe7;--shadow:0 12px 34px rgba(16,62,50,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:linear-gradient(180deg,#f7faf9 0,#f1f6f4 100%);color:var(--txt)}a{color:var(--p);text-decoration:none}button,input,select,textarea{font:inherit}.top{position:sticky;top:0;z-index:20;background:linear-gradient(120deg,var(--p2),var(--p));color:#fff;padding:13px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 6px 20px rgba(5,57,44,.16)}.brandwrap{display:flex;align-items:center;gap:12px}.brandmark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-weight:900}.brand{font-weight:850;letter-spacing:-.2px}.brand-sub{font-size:12px;opacity:.78;margin-top:2px}.userchip{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.12);padding:6px 10px;border-radius:999px}.userchip small{display:block;opacity:.75}.avatar{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--p2);display:grid;place-items:center;font-weight:900}.nav-toggle{display:none;background:transparent;border:0;color:#fff;font-size:22px}.nav{position:sticky;top:68px;z-index:15;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:9px 20px;display:flex;gap:5px;flex-wrap:wrap;box-shadow:0 4px 16px rgba(20,55,45,.04)}.nav a{font-weight:700;color:#3e5e55;padding:9px 11px;border-radius:10px;font-size:14px}.nav a:hover,.nav a.active{background:#e8f5f0;color:var(--p)}.nav .logout{margin-left:auto;color:#8e342c}.wrap{max-width:1280px;margin:26px auto;padding:0 20px}.hero{background:linear-gradient(135deg,#074b3a,#0c7658 65%,#15916c);color:#fff;border-radius:26px;padding:46px;box-shadow:0 24px 60px rgba(8,87,65,.22);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.07);right:-90px;top:-140px}.hero-home{display:grid;grid-template-columns:1.4fr .8fr;gap:32px;align-items:center}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(32px,5vw,56px);line-height:1.05;margin:12px 0 16px;letter-spacing:-1.5px;max-width:800px}.hero p{font-size:17px;line-height:1.7;max-width:760px;opacity:.9}.eyebrow{display:inline-flex;letter-spacing:1.8px;font-size:11px;font-weight:900;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.14)}.eyebrow.dark{background:#e7f4ef;color:var(--p)}.hero-panel{position:relative;z-index:2;display:grid;gap:12px}.mini-card{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);padding:15px;border-radius:16px;backdrop-filter:blur(8px)}.mini-card>span{font-size:25px}.mini-card small{display:block;opacity:.72;margin-top:3px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.feature-grid{margin-top:18px}.card{background:var(--card);border-radius:18px;padding:20px;box-shadow:var(--shadow);border:1px solid var(--line)}.feature{min-height:175px}.feature-icon{font-size:28px;width:50px;height:50px;border-radius:15px;background:#e9f6f1;display:grid;place-items:center;color:var(--p)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:85px;height:85px;background:#eaf5f1;border-radius:50%;right:-24px;bottom:-33px}.stat{font-size:34px;font-weight:900;letter-spacing:-1px}.mut{color:var(--mut)}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.page-head h1{margin:7px 0 3px;font-size:32px;letter-spacing:-.8px}.dashboard-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px;margin-top:18px}.card-head{display:flex;justify-content:space-between;align-items:center}.meeting-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.meeting-row:last-child{border-bottom:0}.meeting-row small{display:block;color:var(--mut);margin-top:4px}.meeting-time{font-size:13px;font-weight:800;color:var(--p);white-space:nowrap}.meeting-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px;margin-top:16px}.meeting-card{display:flex;flex-direction:column;gap:10px}.meeting-card h3{margin:0;font-size:21px}.meeting-top{display:flex;justify-content:space-between;gap:10px}.platform,.status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.platform{background:#e9f6f1;color:var(--p)}.status{background:#eef1f0;color:#50635d}.status.sedang-berlangsung{background:#dcfce7;color:#166534}.status.akan-datang{background:#fff4d8;color:#8a5b00}.meeting-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.meeting-meta>div{background:#f7faf9;padding:10px;border-radius:12px}.meeting-meta small,.meeting-meta b{display:block}.meeting-meta small{color:var(--mut);margin-bottom:3px}.meeting-credentials{display:flex;gap:8px;flex-wrap:wrap}.meeting-credentials span{background:#f4f7f6;padding:7px 9px;border-radius:9px;font-size:13px}.countdown{font-weight:800;color:var(--p)}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}th,td{padding:11px;border-bottom:1px solid #edf1ef;text-align:left;vertical-align:top}th{background:#eef7f3;color:#34574d}.table-scroll{overflow:auto}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cddbd6;border-radius:11px;background:#fff;color:var(--txt);outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:#65a892;box-shadow:0 0 0 3px rgba(11,107,82,.09)}textarea{min-height:96px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:0;border-radius:11px;background:var(--p);color:#fff;cursor:pointer;font-weight:800;box-shadow:0 6px 14px rgba(11,107,82,.14)}.btn:hover{filter:brightness(.96);transform:translateY(-1px)}.btn.secondary{background:#60736d}.btn.danger{background:var(--danger)}.btn.ghost{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.35);box-shadow:none}.btn-lg{padding:12px 17px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions form{margin:0}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.flash{padding:13px 15px;border-radius:12px;background:#dff7ec;margin-bottom:14px;border:1px solid #bee8d7}.flash.err{background:#fee4e2;color:#7a271a;border-color:#fecaca}.badge{padding:4px 8px;border-radius:999px;background:#eaf4f0;font-size:12px}.login{max-width:440px;margin:60px auto}.footer{text-align:center;color:#6b7d77;padding:38px 20px}.footer span{font-size:12px}.small{font-size:12px}.empty{color:var(--mut);text-align:center;padding:28px}label{font-weight:700;font-size:13px}label input,label select,label textarea{margin-top:6px;font-weight:400}h1,h2,h3{color:#153f34}@media(max-width:900px){.hero-home,.dashboard-grid{grid-template-columns:1fr}.hero-panel{grid-template-columns:repeat(3,1fr)}.meeting-meta{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start}}@media(max-width:720px){.top{padding:12px 14px}.userchip{margin-left:auto}.nav-toggle{display:block}.nav{display:none;position:fixed;top:66px;left:10px;right:10px;max-height:75vh;overflow:auto;border-radius:16px;padding:10px;box-shadow:0 18px 50px rgba(0,0,0,.18)}.nav.open{display:flex;flex-direction:column;align-items:stretch}.nav a{padding:11px}.nav .logout{margin-left:0}.wrap{padding:0 12px;margin-top:18px}.hero{padding:30px 24px;border-radius:20px}.hero-panel{grid-template-columns:1fr}.page-head{flex-direction:column}.meeting-grid{grid-template-columns:1fr}.meeting-meta{grid-template-columns:1fr}.brand-sub{display:none}.userchip span:not(.avatar){display:none}}@media(max-width:480px){.hero h1{font-size:34px}.grid{grid-template-columns:1fr}.card{padding:16px}.actions>.btn,.actions>form{width:100%}.actions>form .btn{width:100%}}
.notice-item{display:flex;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid #e7ecea}.notice-item.unread{background:#f2fbf7;margin:0 -16px;padding:16px}.notice-item small,.calendar-item small{display:block;color:#68756f;margin-top:5px}.calendar-list{display:grid;gap:10px}.calendar-item{display:grid;grid-template-columns:82px 1fr;gap:16px;padding:15px;border:1px solid #e7ecea;border-radius:14px}.calendar-date{text-align:center;background:#eef8f3;border-radius:12px;padding:10px}.calendar-date b{display:block;font-size:28px}.calendar-date span{font-size:12px}.notice{padding:14px;border-radius:12px;background:#fff8e8;border:1px solid #f0dfad;margin-top:12px}.table-scroll{overflow-x:auto}@media(max-width:760px){.notice-item{display:block}.notice-item .actions{margin-top:10px}.calendar-item{grid-template-columns:66px 1fr}}


/* ===== LMS v1.3.1 UI refinement ===== */
.brandmark{width:52px;height:52px;border-radius:14px;background:#fff;border:1px solid rgba(255,255,255,.35);padding:4px;overflow:hidden;position:relative;color:var(--p2)}
.site-logo{width:100%;height:100%;object-fit:contain;display:block;border-radius:10px}
.brandmark.logo-fallback::after{content:"AH";position:absolute;inset:0;display:grid;place-items:center;font-weight:900;color:var(--p2);background:#fff}
.hero h1{color:#fff!important;text-shadow:0 3px 12px rgba(0,0,0,.22);font-weight:900}
.hero p{color:#f4fff9!important;opacity:1!important}
.hero .eyebrow{color:#fff;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22)}
.nav{padding:10px 18px;gap:7px 8px;align-items:center}
.nav a{font-size:13px;padding:9px 10px;white-space:nowrap}
.nav .logout{margin-left:auto;background:#fff3f1;color:#9b362d}
.footer{margin-top:40px;text-align:center;padding:24px 20px;background:linear-gradient(120deg,#074b3a,#0b6b52);color:#eafff6;border-top:1px solid rgba(255,255,255,.12)}
.footer-title{font-weight:850;font-size:15px;margin-bottom:6px;color:#fff}
.footer-copy{font-size:13px;line-height:1.6}
.footer-copy strong{color:#fff}
.footer-version{margin-top:5px;font-size:11px;opacity:.75}
@media(max-width:720px){.brandmark{width:46px;height:46px}.nav .logout{margin-left:0}}

/* ===== LMS v1.4 Secure & Mobile Edition ===== */
.nav-mobile-head,.nav-label{display:none}
.nav-group{display:contents}
.table-scroll{-webkit-overflow-scrolling:touch}
.btn,button{min-height:42px}
input,select,textarea{font-size:16px}
.offline-import-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:720px){
 body.nav-open{overflow:hidden}
 .top{min-height:68px;padding:10px 12px;gap:8px}
 .brandwrap{min-width:0;gap:8px}.brand{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:54vw}.brandmark{width:44px;height:44px;flex:0 0 44px}
 .userchip{display:none}.nav-toggle{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.14);font-size:24px;flex:0 0 44px}
 .nav-backdrop{display:block;position:fixed;inset:0;background:rgba(8,29,23,.46);z-index:39;opacity:0;visibility:hidden;transition:.2s}
 .nav-backdrop.open{opacity:1;visibility:visible}
 .nav{display:flex;flex-direction:column;align-items:stretch;gap:0;position:fixed;top:0;right:0;left:auto;width:min(88vw,360px);height:100dvh;max-height:none;padding:0 14px 20px;background:#fff;border-radius:0;z-index:40;overflow-y:auto;box-shadow:-12px 0 40px rgba(0,0,0,.2);transform:translateX(105%);transition:transform .22s ease}
 .nav.open{display:flex;transform:translateX(0)}
 .nav-mobile-head{display:flex;position:sticky;top:0;z-index:2;align-items:center;justify-content:space-between;padding:16px 4px 12px;background:#fff;border-bottom:1px solid var(--line);margin-bottom:4px;color:#153f34}
 .nav-close{display:grid;place-items:center;width:40px;height:40px;border:0;background:#eef7f3;color:#275649;border-radius:12px;font-size:26px;line-height:1}
 .nav-group{display:block;border-bottom:1px solid #edf2f0;padding:8px 0}
 .nav-label{display:block;padding:6px 10px 4px;font-size:10px;font-weight:900;letter-spacing:1.3px;color:#799087;text-transform:uppercase}
 .nav a{display:flex;align-items:center;min-height:44px;padding:10px 12px;margin:2px 0;border-radius:11px;font-size:14px}
 .nav .logout{margin:12px 0 0;background:#fff3f1;color:#9b362d}
 .wrap{padding:0 10px;margin:14px auto}.card{border-radius:16px;padding:15px}.page-head h1{font-size:27px}.page-head>.btn{width:100%}
 .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:14px}.stat{font-size:28px}
 .dashboard-grid{gap:12px}.card-head{gap:8px}.meeting-row{align-items:flex-start}.meeting-time{font-size:12px}
 .hero{padding:26px 20px}.hero h1{font-size:34px;line-height:1.08}.hero p{font-size:15px}.hero-panel{gap:8px}.mini-card{padding:12px}
 .offline-import-grid{grid-template-columns:1fr}
 table{font-size:13px;min-width:620px}th,td{padding:9px 8px}.table-scroll{margin-left:-4px;margin-right:-4px;padding-bottom:4px}
 .formgrid{grid-template-columns:1fr}.actions{gap:7px}.actions>.btn,.actions>form{width:100%}.actions>form .btn{width:100%}
 .footer{padding:22px 14px;margin-top:28px}.footer-copy{font-size:12px}
}
@media(max-width:420px){
 .brand{max-width:50vw}.stat-grid{grid-template-columns:1fr}.hero h1{font-size:30px}.wrap{padding:0 8px}.card{padding:14px}.page-head h1{font-size:25px}
}
