
:root {
    --primary: #284469;       /* Royal Navy */
    --primary-dark: #1e3554;  /* Navy Gelap */
    --accent: #FEC763;        /* Gold/Orange */
    --secondary: #f5b13f;     /* Aksen Oranye */
    --success: #27ae60;       /* Hijau */
    --bg: #f0f2f5;            /* Abu Muda */
    --white: #ffffff;
    --text: #2c3e50;
    --text-muted: #7f8c8d;
    --border: #e1e8ed;
    --glass: rgba(255, 255, 255, 0.9);
}

        * { margin:0; padding:0; box-sizing:border-box; font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; }
        
        body { 
            background: var(--bg); 
            color: var(--text); 
            line-height: 1.6; 
            padding-top: 80px; /* Offset for fixed navbar */
        }

        /* --- NAVIGATION (Modern Glassmorphism) --- */
        nav {
            background: #1e3554; /* Warna Navy Transparan */
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            color: var(--white);
            padding: 15px 5%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
        }

        .nav-brand { display: flex; align-items: center; gap: 12px; }
        .nav-logo { 
            height: 48px; width: 48px; object-fit: contain; 
            background: var(--white); border-radius: 50%; padding: 4px; 
        }
        .brand-text h1 { font-size: 1.3rem; letter-spacing: 0.5px; color: var(--white); }
        .brand-text p { font-size: 0.7rem; opacity: 0.8; color: var(--white); }

        .nav-links a { 
            color: var(--white); 
            text-decoration: none; 
            font-weight: 600; 
            font-size: 0.9rem; 
            padding: 8px 16px;
            border-radius: 50px;
            transition: 0.3s;
        }
        .nav-links a:hover { background: rgba(255,255,255,0.1); color: var(--accent); }

        /* --- TIMER BANNER --- */
        .timer-banner {
            background: var(--primary);
            color: var(--white);
            text-align: center;
            padding: 12px;
            font-size: 1rem;
            font-weight: 700;
            position: sticky;
            top: 68px;
            z-index: 999;
            box-shadow: 0 4px 12px rgba(0,0,0,0.05);
            transition: 0.5s ease;
        }

        /* --- HERO INFO CARD (What's Kamis-Inggris) --- */
        .hero-info-card {
            background: linear-gradient(135deg, var(--primary) 0%, #001f3f 100%);
            color: var(--white);
            border-radius: 24px;
            padding: 35px;
            margin-bottom: 30px;
            box-shadow: 0 15px 35px rgba(0,0,128,0.15);
            border-left: 8px solid var(--accent);
            position: relative;
            overflow: hidden;
        }

        .hero-info-card::before {
            content: "✨";
            position: absolute;
            right: 20px;
            top: 20px;
            font-size: 3rem;
            opacity: 0.2;
        }

        .hero-info-card h2 {
            color: var(--accent);
            font-size: 1.8rem;
            margin-bottom: 15px;
            font-weight: 800;
        }

        .hero-info-text {
            font-size: 1.05rem;
            opacity: 0.95;
            text-align: justify;
            margin-bottom: 20px;
        }

        .highlight-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
            margin-top: 20px;
        }

        .info-pill {
            background: rgba(255, 255, 255, 0.1);
            padding: 15px;
            border-radius: 15px;
            border: 1px solid rgba(255,255,255,0.1);
            font-size: 0.9rem;
        }

        /* --- CONTENT CARDS --- */
        .container { max-width: 950px; margin: 0 auto; padding: 20px; }
        
        .card {
            background: var(--white);
            padding: 25px;
            border-radius: 16px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
            border: 1px solid var(--border);
            margin-bottom: 20px;
        }

        .hero-img { width: 100%; height: 350px; object-fit: cover; border-bottom: 5px solid var(--accent); }
        
        .content-body { padding: 40px; }
        .content-body h1 { color: var(--primary); font-size: 2.2rem; margin-bottom: 10px; font-weight: 800; }
        
        .meta-info { 
            display: flex; 
            align-items: center; 
            gap: 15px; 
            color: var(--text-muted); 
            font-size: 0.85rem; 
            margin-bottom: 30px;
            padding-bottom: 15px;
            border-bottom: 1px solid var(--border);
        }

        .material-text { 
            font-size: 1.15rem; 
            line-height: 1.9; 
            color: #444; 
            margin-bottom: 40px;
        }

        /* --- FORM SECTION --- */
        .form-section { 
            background: #f8f9fa; 
            padding: 35px; 
            border-radius: 20px; 
            border: 1px solid var(--border); 
        }
        
        .form-section h3 { 
            color: var(--primary); 
            font-size: 1.4rem; 
            margin-bottom: 25px; 
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .form-grid { 
            display: grid; 
            grid-template-columns: 1fr 1fr; 
            gap: 20px; 
            margin-bottom: 20px; 
        }

        label { display: block; font-weight: 700; margin-bottom: 8px; color: var(--text); font-size: 0.9rem; }
        
        input, select, textarea { 
            width: 100%; padding: 14px; border: 2px solid #e1e8ed; border-radius: 12px; 
            font-size: 1rem; transition: 0.3s; background: var(--white);
        }
        
        input:focus, select:focus, textarea:focus { 
            outline: none; border-color: var(--primary); box-shadow: 0 0 0 4px rgba(0,0,128,0.05); 
        }

        .btn-submit { 
            background: var(--primary); color: var(--white); border: none; 
            padding: 18px; font-size: 1.1rem; font-weight: 800; border-radius: 12px; 
            cursor: pointer; width: 100%; transition: 0.3s; margin-top: 10px;
            box-shadow: 0 6px 20px rgba(0,0,128,0.2);
        }
        
        .btn-submit:hover { background: var(--primary-dark); transform: translateY(-2px); }

        .upload-notice { 
            display: none; margin-top: 25px; padding: 25px; 
            background: #e8f5e9; border: 2px dashed var(--success); 
            border-radius: 16px; text-align: center; 
        }

        .btn-upload { 
            display: inline-block; background: var(--success); color: var(--white); 
            padding: 14px 30px; text-decoration: none; font-weight: 700; 
            border-radius: 12px; margin-top: 15px; 
        }

        /* --- MOBILE RESPONSIVE --- */
        @media (max-width: 768px) {
            .form-grid { grid-template-columns: 1fr; }
            .content-body { padding: 25px; }
            .hero-info-card { padding: 25px; }
            .hero-img { height: 200px; }
            .nav-brand p { display: none; }
            .brand-text h1 { font-size: 1.1rem; }
        }
