Files
cbd420/app/globals.css
2025-12-21 07:51:51 +01:00

449 lines
6.8 KiB
CSS

:root {
--bg: #0e0e0e;
--bg-soft: #151515;
--card: #1c1c1c;
--text: #eaeaea;
--muted: #9a9a9a;
--accent: #3ddc84;
--border: #2a2a2a;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: 'Inter', sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.6;
}
a {
color: inherit;
text-decoration: none;
}
nav {
position: sticky;
top: 0;
z-index: 10;
background: rgba(14, 14, 14, 0.9);
backdrop-filter: blur(10px);
border-bottom: 1px solid var(--border);
padding: 20px 40px;
display: flex;
justify-content: space-between;
align-items: center;
}
nav .brand {
font-weight: 600;
font-size: 18px;
letter-spacing: 0.5px;
}
nav .links a {
margin-left: 28px;
font-size: 14px;
color: var(--muted);
}
nav .links a:hover {
color: var(--text);
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 80px 20px;
}
header {
padding-top: 120px;
padding-bottom: 80px;
}
header h1 {
font-size: 44px;
font-weight: 600;
max-width: 760px;
letter-spacing: -0.5px;
}
header p {
margin-top: 20px;
font-size: 18px;
color: var(--muted);
max-width: 620px;
}
.drop {
background: var(--card);
border-radius: 20px;
padding: 40px;
display: grid;
grid-template-columns: 420px 1fr;
gap: 50px;
border: 1px solid var(--border);
}
.drop img {
width: 100%;
border-radius: 16px;
object-fit: cover;
}
.drop h2 {
font-size: 28px;
margin: 0 0 10px;
}
.drop .meta {
color: var(--muted);
margin-bottom: 20px;
}
.price {
font-size: 22px;
font-weight: 500;
margin-bottom: 20px;
}
.progress {
background: var(--bg-soft);
border-radius: 10px;
height: 10px;
overflow: hidden;
margin-bottom: 20px;
}
.progress span {
display: block;
height: 100%;
width: 62%;
background: linear-gradient(90deg, var(--accent), #1fa463);
}
.options button {
background: transparent;
border: 1px solid var(--border);
color: var(--text);
padding: 14px 20px;
margin-right: 12px;
border-radius: 12px;
cursor: pointer;
font-size: 14px;
}
.options button.active,
.options button:hover {
border-color: var(--accent);
color: var(--accent);
}
.cta {
margin-top: 30px;
padding: 16px 28px;
background: #0a7931;
color: #fff;
border: none;
border-radius: 14px;
font-size: 15px;
font-weight: 500;
cursor: pointer;
}
.info-box {
margin-top: 60px;
background: var(--card);
border: 1px solid var(--border);
border-radius: 16px;
padding: 30px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 30px;
}
.info-box div h3 {
margin-bottom: 8px;
font-size: 18px;
}
.info-box div p {
color: var(--muted);
font-size: 14px;
}
.signup {
background: var(--card);
border-radius: 20px;
padding: 50px;
text-align: center;
border: 1px solid var(--border);
}
.signup input {
width: 260px;
padding: 14px;
margin: 10px;
border-radius: 12px;
border: 1px solid var(--border);
background: var(--bg-soft);
color: var(--text);
}
.signup button {
margin-top: 20px;
padding: 14px 28px;
background: #0a7931;
color: #fff;
border: none;
border-radius: 14px;
cursor: pointer;
}
.past {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
justify-content: start;
}
.past .card {
background: var(--card);
border-radius: 16px;
padding: 20px;
border: 1px solid var(--border);
width: 100%;
}
.past img {
width: 100%;
border-radius: 12px;
margin-bottom: 12px;
}
footer {
padding: 60px 20px;
text-align: center;
color: var(--muted);
font-size: 13px;
border-top: 1px solid var(--border);
}
@media (max-width: 900px) {
.drop {
grid-template-columns: 1fr;
}
.past {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 600px) {
.past {
grid-template-columns: 1fr;
}
}
/* Admin Panel Styles */
.admin-page {
min-height: 100vh;
}
.admin-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 40px;
}
.admin-header button {
padding: 12px 24px;
background: transparent;
border: 1px solid var(--border);
color: var(--text);
border-radius: 12px;
cursor: pointer;
font-size: 14px;
transition: all 0.2s;
}
.admin-header button:hover {
border-color: var(--accent);
color: var(--accent);
}
.admin-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
}
.admin-section {
background: var(--card);
border: 1px solid var(--border);
border-radius: 20px;
padding: 40px;
}
.admin-section h2 {
margin-top: 0;
margin-bottom: 30px;
font-size: 24px;
}
.admin-form {
display: flex;
flex-direction: column;
gap: 20px;
}
.form-group {
display: flex;
flex-direction: column;
gap: 8px;
}
.form-group label {
font-size: 14px;
color: var(--muted);
font-weight: 500;
}
.form-group input,
.form-group select {
padding: 14px;
border-radius: 12px;
border: 1px solid var(--border);
background: var(--bg-soft);
color: var(--text);
font-size: 14px;
font-family: inherit;
}
.form-group input:focus,
.form-group select:focus {
outline: none;
border-color: var(--accent);
}
.form-group .file-input {
padding: 10px;
cursor: pointer;
}
.form-group .file-input::file-selector-button {
padding: 8px 16px;
margin-right: 12px;
border: 1px solid var(--border);
border-radius: 8px;
background: var(--card);
color: var(--text);
cursor: pointer;
font-size: 13px;
transition: all 0.2s;
}
.form-group .file-input::file-selector-button:hover {
border-color: var(--accent);
background: var(--bg-soft);
}
.image-preview {
margin-top: 12px;
border-radius: 12px;
overflow: hidden;
max-width: 200px;
border: 1px solid var(--border);
}
.image-preview img {
width: 100%;
height: auto;
display: block;
}
.file-hint {
margin-top: 8px;
font-size: 12px;
color: var(--muted);
}
.form-grid {
display: grid;
grid-template-columns: 1fr 80px;
gap: 12px;
}
.drops-list {
display: flex;
flex-direction: column;
gap: 16px;
max-height: 600px;
overflow-y: auto;
}
.drop-card {
border: 1px solid var(--border);
border-radius: 12px;
padding: 20px;
}
.drop-card-header {
display: flex;
justify-content: space-between;
align-items: start;
margin-bottom: 12px;
}
.drop-card-info h3 {
margin: 0 0 8px 0;
font-size: 18px;
}
.drop-card-info p {
margin: 0;
color: var(--muted);
font-size: 14px;
}
.sold-out-badge {
padding: 4px 12px;
background: var(--accent);
color: #000;
border-radius: 6px;
font-size: 12px;
font-weight: 500;
}
.drop-card-progress {
margin-bottom: 12px;
}
.drop-card-progress-header {
display: flex;
justify-content: space-between;
font-size: 14px;
margin-bottom: 8px;
}
.drop-card-progress-header span:last-child {
font-weight: 500;
}
.drop-card-price {
font-size: 14px;
color: var(--muted);
}
@media (max-width: 1000px) {
.admin-grid {
grid-template-columns: 1fr;
}
}