/* support (Destek talepleri): view styles, prefix sp-. Colours only via the theme variables (dark + light). */

/* ---------- status, kind, stage, SLA ---------- */
.badge.sp-open{background:var(--warn-bg);color:var(--warn)}
.badge.sp-waiting_team{background:transparent;border-color:color-mix(in srgb,var(--warn) 50%,transparent);color:var(--warn)}
.badge.sp-waiting_customer{background:var(--warn-bg);color:var(--warn)}
.badge.sp-in_progress{background:var(--info-bg);color:var(--info)}
.badge.sp-resolved{background:var(--ok-bg);color:var(--ok)}
.badge.sp-closed{background:var(--panel3);color:var(--muted)}
.sp-kind{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;border:1px solid var(--line2);font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.sp-kind.tuning{border-color:color-mix(in srgb,var(--info) 45%,transparent);color:var(--info)}
.sp-stg{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:700;white-space:nowrap;background:var(--panel3);color:var(--muted)}
.sp-stg.s-eco{background:var(--ok-bg);color:var(--ok)}
.sp-stg.s-stage1{background:var(--info-bg);color:var(--info)}
.sp-stg.s-stage2{background:var(--acc-bg);color:var(--accent-text)}
.sp-stg.s-stage3{background:var(--bad-bg);color:var(--bad)}
.sp-q{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--info-bg);color:var(--info)}
.sp-sla{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--faint);white-space:nowrap}
.sp-sla span:where(.ic){width:12px;height:12px;flex:none}
.sp-sla.warn{color:var(--warn);font-weight:600}
.sp-sla.bad{color:var(--bad);font-weight:600}

/* ---------- inbox: the v3 one-line list (spec "Lists") ---------- */
.sp-page .card-h{flex-wrap:wrap;row-gap:4px}
.sp-bar{gap:10px;margin-bottom:0}
/* the filters (live 1, the owner 2026-10-26: squeezed to 12 px beside the rest, the ten status segments were hard to read
   and the search's hint was cut at 1440): the status seg with counts at the calm size on a line of its own, wrapping
   inside its frame on a narrower screen (every segment stays visible: no "Filtre ▾"); the kind select, the search with
   its whole hint and Sırala ▾ share the next line; Temizle (search, scope and sort back to the defaults) and a linked
   scope's P.chips chip under them */
.sp-bar .sp-filters{margin-bottom:0;gap:8px}
.sp-filters .sp-segbox{flex:1 1 100%;min-width:0;display:flex}
.sp-filters .seg{flex:0 1 auto;flex-wrap:wrap;max-width:100%}
/* a wrapped line keeps the frame's dividers: every segment draws its left and bottom edge; the frame (overflow hidden)
   clips the edge at the start of each line and under the last one */
