{% extends "base.html" %} {% block title %}Cases — SignalOps{% endblock %} {% block extra_style %} [hidden]{display:none!important} .cs-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start} .cs-side .card{padding:14px} .cs-new{display:flex;gap:8px;margin-bottom:12px} .cs-new .btn{padding:8px 12px;white-space:nowrap} .cs-list{display:flex;flex-direction:column;gap:6px;max-height:calc(100vh - 230px);overflow-y:auto} .cs-item{display:block;width:100%;text-align:left;background:var(--e);border:1px solid var(--b);border-radius:6px;padding:10px 12px; cursor:pointer;color:var(--td);font-family:'JetBrains Mono',monospace;font-size:11px;transition:border-color .15s,background .15s} .cs-item:hover{border-color:rgba(138, 122, 184,0.3)} .cs-item.active{border-color:rgba(138, 122, 184,0.6);background:rgba(138, 122, 184,0.10)} .cs-item .nm{display:flex;justify-content:space-between;gap:8px;align-items:center;font-family:'Rajdhani',sans-serif;font-size:14px; font-weight:700;color:var(--t);letter-spacing:.5px;margin-bottom:3px} .cs-item .nm span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .cs-item.closed .nm{color:var(--td)} .cs-item.un{border-style:dashed} .cs-sep{font-size:9px;letter-spacing:2px;color:var(--tm);margin:8px 2px 2px;text-transform:uppercase} .cs-empty{text-align:center;padding:70px 20px;color:var(--tm)} .cs-empty .ic{font-size:40px;opacity:.2;margin-bottom:12px} .cs-empty .t{font-family:'Rajdhani',sans-serif;letter-spacing:3px} .cs-h1{font-family:'Rajdhani',sans-serif;font-size:22px;font-weight:700;color:var(--t);letter-spacing:.5px;overflow-wrap:anywhere} .cs-desc{font-size:12px;color:var(--td);margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6} .cs-meta{font-size:10px;color:var(--tm);letter-spacing:1px;margin-top:8px} .cs-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap} .cs-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center} .cs-btn{font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer; border-radius:6px;padding:5px 11px;background:transparent;color:var(--td);border:1px solid rgba(255,255,255,0.12); text-decoration:none;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;line-height:1.3} .cs-btn:hover{color:var(--t);border-color:rgba(138, 122, 184,0.4)} .cs-btn:disabled{opacity:.4;cursor:not-allowed} .cs-btn.p{color:var(--pl);border-color:rgba(138, 122, 184,0.35);background:rgba(138, 122, 184,0.08)} .cs-btn.g{color:var(--g);border-color:rgba(116, 176, 149,0.3);background:rgba(116, 176, 149,0.06)} .cs-btn.d{color:var(--danger);border-color:rgba(199, 123, 123,0.3)} .cs-btn.d:hover{background:rgba(199, 123, 123,0.1)} .cs-btn.on{color:#fff;background:var(--p);border-color:var(--p)} .cs-xp{display:inline-flex;gap:4px;align-items:center;padding-left:6px;border-left:1px solid var(--b)} .cs-xp .lbl{font-size:9px;letter-spacing:2px;color:var(--tm)} .cs-tbl-wrap{overflow-x:auto} .cs-tbl tr[data-scan]{cursor:pointer} .cs-tbl td{vertical-align:middle} .cs-time{white-space:nowrap} .cs-lbl{min-width:140px;overflow-wrap:anywhere} .cs-tbl .b{display:inline-flex;gap:4px;flex-wrap:wrap} .cs-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px} .cs-note{border-bottom:1px solid var(--b);padding:9px 0;font-size:12px;color:var(--t);display:flex;gap:10px;justify-content:space-between} .cs-note .body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;min-width:0} .cs-note .m{font-size:10px;color:var(--tm);margin-top:3px} .cs-x{background:none;border:0;color:var(--tm);cursor:pointer;font-size:13px;flex-shrink:0;align-self:flex-start} .cs-x:hover{color:var(--danger)} .cs-link{background:none;border:0;padding:0;color:var(--pl);cursor:pointer;font:inherit;text-decoration:underline dotted;text-underline-offset:2px} .cs-link:hover{color:#fff} .cs-flag{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--b);font-size:11px} .cs-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;display:inline-block} .cs-key{font-size:10px;color:var(--tm);overflow-wrap:anywhere} .cs-scan-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px} .cs-map-card{padding:0;overflow:hidden;position:relative} #cs-map{height:calc(100vh - 300px);min-height:420px;background:#0E0E13} #cs-legend{position:absolute;left:10px;bottom:10px;z-index:500;background:rgba(11, 11, 15,0.88);border:1px solid var(--b); border-radius:6px;padding:6px 10px;font-size:10px;color:var(--td);display:flex;gap:10px;flex-wrap:wrap;max-width:calc(100% - 20px)} #cs-legend span{display:inline-flex;align-items:center;gap:5px} .cs-dev-card{padding:12px;display:flex;flex-direction:column;max-height:calc(100vh - 300px);min-height:420px} .cs-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px} .cs-tab{font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;padding:4px 9px;border-radius:12px;cursor:pointer; border:1px solid rgba(255,255,255,0.1);background:transparent;color:var(--td)} .cs-tab.active{color:#fff;background:rgba(138, 122, 184,0.35);border-color:rgba(138, 122, 184,0.6)} .cs-tab.n.active{background:rgba(116, 176, 149,0.25);border-color:rgba(116, 176, 149,0.6)} .cs-tab.o.active{background:rgba(156,163,175,0.25);border-color:rgba(156,163,175,0.6)} .cs-tab.c.active{background:rgba(201, 161, 90,0.25);border-color:rgba(201, 161, 90,0.6)} .cs-dlist{overflow-y:auto;flex:1;margin-top:8px;display:flex;flex-direction:column;gap:4px} .cs-dev{display:block;width:100%;text-align:left;background:var(--e);border:1px solid transparent;border-left:3px solid var(--tm);border-radius:5px; padding:7px 9px;cursor:pointer;color:var(--td);font-family:'JetBrains Mono',monospace;font-size:10px;line-height:1.5} .cs-dev:hover{border-color:rgba(138, 122, 184,0.35)} .cs-dev .nm{color:var(--t);font-size:12px;font-weight:500;display:flex;justify-content:space-between;gap:6px} .cs-dev .nm span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .cs-dev.st-new{border-left-color:#74B095}.cs-dev.st-gone{border-left-color:#9CA3AF;opacity:.75} .cs-dev.st-changed{border-left-color:#C9A15A}.cs-dev.st-same{opacity:.55} .cs-chg{color:#C9A15A;overflow-wrap:anywhere} .cs-more{font-size:10px;color:var(--tm);text-align:center;padding:8px} /* Cihaz paneli */ #cs-drawer{position:fixed;top:62px;right:0;bottom:0;width:min(580px,100vw);z-index:1500;background:var(--s); border-left:1px solid rgba(138, 122, 184,0.3);box-shadow:-20px 0 50px rgba(0,0,0,0.5);display:flex;flex-direction:column} .dv-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:16px 18px;border-bottom:1px solid var(--b)} .dv-body{overflow-y:auto;padding:14px 18px 30px;flex:1} .dv-sec{margin-top:18px} .dv-sec>h4{font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;letter-spacing:2px;color:var(--td);text-transform:uppercase; margin-bottom:8px;display:flex;align-items:center;gap:8px} .dv-sec>h4::before{content:'';width:3px;height:12px;background:var(--p);border-radius:2px} .dv-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px} .dv-stat{background:var(--e);border:1px solid var(--b);border-radius:6px;padding:8px 10px;min-width:0} .dv-stat .v{font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:700;color:var(--t);overflow-wrap:anywhere} .dv-stat .l{font-size:9px;letter-spacing:1.5px;color:var(--td);opacity:.75;text-transform:uppercase;margin-top:2px} #dv-map{height:220px;border-radius:6px;border:1px solid var(--b);background:#0E0E13} .dv-chips{display:flex;flex-wrap:wrap;gap:6px} .dv-chip{background:var(--e);border:1px solid var(--b);border-radius:14px;padding:4px 10px;font-size:10px;color:var(--td);cursor:pointer; font-family:'JetBrains Mono',monospace;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .dv-chip:hover{border-color:rgba(138, 122, 184,0.5);color:var(--t)} .dv-chip b{color:var(--pl);font-weight:500} .dv-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center} .dv-row>*{flex:1 1 140px;min-width:0} .dv-row>.cs-btn{flex:0 0 auto} .dv-kv{width:100%;font-size:10px} .dv-kv td{padding:4px 8px;font-size:10px;overflow-wrap:anywhere} .dv-kv td:first-child{color:var(--tm);width:120px} #dv-sight td{padding:6px 8px;font-size:10px} #dv-sight tr[data-scan]{cursor:pointer} .cs-msg{font-size:10px;color:var(--tm);margin-top:6px;min-height:1em} textarea{resize:vertical;min-height:60px;line-height:1.5} @media (max-width:900px){ .cs-grid{grid-template-columns:minmax(0,1fr)} .cs-list{max-height:none} .cs-side .cs-list{max-height:40vh} .cs-two{grid-template-columns:minmax(0,1fr)} .cs-scan-grid{grid-template-columns:minmax(0,1fr)} #cs-map{height:50vh;min-height:260px} .cs-dev-card{max-height:60vh;min-height:0} .cs-btn{min-height:32px} .cs-xp{border-left:0;padding-left:0} .cs-h1{font-size:19px} } @media (max-width:600px){ .dv-stats{grid-template-columns:repeat(2,minmax(0,1fr))} .dv-top,.dv-body{padding-left:14px;padding-right:14px} .cs-tbl th,.cs-tbl td{padding:8px 6px} .cs-tbl .hide-sm{display:none} .cs-time{white-space:normal;min-width:84px} #dv-sight td:nth-child(3){min-width:120px} } {% endblock %} {% block content %}