
.saas-hero{background:linear-gradient(135deg,#0f4fb8,#05a7c7);color:#fff;border:0;box-shadow:0 18px 45px rgba(14,80,150,.18)}
.saas-hero h2,.saas-hero p,.saas-hero .eyebrow{color:#fff}.saas-hero .control-user-card{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff}.saas-admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.saas-admin-actions .btn{border-radius:14px;font-weight:900}.saas-stat-grid{grid-template-columns:repeat(5,minmax(130px,1fr));margin:16px 0}.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin:16px 0}.form-pro label{display:block;font-weight:900;color:#05284d;margin-bottom:12px}.form-pro input,.form-pro select,.form-pro textarea,.filterbar input,.filterbar select{width:100%;border:1px solid #bfdbfe;border-radius:14px;padding:12px 14px;background:#f8fbff;color:#082947;font-weight:700}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.info-panel{border:1px dashed #7dd3fc;background:#f0f9ff;border-radius:16px;padding:16px;line-height:1.6;margin:12px 0;color:#0b315a}.filterbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 16px}.filterbar input{max-width:340px}.filterbar select{max-width:200px}.btn.sm{padding:8px 12px;border-radius:11px;font-size:.86rem}.saas-menu-admin .menu-title{color:#bff7ff}@media(max-width:900px){.saas-stat-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.form-grid.two,.form-grid.three{grid-template-columns:1fr}.filterbar input,.filterbar select{max-width:100%}}

/* KUNCI FINAL: Notifikasi masa aktif paket guru/siswa */
.subscription-expiry-notice{display:flex;align-items:center;gap:14px;margin:14px 0 18px;padding:16px;border-radius:22px;border:1px solid rgba(148,163,184,.32);background:linear-gradient(135deg,#eff6ff,#ffffff);box-shadow:0 16px 40px rgba(15,23,42,.08)}
.subscription-expiry-notice .notice-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#dbeafe;font-size:24px;flex:0 0 auto}
.subscription-expiry-notice .notice-main{flex:1;min-width:0}.subscription-expiry-notice b{display:block;color:#0f172a;font-size:16px}.subscription-expiry-notice p{margin:4px 0;color:#334155}.subscription-expiry-notice small{color:#64748b}.subscription-expiry-notice .notice-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.subscription-expiry-notice.warning{background:linear-gradient(135deg,#fff7ed,#ffffff);border-color:#fed7aa}.subscription-expiry-notice.warning .notice-icon{background:#ffedd5}.subscription-expiry-notice.danger{background:linear-gradient(135deg,#fef2f2,#ffffff);border-color:#fecaca}.subscription-expiry-notice.danger .notice-icon{background:#fee2e2}.subscription-expiry-notice.info{background:linear-gradient(135deg,#ecfeff,#ffffff);border-color:#a5f3fc}.subscription-renewal-page,.renewal-grid{margin-bottom:16px}.renewal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.renewal-status-box,.renewal-form-box{background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:22px;padding:18px}.pro-form{display:grid;gap:12px}.pro-form label{font-weight:800;color:#0f172a}.pro-form select,.pro-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:14px;padding:12px;background:#fff}.muted{color:#64748b}@media(max-width:780px){.subscription-expiry-notice{align-items:flex-start;flex-direction:column}.subscription-expiry-notice .notice-actions{width:100%}.subscription-expiry-notice .notice-actions .btn{width:100%;justify-content:center}.renewal-grid{grid-template-columns:1fr}}

/* FINAL 100% READY PROFESSIONAL POLISH */
.final-ready-hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:22px;align-items:center;padding:28px;border-radius:28px;background:linear-gradient(135deg,#0f172a,#075985 58%,#0f766e);color:#fff;box-shadow:0 22px 60px rgba(15,23,42,.18);margin-bottom:20px;overflow:hidden;position:relative}.final-ready-hero:after{content:"";position:absolute;inset:auto -80px -120px auto;width:320px;height:320px;border-radius:999px;background:rgba(255,255,255,.10)}.final-ready-hero h2{font-size:clamp(1.6rem,4vw,2.65rem);line-height:1.04;margin:8px 0}.final-ready-hero p{max-width:900px;color:rgba(255,255,255,.88);font-size:1rem}.final-ready-score{position:relative;z-index:1;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(14px);padding:20px;border-radius:24px;text-align:center}.final-ready-score small,.final-ready-score span{display:block;color:rgba(255,255,255,.82)}.final-ready-score strong{display:block;font-size:3.2rem;line-height:1;margin:8px 0}.final-stat-grid{margin-bottom:20px}.final-feature-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}.final-feature-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:18px;box-shadow:0 12px 32px rgba(15,23,42,.06)}.final-feature-card h3{margin:0 0 10px;color:#0f172a}.final-feature-card ul{margin:0;padding-left:18px;color:#475569}.final-feature-card li{margin:6px 0}.final-flow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.final-flow-steps div{padding:16px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}.final-flow-steps b{display:block;color:#0369a1;margin-bottom:6px}.final-flow-steps span{display:block;color:#475569}.final-check-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.final-check-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.final-check{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:16px;border:1px solid #e5e7eb;background:#fff}.final-check span{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.final-check.ok span{background:#dcfce7;color:#166534}.final-check.bad span{background:#fee2e2;color:#991b1b}.final-check b{display:block;color:#0f172a}.final-check small{display:block;color:#64748b;margin-top:2px}.final-warning-card{border-left:6px solid #f97316}.final-check-card{margin-top:18px}@media(max-width:1180px){.final-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.final-flow-steps,.final-check-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.final-ready-hero{grid-template-columns:1fr;padding:20px;border-radius:22px}.final-feature-grid,.final-flow-steps,.final-check-list,.final-check-list.compact{grid-template-columns:1fr}.final-ready-score strong{font-size:2.5rem}}
