přesun css do /
This commit is contained in:
@@ -1,575 +0,0 @@
|
||||
/* ============================================================
|
||||
AUTH SYSTÉM – STYL
|
||||
============================================================
|
||||
Umístění: libovolné (např. /css/auth-styl.css)
|
||||
Aktivace: v auth/config.php nastavit
|
||||
define('AUTH_CSS', '/css/auth-styl.css');
|
||||
|
||||
Funguje bez jakýchkoliv změn v PHP souborech.
|
||||
Styluje čistě pomocí HTML elementů – žádné třídy nejsou
|
||||
potřeba.
|
||||
============================================================ */
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
PROMĚNNÉ – barvy a rozměry
|
||||
------------------------------------------------------------ */
|
||||
:root {
|
||||
/* Pozadí */
|
||||
--bg-hlavni: #1a1a1a; /* hlavní pozadí stránky */
|
||||
--bg-obsah: #222222; /* pozadí obsahového pruhu */
|
||||
--bg-prvek: #2c2c2c; /* pozadí inputů, tabulek, textarea */
|
||||
--bg-prvek-focus: #333333; /* inputy při focusu */
|
||||
|
||||
/* Písmo */
|
||||
--text-hlavni: #d4d4d4; /* hlavní text */
|
||||
--text-jemny: #888888; /* pomocný text (span, popisky síly hesla) */
|
||||
--text-nadpis: #f0f0f0; /* nadpisy */
|
||||
|
||||
/* Akcent – tmavě červená */
|
||||
--akcent: #8b1a1a; /* primární akcent */
|
||||
--akcent-svetly: #c0392b; /* hover, aktivní stav */
|
||||
--akcent-okraj: #6b1414; /* okraj akcentových prvků */
|
||||
|
||||
/* Doplňková barva – ocelová šedá */
|
||||
--ocel: #4a5568; /* okraje, oddělovače */
|
||||
--ocel-svetly: #718096; /* jemnější prvky */
|
||||
|
||||
/* Stavy */
|
||||
--chyba-text: #fc8181; /* text chybové hlášky */
|
||||
--uspech-text: #68d391; /* text úspěšné hlášky */
|
||||
|
||||
/* Rozměry */
|
||||
--pruh-max: 640px; /* maximální šířka obsahového pruhu */
|
||||
--mezera: 1.5rem; /* základní mezera */
|
||||
--polomer: 3px; /* zaoblení rohů */
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
ZÁKLAD – reset a tělo stránky
|
||||
------------------------------------------------------------ */
|
||||
*, *::before, *::after {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 16px;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--bg-hlavni);
|
||||
color: var(--text-hlavni);
|
||||
font-family: 'Georgia', 'Times New Roman', serif;
|
||||
font-size: 1rem;
|
||||
line-height: 1.7;
|
||||
min-height: 100vh;
|
||||
padding: var(--mezera);
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
OBSAHOVÝ PRUH – centrovaný, užší
|
||||
------------------------------------------------------------ */
|
||||
body > * {
|
||||
max-width: var(--pruh-max);
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
/* Hlavní obal obsahu – vizuální karta */
|
||||
body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
body > h1,
|
||||
body > h2,
|
||||
body > h3,
|
||||
body > p,
|
||||
body > form,
|
||||
body > table,
|
||||
body > section,
|
||||
body > hr,
|
||||
body > ol,
|
||||
body > ul,
|
||||
body > textarea,
|
||||
body > pre,
|
||||
body > code {
|
||||
width: 100%;
|
||||
max-width: var(--pruh-max);
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
TYPOGRAFIE
|
||||
------------------------------------------------------------ */
|
||||
h1 {
|
||||
color: var(--akcent-svetly);
|
||||
font-size: 1.8rem;
|
||||
font-weight: normal;
|
||||
letter-spacing: 0.03em;
|
||||
margin-top: calc(var(--mezera) * 1.5);
|
||||
margin-bottom: 0.3rem;
|
||||
border-bottom: 1px solid var(--akcent-okraj);
|
||||
padding-bottom: 0.4rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: var(--text-nadpis);
|
||||
font-size: 1.2rem;
|
||||
font-weight: normal;
|
||||
letter-spacing: 0.05em;
|
||||
text-transform: uppercase;
|
||||
margin-top: var(--mezera);
|
||||
margin-bottom: 0.8rem;
|
||||
color: var(--ocel-svetly);
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: var(--akcent-svetly);
|
||||
font-size: 1.05rem;
|
||||
font-weight: bold;
|
||||
margin-top: calc(var(--mezera) * 1.2);
|
||||
margin-bottom: 0.6rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.7rem;
|
||||
margin-bottom: 0.3rem;
|
||||
max-width: var(--pruh-max);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
strong {
|
||||
color: var(--text-nadpis);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Chybové hlášky – "Chyba: ..." */
|
||||
p > strong:first-child {
|
||||
color: var(--chyba-text);
|
||||
}
|
||||
|
||||
/* Úspěšné hlášky – "OK: ..." nebo "Registrace proběhla..." */
|
||||
p > strong:first-child:not([style]) {
|
||||
/* Heuristika: pokud strong začíná "OK" nebo "Registrace" nebo "Instalace",
|
||||
probarvíme zeleně. Protože CSS neumí inspektovat obsah,
|
||||
použijeme specifické selektory kde je to možné */
|
||||
}
|
||||
|
||||
/* Explicitní zelená pro úspěch v install.php a ostatních */
|
||||
p strong {
|
||||
color: var(--text-nadpis);
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
ODKAZY
|
||||
------------------------------------------------------------ */
|
||||
a {
|
||||
color: var(--akcent-svetly);
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid var(--akcent-okraj);
|
||||
transition: color 0.15s, border-color 0.15s;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: #e74c3c;
|
||||
border-bottom-color: #e74c3c;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
ODDĚLOVAČE
|
||||
------------------------------------------------------------ */
|
||||
hr {
|
||||
border: none;
|
||||
border-top: 1px solid var(--ocel);
|
||||
margin: calc(var(--mezera) * 1.2) auto;
|
||||
width: 100%;
|
||||
max-width: var(--pruh-max);
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
FORMULÁŘE – obecně
|
||||
------------------------------------------------------------ */
|
||||
form {
|
||||
width: 100%;
|
||||
max-width: var(--pruh-max);
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
|
||||
form p {
|
||||
margin-bottom: 0.8rem;
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
font-size: 0.88rem;
|
||||
letter-spacing: 0.06em;
|
||||
text-transform: uppercase;
|
||||
color: var(--ocel-svetly);
|
||||
margin-bottom: 0.3rem;
|
||||
}
|
||||
|
||||
/* Inline label pro checkbox – nepřepisujeme display */
|
||||
label:has(input[type="checkbox"]) {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
font-size: 0.95rem;
|
||||
color: var(--text-hlavni);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
INPUTY
|
||||
------------------------------------------------------------ */
|
||||
input[type="text"],
|
||||
input[type="email"],
|
||||
input[type="password"] {
|
||||
display: block;
|
||||
width: 100%;
|
||||
background-color: var(--bg-prvek);
|
||||
color: var(--text-hlavni);
|
||||
border: 1px solid var(--ocel);
|
||||
border-radius: var(--polomer);
|
||||
padding: 0.55rem 0.75rem;
|
||||
font-size: 1rem;
|
||||
font-family: inherit;
|
||||
transition: border-color 0.15s, background-color 0.15s;
|
||||
outline: none;
|
||||
margin-top: 0.2rem;
|
||||
}
|
||||
|
||||
input[type="text"]:focus,
|
||||
input[type="email"]:focus,
|
||||
input[type="password"]:focus {
|
||||
background-color: var(--bg-prvek-focus);
|
||||
border-color: var(--akcent-svetly);
|
||||
}
|
||||
|
||||
input[type="text"]::placeholder,
|
||||
input[type="email"]::placeholder,
|
||||
input[type="password"]::placeholder {
|
||||
color: var(--ocel-svetly);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
/* Inline inputy pro heslo v tabulce admin.php */
|
||||
table input[type="password"] {
|
||||
width: auto;
|
||||
display: inline-block;
|
||||
padding: 0.3rem 0.5rem;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
input[type="checkbox"] {
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
accent-color: var(--akcent-svetly);
|
||||
cursor: pointer;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
TEXTAREA (install.php – SQL výpis)
|
||||
------------------------------------------------------------ */
|
||||
textarea {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-width: var(--pruh-max);
|
||||
background-color: var(--bg-prvek);
|
||||
color: #a8d8a8; /* zelenkavá pro SQL kód */
|
||||
border: 1px solid var(--ocel);
|
||||
border-radius: var(--polomer);
|
||||
padding: 0.75rem;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 0.82rem;
|
||||
line-height: 1.5;
|
||||
resize: vertical;
|
||||
outline: none;
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
|
||||
textarea:focus {
|
||||
border-color: var(--akcent-svetly);
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
TLAČÍTKA
|
||||
------------------------------------------------------------ */
|
||||
button[type="submit"],
|
||||
button[type="button"] {
|
||||
background-color: var(--akcent);
|
||||
color: #f0f0f0;
|
||||
border: 1px solid var(--akcent-okraj);
|
||||
border-radius: var(--polomer);
|
||||
padding: 0.5rem 1.2rem;
|
||||
font-size: 0.95rem;
|
||||
font-family: inherit;
|
||||
letter-spacing: 0.04em;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.15s, border-color 0.15s;
|
||||
margin-top: 0.3rem;
|
||||
}
|
||||
|
||||
button[type="submit"]:hover,
|
||||
button[type="button"]:hover {
|
||||
background-color: var(--akcent-svetly);
|
||||
border-color: var(--akcent-svetly);
|
||||
}
|
||||
|
||||
button[type="submit"]:focus,
|
||||
button[type="button"]:focus {
|
||||
outline: 2px solid var(--akcent-svetly);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
/* Zakázané tlačítko (čeká na dostatečné heslo) */
|
||||
button:disabled {
|
||||
background-color: var(--bg-prvek);
|
||||
color: var(--ocel-svetly);
|
||||
border-color: var(--ocel);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
button:disabled:hover {
|
||||
background-color: var(--bg-prvek);
|
||||
border-color: var(--ocel);
|
||||
}
|
||||
|
||||
/* Inline formulář (odhlášení v $auth_logout_html a tabulce admina) */
|
||||
form[style*="display:inline"],
|
||||
form[style*="display: inline"] {
|
||||
display: inline;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
form[style*="display:inline"] button,
|
||||
form[style*="display: inline"] button {
|
||||
margin-top: 0;
|
||||
padding: 0.25rem 0.7rem;
|
||||
font-size: 0.88rem;
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
INDIKÁTOR SÍLY HESLA (span#heslo-sila)
|
||||
------------------------------------------------------------ */
|
||||
#heslo-sila {
|
||||
display: inline-block;
|
||||
font-size: 0.82rem;
|
||||
color: var(--text-jemny);
|
||||
margin-top: 0.3rem;
|
||||
}
|
||||
|
||||
/* Vysvětlení proč je tlačítko zakázané (span#tlacitko-duvod) */
|
||||
#tlacitko-duvod,
|
||||
#novy-tlacitko-duvod {
|
||||
font-size: 0.82rem;
|
||||
color: var(--text-jemny);
|
||||
margin-left: 0.4rem;
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
TABULKY (admin.php – seznam uživatelů, konfigurace)
|
||||
------------------------------------------------------------ */
|
||||
table {
|
||||
width: 100%;
|
||||
max-width: var(--pruh-max);
|
||||
border-collapse: collapse;
|
||||
margin-top: 0.8rem;
|
||||
font-size: 0.92rem;
|
||||
}
|
||||
|
||||
table th {
|
||||
background-color: var(--akcent);
|
||||
color: #f0f0f0;
|
||||
text-align: left;
|
||||
padding: 0.5rem 0.7rem;
|
||||
font-size: 0.82rem;
|
||||
letter-spacing: 0.05em;
|
||||
text-transform: uppercase;
|
||||
border: 1px solid var(--akcent-okraj);
|
||||
}
|
||||
|
||||
table td {
|
||||
background-color: var(--bg-prvek);
|
||||
color: var(--text-hlavni);
|
||||
padding: 0.45rem 0.7rem;
|
||||
border: 1px solid var(--ocel);
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
table tr:nth-child(even) td {
|
||||
background-color: #2a2a2a;
|
||||
}
|
||||
|
||||
table tr:hover td {
|
||||
background-color: #303030;
|
||||
}
|
||||
|
||||
/* Hodnota "ANO" v tabulce admina */
|
||||
table td:has(> *:only-child) {
|
||||
/* nelze cílit na obsah v CSS, necháme obecný styl */
|
||||
}
|
||||
|
||||
/* Kurzívní poznámka v tabulce – "(první uživatel systému – nelze smazat)" */
|
||||
table td em {
|
||||
color: var(--text-jemny);
|
||||
font-style: italic;
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
KÓDOVÉ ELEMENTY (code v admin.php)
|
||||
------------------------------------------------------------ */
|
||||
code {
|
||||
background-color: var(--bg-prvek);
|
||||
color: #a8d8a8;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 0.88em;
|
||||
padding: 0.1em 0.35em;
|
||||
border-radius: var(--polomer);
|
||||
border: 1px solid var(--ocel);
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
SEZNAMY (ol, ul v install.php)
|
||||
------------------------------------------------------------ */
|
||||
ol, ul {
|
||||
width: 100%;
|
||||
max-width: var(--pruh-max);
|
||||
padding-left: 1.5rem;
|
||||
margin-top: 0.5rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
ol li, ul li {
|
||||
margin-bottom: 0.3rem;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
$auth_logout_html – badge s emailem a odhlášením
|
||||
(vkládán jako inline HTML, bez wrapperu)
|
||||
Cílíme na přímé potomky body nebo na libovolné umístění
|
||||
------------------------------------------------------------ */
|
||||
|
||||
/* Odkaz "Administrace" v logout_html */
|
||||
a[href$="admin.php"] {
|
||||
color: var(--akcent-svetly);
|
||||
font-size: 0.9rem;
|
||||
letter-spacing: 0.03em;
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
RESPONSIVNÍ DESIGN
|
||||
------------------------------------------------------------ */
|
||||
@media (max-width: 680px) {
|
||||
:root {
|
||||
--pruh-max: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 0.75rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
table {
|
||||
font-size: 0.82rem;
|
||||
}
|
||||
|
||||
table th,
|
||||
table td {
|
||||
padding: 0.35rem 0.4rem;
|
||||
}
|
||||
|
||||
/* Na mobilu se inline formuláře v tabulce přesunou pod sebe */
|
||||
table td form[style*="display:inline"],
|
||||
table td form[style*="display: inline"] {
|
||||
display: block;
|
||||
margin-bottom: 0.3rem;
|
||||
}
|
||||
|
||||
table td form[style*="display:inline"] button,
|
||||
table td form[style*="display: inline"] button {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
input[type="text"],
|
||||
input[type="email"],
|
||||
input[type="password"] {
|
||||
font-size: 1rem; /* zabrání zoomu na iOS */
|
||||
}
|
||||
|
||||
/* Inline inputy pro heslo v tabulce – na mobilu plná šířka */
|
||||
table input[type="password"] {
|
||||
display: block;
|
||||
width: 100%;
|
||||
margin-bottom: 0.3rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 400px) {
|
||||
h1 {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
button[type="submit"],
|
||||
button[type="button"] {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------------------------
|
||||
DROBNÉ DETAILY A DOLADĚNÍ
|
||||
------------------------------------------------------------ */
|
||||
|
||||
/* Vizuální oddělení stránky od kraje – jemný svislý ohraničující
|
||||
efekt na širších obrazovkách */
|
||||
@media (min-width: 700px) {
|
||||
body {
|
||||
background-image:
|
||||
linear-gradient(to right,
|
||||
transparent calc(50% - 340px),
|
||||
#252525 calc(50% - 340px),
|
||||
#252525 calc(50% + 340px),
|
||||
transparent calc(50% + 340px)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/* Přechod pro plynulejší načtení */
|
||||
body {
|
||||
animation: fadein 0.2s ease-in;
|
||||
}
|
||||
|
||||
@keyframes fadein {
|
||||
from { opacity: 0; }
|
||||
to { opacity: 1; }
|
||||
}
|
||||
Reference in New Issue
Block a user