53432c8c41
Magacin:
- Dodato premeštanje artikla u drugu kategoriju (dugme + nativni
<details> meni, bez JS-a; radi na desktopu i mobilnom)
- Endpoint POST /magacin/premesti/{id} uz proveru dozvole artikal.premesti
Backup:
- Nova podešavanja: interval automatskog backupa i broj kopija (rotacija)
- Periodični backup uz onaj pri pokretanju; interval se čita iz baze
- Migracija 037_backup_podesavanja.sql
Dozvole (RBAC):
- Dodate kartice koje su nedostajale (dashboard.prihod, prodaja.storno,
podesavanja.login_pozadina, tema.lokalno) — popravljen i bug gde su se
gasile pri svakom čuvanju matrice
- Aktivirana kontrola pregleda za prodaju, servis, klijente i dobavljače
(provera u handlerima + skrivanje iz sidebara)
- Uklonjene mrtve/obmanjujuće dozvole iz matrice i sveAkcije (korisnici,
podsetnici, artikal.pregled, kategorija.izmeni, tema.globalno,
podesavanja.app_pozadina); sveAkcije 47 -> 34
- Čišćenje zastarelih redova (siročića) u tabeli dozvola pri startu
Ostalo:
- Statički fajlovi: embed celog web/static i ispravan MIME za .js/.css
- Keš šablona: dodat admin_dozvole (stranica Dozvole se nije otvarala)
- Sidebar accordion: radi i skupljen i proširen, međusobno isključiv
743 lines
17 KiB
CSS
743 lines
17 KiB
CSS
/* osnovna podešavanja */
|
|
*, *::before, *::after {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
html {
|
|
background: var(--pozadina);
|
|
}
|
|
|
|
body {
|
|
font-family: system-ui, -apple-system, sans-serif;
|
|
background: var(--pozadina);
|
|
color: var(--tekst-glavni);
|
|
}
|
|
|
|
/* layout */
|
|
.raspored {
|
|
display: flex;
|
|
height: 100vh;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* bez tranzicije pri inicijalnom učitavanju skupljenog sidebara */
|
|
.sidebar-init-skupljen .sidebar {
|
|
width: 60px;
|
|
overflow: hidden;
|
|
transition: none;
|
|
}
|
|
.sidebar-init-skupljen .sidebar .logo-zona {
|
|
opacity: 0;
|
|
width: 0;
|
|
pointer-events: none;
|
|
transition: none;
|
|
}
|
|
.sidebar-init-skupljen .sidebar .nav-oznaka,
|
|
.sidebar-init-skupljen .sidebar .nav-stavka span {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
transition: none;
|
|
}
|
|
|
|
/* sidebar */
|
|
.sidebar {
|
|
width: 220px;
|
|
background: var(--sidebar-pozadina);
|
|
display: flex;
|
|
flex-direction: column;
|
|
transition: width 0.28s cubic-bezier(.4,0,.2,1);
|
|
overflow: hidden;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.sidebar.skupljen {
|
|
width: 60px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* vrh sidebara — logo zona */
|
|
.sidebar-vrh {
|
|
display: flex;
|
|
align-items: center;
|
|
height: 72px;
|
|
padding: 0 12px;
|
|
gap: 10px;
|
|
border-bottom: 0.5px solid var(--ivica);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* hamburger dugme */
|
|
.hamburger {
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
color: var(--tekst-jak);
|
|
padding: 6px;
|
|
border-radius: 6px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: background 0.2s;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.hamburger:hover {
|
|
background: var(--pozadina-hover);
|
|
}
|
|
|
|
/* logo zona */
|
|
.logo-zona {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
overflow: hidden;
|
|
opacity: 1;
|
|
transition: opacity 0.28s, width 0.28s;
|
|
width: 160px;
|
|
}
|
|
|
|
.sidebar.skupljen .logo-zona {
|
|
opacity: 0;
|
|
width: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.logo-naziv {
|
|
color: var(--tekst-jak);
|
|
font-weight: 500;
|
|
font-size: 15px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.logo-podnazlov {
|
|
color: var(--tekst-sporedni);
|
|
font-size: 11px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* navigacija */
|
|
.sidebar-nav {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
padding: 8px 0;
|
|
scrollbar-width: none;
|
|
}
|
|
|
|
.sidebar-nav::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
|
|
.nav-oznaka {
|
|
font-size: 10px;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.08em;
|
|
color: var(--tekst-sporedni);
|
|
padding: 12px 16px 4px;
|
|
white-space: nowrap;
|
|
opacity: 1;
|
|
transition: opacity 0.28s;
|
|
}
|
|
|
|
.sidebar.skupljen .nav-oznaka {
|
|
opacity: 0;
|
|
}
|
|
|
|
.nav-stavka {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 9px 16px;
|
|
cursor: pointer;
|
|
color: var(--tekst-sporedni);
|
|
white-space: nowrap;
|
|
position: relative;
|
|
text-decoration: none;
|
|
transition: background 0.2s, color 0.2s, transform 0.15s ease;
|
|
}
|
|
|
|
.nav-stavka:hover {
|
|
background: var(--pozadina-hover);
|
|
color: var(--tekst-jak);
|
|
}
|
|
|
|
.sidebar:not(.skupljen) .nav-stavka:hover {
|
|
transform: scale(1.03);
|
|
}
|
|
|
|
.sidebar.skupljen .nav-stavka:hover svg {
|
|
transform: scale(1.15);
|
|
}
|
|
|
|
.nav-stavka.aktivan {
|
|
background: var(--sb-aktivan);
|
|
color: var(--tekst-jak);
|
|
}
|
|
|
|
.nav-stavka.aktivan::before {
|
|
content: '';
|
|
position: absolute;
|
|
left: 0;
|
|
top: 4px;
|
|
bottom: 4px;
|
|
width: 3px;
|
|
background: var(--sb-akcent);
|
|
border-radius: 0 3px 3px 0;
|
|
}
|
|
|
|
.nav-stavka svg {
|
|
flex-shrink: 0;
|
|
width: 20px;
|
|
height: 20px;
|
|
transition: transform 0.15s ease;
|
|
}
|
|
|
|
.nav-stavka span {
|
|
font-size: 14px;
|
|
opacity: 1;
|
|
transition: opacity 0.28s;
|
|
}
|
|
|
|
.sidebar.skupljen .nav-stavka span {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* accordion podmeni u sidebaru */
|
|
.nav-podmeni {
|
|
overflow: hidden;
|
|
max-height: 0;
|
|
transition: max-height 0.22s ease-out;
|
|
}
|
|
.nav-podmeni.otvoren {
|
|
max-height: 300px;
|
|
transition: max-height 0.25s ease-in;
|
|
}
|
|
/* pri inicijalnom učitavanju sprečavamo animaciju podmenia */
|
|
.nav-podmeni.bez-tranzicije {
|
|
transition: none !important;
|
|
}
|
|
/* u skupljenom modu otvoren podmeni dobija vizuelnu oznaku — pozadina + leva akcenat-linija */
|
|
.sidebar.skupljen .nav-podmeni.otvoren {
|
|
background: var(--sb-aktivan);
|
|
border-left: 3px solid var(--sb-akcent);
|
|
}
|
|
.nav-podstavka {
|
|
padding-left: 48px !important;
|
|
}
|
|
.nav-podstavka span {
|
|
font-size: 13px !important;
|
|
}
|
|
/* u skupljenom modu reset uvlačenja — ikonica se prikazuje na istoj poziciji */
|
|
.sidebar.skupljen .nav-podstavka {
|
|
padding-left: 16px !important;
|
|
}
|
|
/* strelica za accordion — sakriva se zajedno sa tekstom u skupljenom modu */
|
|
.nav-strelica {
|
|
margin-left: auto;
|
|
display: flex;
|
|
align-items: center;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.nav-separator {
|
|
height: 0.5px;
|
|
background: var(--ivica);
|
|
margin: 8px 12px;
|
|
}
|
|
|
|
/* tooltip kada je sidebar skupljen */
|
|
.nav-tooltip {
|
|
position: absolute;
|
|
left: 68px;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
background: rgba(0,0,0,0.85);
|
|
color: #fff;
|
|
font-size: 12px;
|
|
padding: 4px 10px;
|
|
border-radius: 6px;
|
|
white-space: nowrap;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
transition: opacity 0.15s;
|
|
z-index: 100;
|
|
}
|
|
|
|
.sidebar:not(.skupljen) .nav-tooltip {
|
|
display: none;
|
|
}
|
|
|
|
/* specifičniji selektor pobjeđuje .sidebar.skupljen .nav-stavka span { opacity:0 } */
|
|
.sidebar.skupljen .nav-stavka:hover .nav-tooltip {
|
|
opacity: 1;
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* dno sidebara */
|
|
.sidebar-dno {
|
|
padding: 8px 0;
|
|
border-top: 0.5px solid var(--ivica);
|
|
}
|
|
|
|
/* glavni sadržaj */
|
|
.glavni-sadrzaj {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* topbar */
|
|
.topbar {
|
|
height: 56px;
|
|
background: var(--kartica);
|
|
border-bottom: 0.5px solid var(--ivica);
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 0 20px;
|
|
gap: 12px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.topbar-naslov {
|
|
font-weight: 500;
|
|
font-size: 15px;
|
|
color: var(--tekst-glavni);
|
|
flex: 1;
|
|
}
|
|
|
|
/* sadržaj stranice */
|
|
.sadrzaj {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 20px;
|
|
}
|
|
|
|
/* kartice */
|
|
.kartica {
|
|
background: var(--kartica);
|
|
border: 0.5px solid var(--ivica);
|
|
border-radius: 12px;
|
|
padding: 16px;
|
|
box-shadow: var(--senka);
|
|
transition: transform 0.25s cubic-bezier(.4,0,.2,1), box-shadow 0.25s;
|
|
}
|
|
|
|
.kartica:hover {
|
|
transform: translateY(-4px);
|
|
box-shadow: var(--senka);
|
|
}
|
|
|
|
/* primarna dugmad — rade na svim temama */
|
|
.btn-primarno {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
background: var(--sb-akcent);
|
|
color: #fff;
|
|
border: none;
|
|
border-radius: 8px;
|
|
padding: 8px 16px;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
white-space: nowrap;
|
|
transition: opacity 0.2s;
|
|
}
|
|
.btn-primarno:hover { opacity: 0.85; }
|
|
|
|
/* mala primarna dugmad u tabelama */
|
|
.btn-primarno-malo {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
background: var(--sb-akcent);
|
|
color: #fff;
|
|
border: none;
|
|
border-radius: 6px;
|
|
padding: 4px 10px;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
text-decoration: none;
|
|
transition: opacity 0.2s;
|
|
}
|
|
.btn-primarno-malo:hover { opacity: 0.85; }
|
|
|
|
/* sekundarno dugme (Odustani) */
|
|
.btn-sekundarno {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
background: transparent;
|
|
color: var(--tekst-sporedni);
|
|
border: 0.5px solid var(--ivica);
|
|
border-radius: 8px;
|
|
padding: 9px 20px;
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
transition: background 0.2s, color 0.2s;
|
|
}
|
|
.btn-sekundarno:hover { background: var(--pozadina); color: var(--tekst-glavni); }
|
|
|
|
/* crveno dugme za brisanje u tabelama */
|
|
.btn-obrisi-malo {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
background: #dc2626;
|
|
color: #fff;
|
|
border: none;
|
|
border-radius: 6px;
|
|
padding: 4px 10px;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
transition: opacity 0.2s;
|
|
}
|
|
.btn-obrisi-malo:hover { opacity: 0.8; }
|
|
|
|
/* nazad link na formama */
|
|
.nazad-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
font-size: 13px;
|
|
color: var(--tekst-sporedni);
|
|
text-decoration: none;
|
|
margin-bottom: 20px;
|
|
transition: color 0.2s;
|
|
}
|
|
.nazad-link:hover { color: var(--tekst-glavni); }
|
|
|
|
/* hover na redovima tabela — zamena za inline onmouseover/onmouseout */
|
|
.red-tabele {
|
|
border-bottom: 0.5px solid var(--ivica);
|
|
transition: background 0.15s;
|
|
}
|
|
.red-tabele:hover { background: var(--pozadina); }
|
|
|
|
/* naslov sekcije unutar forme */
|
|
.sekcija-naslov {
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
color: var(--tekst-sporedni);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
/* avatar krug korisnika u topbaru */
|
|
.avatar-korisnik {
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 50%;
|
|
background: var(--sb-akcent);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
color: #fff;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* input polja — konzistentna za sve teme */
|
|
input[type="text"],
|
|
input[type="email"],
|
|
input[type="password"],
|
|
input[type="number"],
|
|
input[type="date"],
|
|
select {
|
|
height: 38px;
|
|
padding: 8px 12px;
|
|
box-sizing: border-box;
|
|
line-height: 1.5;
|
|
background: var(--kartica) !important;
|
|
color: var(--tekst-glavni) !important;
|
|
border: 0.5px solid var(--ivica) !important;
|
|
border-radius: 8px;
|
|
font-size: 14px;
|
|
outline: none;
|
|
transition: border-color 0.2s;
|
|
}
|
|
|
|
textarea {
|
|
height: auto;
|
|
min-height: 80px;
|
|
padding: 8px 12px;
|
|
box-sizing: border-box;
|
|
line-height: 1.5;
|
|
background: var(--kartica) !important;
|
|
color: var(--tekst-glavni) !important;
|
|
border: 0.5px solid var(--ivica) !important;
|
|
border-radius: 8px;
|
|
font-size: 14px;
|
|
outline: none;
|
|
transition: border-color 0.2s;
|
|
}
|
|
|
|
input[type="text"]:focus,
|
|
input[type="email"]:focus,
|
|
input[type="password"]:focus,
|
|
input[type="number"]:focus,
|
|
input[type="date"]:focus,
|
|
textarea:focus,
|
|
select:focus {
|
|
border-color: var(--sb-akcent) !important;
|
|
outline: none;
|
|
}
|
|
|
|
select {
|
|
width: 100%;
|
|
min-width: 0;
|
|
}
|
|
|
|
/* poruka o uspehu — konzistentna za sve teme */
|
|
.poruka-uspeh {
|
|
background: var(--poruka-uspeh-bg);
|
|
border: 0.5px solid var(--poruka-uspeh-boja);
|
|
border-radius: 10px;
|
|
padding: 12px 16px;
|
|
margin-bottom: 20px;
|
|
font-size: 14px;
|
|
color: var(--poruka-uspeh-boja);
|
|
}
|
|
|
|
.poruka-greska {
|
|
background: rgba(207, 87, 87, 0.12);
|
|
border: 0.5px solid var(--greska);
|
|
border-radius: 10px;
|
|
padding: 12px 16px;
|
|
margin-bottom: 20px;
|
|
font-size: 14px;
|
|
color: var(--greska);
|
|
}
|
|
|
|
/* overlay za mobilni — tamni sloj iza sidebara */
|
|
.sidebar-overlay {
|
|
display: none;
|
|
position: fixed;
|
|
inset: 0;
|
|
background: rgba(0,0,0,0.5);
|
|
z-index: 9;
|
|
}
|
|
|
|
.sidebar-overlay.aktivan {
|
|
display: block;
|
|
}
|
|
|
|
/* mobilni ekrani */
|
|
@media (max-width: 768px) {
|
|
/* sidebar — drawer ponašanje */
|
|
.sidebar {
|
|
position: fixed;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100vh;
|
|
z-index: 10;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.28s cubic-bezier(.4,0,.2,1);
|
|
width: 220px !important;
|
|
}
|
|
.sidebar.otvoren { transform: translateX(0); }
|
|
.sidebar.otvoren .logo-zona { opacity: 1; width: 160px; pointer-events: auto; }
|
|
.sidebar.otvoren .nav-oznaka { opacity: 1; }
|
|
.sidebar.otvoren .nav-stavka span { opacity: 1; pointer-events: auto; }
|
|
.nav-tooltip { display: none !important; }
|
|
.glavni-sadrzaj { width: 100%; }
|
|
|
|
/* topbar hamburger */
|
|
#hamburger-topbar { display: flex !important; color: var(--tekst-glavni); }
|
|
#hamburger-topbar:hover { background: var(--pozadina); }
|
|
|
|
/* teme */
|
|
.topbar-teme { display: none; }
|
|
.teme-grid { flex-direction: column !important; }
|
|
|
|
/* forme */
|
|
.forma-grid-2 { grid-template-columns: 1fr !important; }
|
|
|
|
/* magacin traka */
|
|
.magacin-traka { flex-direction: column; align-items: stretch; }
|
|
.magacin-traka form { flex-direction: column; align-items: stretch; }
|
|
.magacin-traka a { text-align: center; }
|
|
.magacin-traka form input,
|
|
.magacin-traka form select,
|
|
.magacin-traka form button,
|
|
.magacin-traka form label { width: 100%; justify-content: flex-start; }
|
|
}
|
|
|
|
/* tačkice za teme */
|
|
.tema-krug {
|
|
width: 20px;
|
|
height: 20px;
|
|
border-radius: 50%;
|
|
display: inline-block;
|
|
border: 2px solid transparent;
|
|
transition: border-color 0.2s;
|
|
}
|
|
|
|
.tema-krug:hover {
|
|
border-color: var(--tekst-sporedni);
|
|
}
|
|
|
|
.tema-krug-aktivan {
|
|
border-color: var(--tekst-glavni) !important;
|
|
}
|
|
|
|
/* animacije */
|
|
@keyframes fadeInUp {
|
|
from { opacity: 0; transform: translateY(10px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
@keyframes slideDown {
|
|
from { opacity: 0; transform: translateY(-10px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
@keyframes shake {
|
|
0%, 100% { transform: translateX(0); }
|
|
20% { transform: translateX(-6px); }
|
|
40% { transform: translateX(6px); }
|
|
60% { transform: translateX(-4px); }
|
|
80% { transform: translateX(4px); }
|
|
}
|
|
|
|
.animiraj {
|
|
animation: fadeInUp 0.2s ease both;
|
|
}
|
|
|
|
/* responsive prikaz — tabela/kartice za sve liste (mora biti u main.css jer HTMX ne učitava head ponovo) */
|
|
.nabavke-kartice { display: none; flex-direction: column; gap: 12px; }
|
|
.dobavljaci-kartice { display: none; flex-direction: column; gap: 12px; }
|
|
.klijenti-kartice { display: none; flex-direction: column; gap: 12px; }
|
|
.magacin-kartice { display: none; flex-direction: column; gap: 12px; }
|
|
.servis-kartice { display: none; flex-direction: column; gap: 12px; }
|
|
.prodaja-kartice { display: none; flex-direction: column; gap: 12px; }
|
|
.pod-kartice { display: none; flex-direction: column; gap: 12px; }
|
|
.stavke-kartice { display: none; flex-direction: column; gap: 10px; }
|
|
|
|
@media (max-width: 768px) {
|
|
.nabavke-tabela { display: none; } .nabavke-kartice { display: flex; }
|
|
.dobavljaci-tabela { display: none; } .dobavljaci-kartice { display: flex; }
|
|
.klijenti-tabela { display: none; } .klijenti-kartice { display: flex; }
|
|
.magacin-tabela { display: none; } .magacin-kartice { display: flex; }
|
|
.servis-tabela { display: none; } .servis-kartice { display: flex; }
|
|
.prodaja-tabela { display: none; } .prodaja-kartice { display: flex; }
|
|
.pod-tabela { display: none; } .pod-kartice { display: flex; }
|
|
.stavke-tabela-wrapper { display: none; } .stavke-kartice { display: flex; }
|
|
.forma-grid-4 { grid-template-columns: 1fr 1fr !important; }
|
|
}
|
|
|
|
/* podešavanja — raspored pozadine */
|
|
.app-poz-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
|
|
@media (max-width: 680px) { .app-poz-grid { grid-template-columns: 1fr; } }
|
|
|
|
/* gornja traka magacina — responsive */
|
|
.magacin-traka {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.magacin-traka form {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
flex: 1;
|
|
min-width: 200px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
/* flash toast — jednokratna poruka u gornjem desnom uglu */
|
|
@keyframes flashUlaz {
|
|
from { opacity: 0; transform: translateX(20px); }
|
|
to { opacity: 1; transform: translateX(0); }
|
|
}
|
|
@keyframes flashIzlaz {
|
|
from { opacity: 1; transform: translateX(0); }
|
|
to { opacity: 0; transform: translateX(20px); }
|
|
}
|
|
|
|
.flash-toast {
|
|
position: fixed;
|
|
top: 20px;
|
|
right: 20px;
|
|
z-index: 9999;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 12px 16px;
|
|
border-radius: 10px;
|
|
font-size: 14px;
|
|
max-width: 380px;
|
|
box-shadow: 0 4px 16px rgba(0,0,0,0.12);
|
|
animation: flashUlaz 0.3s ease forwards;
|
|
}
|
|
|
|
.flash-toast.flash-izlaz {
|
|
animation: flashIzlaz 0.35s ease forwards;
|
|
}
|
|
|
|
.flash-toast.flash-uspeh {
|
|
background: #f0fdf4;
|
|
color: #15803d;
|
|
border: 0.5px solid #bbf7d0;
|
|
}
|
|
|
|
.flash-toast.flash-greska {
|
|
background: #fef2f2;
|
|
color: #dc2626;
|
|
border: 0.5px solid #fecaca;
|
|
}
|
|
|
|
.flash-ikona {
|
|
font-weight: 700;
|
|
font-size: 15px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.flash-tekst {
|
|
flex: 1;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.flash-zatvori {
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
font-size: 18px;
|
|
line-height: 1;
|
|
color: inherit;
|
|
opacity: 0.6;
|
|
padding: 0 0 0 4px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.flash-zatvori:hover { opacity: 1; }
|
|
|
|
@media (max-width: 480px) {
|
|
.flash-toast {
|
|
top: auto;
|
|
bottom: 20px;
|
|
right: 12px;
|
|
left: 12px;
|
|
max-width: none;
|
|
}
|
|
}
|
|
|
|
/* dropdown meni mora biti iznad svih stacking context-a koje glass efekt kreira */
|
|
#avatar-meni {
|
|
z-index: 9999 !important;
|
|
position: relative;
|
|
}
|
|
|
|
/* sprečava treperenje pozadine pri navigaciji između stranica (Chrome/Opera/noviji Firefox) */
|
|
@view-transition {
|
|
navigation: auto;
|
|
}
|