You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
238 lines
5.4 KiB
238 lines
5.4 KiB
/* =====================================================================
|
|
MODERNÍ BAREVNÝ FORMULÁŘ – 2026 UI (CLEAN + COLORFUL)
|
|
===================================================================== */
|
|
|
|
/* ---------------------------------------------------------------------
|
|
1. PROMĚNNÉ
|
|
--------------------------------------------------------------------- */
|
|
|
|
:root {
|
|
|
|
--primary: #7c3aed; /* fialová */
|
|
--secondary: #06b6d4; /* cyan */
|
|
--accent: #f97316; /* oranžová */
|
|
|
|
--bg: #f6f7ff;
|
|
--card: #ffffff;
|
|
|
|
--text: #111827;
|
|
--muted: #6b7280;
|
|
|
|
--success: #22c55e;
|
|
--danger: #ef4444;
|
|
|
|
--radius: 20px;
|
|
--shadow: 0 15px 45px rgba(0,0,0,.10);
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------
|
|
2. BODY
|
|
--------------------------------------------------------------------- */
|
|
|
|
body {
|
|
font-family: system-ui, -apple-system, Segoe UI, sans-serif;
|
|
|
|
background:
|
|
radial-gradient(circle at top left, #ede9fe, transparent 45%),
|
|
radial-gradient(circle at top right, #cffafe, transparent 40%),
|
|
radial-gradient(circle at bottom, #ffedd5, transparent 45%),
|
|
var(--bg);
|
|
|
|
color: var(--text);
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------
|
|
3. HEADER
|
|
--------------------------------------------------------------------- */
|
|
|
|
.app-header {
|
|
background: rgba(255,255,255,.85);
|
|
backdrop-filter: blur(12px);
|
|
border-bottom: 1px solid rgba(0,0,0,.06);
|
|
}
|
|
|
|
.navbar-brand {
|
|
font-weight: 700;
|
|
color: var(--text) !important;
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------
|
|
4. CARD
|
|
--------------------------------------------------------------------- */
|
|
|
|
.form-card,
|
|
.success-card {
|
|
background: var(--card);
|
|
border-radius: var(--radius);
|
|
box-shadow: var(--shadow);
|
|
border: 1px solid rgba(0,0,0,.05);
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* gradient header (barevný highlight) */
|
|
|
|
.form-card-header {
|
|
background: linear-gradient(
|
|
135deg,
|
|
var(--primary),
|
|
var(--secondary)
|
|
);
|
|
|
|
color: white;
|
|
padding: 2rem;
|
|
}
|
|
|
|
/* footer */
|
|
|
|
.form-card-footer {
|
|
background: linear-gradient(135deg, #f9fafb, #f3f4f6);
|
|
border-top: 1px solid rgba(0,0,0,.05);
|
|
color: var(--muted);
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------
|
|
5. FORM ELEMENTY
|
|
--------------------------------------------------------------------- */
|
|
|
|
.form-label {
|
|
font-weight: 600;
|
|
margin-bottom: .4rem;
|
|
}
|
|
|
|
.form-control,
|
|
.form-select {
|
|
border-radius: 14px;
|
|
border: 1px solid #e5e7eb;
|
|
padding: .8rem 1rem;
|
|
transition: .2s ease;
|
|
background: #fff;
|
|
}
|
|
|
|
.form-control:focus,
|
|
.form-select:focus {
|
|
border-color: var(--secondary);
|
|
box-shadow: 0 0 0 4px rgba(6,182,212,.15);
|
|
}
|
|
|
|
/* input ikony */
|
|
|
|
.input-group-text {
|
|
background: linear-gradient(135deg, #f3f4f6, #e5e7eb);
|
|
border: 1px solid #e5e7eb;
|
|
color: var(--primary);
|
|
}
|
|
|
|
/* textarea */
|
|
|
|
textarea.form-control {
|
|
min-height: 160px;
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------
|
|
6. VALIDACE
|
|
--------------------------------------------------------------------- */
|
|
|
|
.is-valid {
|
|
border-color: var(--success) !important;
|
|
}
|
|
|
|
.is-invalid {
|
|
border-color: var(--danger) !important;
|
|
}
|
|
|
|
.invalid-feedback {
|
|
display: block;
|
|
color: var(--danger);
|
|
font-size: .85rem;
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------
|
|
7. BUTTON
|
|
--------------------------------------------------------------------- */
|
|
|
|
.btn-primary {
|
|
background: linear-gradient(
|
|
135deg,
|
|
var(--primary),
|
|
var(--secondary)
|
|
);
|
|
|
|
border: none;
|
|
border-radius: 14px;
|
|
font-weight: 600;
|
|
padding: .9rem 1.2rem;
|
|
|
|
transition: .25s ease;
|
|
}
|
|
|
|
.btn-primary:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 12px 30px rgba(124,58,237,.25);
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------
|
|
8. SUCCESS
|
|
--------------------------------------------------------------------- */
|
|
|
|
.success-icon i {
|
|
font-size: 4.5rem;
|
|
color: var(--success);
|
|
animation: pop .5s ease;
|
|
}
|
|
|
|
@keyframes pop {
|
|
from {
|
|
transform: scale(.6);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------
|
|
9. ALERT
|
|
--------------------------------------------------------------------- */
|
|
|
|
.alert {
|
|
border-radius: 14px;
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------
|
|
10. FOOTER
|
|
--------------------------------------------------------------------- */
|
|
|
|
.app-footer {
|
|
background: #ffffff;
|
|
border-top: 1px solid rgba(0,0,0,.06);
|
|
color: var(--muted);
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------
|
|
11. ANIMACE
|
|
--------------------------------------------------------------------- */
|
|
|
|
.animate-slide-down {
|
|
animation: slideDown .4s ease;
|
|
}
|
|
|
|
@keyframes slideDown {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-12px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
/* ---------------------------------------------------------------------
|
|
12. HOVER DETAIL (malý UX bonus)
|
|
--------------------------------------------------------------------- */
|
|
|
|
.form-card:hover {
|
|
transform: translateY(-2px);
|
|
transition: .3s ease;
|
|
}
|
|
|