324 lines
9.9 KiB
CSS
324 lines
9.9 KiB
CSS
/* Nöbetçi Operasyon Merkezi — Stiller */
|
|
:root {
|
|
--bg: #0f1419;
|
|
--bg-panel: #171d24;
|
|
--bg-yuksek: #1f2731;
|
|
--cizgi: #2c3541;
|
|
--metin: #e6edf3;
|
|
--metin-soluk: #98a6b5;
|
|
--vurgu: #3b82f6;
|
|
--acik: #f59e0b;
|
|
--kritik: #ef4444;
|
|
--mudahale: #8b5cf6;
|
|
--cozulen: #22c55e;
|
|
--geciken: #ef4444;
|
|
--yarin: #38bdf8;
|
|
--bugun: #fbbf24;
|
|
--radius: 10px;
|
|
}
|
|
|
|
* { box-sizing: border-box; }
|
|
|
|
body {
|
|
margin: 0;
|
|
background: var(--bg);
|
|
color: var(--metin);
|
|
font: 15px/1.5 "Segoe UI", system-ui, -apple-system, sans-serif;
|
|
}
|
|
|
|
/* --- Üst bar --- */
|
|
.ust-bar {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 12px;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 16px 20px;
|
|
background: var(--bg-panel);
|
|
border-bottom: 1px solid var(--cizgi);
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 20;
|
|
}
|
|
.marka { display: flex; align-items: center; gap: 12px; }
|
|
.logo { font-size: 28px; color: var(--vurgu); }
|
|
.ust-bar h1 { margin: 0; font-size: 19px; letter-spacing: .2px; }
|
|
.alt-yazi { margin: 2px 0 0; font-size: 12.5px; color: var(--metin-soluk); }
|
|
.ust-eylemler { display: flex; gap: 8px; flex-wrap: wrap; }
|
|
|
|
.kapsayici {
|
|
max-width: 1180px;
|
|
margin: 0 auto;
|
|
padding: 20px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 18px;
|
|
}
|
|
|
|
/* --- Panel --- */
|
|
.panel {
|
|
background: var(--bg-panel);
|
|
border: 1px solid var(--cizgi);
|
|
border-radius: var(--radius);
|
|
padding: 18px;
|
|
}
|
|
.bolum-baslik {
|
|
margin: 0 0 14px;
|
|
font-size: 15px;
|
|
text-transform: uppercase;
|
|
letter-spacing: .8px;
|
|
color: var(--metin-soluk);
|
|
font-weight: 600;
|
|
}
|
|
.alt-baslik {
|
|
margin: 22px 0 10px;
|
|
font-size: 15px;
|
|
color: var(--metin);
|
|
border-top: 1px solid var(--cizgi);
|
|
padding-top: 16px;
|
|
}
|
|
.mini-baslik { margin: 0 0 10px; font-size: 13.5px; color: var(--metin-soluk); }
|
|
|
|
.iki-kolon {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 18px;
|
|
}
|
|
|
|
/* --- Sayaçlar --- */
|
|
.sayac-izgara {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(124px, 1fr));
|
|
gap: 10px;
|
|
}
|
|
.sayac {
|
|
background: var(--bg-yuksek);
|
|
border: 1px solid var(--cizgi);
|
|
border-left: 3px solid var(--metin-soluk);
|
|
border-radius: 8px;
|
|
padding: 12px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
.sayac-deger { font-size: 26px; font-weight: 700; line-height: 1; }
|
|
.sayac-etiket { font-size: 11.5px; color: var(--metin-soluk); text-transform: uppercase; letter-spacing: .5px; }
|
|
.sayac-acik { border-left-color: var(--acik); }
|
|
.sayac-acik .sayac-deger { color: var(--acik); }
|
|
.sayac-kritik { border-left-color: var(--kritik); }
|
|
.sayac-kritik .sayac-deger { color: var(--kritik); }
|
|
.sayac-mudahale { border-left-color: var(--mudahale); }
|
|
.sayac-mudahale .sayac-deger { color: var(--mudahale); }
|
|
.sayac-cozulen { border-left-color: var(--cozulen); }
|
|
.sayac-cozulen .sayac-deger { color: var(--cozulen); }
|
|
.sayac-geciken { border-left-color: var(--geciken); }
|
|
.sayac-geciken .sayac-deger { color: var(--geciken); }
|
|
|
|
/* --- Form --- */
|
|
.alan { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
|
|
.alan-ikili { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
|
|
label { font-size: 12.5px; color: var(--metin-soluk); font-weight: 600; }
|
|
.zorunlu { color: var(--kritik); }
|
|
input, select, textarea {
|
|
background: var(--bg);
|
|
border: 1px solid var(--cizgi);
|
|
color: var(--metin);
|
|
border-radius: 7px;
|
|
padding: 9px 10px;
|
|
font: inherit;
|
|
font-size: 14px;
|
|
width: 100%;
|
|
}
|
|
textarea { resize: vertical; }
|
|
input:focus, select:focus, textarea:focus {
|
|
outline: 2px solid var(--vurgu);
|
|
outline-offset: 1px;
|
|
border-color: var(--vurgu);
|
|
}
|
|
input[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--kritik); }
|
|
.hata { margin: 0; font-size: 12.5px; color: #fca5a5; min-height: 0; }
|
|
.hata:empty { display: none; }
|
|
|
|
.btn {
|
|
border: 1px solid transparent;
|
|
border-radius: 7px;
|
|
padding: 9px 14px;
|
|
font: inherit;
|
|
font-size: 13.5px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
min-height: 38px;
|
|
transition: filter .15s;
|
|
}
|
|
.btn:hover { filter: brightness(1.15); }
|
|
.btn:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 2px; }
|
|
.btn-birincil { background: var(--vurgu); color: #fff; }
|
|
.btn-sade { background: var(--bg-yuksek); color: var(--metin); border-color: var(--cizgi); }
|
|
.btn-tehlike { background: var(--kritik); color: #fff; }
|
|
.btn-tehlike-sade { background: transparent; color: #fca5a5; border-color: #7f1d1d; }
|
|
.btn-kucuk { padding: 5px 9px; font-size: 12px; min-height: 30px; }
|
|
.btn-kapat {
|
|
background: transparent; border: none; color: var(--metin-soluk);
|
|
font-size: 20px; cursor: pointer; line-height: 1; padding: 4px 8px; border-radius: 6px;
|
|
}
|
|
.btn-kapat:hover { color: var(--metin); background: var(--bg-yuksek); }
|
|
.form-eylem { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
|
|
.form-eylem-sag { justify-content: flex-end; }
|
|
.gizli { display: none !important; }
|
|
|
|
.sonuc-sayisi {
|
|
margin: 4px 0 0;
|
|
font-size: 13px;
|
|
color: var(--metin-soluk);
|
|
background: var(--bg-yuksek);
|
|
border-radius: 7px;
|
|
padding: 8px 10px;
|
|
}
|
|
.sonuc-sayisi strong { color: var(--metin); }
|
|
|
|
/* --- Olay listesi --- */
|
|
.olay-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
|
|
.olay-kart {
|
|
background: var(--bg-yuksek);
|
|
border: 1px solid var(--cizgi);
|
|
border-left: 4px solid var(--metin-soluk);
|
|
border-radius: 8px;
|
|
padding: 13px 14px;
|
|
}
|
|
.olay-kart[data-seviye="kritik"] { border-left-color: var(--kritik); }
|
|
.olay-kart[data-seviye="yuksek"] { border-left-color: var(--acik); }
|
|
.olay-kart[data-seviye="orta"] { border-left-color: var(--vurgu); }
|
|
.olay-kart[data-seviye="dusuk"] { border-left-color: #4b5563; }
|
|
.olay-ust { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; align-items: flex-start; }
|
|
.olay-baslik { margin: 0; font-size: 16px; font-weight: 600; word-break: break-word; }
|
|
.olay-meta { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0 0; }
|
|
.etiket {
|
|
font-size: 11.5px;
|
|
padding: 3px 8px;
|
|
border-radius: 20px;
|
|
background: var(--bg);
|
|
border: 1px solid var(--cizgi);
|
|
color: var(--metin-soluk);
|
|
white-space: nowrap;
|
|
}
|
|
.etiket-kritik { color: #fca5a5; border-color: #7f1d1d; }
|
|
.etiket-yuksek { color: #fcd34d; border-color: #78350f; }
|
|
.etiket-orta { color: #93c5fd; border-color: #1e3a8a; }
|
|
.etiket-dusuk { color: #9ca3af; }
|
|
.etiket-acik { color: #fcd34d; border-color: #78350f; }
|
|
.etiket-inceleniyor { color: #93c5fd; border-color: #1e3a8a; }
|
|
.etiket-mudahale { color: #c4b5fd; border-color: #5b21b6; }
|
|
.etiket-cozuldu { color: #86efac; border-color: #14532d; }
|
|
.olay-aciklama {
|
|
margin: 8px 0 0;
|
|
font-size: 13.5px;
|
|
color: var(--metin-soluk);
|
|
white-space: pre-wrap;
|
|
word-break: break-word;
|
|
}
|
|
.olay-eylem { display: flex; gap: 6px; flex-wrap: wrap; }
|
|
.eylem-cubugu { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 11px; padding-top: 11px; border-top: 1px solid var(--cizgi); }
|
|
|
|
.bos-durum {
|
|
text-align: center;
|
|
color: var(--metin-soluk);
|
|
font-size: 13.5px;
|
|
padding: 22px;
|
|
border: 1px dashed var(--cizgi);
|
|
border-radius: 8px;
|
|
margin: 0;
|
|
}
|
|
|
|
/* --- Görev listesi --- */
|
|
.gorev-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
|
|
.gorev-kart {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
gap: 10px;
|
|
background: var(--bg-yuksek);
|
|
border: 1px solid var(--cizgi);
|
|
border-radius: 7px;
|
|
padding: 11px 12px;
|
|
}
|
|
.gorev-kart[data-zaman="gecikmis"] { border-color: #7f1d1d; }
|
|
.gorev-kart[data-gdurum="tamamlandi"] { opacity: .6; }
|
|
.gorev-kart[data-gdurum="tamamlandi"] .gorev-baslik { text-decoration: line-through; }
|
|
.gorev-baslik { margin: 0; font-size: 14px; font-weight: 600; word-break: break-word; }
|
|
.gorev-sag { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
|
|
|
|
/* --- Modal --- */
|
|
.modal-arka {
|
|
position: fixed;
|
|
inset: 0;
|
|
background: rgba(0, 0, 0, .65);
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: center;
|
|
padding: 30px 16px;
|
|
overflow-y: auto;
|
|
z-index: 50;
|
|
}
|
|
.modal {
|
|
background: var(--bg-panel);
|
|
border: 1px solid var(--cizgi);
|
|
border-radius: var(--radius);
|
|
padding: 18px;
|
|
width: 100%;
|
|
box-shadow: 0 20px 50px rgba(0, 0, 0, .5);
|
|
}
|
|
.modal-genis { max-width: 760px; }
|
|
.modal-dar { max-width: 420px; margin-top: 15vh; }
|
|
.modal-ust { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
|
|
.modal-ust h2 { margin: 0; font-size: 17px; word-break: break-word; }
|
|
.modal-govde { margin-top: 12px; }
|
|
.onay-metin { color: var(--metin-soluk); font-size: 14px; margin: 12px 0 18px; }
|
|
|
|
.detay-satir { display: flex; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--cizgi); font-size: 14px; }
|
|
.detay-satir:last-child { border-bottom: none; }
|
|
.detay-etiket { color: var(--metin-soluk); min-width: 110px; font-size: 12.5px; font-weight: 600; }
|
|
.detay-deger { word-break: break-word; white-space: pre-wrap; flex: 1; }
|
|
|
|
/* --- Toast --- */
|
|
.toast-alan {
|
|
position: fixed;
|
|
right: 16px;
|
|
bottom: 16px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
z-index: 60;
|
|
max-width: 340px;
|
|
}
|
|
.toast {
|
|
padding: 11px 14px;
|
|
border-radius: 8px;
|
|
font-size: 13.5px;
|
|
border: 1px solid var(--cizgi);
|
|
background: var(--bg-yuksek);
|
|
box-shadow: 0 8px 24px rgba(0, 0, 0, .4);
|
|
animation: gir .2s ease-out;
|
|
}
|
|
.toast-basari { border-left: 4px solid var(--cozulen); }
|
|
.toast-hata { border-left: 4px solid var(--kritik); }
|
|
.toast-bilgi { border-left: 4px solid var(--vurgu); }
|
|
@keyframes gir { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
|
|
|
|
.sr-only {
|
|
position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
|
|
overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
|
|
}
|
|
|
|
/* --- Responsive --- */
|
|
@media (max-width: 820px) {
|
|
.iki-kolon { grid-template-columns: 1fr; }
|
|
}
|
|
@media (max-width: 520px) {
|
|
.alan-ikili { grid-template-columns: 1fr; }
|
|
.sayac-izgara { grid-template-columns: repeat(2, 1fr); }
|
|
.kapsayici { padding: 12px; }
|
|
.panel { padding: 14px; }
|
|
.olay-ust { flex-direction: column; }
|
|
.toast-alan { left: 12px; right: 12px; max-width: none; }
|
|
}
|