/*
 * Tema Biru & Biru Muda - TK Pembina Berau
 * Warna utama: Biru #2563EB | Biru tua #1E3A8A | Biru muda #38BDF8
 */
:root{--green:#2563eb;--green-dark:#1e3a8a;--green-soft:#eaf4ff;--yellow:#7dd3fc;--yellow-soft:#e0f2fe;--blue:#38bdf8;--red:#d84a4a;--ink:#172554;--muted:#64748b;--line:#dbeafe;--bg:#f8fbff;--white:#fff;--shadow:0 18px 48px rgba(37,99,235,.12);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.container{width:min(1160px,calc(100% - 32px));margin-inline:auto}.topbar{background:var(--green-dark);color:#eff6ff;font-size:.88rem}.topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-links{display:flex;gap:18px;flex-wrap:wrap}.site-header{background:rgba(255,255,255,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(219,234,254,.9);backdrop-filter:blur(14px)}.navbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:240px}.brand img{width:58px;height:58px;object-fit:contain}.brand strong{display:block;color:var(--green-dark);font-size:1.08rem;line-height:1.25}.brand span{display:block;color:var(--muted);font-size:.8rem}.menu-toggle{display:none;border:0;background:var(--green-soft);color:var(--green-dark);border-radius:12px;padding:10px 13px;font-weight:800}.main-menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.main-menu>li{position:relative}.main-menu a,.dropdown-label{display:flex;align-items:center;gap:5px;padding:10px 10px;border-radius:11px;font-size:.91rem;font-weight:700;color:#334155;white-space:nowrap}.main-menu a:hover,.main-menu a.active,.dropdown-label:hover{background:var(--green-soft);color:var(--green)}.dropdown-label{cursor:pointer}.dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:250px;background:#fff;border:1px solid var(--line);padding:8px;border-radius:14px;box-shadow:var(--shadow);list-style:none}.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{display:block}.dropdown-menu a{padding:9px 11px;font-weight:600}.hero{position:relative;overflow:hidden;padding:68px 0 58px;background:linear-gradient(135deg,#eff6ff 0%,#f8fbff 55%,#e0f2fe 100%)}.hero:before{content:"";position:absolute;width:350px;height:350px;border-radius:50%;background:rgba(56,189,248,.18);right:-120px;top:-140px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(37,99,235,.08);padding:7px 13px;border-radius:999px;color:var(--green);font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.hero h1{font-size:clamp(2.45rem,5vw,4.4rem);line-height:1.08;margin:20px 0 18px;color:#172554;letter-spacing:-.045em}.hero h1 span{color:var(--green)}.hero p{font-size:1.08rem;color:#475569;max-width:660px;margin:0 0 28px}.button-row{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:12px 18px;font-weight:800;cursor:pointer;transition:.2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.28)}.btn-secondary{background:var(--yellow);color:#0c4a6e}.btn-outline{background:#fff;color:var(--green);border:1px solid var(--line)}.btn-danger{background:#fff0f0;color:#b32626;border:1px solid #ffd2d2}.btn-sm{padding:8px 12px;font-size:.84rem}.hero-art{position:relative}.hero-art img{filter:drop-shadow(0 24px 30px rgba(37,99,235,.16))}.floating-card{position:absolute;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:12px 16px;border-radius:15px;font-weight:800;color:var(--green-dark)}.floating-card.one{left:-20px;bottom:70px}.floating-card.two{right:-10px;top:45px}.quick-links{margin-top:-28px;position:relative;z-index:3}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(37,99,235,.08);display:flex;gap:14px;align-items:flex-start;transition:.2s}.quick-card:hover{transform:translateY(-3px);border-color:#93c5fd}.icon-box{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--green-soft);font-size:1.35rem;flex:0 0 auto}.quick-card:nth-child(2) .icon-box{background:var(--yellow-soft)}.quick-card:nth-child(3) .icon-box{background:#e0f2fe}.quick-card:nth-child(4) .icon-box{background:#fff0ee}.quick-card strong{display:block;margin-bottom:3px}.quick-card small{color:var(--muted)}.section{padding:76px 0}.section-white{background:#fff}.section-soft{background:linear-gradient(180deg,#f8fbff,#eff6ff)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.section-heading h2,.page-header h1{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.2;margin:8px 0;color:#172554;letter-spacing:-.03em}.section-heading p{color:var(--muted);max-width:650px;margin:0}.section-link{color:var(--green);font-weight:800}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}.about-panel{background:linear-gradient(145deg,var(--green),#0c4a6e);border-radius:30px;min-height:390px;padding:40px;color:#fff;position:relative;overflow:hidden}.about-panel:after{content:"";position:absolute;width:220px;height:220px;border:40px solid rgba(255,255,255,.10);border-radius:50%;right:-80px;bottom:-90px}.about-panel h3{font-size:2.1rem;margin:12px 0}.about-panel p{color:#dbeafe}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px}.stat{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:15px}.stat b{display:block;font-size:1.8rem}.content-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 12px 35px rgba(37,99,235,.07)}.feature-list{display:grid;gap:14px;margin:24px 0}.feature-item{display:flex;gap:13px}.check{width:28px;height:28px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.post-card,.gallery-card,.document-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(37,99,235,.07)}.post-card-image{aspect-ratio:16/9;background:linear-gradient(135deg,#dbeafe,#e0f2fe);display:grid;place-items:center;color:var(--green);font-size:3rem;overflow:hidden}.post-card-image img{width:100%;height:100%;object-fit:cover}.post-card-body{padding:20px}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:900;background:var(--green-soft);color:var(--green);text-transform:uppercase;letter-spacing:.04em}.badge-yellow{background:var(--yellow-soft);color:#075985}.badge-red{background:#fff0f0;color:#b32626}.badge-blue{background:#e0f2fe;color:#0369a1}.post-card h3{font-size:1.13rem;line-height:1.4;margin:11px 0 8px}.meta{font-size:.82rem;color:var(--muted)}.document-list{display:grid;gap:12px}.document-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.document-icon{width:44px;height:44px;border-radius:12px;background:#fff0ee;color:#be3a2d;display:grid;place-items:center;font-weight:900}.document-row h3{font-size:.98rem;margin:0 0 2px}.cta{background:linear-gradient(135deg,var(--green-dark),var(--green));color:#fff;border-radius:28px;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow)}.cta h2{margin:0 0 8px;font-size:2rem}.cta p{margin:0;color:#dbeafe}.page-header{padding:48px 0;background:linear-gradient(135deg,#dbeafe,#f0f9ff)}.breadcrumb{color:var(--muted);font-size:.9rem}.page-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}.sidebar{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;position:sticky;top:105px}.sidebar a{display:block;padding:10px 12px;border-radius:10px;font-weight:700;color:#475569}.sidebar a:hover,.sidebar a.active{background:var(--green-soft);color:var(--green)}.prose{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;min-height:350px}.prose h2,.prose h3{color:#1e40af}.prose p,.prose li{color:#475569}.prose img{border-radius:14px}.form-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 12px 32px rgba(37,99,235,.08)}.form-section{border:0;border-top:1px solid var(--line);padding:25px 0 0;margin:26px 0 0}.form-section legend{padding:0 12px 0 0;font-weight:900;color:var(--green-dark);font-size:1.12rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-group{display:grid;gap:7px}.form-group.full{grid-column:1/-1}.form-label{font-weight:800;font-size:.9rem}.required{color:var(--red)}.form-control{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:11px 13px;background:#fff;color:var(--ink);outline:none}.form-control:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(37,99,235,.12)}textarea.form-control{min-height:125px;resize:vertical}.form-help{font-size:.79rem;color:var(--muted)}.checkbox-row{display:flex;align-items:flex-start;gap:10px}.checkbox-row input{margin-top:6px}.alert{border-radius:14px;padding:13px 16px;margin-bottom:18px}.alert-success{background:#e9f9ef;border:1px solid #bfe9ce;color:#176538}.alert-danger{background:#fff0f0;border:1px solid #ffd1d1;color:#982828}.alert-info{background:#eaf6fd;border:1px solid #cbe8f7;color:#185f80}.error-list{margin:0;padding-left:20px}.status-box{border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff}.status-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:25px 0}.status-step{text-align:center;position:relative;color:#94a3b8;font-size:.76rem;font-weight:800}.status-step:before{content:"";display:block;width:24px;height:24px;border-radius:50%;background:#dbeafe;margin:0 auto 8px;border:5px solid #f8fbff}.status-step.done:before,.status-step.current:before{background:var(--green)}.status-step.current{color:var(--green)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery-caption{padding:14px 16px}.empty-state{text-align:center;padding:50px 20px;background:#fff;border:1px dashed #93c5fd;border-radius:18px;color:var(--muted)}.pagination{display:flex;gap:6px;justify-content:center;margin-top:30px;list-style:none}.pagination a,.pagination span{min-width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;border-radius:9px}.pagination .active span{background:var(--green);color:#fff}.site-footer{background:#172554;color:#dbeafe;padding:54px 0 22px}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:42px}.footer-brand{display:flex;gap:14px}.footer-brand img{width:64px;height:64px}.footer-title{color:#fff;font-weight:900;margin-bottom:13px}.footer-links{display:grid;gap:8px}.footer-links a{color:#bfdbfe}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:20px;color:#93c5fd;font-size:.85rem;display:flex;justify-content:space-between;gap:20px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eff6ff,#e0f2fe);padding:24px}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}.login-brand{text-align:center;margin-bottom:25px}.login-brand img{width:84px;margin:0 auto 12px}.admin-body{background:#f8fbff}.admin-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.admin-sidebar{background:#172554;color:#dbeafe;padding:24px 16px;position:sticky;top:0;height:100vh;overflow:auto}.admin-logo{display:flex;align-items:center;gap:11px;padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.admin-logo img{width:48px;height:48px}.admin-logo strong{display:block;color:#fff}.admin-logo small{color:#93c5fd}.admin-nav{display:grid;gap:4px;margin-top:18px}.admin-nav a,.admin-nav button{width:100%;text-align:left;color:#dbeafe;background:transparent;border:0;padding:10px 12px;border-radius:10px;font-weight:700;cursor:pointer}.admin-nav a:hover,.admin-nav a.active,.admin-nav button:hover{background:rgba(255,255,255,.10);color:#fff}.admin-main{min-width:0}.admin-topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30}.admin-content{padding:28px}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.admin-heading h1{margin:0;font-size:1.75rem;color:#172554}.admin-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.admin-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.admin-stat span{color:var(--muted);font-size:.85rem;font-weight:700}.admin-stat b{display:block;font-size:2rem;color:var(--green-dark)}.table-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.table-toolbar{padding:15px;border-bottom:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap}.table-responsive{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:13px 15px;text-align:left;border-bottom:1px solid #eff6ff;vertical-align:top}.data-table th{background:#f8fbff;color:#475569;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.data-table tr:hover td{background:#f8fbff}.actions{display:flex;gap:7px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-list{display:grid;grid-template-columns:160px 1fr;gap:9px 14px}.detail-list dt{font-weight:800;color:#475569}.detail-list dd{margin:0}.admin-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.code-box{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#eff6ff;border:1px dashed #93c5fd;padding:12px;border-radius:10px;font-weight:900;word-break:break-all}.mobile-only{display:none}@media(max-width:1024px){.navbar{align-items:flex-start;padding:12px 0}.menu-toggle{display:block;margin-top:9px}.main-menu{display:none;position:absolute;left:16px;right:16px;top:78px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow);align-items:stretch;flex-direction:column}.main-menu.is-open{display:flex}.dropdown-menu{display:block;position:static;box-shadow:none;border:0;padding:0 0 0 14px}.hero-grid,.about-grid{grid-template-columns:1fr}.hero-art{max-width:650px;margin:auto}.quick-grid{grid-template-columns:repeat(2,1fr)}.card-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.admin-nav{grid-template-columns:repeat(3,1fr)}.admin-content{padding:20px}.admin-stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.container{width:min(100% - 22px,1160px)}.topbar-inner{padding:8px 0;display:block}.topbar-links{gap:8px}.brand{min-width:0}.brand span{display:none}.hero{padding-top:42px}.hero h1{font-size:2.55rem}.floating-card{display:none}.quick-grid,.card-grid,.gallery-grid,.stats-grid,.form-grid,.detail-grid,.footer-grid,.admin-stat-grid{grid-template-columns:1fr}.page-grid{grid-template-columns:1fr}.sidebar{position:static}.section{padding:52px 0}.section-heading,.cta,.admin-heading{align-items:flex-start;flex-direction:column}.document-row{grid-template-columns:44px 1fr}.document-row .btn{grid-column:1/-1}.status-steps{grid-template-columns:1fr}.status-step{display:flex;align-items:center;text-align:left;gap:8px}.status-step:before{margin:0}.footer-bottom{display:block}.admin-nav{grid-template-columns:1fr 1fr}.admin-topbar{padding:0 16px}.admin-content{padding:14px}.detail-list{grid-template-columns:1fr}.mobile-only{display:block}.desktop-only{display:none}}

/* Background foto Beranda yang dapat diatur dari database melalui panel admin. */
.hero--with-background{
    position:relative;
    isolation:isolate;
    min-height:620px;
    display:flex;
    align-items:center;
    padding:92px 0 86px;
    background-image:
        linear-gradient(
            90deg,
            rgba(23,37,84,.94) 0%,
            rgba(30,58,138,.84) 45%,
            rgba(37,99,235,.48) 72%,
            rgba(56,189,248,.22) 100%
        ),
        var(--hero-background-image);
    background-position:center 45%;
    background-size:cover;
    background-repeat:no-repeat;
}

.hero--with-background::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    width:auto;
    height:auto;
    border-radius:0;
    background:
        radial-gradient(circle at 15% 25%,rgba(125,211,252,.20),transparent 32%),
        linear-gradient(180deg,rgba(15,23,42,.05),rgba(15,23,42,.24));
    pointer-events:none;
}

