From 2249e1d556f44f69710267c7c1b83da3eb49f949 Mon Sep 17 00:00:00 2001 From: numex-admin Date: Thu, 10 Sep 2026 08:58:37 +0000 Subject: [PATCH] =?UTF-8?q?Numex=20yay=C4=B1n:=20public/style.css?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/style.css | 280 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 280 insertions(+) create mode 100644 public/style.css diff --git a/public/style.css b/public/style.css new file mode 100644 index 0000000..243dbd4 --- /dev/null +++ b/public/style.css @@ -0,0 +1,280 @@ +/* style.css — Randevu sistemi genel stiller */ +:root { + --primary: #2563eb; + --primary-dark: #1d4ed8; + --bg: #f3f4f6; + --card-bg: #ffffff; + --text: #1f2937; + --muted: #6b7280; + --border: #e5e7eb; + --danger: #dc2626; + --success: #16a34a; + --radius: 12px; + --shadow: 0 1px 3px rgba(0,0,0,0.1); +} + +* { box-sizing: border-box; margin: 0; padding: 0; } + +body { + font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; + background: var(--bg); + color: var(--text); + line-height: 1.6; +} + +.container { + max-width: 720px; + margin: 0 auto; + padding: 20px 16px; +} + +.site-header { + text-align: center; + padding: 24px 0 20px; +} + +.site-header h1 { + font-size: 1.9rem; + color: var(--text); +} + +.subtitle { + color: var(--muted); + font-size: 0.95rem; + margin-bottom: 16px; +} + +.tabs { + display: inline-flex; + gap: 6px; + background: var(--card-bg); + padding: 4px; + border-radius: 999px; + box-shadow: var(--shadow); +} + +.tab { + padding: 8px 18px; + border-radius: 999px; + text-decoration: none; + color: var(--muted); + font-weight: 500; + font-size: 0.9rem; + transition: all 0.2s; +} + +.tab.active { + background: var(--primary); + color: #fff; +} + +.tab:not(.active):hover { + background: var(--border); + color: var(--text); +} + +.card { + background: var(--card-bg); + border-radius: var(--radius); + box-shadow: var(--shadow); + padding: 24px; + margin-bottom: 20px; +} + +.card h2 { + font-size: 1.3rem; + margin-bottom: 20px; +} + +.form-row { + margin-bottom: 16px; +} + +.form-row label { + display: block; + font-weight: 500; + font-size: 0.9rem; + margin-bottom: 6px; +} + +.form-row input, +.form-row select, +.form-row textarea { + width: 100%; + padding: 10px 12px; + border: 1px solid var(--border); + border-radius: 8px; + font-size: 0.95rem; + font-family: inherit; + background: #fff; + transition: border-color 0.2s, box-shadow 0.2s; +} + +.form-row input:focus, +.form-row select:focus, +.form-row textarea:focus { + outline: none; + border-color: var(--primary); + box-shadow: 0 0 0 3px rgba(37,99,235,0.12); +} + +.form-row small { + color: var(--muted); + font-size: 0.8rem; +} + +.btn { + padding: 11px 20px; + border: none; + border-radius: 8px; + font-size: 0.95rem; + font-weight: 600; + cursor: pointer; + transition: background 0.2s, transform 0.1s; +} + +.btn:active { transform: scale(0.98); } + +.btn-primary { + background: var(--primary); + color: #fff; + width: 100%; +} + +.btn-primary:hover { background: var(--primary-dark); } + +.btn-primary:disabled { + background: var(--border); + color: var(--muted); + cursor: not-allowed; +} + +.btn-secondary { + background: var(--border); + color: var(--text); +} + +.btn-secondary:hover { background: #d1d5db; } + +.btn-danger { + background: transparent; + color: var(--danger); + border: 1px solid var(--danger); + padding: 6px 12px; + font-size: 0.8rem; + border-radius: 6px; +} + +.btn-danger:hover { background: #fef2f2; } + +.result { + margin-top: 20px; + padding: 14px 16px; + border-radius: 8px; + font-size: 0.95rem; +} + +.result.success { + background: #f0fdf4; + border: 1px solid #bbf7d0; + color: var(--success); +} + +.result.error { + background: #fef2f2; + border: 1px solid #fecaca; + color: var(--danger); +} + +/* Admin panel */ +.admin-controls { + display: flex; + align-items: flex-end; + gap: 12px; + flex-wrap: wrap; +} + +.admin-controls .form-row { + flex: 1; + min-width: 200px; + margin-bottom: 0; +} + +.admin-controls .btn { flex-shrink: 0; } + +.summary { + margin-top: 16px; + padding: 12px 16px; + background: #eff6ff; + border: 1px solid #bfdbfe; + border-radius: 8px; + font-weight: 500; + color: var(--primary-dark); +} + +.appointment-list { + margin-top: 20px; +} + +.appointment-item { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 14px 16px; + border: 1px solid var(--border); + border-radius: 10px; + margin-bottom: 10px; + background: #fafafa; + flex-wrap: wrap; +} + +.appointment-item .time-badge { + background: var(--primary); + color: #fff; + font-weight: 700; + font-size: 1rem; + padding: 6px 12px; + border-radius: 8px; + min-width: 72px; + text-align: center; +} + +.appointment-item .info { + flex: 1; + min-width: 180px; +} + +.appointment-item .info .name { + font-weight: 600; +} + +.appointment-item .info .detail { + color: var(--muted); + font-size: 0.85rem; +} + +.appointment-item .actions { flex-shrink: 0; } + +.empty-state { + text-align: center; + color: var(--muted); + padding: 40px 0; +} + +.site-footer { + text-align: center; + color: var(--muted); + font-size: 0.85rem; + padding: 20px 0; +} + +/* Responsive */ +@media (max-width: 600px) { + .container { padding: 12px; } + .site-header h1 { font-size: 1.5rem; } + .card { padding: 18px; } + .appointment-item { flex-direction: column; align-items: flex-start; } + .appointment-item .actions { align-self: stretch; } + .appointment-item .actions .btn-danger { width: 100%; } +}