:root { --main-color: #17cbb3; --main-color-dark: #14b09e; --main-color-darker: #119485; --main-color-light: #e8f8f6; --main-gradient: linear-gradient(135deg, #17cbb3, #14b09e); --shadow: 0 8px 30px rgba(44, 62, 80, 0.1); --card-shadow: 0 15px 35px rgba(0, 0, 0, 0.07); --border: 1px solid rgba(224, 224, 224, 0.7); --radius: 16px; --transition: all 0.3s cubic-bezier(.42,0,.58,1); } html, body { overflow-x: hidden; width: 100vw; max-width: 100vw; /* Aktifkan scroll, tapi sembunyikan scrollbar */ overflow-y: scroll; scrollbar-width: none; /* Firefox */ -ms-overflow-style: none; /* IE 10+ */ } html::-webkit-scrollbar, body::-webkit-scrollbar { display: none; /* Chrome/Safari */ } body { font-family: 'Poppins', Arial, sans-serif; background: #f8fafb; margin: 0; padding-top: 80px; color: #2c3e50; line-height: 1.6; } a, button, input, textarea, select { outline: none !important; box-shadow: none !important; -webkit-tap-highlight-color: transparent; } a:focus, button:focus, input:focus, textarea:focus, select:focus { outline: none !important; box-shadow: none !important; } .container { max-width: 500px; margin: 48px auto 40px auto; background: #fff; padding: 42px 36px 36px 36px; border-radius: var(--radius); box-shadow: var(--card-shadow); border: var(--border); transition: var(--transition); animation: fadeIn 0.5s ease; box-sizing: border-box; position: relative; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px);} to { opacity: 1; transform: translateY(0);} } .container:hover { box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08); transform: translateY(-2px); } h1 { text-align: center; font-size: 1.7em; font-weight: 700; color: var(--main-color); margin-bottom: 32px; letter-spacing: -0.3px; position: relative; display: inline-block; width: 100%; } h1::after { content: ''; position: absolute; width: 60px; height: 3px; background: var(--main-gradient); bottom: -10px; left: 50%; transform: translateX(-50%); border-radius: 50px; } .form-group { margin-bottom: 24px; position: relative; } .form-label { display: block; font-weight: 600; margin-bottom: 10px; color: #34495e; font-size: 0.95em; letter-spacing: 0.2px; } .form-input, .form-textarea, .form-select { width: 100%; max-width: 100%; padding: 14px 18px; border: var(--border); border-radius: 12px; font-size: 1em; background: #fcfcfc; color: #333; margin-top: 2px; transition: all 0.3s; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); font-family: 'Poppins', sans-serif; box-sizing: border-box; display: block; } .form-input:focus, .form-textarea:focus, .form-select:focus { border-color: var(--main-color); background: #fff; box-shadow: 0 5px 15px rgba(23, 203, 179, 0.1); transform: translateY(-1px); } .form-textarea { min-height: 100px; resize: vertical; line-height: 1.6; } .form-input[type="file"] { padding: 12px; background: #f9fafb; cursor: pointer; } .submit-btn { width: 100%; padding: 14px 0; background: var(--main-gradient); color: white; font-weight: 600; border: none; border-radius: 30px; cursor: pointer; font-size: 1.05em; margin-top: 10px; box-shadow: 0 6px 15px rgba(23, 203, 179, 0.15); transition: all 0.3s; letter-spacing: 0.2px; } .submit-btn:hover, .submit-btn:focus-visible { background: linear-gradient(135deg, #14b09e, #119485); box-shadow: 0 8px 20px rgba(23, 203, 179, 0.25); transform: translateY(-2px); } .success-msg { background: #e3f8f2; color: #119485; padding: 15px; border-radius: 10px; font-weight: 500; margin-bottom: 25px; border-left: 4px solid var(--main-color); animation: slideInNotif 0.5s ease; position: relative; } .info-msg { background: #fff8e3; color: #e67e22; padding: 15px; border-radius: 10px; font-weight: 500; margin-bottom: 25px; border-left: 4px solid #e67e22; animation: slideInNotif 0.5s ease; } @keyframes slideInNotif { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } .file-list { list-style: none; padding: 0; margin: 15px 0 0 0; font-size: 0.9em; } .file-list li { background: #f8f9fa; padding: 8px 12px; margin-bottom: 8px; border-radius: 6px; color: #555; display: flex; align-items: center; } .file-list li::before { content: "📄"; margin-right: 8px; color: var(--main-color); } .file-list .error { background: #feefef; color: #e74c3c; } .form-section { margin-bottom: 28px; padding: 22px 24px; background: rgba(230, 246, 243, 0.4); border-radius: 14px; border: 1px solid rgba(23, 203, 179, 0.1); animation: fadeIn 0.6s ease; } .form-section-title { font-weight: 600; color: var(--main-color-dark); margin-bottom: 15px; font-size: 1.1em; display: flex; align-items: center; } .form-section-title::before { content: "\f0a4"; font-family: "Font Awesome 5 Free"; margin-right: 10px; color: var(--main-color); } .form-input::placeholder, .form-textarea::placeholder { color: #bdc3c7; font-style: italic; font-weight: 300; } .form-input:disabled, .form-textarea:disabled, .form-select:disabled { background: #f5f5f5; cursor: not-allowed; color: #7f8c8d; } .form-input[type="file"]:focus { border-color: var(--main-color-light); } .form-group:last-child { margin-bottom: 0; } .form-input[type="number"]::-webkit-inner-spin-button, .form-input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } .form-input[type="number"] { -moz-appearance: textfield; } .form-input[type="file"]::-webkit-file-upload-button { background: var(--main-gradient); border: none; color: white; padding: 8px 16px; border-radius: 8px; margin-right: 10px; font-family: 'Poppins', sans-serif; transition: all 0.3s; cursor: pointer; font-weight: 500; } .form-input[type="file"]:hover::-webkit-file-upload-button { background: linear-gradient(135deg, #14b09e, #119485); } .form-input[type="file"]::file-selector-button { background: var(--main-gradient); border: none; color: white; padding: 8px 16px; border-radius: 8px; margin-right: 10px; font-family: 'Poppins', sans-serif; transition: all 0.3s; cursor: pointer; font-weight: 500; } .form-input[type="file"]:hover::file-selector-button { background: linear-gradient(135deg, #14b09e, #119485); } .form-input[type="file"]::-ms-browse { background: var(--main-gradient); border: none; color: white; padding: 8px 16px; border-radius: 8px; margin-right: 10px; font-family: 'Poppins', sans-serif; } .form-input[type="file"]:hover::-ms-browse { background: linear-gradient(135deg, #14b09e, #119485); } @media (max-width: 600px) { .container { margin: 20px auto; padding: 28px 20px; max-width: 95%; border-radius: 12px; } h1 { font-size: 1.4em; } .form-input, .form-textarea, .form-select { padding: 12px 15px; font-size: 0.95em; } .form-section { padding: 18px 16px; margin-bottom: 22px; } .submit-btn { padding: 12px 0; } /* Jangan ubah overflow-y di mobile, tetap scrollable dan scrollbar tetap disembunyikan */ } /* --- Navbar Style --- */ .navbar { position: fixed; top: 0; left: 0; width: 100%; background: #17cbb3; display: flex; justify-content: space-between; align-items: center; padding: 0 20px; box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1); z-index: 1000; height: 65px; box-sizing: border-box; transition: all 0.3s ease; } .navbar-brand { font-weight: 700; font-size: 1.4em; color: white; letter-spacing: -0.5px; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } .navbar-menu { display: flex; list-style: none; margin: 0; padding: 0; margin-left: auto; margin-right: 15px; gap: 18px; /* Tambahkan gap agar jarak antar menu konsisten */ } .navbar-item { margin: 0; /* Hapus margin, gunakan gap saja */ } .navbar-link { text-decoration: none; color: white; font-size: 0.95em; padding: 8px 16px; border-radius: 30px; transition: all 0.3s ease; font-weight: 500; letter-spacing: 0.3px; position: relative; } .navbar-link:hover { background: rgba(255, 255, 255, 0.15); transform: translateY(-1px); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); } .navbar-toggle { display: none; flex-direction: column; cursor: pointer; } .bar { width: 26px; height: 3px; background-color: #fff; margin: 2.5px 0; border-radius: 5px; transition: all 0.3s ease; } .profile-icon { font-size: 1.5em; color: white; cursor: pointer; padding: 8px; border-radius: 50%; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; } .profile-icon:hover, .profile-icon.active { background: rgba(255, 255, 255, 0.15); transform: translateY(-1px); } .profile-dropdown { position: relative; display: inline-block; } .dropdown-content { display: none; position: absolute; right: 0; background-color: #fff; min-width: 180px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); z-index: 1; border-radius: 16px; overflow: hidden; transform: translateY(10px); opacity: 0; transition: transform 0.3s, opacity 0.2s; border: 1px solid rgba(23, 203, 179, 0.2); } .dropdown-content.show { display: block; transform: translateY(0); opacity: 1; } .dropdown-content a { color: #14b09e; padding: 14px 20px; text-decoration: none; display: block; font-size: 0.95em; font-weight: 500; transition: all 0.3s ease; border-bottom: 1px solid rgba(0,0,0,0.03); } .dropdown-content a:last-child { border-bottom: none; } .dropdown-content a:hover { background-color: #e8f8f6; padding-left: 24px; } .dropdown-content a i { margin-right: 10px; color: #17cbb3; } @media (max-width: 600px) { .navbar-menu { display: none; position: absolute; top: 65px; left: 0; width: 100%; background: var(--main-color); flex-direction: column; text-align: center; box-shadow: 0 4px 10px rgba(0,0,0,0.1); padding: 10px 0; z-index: 1000; gap: 18px; /* Samakan gap di mobile */ opacity: 0; transform: translateY(-24px); transition: opacity 0.3s cubic-bezier(.42,0,.58,1), transform 0.3s cubic-bezier(.42,0,.58,1); pointer-events: none; } .navbar-menu.active { display: flex; opacity: 1; transform: translateY(0); pointer-events: auto; } .navbar-item { margin: 0; /* Hapus margin, gunakan gap saja */ } .navbar-toggle { display: flex; transition: transform 0.3s; } .navbar-toggle.active { transform: rotate(90deg); } .navbar-toggle.active .bar:nth-child(1) { transform: translateY(6px) rotate(45deg); } .navbar-toggle.active .bar:nth-child(2) { opacity: 0; } .navbar-toggle.active .bar:nth-child(3) { transform: translateY(-6px) rotate(-45deg); } .profile-dropdown .dropdown-content { position: fixed; top: 65px; right: 0; width: 100%; border-radius: 0; box-shadow: 0 4px 8px rgba(0,0,0,0.1); } } /* --- Modal Styles --- */ .modal-base { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.6); backdrop-filter: blur(5px); z-index: 12000; justify-content: center; align-items: center; display: none; opacity: 0; transition: opacity 0.3s; } .modal-base.show { display: flex !important; opacity: 1; } .modal-content { background: #fff; border-radius: 20px; max-width: 95vw; width: 450px; padding: 35px 30px; box-shadow: 0 20px 40px rgba(0,0,0,0.2); text-align: left; color: #2c3e50; position: relative; transform: scale(0.9); opacity: 0; transition: transform 0.3s, opacity 0.3s; } .modal-base.show .modal-content { transform: scale(1); opacity: 1; } .modal-close { position: absolute; right: 20px; top: 20px; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(23, 203, 179, 0.1); color: #17cbb3; font-size: 1.2em; cursor: pointer; transition: all 0.3s; z-index: 1; } .modal-close:hover { background: rgba(23, 203, 179, 0.2); transform: rotate(90deg); } .modal-title { font-size: 1.5em; font-weight: 700; margin: 0 0 20px 0; color: #17cbb3; text-align: center; } .register-seller-modal { /* No composes, just use modal-base */ } .register-seller-content { /* No composes, just use modal-content */ text-align: center; } .faq-modal, .cs-modal { /* No composes, just use modal-base */ } .faq-content, .cs-content { /* No composes, just use modal-content */ }