.hero--with-background .hero-grid{
    position:relative;
    z-index:1;
    grid-template-columns:minmax(0,760px);
    justify-content:start;
}

.hero--with-background .hero-art{
    display:none;
}

.hero--with-background .eyebrow{
    color:#e0f2fe;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.24);
    backdrop-filter:blur(8px);
}

.hero--with-background h1{
    color:#fff;
    text-shadow:0 4px 20px rgba(15,23,42,.30);
}

.hero--with-background h1 span{
    color:#7dd3fc;
}

.hero--with-background p{
    color:#dbeafe;
    text-shadow:0 2px 12px rgba(15,23,42,.24);
}

.hero--with-background .meta{
    color:#bfdbfe;
}

.hero--with-background .btn-primary{
    background:#2563eb;
    border-color:#60a5fa;
    box-shadow:0 12px 28px rgba(15,23,42,.24);
}

.hero--with-background .btn-primary:hover{
    background:#1d4ed8;
    transform:translateY(-2px);
}

.hero--with-background .btn-outline{
    color:#fff;
    border-color:rgba(255,255,255,.68);
    background:rgba(255,255,255,.10);
    backdrop-filter:blur(7px);
}

.hero--with-background .btn-outline:hover{
    color:#172554;
    background:#fff;
    border-color:#fff;
}

@media(max-width:720px){
    .hero--with-background{
        min-height:560px;
        padding:68px 0 62px;
        background-position:62% center;
    }

    .hero--with-background h1{
        font-size:2.45rem;
    }
}