.sp-filters .seg button{height:36px;border-left:1px solid var(--line2);border-bottom:1px solid var(--line2);margin:0 0 -1px -1px;white-space:nowrap}
.sp-filters .select{flex:none;max-width:200px}
.sp-filters .input{width:340px;flex:0 1 340px;min-width:0}
.sp-filters .p-menu-btn{height:36px;flex:none}
.sp-chipbox{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.sp-chipbox[hidden]{display:none}
.sp-why{font-size:12.5px;color:var(--muted)}
.sp-hint{font-size:12px}
.sp-busy .sp-inbox{opacity:.6;transition:opacity .15s}
/* the rows: a fixed table layout, the first column takes what the five fixed ones leave; every cell one line, cut with "…"
   (the whole value in the cell's title and on the request page); a row is 44 px at most (the first cell: the name and one
   grey line) */
.sp-list .tbl{table-layout:fixed}
.sp-list .tbl td{padding-top:5px;padding-bottom:5px;vertical-align:middle;overflow:hidden}
.sp-c-st{width:190px}
.sp-c-ecu{width:264px}
.sp-c-asg{width:116px}
.sp-c-last{width:120px}
.sp-c-menu{width:48px;text-align:right}
/* the ⋯ button (30 px) fits the narrow column on every width: the menu cell keeps a small padding of its own */
.sp-list .tbl td.sp-c-menu,.sp-list .tbl th.sp-c-menu{padding-left:4px;padding-right:8px}
.sp-t{min-width:0}
.sp-t a.n,.sp-t .sub,.sp-topic,.sp-c-asg > span,.sp-c-last .p-time{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* (the selectors carry .tbl td: the calm theme sizes .tbl td .sub and colours .tbl td a:hover) */
.sp-list .tbl td a.n{font-size:13.5px;font-weight:600;color:var(--text);line-height:17px;text-decoration:none}
@media (hover:hover){.sp-list .tbl td a.n:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}}
.sp-list .tbl td .sub{margin-top:0;line-height:15px;font-size:12px}
.sp-list .tbl td .sub.mono{font-size:11.5px}
.sp-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--info);margin-right:7px;vertical-align:1px}
.sp-mob{display:none}
.sp-c-asg .faint{color:var(--faint)}
/* the assignee with an initials avatar (the request page's status card) */
.sp-asg{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.avatar.sp-av{width:24px;height:24px;font-size:10px}
/* the status dot (colour roles: the status colours only): new amber (pending), waiting on the team amber (warn), in
   progress a neutral grey dot with plain text, waiting on the customer and closed grey, resolved green; meta.sla's tones:
   warn keeps the amber, bad turns the dot and the text red */
.sp-list .st-warn{color:var(--warn)}
.sp-list .st-warn i{background:var(--warn)}
.sp-list .st.bad{color:var(--bad)}
.sp-list .st.bad i{background:var(--bad)}
.sp-link{color:var(--text)}
.sp-link.strong{font-weight:600}
@media (hover:hover){.sp-link:hover{text-decoration:underline}}
.sp-center{display:flex;justify-content:center;padding:0 0 22px}

/* canned replies drawer */
.sp-canned{display:flex;flex-direction:column;gap:10px}
.sp-cn{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel2)}
.sp-cn-h{display:flex;align-items:center;gap:8px}
.sp-cn-h b{flex:1;min-width:0;overflow-wrap:anywhere}
.sp-cn-a{display:flex;gap:4px}
.sp-cn-a .icon-btn{width:28px;height:28px}
.sp-cn-a .icon-btn span:where(.ic){width:14px;height:14px}
@media (hover:hover){.sp-cn-a .sp-del:hover{color:var(--bad);border-color:var(--bad)}}
.sp-cn-b{margin:6px 0 4px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.sp-cn-form{background:var(--panel2)}
.sp-cn-ta{min-height:130px}

/* ---------- request page (v3: header with two buttons, the facts and Durum cards, a calm conversation) ---------- */
/* the header: "#id · subject" and one status line on the left, "Yanıtla" / "Yeniden aç" + "İşlemler ▾" on the right */
.sp-ticket .detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
.sp-ticket .dh-main{flex:1 1 420px;min-width:0}
.sp-ticket .detail-head h2{margin:0;font-size:19px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.sp-tid{color:var(--muted);font-weight:500}
.sp-ticket .detail-head h2 .dh-sep{color:var(--faint)}
.sp-ticket .dh-status{display:flex;flex-wrap:wrap;align-items:center;row-gap:2px;margin-top:6px;font-size:13px;color:var(--muted);min-width:0}
.sp-ticket .dh-status > *{min-width:0;overflow-wrap:anywhere}
.sp-ticket .dh-status .dh-sep{color:var(--faint);white-space:pre}
.sp-ticket .dh-status .sp-link{color:var(--text)}
.sp-age.warn{color:var(--warn);font-weight:600}
.sp-age.bad{color:var(--bad);font-weight:600}
.sp-ticket .dh-acts{display:flex;align-items:center;gap:8px;flex:none}
.sp-ticket .dh-acts .p-menu-btn{height:36px;padding:0 14px;font-size:14px}
/* the request's states (P.statusDot) beside panel.css's: waiting on the team amber, the customer's turn / closed grey,
   in progress the info dot */
.sp-ticket .st-warn{color:var(--warn)}
.sp-ticket .st-warn i{background:var(--warn)}
.sp-ticket .st-muted{color:var(--muted)}
.sp-ticket .st-progress i{background:var(--info)}
.sp-live{font-size:12.5px;color:var(--muted);margin-top:-6px}
.sp-live.now{color:var(--ok);font-weight:600}
.sp-live:empty{display:none}
.sp-grid{display:grid;gap:14px;align-items:start;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"thread side"}
.sp-grid > .sp-thread{grid-area:thread}
.sp-grid > .sp-side{grid-area:side;min-width:0}

/* thread: one block per message on the card's own background, a grey label marks who wrote it (an internal note too) */
.sp-thread{display:flex;flex-direction:column;min-width:0}
@media (min-width:1181px){.sp-grid > .sp-thread{position:sticky;top:calc(var(--top) + 14px)}}
.sp-msgs{display:flex;flex-direction:column;padding:4px 20px 8px;max-height:max(360px,calc(100vh - 330px));min-height:320px;overflow-y:auto;overscroll-behavior:contain}
.sp-msgs:focus-visible{outline-offset:-2px}
.sp-m{padding:12px 0;border-top:1px solid var(--line);background:transparent;min-width:0}
.sp-day + .sp-m{border-top:0}
.sp-m .mh{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--muted);margin-bottom:4px;flex-wrap:wrap}
.sp-m .mh b{color:var(--text);font-size:13px;font-weight:600}
.sp-m .mh .p-time{margin-left:auto;color:var(--faint);font-size:12px}
.sp-pill{font-size:11px;font-weight:500;padding:0 6px;border-radius:4px;border:1px solid var(--line2);color:var(--muted);line-height:17px}
.sp-txt{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.55}
.sp-mf{margin-top:4px;font-size:11.5px;color:var(--faint)}
/* the read receipt under a team message: one tick "Okunmadı" (muted), two ticks "Okundu · <when>" (ok green) */
.sp-mf.rc{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}
.sp-mf.rc span:where(.ic){width:13px;height:13px}
.sp-mf.rc.rd{color:var(--ok)}
.sp-sys{align-self:center;display:flex;gap:4px 8px;align-items:baseline;justify-content:center;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:8px 0;max-width:100%;text-align:center}
.sp-sys small{color:var(--faint);font-size:11.5px}
.sp-day{align-self:center;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:14px 0 6px}
.sp-ful{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.fu-problem .sp-ful{color:var(--bad)}
.sp-rate{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin-bottom:4px}
.sp-stars{color:var(--warn);font-size:17px;letter-spacing:2px;line-height:1}
.sp-meas{font-weight:600;font-size:13px}
.sp-m .sp-tags{margin-bottom:6px}

/* files (in a message and in the facts card) */
.sp-file{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);min-width:0}
.sp-m .sp-file{max-width:420px}
.sp-file > span:where(.ic){width:18px;height:18px;color:var(--muted);flex:none}
.sp-file .t{min-width:0;flex:1;overflow:hidden}
.sp-file .t b{display:block;font-weight:600;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-file .t small{display:block;font-size:11.5px;color:var(--faint)}
.sp-file .btn{flex:none}
.sp-file.gone{opacity:.7}
.sp-file.gone b{text-decoration:line-through}
.sp-lock{color:var(--faint);display:grid;flex:none}
.sp-lock span:where(.ic){width:15px;height:15px}
/* a picture / video: its thumbnail in place of the file icon (the demo shows a tile); the view opens in a modal */
.sp-thumb{position:relative;flex:none;width:64px;height:48px;border-radius:8px;border:1px solid var(--line2);background:var(--panel2);overflow:hidden;padding:0;
  display:grid;place-items:center;cursor:pointer;color:var(--muted)}
.sp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sp-thumb.demo{cursor:default;font-size:10.5px;line-height:1.2;text-align:center;padding:0 4px;color:var(--faint)}
.sp-play{position:absolute;inset:auto;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center}
.sp-play span:where(.ic){width:12px;height:12px}

.sp-media-v{display:block;max-width:100%;max-height:70vh;margin:0 auto;border-radius:8px;background:#000}
@media (hover:hover){.sp-thumb:not(.demo):hover{border-color:var(--muted)}}

/* composer: the hint, the text, one row (canned replies · İç not · Dosya ekle · the count · Gönder) */
.sp-comp{border-top:1px solid var(--line);padding:12px 20px 14px;display:flex;flex-direction:column;gap:8px}
.sp-comp.ro{padding:12px 20px}
.sp-comp-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sp-comp .sp-hint{color:var(--muted)}
.sp-ta{min-height:96px}
.sp-comp.note .sp-ta{border-style:dashed}
.sp-comp.note .sp-hint{color:var(--warn)}
.sp-comp-f{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}
.sp-comp-f .select{width:auto;max-width:230px;min-height:32px;height:32px;padding-top:3px;padding-bottom:3px;font-size:13px}
.sp-nck{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}
.sp-nck input{width:16px;height:16px;margin:0;accent-color:var(--accent)}
.sp-fbox:empty{display:none}
.sp-fchip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 3px 0 9px;border-radius:999px;border:1px solid var(--line2);background:var(--panel2);font-size:12px;max-width:280px;min-width:0}
.sp-fchip > span:where(:not(.ic)){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-fchip span:where(.ic){width:13px;height:13px;flex:none;color:var(--muted)}
.sp-fchip button{border:0;background:none;color:var(--muted);cursor:pointer;display:grid;padding:4px;border-radius:50%}
.sp-cnt{font-family:var(--mono);font-size:11px}
.sp-comp .form-err{margin:0;min-height:0}
.sp-comp .form-err:empty{display:none}

/* the facts card "Talep" and the "Durum" card: one row per fact, the label grey; the attachments one per row */
.sp-facts-b{gap:14px}
.sp-fl{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.sp-fl-h{display:flex;gap:8px;align-items:baseline;font-size:12.5px;color:var(--muted)}
.sp-fl .callout{font-size:12.5px;padding:9px 12px}
.sp-files{display:flex;flex-direction:column}
/* the name and "İndir" on the first line, size · role · member · time under them (under the button too: the owner's exact
   time fits); the compact button does not make its line taller */
.sp-fl .sp-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"i n b" "i m m";column-gap:10px;row-gap:0;align-items:center;
  padding:4px 0;border:0;border-radius:0;background:none}
.sp-fl .sp-file + .sp-file{border-top:1px solid var(--line)}
.sp-fl .sp-file > span:where(.ic),.sp-fl .sp-file > .sp-thumb{grid-area:i;align-self:start;margin-top:3px}
.sp-fl .sp-file .t{display:contents}
.sp-fl .sp-file .t b{grid-area:n;line-height:18px}
.sp-fl .sp-file .t small{grid-area:m;line-height:16px}
.sp-fl .sp-file > .btn,.sp-fl .sp-file > .sp-lock{grid-area:b}
.sp-fl .sp-file > .btn{height:24px;padding:0 8px;font-size:12px;margin:-3px 0}
.sp-fl .sp-thumb{width:48px;height:36px;border-radius:6px}
.sp-fl .sp-thumb.demo{font-size:9.5px;padding:0 2px}

/* right column */
.sp-side .kv{grid-template-columns:104px minmax(0,1fr);gap:7px 10px;font-size:12.5px}
.sp-side .kv dd{min-width:0}
.sp-side .hwid{max-width:100%}
.sp-car{display:flex;align-items:baseline;gap:4px 8px;flex-wrap:wrap}
.sp-car b{font-size:15px;min-width:0;overflow-wrap:anywhere}
.sp-eng{font-size:12.5px;margin-top:1px}
.sp-sec{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.sp-side .card-b > div > .sp-sec:first-child,.sp-side .card-b > div > .kv + .sp-sec{margin-top:12px}
.sp-sec h4{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 8px}
.sp-tags{display:flex;flex-wrap:wrap;gap:4px}
.sp-tags .tag{height:auto;min-height:20px;line-height:1.35;padding:2px 7px;overflow-wrap:anywhere}
.tag.sp-opt{background:var(--panel3);color:var(--text);cursor:help}
.tag.sp-opt.emis{background:var(--warn-bg);color:var(--warn)}
.tag.sp-opt.immo{background:var(--bad-bg);color:var(--bad)}
.tag.sp-opt.add{background:var(--ok-bg);color:var(--ok)}
.tag.sp-opt.rem{background:var(--bad-bg);color:var(--bad)}
.sp-grp{display:grid;grid-template-columns:104px minmax(0,1fr);gap:4px 10px;margin-top:8px;font-size:12.5px}
.sp-grp > span{color:var(--muted);line-height:22px}
.sp-custom{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}
.sp-decl{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;margin-top:4px}
.sp-decl span:where(.ic){width:14px;height:14px;flex:none;margin-top:3px;color:var(--ok)}
.sp-decl.no span:where(.ic){color:var(--bad)}
.sp-note{margin:8px 0 0;font-size:12px;color:var(--faint)}
.sp-note.warn{color:var(--warn);font-weight:600}
.sp-note.sp-none{margin:0}
.sp-copy{border:0;background:none;color:var(--muted);cursor:pointer;padding:0 0 0 6px;vertical-align:-2px}
.sp-copy span:where(.ic){width:13px;height:13px}
.sp-err{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12.5px;color:var(--bad);background:var(--bad-bg);border-radius:8px;padding:7px 9px}
.sp-log{margin-top:12px}
.sp-log summary{cursor:pointer;color:var(--muted);font-size:12.5px}
.sp-log pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono);font-size:11.5px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;max-height:260px;overflow:auto;margin:8px 0 0}
.sp-hdl{display:flex;gap:6px;flex-wrap:wrap}
.sp-others .li{padding:9px 16px}
.sp-others .li .st{flex:none}
.sp-ann span:where(.ic){color:var(--accent)}
.sp-reason{min-height:64px}
.sp-liclink{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 6px}
.sp-liclink a{display:inline-flex;align-items:center;gap:6px}
.sp-liclink span:where(.ic){width:14px;height:14px}
.sp-tools{gap:10px}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .sp-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"thread" "side"}
  .sp-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .sp-side > .sp-ann{grid-column:1 / -1}
}
@media (max-width:900px){
  .sp-mob{display:inline}
  .sp-msgs{max-height:none;min-height:0;overflow:visible}
  .sp-side{display:flex;align-items:stretch}
}
@media (max-width:560px){
  .sp-segbox{display:block;width:100%;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 2px;width:calc(100% + 32px)}
  .sp-segbox::-webkit-scrollbar{display:none}
  .sp-filters .sp-segbox{display:block}                                 /* a scrolling strip, not the wrapping row of wider screens */
  .sp-filters .seg{display:inline-flex;flex-wrap:nowrap;flex:none;max-width:none}
  .sp-filters .seg button{white-space:nowrap}
  .sp-filters .select{flex:1 1 150px}
  /* a phone: the kind select and Sırala ▾ share a line, the search takes the next one whole */
  .sp-filters .sp-sortbox{order:1}
  .sp-filters .input{order:2;flex:1 1 100%;max-width:none}
  .sp-list .tbl td{padding-left:10px;padding-right:10px}
  .sp-c-st{width:136px}
  .sp-c-menu{width:44px}
  .sp-list .st{white-space:normal;line-height:1.3}
  .sp-ctl-b{grid-template-columns:minmax(0,1fr)}
  .sp-msgs{padding:12px 10px}
  .sp-m{max-width:96%}
  .sp-comp{padding:12px 12px 14px}
  .sp-inbox .tbl .sp-idc{display:none}
  .sp-mob-s{display:inline}
  .tbl td .sp-mob-sla{display:block;margin-top:5px}
  .sp-inbox .sp-st .sp-sla{display:none}
  .sp-msgs{padding:4px 14px 8px}
  .sp-comp{padding:12px 14px 14px}
  .sp-ticket .dh-acts{width:100%}
  .sp-ticket .dh-acts .btn-primary{flex:1}
  .sp-comp-f .select{max-width:none;flex:1 1 100%}
  .sp-comp-f .sp-send{margin-left:auto}
  .sp-ticket .detail-head h2{font-size:17px}
  .sp-side .kv,.sp-grp{grid-template-columns:96px minmax(0,1fr)}
}
