/* #incibizbize — tek stil dosyası. Açık/koyu tema: html[data-theme]; "system" işletim sistemi tercihini izler. */
:root {
  --bg: #f4f6f8; --surface: #ffffff; --surface-2: #f0f2f5; --border: #dde2e8; --text: #16202b; --muted: #5d6b7a;
  --primary: #d3302a; --primary-ink: #ffffff; --primary-soft: #fde8e6; --accent: #2563eb;
  --danger: #c0352b; --danger-soft: #fdecea; --warn: #9a6700; --warn-soft: #fff4d6; --ok: #1a7f37; --ok-soft: #e3f6e8;
  --mine: #fde7e5; --theirs: #ffffff; --shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 16px rgba(16, 24, 40, .06);
  --radius: 12px; --radius-s: 8px; --font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", Ubuntu, sans-serif; --fs: 15px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0f1419; --surface: #182029; --surface-2: #202a35; --border: #2c3846; --text: #e6edf3; --muted: #93a1b0;
    --primary: #ff6b63; --primary-ink: #2a0705; --primary-soft: #3d1a18; --accent: #6ea8fe;
    --danger: #ff7b72; --danger-soft: #3b1d1b; --warn: #e3b341; --warn-soft: #3a2f12; --ok: #56d364; --ok-soft: #12301b;
    --mine: #4a2321; --theirs: #202a35; --shadow: 0 1px 2px rgba(0, 0, 0, .4);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0f1419; --surface: #182029; --surface-2: #202a35; --border: #2c3846; --text: #e6edf3; --muted: #93a1b0;
  --primary: #ff6b63; --primary-ink: #2a0705; --primary-soft: #3d1a18; --accent: #6ea8fe;
  --danger: #ff7b72; --danger-soft: #3b1d1b; --warn: #e3b341; --warn-soft: #3a2f12; --ok: #56d364; --ok-soft: #12301b;
  --mine: #4a2321; --theirs: #202a35; --shadow: 0 1px 2px rgba(0, 0, 0, .4);
  color-scheme: dark;
}
:root[data-font="small"] { --fs: 14px; }
:root[data-font="large"] { --fs: 17px; }

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body { background: var(--bg); color: var(--text); font: var(--fs)/1.5 var(--font); -webkit-font-smoothing: antialiased; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 1.5rem; margin: 0 0 .75rem; }
h2 { font-size: 1.15rem; margin: 0 0 .75rem; }
h3 { font-size: 1rem; margin: 0 0 .5rem; }
p { margin: 0 0 .75rem; }
code { background: var(--surface-2); padding: .1em .35em; border-radius: 4px; font-size: .9em; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.muted { color: var(--muted); }
.small { font-size: .85em; }
.grow { flex: 1; min-width: 0; }
.mt { margin-top: 1rem; display: block; }
.pre, .policy-text { white-space: pre-wrap; word-break: break-word; }
.danger-text { color: var(--danger); }
.only-mobile { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ------------------------------------------------------------- form ve düğmeler */
input, select, textarea {
  font: inherit; color: inherit; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-s);
  padding: .55rem .7rem; width: 100%; min-height: 40px;
}
input:focus, select:focus, textarea:focus { border-color: var(--primary); outline: 2px solid var(--primary-soft); }
input[type="checkbox"], input[type="radio"] { width: 18px; height: 18px; min-height: 0; padding: 0; accent-color: var(--primary); }
textarea { resize: vertical; }
label { display: block; font-weight: 500; }
label > input, label > select, label > textarea { margin-top: .3rem; font-weight: 400; }
label small { display: block; font-weight: 400; margin-top: .25rem; }
label.check { display: flex; gap: .55rem; align-items: flex-start; font-weight: 400; }
label.check input { margin-top: .2rem; flex: none; }
.label { font-weight: 600; margin: .5rem 0 .25rem; }
.form { display: flex; flex-direction: column; gap: .85rem; }
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
fieldset { border: 1px solid var(--border); border-radius: var(--radius-s); padding: .75rem; }
legend { font-weight: 600; padding: 0 .35rem; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem; font: inherit; font-weight: 600; cursor: pointer;
  border: 1px solid var(--border); background: var(--surface); color: var(--text); padding: .5rem 1rem; border-radius: var(--radius-s); min-height: 40px;
  text-decoration: none !important; white-space: nowrap;
}
.btn:hover { background: var(--surface-2); }
.btn.primary { background: var(--primary); border-color: var(--primary); color: var(--primary-ink); }
.btn.primary:hover { filter: brightness(1.08); }
.btn.danger { color: var(--danger); border-color: var(--danger); }
.btn.small { padding: .3rem .7rem; min-height: 32px; font-size: .9em; }
.btn.block { width: 100%; }
.btn:disabled { opacity: .55; cursor: not-allowed; }
.icon-btn { background: none; border: 0; color: inherit; font-size: 1.15rem; cursor: pointer; border-radius: 50%; width: 40px; height: 40px; display: inline-grid; place-items: center; flex: none; }
.icon-btn:hover { background: var(--surface-2); }
.icon-btn.small { width: 28px; height: 28px; font-size: .95rem; }
.link { background: none; border: 0; padding: 0; color: var(--accent); cursor: pointer; font: inherit; text-align: left; }
.row-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.dialog-actions { display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1rem; }
.copy-row { display: flex; gap: .5rem; }

.banner { padding: .65rem .9rem; border-radius: var(--radius-s); background: var(--surface-2); margin-bottom: 1rem; }
.banner.error { background: var(--danger-soft); color: var(--danger); }
.banner.success { background: var(--ok-soft); color: var(--ok); }
.banner.warn { background: var(--warn-soft); color: var(--warn); margin: 0; border-radius: 0; }
.banner.info { background: var(--primary-soft); color: var(--text); margin: 0; border-radius: 0; }
.banner.info { background: var(--primary-soft); }
.tag { display: inline-block; font-size: .75rem; padding: .05rem .45rem; border-radius: 999px; background: var(--surface-2); color: var(--muted); font-weight: 600; vertical-align: middle; }
.tag.ok { background: var(--ok-soft); color: var(--ok); }
.tag.warn { background: var(--warn-soft); color: var(--warn); }
.tag.danger { background: var(--danger-soft); color: var(--danger); }
.badge { background: var(--primary); color: var(--primary-ink); border-radius: 999px; font-size: .72rem; font-weight: 700; padding: .05rem .45rem; min-width: 1.3rem; text-align: center; margin-left: auto; }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.25rem; box-shadow: var(--shadow); margin-bottom: 1rem; }
.card.narrow { max-width: 460px; margin: 0 auto; }
.spinner { width: 32px; height: 32px; border: 3px solid var(--border); border-top-color: var(--primary); border-radius: 50%; animation: spin .8s linear infinite; margin: 2rem auto; }
@keyframes spin { to { transform: rotate(360deg); } }
.center-page { min-height: 60vh; display: grid; place-items: center; padding: 1rem; text-align: center; }
.empty { text-align: center; color: var(--muted); padding: 2rem 1rem; }
.empty.big { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.hero { font-size: 3.5rem; opacity: .6; }

/* ------------------------------------------------------------- giriş sayfaları */
.auth-shell { min-height: 100%; display: flex; flex-direction: column; }
.auth-header { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; }
.auth-main { flex: 1; display: flex; align-items: flex-start; justify-content: center; padding: 1rem; }
.auth-card { width: 100%; max-width: 440px; margin-top: 4vh; }
.auth-links { display: flex; flex-direction: column; gap: .4rem; margin-top: 1rem; text-align: center; }
.auth-footer { text-align: center; padding: 1rem; color: var(--muted); font-size: .85rem; }
.lang-switch { display: flex; gap: .6rem; }
.lang-switch a.active { font-weight: 700; color: var(--text); }
.brand { display: inline-flex; align-items: center; gap: .5rem; font-weight: 800; font-size: 1.1rem; color: var(--text); text-decoration: none !important; }
.brand-logo { height: 30px; width: auto; display: block; }
.brand-mark { width: 30px; height: 30px; border-radius: 9px; background: var(--primary); color: var(--primary-ink); display: grid; place-items: center; font-weight: 800; }
.policies details { border-bottom: 1px solid var(--border); padding: .4rem 0; }
.policies .policy-text { max-height: 240px; overflow: auto; background: var(--surface-2); padding: .6rem; border-radius: var(--radius-s); font-size: .9em; }
.lead { font-size: 1.05rem; }

/* ------------------------------------------------------------- uygulama iskeleti */
.app-shell { display: flex; height: 100vh; height: 100dvh; overflow: hidden; }
.sidebar { width: 248px; flex: none; background: var(--surface); border-right: 1px solid var(--border); display: flex; flex-direction: column; }
.sidebar-top { display: flex; align-items: center; justify-content: space-between; padding: 1rem; }
.nav { flex: 1; overflow-y: auto; padding: 0 .5rem; display: flex; flex-direction: column; gap: 2px; }
.nav a { display: flex; align-items: center; gap: .65rem; padding: .55rem .75rem; border-radius: var(--radius-s); color: var(--text); text-decoration: none; font-weight: 500; }
.nav a:hover { background: var(--surface-2); }
.nav a.active { background: var(--primary-soft); color: var(--primary); font-weight: 700; }
.nav a.sub { padding-left: 1.6rem; font-size: .92em; }
.nav .ico { width: 1.4rem; text-align: center; }
.sidebar-user { display: flex; align-items: center; gap: .6rem; padding: .75rem 1rem; border-top: 1px solid var(--border); }
.sidebar-user .who { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
.sidebar-user .who strong, .sidebar-user .who small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user small { color: var(--muted); }
.sidebar-user form { margin: 0; }
.main { flex: 1; min-width: 0; display: flex; flex-direction: column; overflow: hidden; }
.main > .page, .main > .chats-page { flex: 1; overflow: auto; }
.topbar { align-items: center; gap: .5rem; padding: .5rem .75rem; background: var(--surface); border-bottom: 1px solid var(--border); }
.page { padding: 1.5rem; max-width: 980px; width: 100%; margin: 0 auto; }
.page.narrow { max-width: 520px; }
.page-head, .section-head { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: .75rem; flex-wrap: wrap; }
.section-head h2, .section-head h3 { margin: 0; }
.tabs { display: flex; gap: .35rem; overflow-x: auto; padding-bottom: .25rem; margin-bottom: 1rem; scrollbar-width: thin; }
.tabs.wrap { flex-wrap: wrap; }
.tabs > button, .tabs > a { background: var(--surface-2); border: 1px solid transparent; color: var(--text); padding: .35rem .8rem; border-radius: 999px; cursor: pointer; white-space: nowrap; font: inherit; font-size: .9em; text-decoration: none; }
.tabs > .on { background: var(--primary-soft); color: var(--primary); border-color: var(--primary); font-weight: 600; }

/* avatar */
.avatar { position: relative; width: var(--s); height: var(--s); flex: none; display: inline-block; }
.avatar img, .avatar .initials { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: grid; place-items: center; }
.avatar .initials { background: hsl(var(--h, 160) 45% 42%); color: #fff; font-weight: 700; font-size: calc(var(--s) * .38); }
.avatar .dot { position: absolute; right: 0; bottom: 0; width: 28%; height: 28%; min-width: 9px; min-height: 9px; background: #22c55e; border: 2px solid var(--surface); border-radius: 50%; }

/* ------------------------------------------------------------- sohbetler */
.chats-page { display: flex; height: 100%; overflow: hidden; }
.chat-list { width: 360px; flex: none; border-right: 1px solid var(--border); background: var(--surface); display: flex; flex-direction: column; overflow: hidden; }
.chat-list .list-head { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1rem .5rem; }
.chat-list .list-head h1 { margin: 0; }
.chat-list .search { margin: 0 1rem .5rem; width: auto; }
.chat-list .tabs { padding: 0 1rem .25rem; margin-bottom: .25rem; }
.chat-list .items { list-style: none; margin: 0; padding: 0; overflow-y: auto; flex: 1; }
.chat-list .item { display: flex; gap: .7rem; padding: .65rem 1rem; color: var(--text); text-decoration: none; align-items: center; }
.chat-list .item:hover { background: var(--surface-2); }
.chat-list .item.active { background: var(--primary-soft); }
.item-main { flex: 1; min-width: 0; }
.item-main .row { display: flex; gap: .5rem; align-items: center; justify-content: space-between; }
.item-main .title, .item-main .preview { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.item-main .preview { color: var(--muted); font-size: .9em; flex: 1; }
.item-main .tag { margin-right: .3rem; }
.chat-pane { flex: 1; min-width: 0; display: flex; flex-direction: column; background: var(--bg); }

.conversation { display: flex; height: 100%; min-height: 0; }
.conv-main { flex: 1; min-width: 0; display: flex; flex-direction: column; position: relative; }
.conv-main.dropping::after { content: ""; position: absolute; inset: 8px; border: 3px dashed var(--primary); border-radius: var(--radius); background: color-mix(in srgb, var(--primary) 8%, transparent); pointer-events: none; }
.conv-head { display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; background: var(--surface); border-bottom: 1px solid var(--border); }
.conv-title { display: flex; align-items: center; gap: .65rem; background: none; border: 0; color: inherit; cursor: pointer; text-align: left; flex: 1; min-width: 0; font: inherit; padding: .2rem; border-radius: var(--radius-s); }
.conv-title span { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.conv-title strong, .conv-title small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.conv-head .actions { display: flex; }
.space-bar { background: var(--warn-soft); color: var(--warn); font-size: .82rem; padding: .25rem .9rem; }
.pin-bar, .search-bar { background: var(--surface); border-bottom: 1px solid var(--border); padding: .4rem .9rem; font-size: .9em; }
.search-bar .hits { list-style: none; margin: .4rem 0 0; padding: 0; max-height: 200px; overflow: auto; }
.search-bar .hits li { padding: .2rem 0; }
.messages { flex: 1; overflow-y: auto; padding: 1rem clamp(.5rem, 3vw, 2rem); display: flex; flex-direction: column; gap: .2rem; }
.older { text-align: center; margin-bottom: .5rem; }
.day-sep { text-align: center; margin: .75rem 0 .4rem; }
.day-sep span { background: var(--surface); border: 1px solid var(--border); color: var(--muted); border-radius: 999px; padding: .1rem .7rem; font-size: .78rem; }
.sys-msg { align-self: center; background: var(--surface-2); color: var(--muted); font-size: .82rem; border-radius: var(--radius-s); padding: .2rem .7rem; margin: .3rem 0; text-align: center; max-width: 90%; }
.msg { display: flex; align-items: flex-start; gap: .25rem; max-width: min(78%, 680px); position: relative; }
.msg.mine { align-self: flex-end; flex-direction: row-reverse; }
.msg.theirs { align-self: flex-start; }
.bubble { background: var(--theirs); border: 1px solid var(--border); border-radius: 14px; padding: .4rem .65rem .3rem; min-width: 70px; box-shadow: var(--shadow); overflow-wrap: anywhere; }
.msg.mine .bubble { background: var(--mine); border-color: transparent; }
.msg.deleted .bubble { opacity: .75; }
.msg.flash .bubble { animation: flash 1.5s; }
@keyframes flash { 0%, 60% { box-shadow: 0 0 0 3px var(--accent); } 100% { box-shadow: var(--shadow); } }
.sender { font-weight: 700; font-size: .82rem; color: hsl(var(--h) 55% 40%); }
:root[data-theme="dark"] .sender { color: hsl(var(--h) 65% 68%); }
.fwd { font-size: .78rem; color: var(--muted); font-style: italic; }
.reply-ref { display: block; width: 100%; text-align: left; background: color-mix(in srgb, var(--text) 6%, transparent); border: 0; border-left: 3px solid var(--primary); border-radius: 6px; padding: .25rem .5rem; margin: .1rem 0 .3rem; cursor: pointer; color: inherit; font: inherit; font-size: .85em; }
.reply-ref strong { display: block; font-size: .9em; color: var(--primary); }
.reply-ref span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text { white-space: pre-wrap; }
.meta { display: flex; gap: .35rem; justify-content: flex-end; align-items: center; font-size: .72rem; color: var(--muted); margin-top: .1rem; }
.ticks.read { color: #2f9bff; }
.reactions { display: flex; gap: .25rem; flex-wrap: wrap; margin-top: .25rem; }
.reaction { background: var(--surface-2); border: 1px solid var(--border); border-radius: 999px; padding: 0 .45rem; font-size: .82rem; cursor: pointer; color: inherit; }
.reaction.mine { border-color: var(--primary); background: var(--primary-soft); }
.msg-actions { opacity: 0; transition: opacity .15s; position: relative; }
.msg:hover .msg-actions, .msg:focus-within .msg-actions { opacity: 1; }
.menu { position: absolute; top: 100%; z-index: 20; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-s); box-shadow: 0 8px 24px rgba(0, 0, 0, .18); min-width: 200px; padding: .3rem; display: flex; flex-direction: column; }
.msg.mine .menu { right: 0; }
.msg.theirs .menu { left: 0; }
.menu > button { background: none; border: 0; text-align: left; padding: .45rem .6rem; border-radius: 6px; cursor: pointer; color: inherit; font: inherit; }
.menu > button:hover { background: var(--surface-2); }
.menu .danger { color: var(--danger); }
.emoji-row { display: flex; flex-wrap: wrap; gap: 2px; border-bottom: 1px solid var(--border); padding-bottom: .3rem; margin-bottom: .2rem; }
.emoji-row button { background: none; border: 0; font-size: 1.15rem; cursor: pointer; padding: .15rem; border-radius: 6px; }
.emoji-row button:hover { background: var(--surface-2); }
.typing { color: var(--muted); font-size: .85rem; font-style: italic; padding: .2rem .4rem; }
.attachment { margin: .2rem 0; }
.attachment img { max-width: min(320px, 100%); max-height: 320px; border-radius: 10px; display: block; height: auto; }
.attachment video { max-width: min(360px, 100%); border-radius: 10px; display: block; }
.attachment audio { max-width: 280px; }
.file-chip { display: inline-flex; align-items: center; gap: .6rem; background: color-mix(in srgb, var(--text) 6%, transparent); border-radius: 10px; padding: .45rem .7rem; color: inherit; text-decoration: none !important; max-width: 320px; }
.file-chip span:nth-child(2) { display: flex; flex-direction: column; min-width: 0; }
.file-chip strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-chip.danger { color: var(--danger); }
.composer { background: var(--surface); border-top: 1px solid var(--border); padding: .5rem .75rem; }
.composer.readonly { text-align: center; color: var(--muted); padding: 1rem; }
.compose-row { display: flex; gap: .4rem; align-items: flex-end; }
.compose-row textarea { min-height: 42px; max-height: 180px; resize: none; border-radius: 20px; padding: .55rem .9rem; }
.btn.send { border-radius: 50%; width: 42px; height: 42px; padding: 0; }
.compose-ref { display: flex; justify-content: space-between; align-items: center; gap: .5rem; background: var(--surface-2); border-left: 3px solid var(--primary); border-radius: 6px; padding: .3rem .6rem; margin-bottom: .4rem; font-size: .88em; }
.compose-ref span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uploads, .chips { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .4rem; }
.chip { display: inline-flex; gap: .35rem; align-items: center; background: var(--surface-2); border-radius: 999px; padding: .15rem .6rem; font-size: .85em; }
.chip.error { background: var(--danger-soft); color: var(--danger); }
.chat-info { width: 340px; flex: none; background: var(--surface); border-left: 1px solid var(--border); overflow-y: auto; padding: 0 1rem 1rem; }
.chat-info > header { display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; background: var(--surface); padding: .75rem 0; z-index: 1; }
.chat-info > header h2 { margin: 0; }
.info-hero { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .35rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.info-hero h3 { margin: .3rem 0 0; font-size: 1.15rem; }
.section { padding: 1rem 0; border-bottom: 1px solid var(--border); }
.section summary { cursor: pointer; font-weight: 600; }
.section .form { margin-top: .75rem; }
.members, .people, .pick-list, .notif-list, .activity { list-style: none; margin: 0; padding: 0; }
.members li, .people li { display: flex; align-items: center; gap: .6rem; padding: .45rem 0; }
.members select { width: auto; min-height: 32px; padding: .2rem .4rem; }
.people li { border-bottom: 1px solid var(--border); flex-wrap: wrap; }
.danger-zone .btn { margin-bottom: .5rem; }
.pick-list { max-height: 320px; overflow-y: auto; margin-top: .5rem; }
.pick { display: flex; align-items: center; gap: .6rem; width: 100%; background: none; border: 0; padding: .45rem .5rem; border-radius: var(--radius-s); cursor: pointer; color: inherit; font: inherit; text-align: left; }
.pick:hover { background: var(--surface-2); }
.pick.on { background: var(--primary-soft); }
.pick .ok { margin-left: auto; color: var(--primary); font-weight: 800; }
.notif-list li { display: flex; gap: .75rem; padding: .75rem; border-bottom: 1px solid var(--border); }
.notif-list li.unread { background: var(--primary-soft); border-radius: var(--radius-s); }
.notif-list p { margin: .15rem 0; }
.activity li { padding: .35rem 0; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }

/* ------------------------------------------------------------- tablolar ve yönetim */
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .92em; }
th, td { text-align: left; padding: .55rem .5rem; border-bottom: 1px solid var(--border); vertical-align: middle; }
th { color: var(--muted); font-weight: 600; font-size: .85em; white-space: nowrap; }
tr:hover td { background: var(--surface-2); }
.stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.stat { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: .9rem 1rem; }
.stat strong { display: block; font-size: 1.5rem; }
.stat span { color: var(--muted); font-size: .85em; }
.filters { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .75rem; }
.filters input, .filters select { width: auto; min-width: 180px; flex: 1; }
.codes { columns: 2; font-size: 1.05rem; }
.qr { width: 200px; height: 200px; background: #fff; padding: 6px; border-radius: 8px; margin: .5rem 0; }
.qr svg { width: 100%; height: 100%; }
.secret { word-break: break-all; }
.steps li { margin-bottom: .75rem; }
.steps .row-actions input { width: 140px; }
.avatar-row { display: flex; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.ticket { border-bottom: 1px solid var(--border); padding: .5rem 0; }
.ticket summary { cursor: pointer; }
.ticket .reply { background: var(--primary-soft); padding: .6rem; border-radius: var(--radius-s); }
.wizard-steps { display: flex; gap: .5rem; margin-bottom: 1rem; flex-wrap: wrap; }
.wizard-steps span { padding: .2rem .7rem; border-radius: 999px; background: var(--surface-2); font-size: .85em; }
.wizard-steps span.on { background: var(--primary); color: var(--primary-ink); }
.import-rows td.error { color: var(--danger); }

/* ------------------------------------------------------------- modal, bildirim balonu, arama */
.modal-backdrop { position: fixed; inset: 0; background: rgba(0, 0, 0, .45); display: grid; place-items: center; z-index: 100; padding: 1rem; }
.modal { background: var(--surface); border-radius: var(--radius); width: min(520px, 100%); max-height: 90vh; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); }
.modal.wide { width: min(860px, 100%); }
.modal header { display: flex; justify-content: space-between; align-items: center; padding: .9rem 1.1rem; border-bottom: 1px solid var(--border); }
.modal header h2 { margin: 0; }
.modal-body { padding: 1.1rem; overflow-y: auto; }
.toasts { position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; gap: .5rem; z-index: 200; width: min(420px, calc(100% - 2rem)); }
.toast { background: var(--text); color: var(--bg); padding: .65rem 1rem; border-radius: var(--radius-s); box-shadow: var(--shadow); }
.toast.error { background: var(--danger); color: #fff; }
.toast.success { background: var(--ok); color: #fff; }
.call-overlay { position: fixed; z-index: 300; inset: auto 1rem 1rem auto; width: min(360px, calc(100% - 2rem)); background: #0b141a; color: #fff; border-radius: 16px; padding: 1rem; box-shadow: 0 20px 60px rgba(0, 0, 0, .45); display: flex; flex-direction: column; gap: .5rem; align-items: center; }
.call-overlay.video { width: min(720px, calc(100% - 2rem)); }
.call-title { font-weight: 700; font-size: 1.15rem; }
.call-status { color: #b8c4ce; font-variant-numeric: tabular-nums; }
/* 3.5: eşler mesh'te değişken sayıda olabilir — tek sabit kutucuk yerine esnek bir ızgara. */
.call-remotes { width: 100%; display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.call-remotes:empty { display: none; }
.call-tile { width: 100%; max-height: 60vh; background: #000; border-radius: 10px; object-fit: cover; }
.call-overlay.video .call-remotes:has(.call-tile ~ .call-tile) .call-tile { width: calc(50% - .2rem); max-height: 32vh; }
.call-overlay video#call-local { position: absolute; right: 1.5rem; top: 4.5rem; width: 28%; border-radius: 8px; border: 2px solid #fff; background: #000; }
.call-actions { display: flex; gap: 1rem; margin-top: .5rem; flex-wrap: wrap; justify-content: center; }
.call-btn { width: 54px; height: 54px; border-radius: 50%; border: 0; font-size: 1.35rem; cursor: pointer; background: #2a3942; color: #fff; }
.call-btn.end { background: #e5484d; }
.call-btn.accept { background: #22c55e; }
.call-btn.on { background: #2563eb; }
.call-toast { position: fixed; bottom: 1rem; right: 1rem; z-index: 300; background: #0b141a; color: #fff; padding: .7rem 1rem; border-radius: 10px; }
/* 3.5: devam eden aramaya kişi ekleme kutusu. */
.call-add-picker { position: absolute; left: 1rem; right: 1rem; bottom: 5.5rem; background: #1b2630; border-radius: 12px; padding: .6rem; box-shadow: 0 10px 30px rgba(0, 0, 0, .4); max-width: 320px; margin: 0 auto; }
.call-add-picker input { width: 100%; box-sizing: border-box; border: 0; border-radius: 8px; padding: .5rem .6rem; background: #0b141a; color: #fff; }
.call-add-results { max-height: 180px; overflow-y: auto; margin-top: .4rem; }
.call-add-row { display: block; width: 100%; text-align: left; border: 0; background: transparent; color: #fff; padding: .45rem .5rem; border-radius: 8px; cursor: pointer; font-size: .92rem; }
.call-add-row:hover, .call-add-row:focus-visible { background: rgba(255, 255, 255, .1); }
.call-flash { position: absolute; top: .6rem; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, .75); color: #fff; padding: .4rem .8rem; border-radius: 20px; font-size: .85rem; white-space: nowrap; }
#blazor-error-ui { display: none; position: fixed; bottom: 0; left: 0; right: 0; background: var(--warn-soft); color: var(--warn); padding: .7rem 1rem; z-index: 1000; }
#blazor-error-ui .reload { margin-left: .5rem; }
#components-reconnect-modal { z-index: 1000; }

/* ------------------------------------------------------------- mobil */
@media (max-width: 860px) {
  .only-mobile { display: inline-grid !important; }
  .topbar.only-mobile { display: flex !important; }
  .sidebar { position: fixed; inset: 0 auto 0 0; z-index: 50; transform: translateX(-100%); transition: transform .2s; box-shadow: 0 0 40px rgba(0, 0, 0, .3); }
  .app-shell.menu-open .sidebar { transform: none; }
  .chat-list { width: 100%; border-right: 0; }
  .chats-page.show-chat .chat-list { display: none; }
  .chats-page.show-list .chat-pane { display: none; }
  .chat-info { position: fixed; inset: 0; width: 100%; z-index: 40; }
  .msg { max-width: 90%; }
  .msg-actions { opacity: 1; }
  .page { padding: 1rem; }
  .row2 { grid-template-columns: 1fr; }
  .codes { columns: 1; }
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
/* sohbet arka planı tercihi */
:root[data-bg="dots"] .messages { background-image: radial-gradient(color-mix(in srgb, var(--text) 10%, transparent) 1px, transparent 1px); background-size: 18px 18px; }
:root[data-bg="waves"] .messages { background-image: repeating-linear-gradient(135deg, color-mix(in srgb, var(--primary) 6%, transparent) 0 12px, transparent 12px 24px); }
:root[data-bg="plain"] .messages { background: var(--surface); }
dl.details { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; margin: 1rem 0; }
dl.details dt { color: var(--muted); font-weight: 600; }
dl.details dd { margin: 0; }
.page.wide { max-width: 1200px; }
code.big { font-size: 1.15rem; padding: .2rem .5rem; }
@media (max-width: 860px) { dl.details { grid-template-columns: 1fr; } }
.filters label.check { flex: none; align-items: center; white-space: nowrap; }
.filters input[type="checkbox"] { min-width: 0; flex: none; }

/* Moderasyon paneli: liste + ayrıntı yan yana (dar ekranda alt alta) */
.split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
@media (min-width: 1100px) { .split { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; } }
tr.clickable { cursor: pointer; }
tr.clickable.on td { background: var(--surface-2); }
.pad { padding: 1rem; }
fieldset label.check { margin: .25rem 0; }
.mod-context { max-height: 420px; overflow: auto; border: 1px solid var(--border); border-radius: var(--radius-s); padding: .5rem; background: var(--surface-2); margin-bottom: 1rem; }
.mod-msg { padding: .35rem .5rem; border-radius: 6px; margin-bottom: .25rem; }
.mod-msg .who { font-weight: 600; }
.mod-msg.target .who { color: var(--danger); }
.mod-msg.reported { background: var(--warn-soft); outline: 1px solid var(--warn); }

/* ------------------------------------------------------------- takvim ve toplantılar */
.cal-page { max-width: 1280px; }
.live-card { display: flex; align-items: center; gap: .9rem; padding: .85rem 1rem; margin-bottom: 1rem; border-radius: var(--radius);
  background: linear-gradient(90deg, var(--primary-soft), var(--surface)); border: 1px solid var(--primary); }
.live-card .grow { display: flex; flex-direction: column; }
.live-dot { width: 10px; height: 10px; border-radius: 50%; background: #e5484d; box-shadow: 0 0 0 4px rgba(229, 72, 77, .2); flex-shrink: 0; animation: livepulse 1.6s ease-in-out infinite; }
@keyframes livepulse { 50% { box-shadow: 0 0 0 7px rgba(229, 72, 77, .05); } }
.cal-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); gap: 1rem; align-items: start; }
.cal-month { padding: 1rem; }
.cal-head { display: flex; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.cal-head strong { font-size: 1.1rem; text-transform: capitalize; }
.cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.cal-wd { text-align: center; font-size: .75rem; font-weight: 600; color: var(--muted); padding: .25rem 0; text-transform: uppercase; }
.cal-day { min-height: 96px; display: flex; flex-direction: column; align-items: stretch; gap: 2px; padding: 4px; border-radius: var(--radius-s); border: 1px solid transparent;
  background: var(--surface-2); color: inherit; font: inherit; text-align: left; cursor: pointer; overflow: hidden; }
.cal-day:hover { border-color: var(--border); }
.cal-day.other { opacity: .45; }
.cal-day.selected { border-color: var(--primary); background: var(--primary-soft); }
.cal-num { font-size: .8rem; font-weight: 600; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; }
.cal-day.today .cal-num { background: var(--primary); color: var(--primary-ink); }
.cal-ev { font-size: .72rem; line-height: 1.3; padding: 1px 5px; border-radius: 5px; background: var(--surface); border-left: 3px solid var(--primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-ev.live { border-left-color: #e5484d; font-weight: 600; }
.cal-ev.cancelled { text-decoration: line-through; opacity: .6; border-left-color: var(--muted); }
.cal-ev.ended { opacity: .7; border-left-color: var(--muted); }
.cal-ev.rem { border-left-color: #d97706; }
.cal-ev.rem.done { opacity: .6; text-decoration: line-through; }
.cal-dots i.rem { background: #d97706; }
.agenda-item.rem { border-left-color: #d97706; }
.agenda-item.rem.done { opacity: .7; border-left-color: var(--border); }
.rem-suggest { border: 1px dashed var(--border); border-radius: var(--radius-s); padding: .5rem .7rem; margin-bottom: .6rem; display: flex; flex-direction: column; gap: .3rem; }
.rem-suggest .row { display: flex; align-items: center; gap: .6rem; }
.chip-group { display: inline-flex; align-items: stretch; }
.chip-group .chip { border-radius: 999px 0 0 999px; }
.chip-x { border: 1px solid var(--border); border-left: 0; border-radius: 0 999px 999px 0; background: var(--surface-2); color: var(--muted); cursor: pointer; padding: 0 .55rem; font: inherit; }
.chip-x:hover { color: var(--danger, #dc2626); }
.self-check { margin-top: .6rem; font-weight: 600; }
.inline-num input { width: 6rem; margin-left: .5rem; }
.cal-more { font-size: .7rem; color: var(--muted); padding-left: 4px; }
.cal-dots { display: none; gap: 3px; justify-content: center; margin-top: auto; }
.cal-dots i { width: 5px; height: 5px; border-radius: 50%; background: var(--primary); }
.cal-agenda h2 { text-transform: capitalize; }
.agenda { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.agenda-item { display: flex; gap: .8rem; padding: .7rem; border-radius: var(--radius-s); background: var(--surface-2); cursor: pointer; border-left: 4px solid var(--primary); }
.agenda-item:hover { filter: brightness(.97); }
.agenda-item.live { border-left-color: #e5484d; }
.agenda-item.cancelled, .agenda-item.ended { border-left-color: var(--border); opacity: .75; }
.agenda-item .grow { display: flex; flex-direction: column; gap: .15rem; align-items: flex-start; }
.agenda.compact .agenda-item { padding: .5rem .7rem; border-left-width: 3px; }
.ag-time { display: flex; flex-direction: column; min-width: 52px; font-variant-numeric: tabular-nums; }
.ag-time small { color: var(--muted); }
.tag.live { background: #e5484d; color: #fff; }
.mt-detail .mt-when { font-weight: 600; font-size: 1.02rem; }
.rsvp { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; margin: .9rem 0 .2rem; }
button.chip { border: 1px solid var(--border); cursor: pointer; color: inherit; font: inherit; font-size: .88em; padding: .3rem .75rem; }
button.chip.on { background: var(--primary); color: var(--primary-ink); border-color: var(--primary); }
.chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .6rem; }
.chips small { opacity: .7; }
.row3 { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: .75rem; }
fieldset.invite { border: 1px solid var(--border); border-radius: var(--radius-s); padding: .75rem; margin: 0; }
fieldset.invite legend { font-weight: 600; padding: 0 .3rem; }
.people.compact li { padding: .35rem 0; gap: .6rem; }
@media (max-width: 960px) {
  .cal-layout { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .cal-day { min-height: 48px; align-items: center; }
  .cal-ev, .cal-more { display: none; }
  .cal-dots { display: flex; }
  .row3 { grid-template-columns: 1fr 1fr; }
}

/* Köşe bildirimleri ve toplantı açılır penceresi */
.notice-stack { position: fixed; left: 16px; bottom: 16px; z-index: 1200; display: flex; flex-direction: column; gap: 10px; width: min(360px, calc(100% - 32px)); }
.notice { display: flex; gap: .7rem; align-items: flex-start; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: .75rem .6rem .75rem .85rem;
  box-shadow: 0 12px 32px rgba(0,0,0,.18); cursor: pointer; animation: notice-in .18s ease-out; }
.notice-ic { font-size: 1.35rem; line-height: 1; }
.notice-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .15rem; }
.notice-tx strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.notice-tx small { color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.notice-x { border: 0; background: transparent; color: var(--muted); font-size: 1.2rem; line-height: 1; cursor: pointer; padding: 0 .3rem; }
@keyframes notice-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.meeting-alert { position: fixed; left: 16px; bottom: 16px; z-index: 1300; width: min(380px, calc(100% - 32px)); border-radius: 22px; padding: 1.1rem 1.2rem 1.2rem;
  background: linear-gradient(160deg, #3a1615 0%, #0e1830 60%, #070b14 100%); color: #fff; border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 18px 48px rgba(0,0,0,.45); text-align: center; display: flex; flex-direction: column; align-items: center; gap: .35rem; animation: notice-in .2s ease-out; }
.ma-head { font-size: .78rem; font-weight: 700; color: #c5cfe0; letter-spacing: .02em; }
.ma-ic { font-size: 2.6rem; animation: ma-pulse 1.6s ease-in-out infinite; }
.ma-title { font-size: 1.15rem; }
.ma-sub { color: #c5cfe0; }
.ma-btns { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-top: .7rem; }
.ma-btns .btn { color: #fff; background: #334155; border-color: transparent; }
.ma-btns .btn.primary { background: #16a34a; }
.ma-btns .btn.danger { background: #b91c1c; }
@keyframes ma-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }
@media (max-width: 640px) { .notice-stack, .meeting-alert { left: 12px; right: 12px; width: auto; bottom: 12px; } }

/* ---- Sistem Yönetimi: gruplu sekmeler + açıklama ---- */
.admin-nav { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin-bottom: .75rem; }
.admin-group { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.admin-group-label { font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); padding-left: .3rem; }
.admin-group .tabs { margin-bottom: 0; }
.admin-group .tabs .badge { margin-left: .25rem; }
.tab-desc { background: var(--surface-2); border-left: 3px solid var(--primary); border-radius: var(--radius-s); padding: .6rem .9rem; margin-bottom: 1rem; }
.tab-desc h2 { margin: 0 0 .2rem; font-size: 1.05rem; }
.tab-desc p { margin: 0; color: var(--muted); font-size: .92em; line-height: 1.45; }

/* ---- Departmanlar ---- */
.dept-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .75rem; }
.dept-card { display: block; color: var(--text); text-decoration: none; margin: 0; transition: border-color .15s; border: 1px solid var(--border); }
.dept-card:hover { border-color: var(--primary); }
.dept-card.mine { border-color: var(--primary); }
.dept-card p { margin: .3rem 0 0; }
.perm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.perm-grid h4 { margin: .2rem 0; }
.perm-grid label.check, .dept-checks label.check { display: flex; gap: .5rem; align-items: center; margin: .25rem 0; }
.dept-checks { max-height: 260px; overflow-y: auto; border: 1px solid var(--border); border-radius: var(--radius-s); padding: .4rem .6rem; }

/* ---- Sohbetler: kişi arama sonuçları ---- */
.chat-list .list-sub { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin: .6rem 1rem .2rem; }
.chat-list .item.as-button { width: 100%; background: none; border: 0; font: inherit; text-align: left; cursor: pointer; }
.chat-list .item.as-button:hover { background: var(--surface-2); }
.chat-list .items:has(+ .list-sub) { flex: none; overflow: visible; }
/* Tablo hücresindeki düğme grubu: hücre tablo hücresi olarak kalmalı (flex olursa satır çizgileri kayar). */
td.row-actions { display: table-cell; vertical-align: middle; white-space: nowrap; }
td.row-actions > * { vertical-align: middle; margin: .15rem .4rem .15rem 0; }
td.row-actions > *:last-child { margin-right: 0; }
/* Toplantı başladı / hatırlatma: arama ekranı gibi tam ekran */
.meeting-alert.full { inset: 0; left: 0; bottom: 0; width: auto; border-radius: 0; z-index: 1400; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: .6rem; text-align: center; background: radial-gradient(circle at 50% 35%, #1e3a5f 0%, #0b1530 60%, #060b1a 100%); }
.meeting-alert.full .ma-ic { font-size: 4.5rem; width: 9rem; height: 9rem; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.08);
  box-shadow: 0 0 0 0 rgba(22,163,74,.6); animation: ma-ring 1.6s ease-out infinite; }
.meeting-alert.full .ma-head { font-size: 1rem; text-transform: uppercase; letter-spacing: .08em; }
.meeting-alert.full .ma-title { font-size: 1.8rem; max-width: 90vw; }
.meeting-alert.full .ma-sub { font-size: 1.05rem; }
.meeting-alert.full .ma-btns { margin-top: 2rem; gap: 1.2rem; }
.meeting-alert.full .ma-btns .btn { min-width: 9rem; padding: .9rem 1.4rem; font-size: 1.05rem; border-radius: 999px; }
@keyframes ma-ring { 0% { box-shadow: 0 0 0 0 rgba(22,163,74,.55); } 100% { box-shadow: 0 0 0 2.2rem rgba(22,163,74,0); } }
@media (max-width: 640px) { .meeting-alert.full { left: 0; right: 0; bottom: 0; } }

/* Sohbet listesi satır menüsü (2.1.2): üzerine gelince ⌄ düğmesi → Arşivle / Engelle / Sil */
.chat-list .chat-row { position: relative; }
.chat-list .chat-row .item { padding-right: 2.4rem; }
.chat-list .row-menu-btn { position: absolute; right: .55rem; top: 50%; transform: translateY(-50%); width: 1.9rem; height: 1.9rem; border-radius: 50%;
  border: 1px solid var(--border); background: var(--surface); color: var(--muted); font-size: 1rem; line-height: 1; cursor: pointer; opacity: 0;
  transition: opacity .12s; display: grid; place-items: center; padding: 0 0 .2rem; z-index: 2; }
.chat-list .chat-row:hover .row-menu-btn, .chat-list .chat-row.menu-open .row-menu-btn, .chat-list .row-menu-btn:focus-visible { opacity: 1; }
.chat-list .row-menu-btn:hover { color: var(--text); background: var(--surface-2); }
@media (hover: none) { .chat-list .row-menu-btn { opacity: .75; } }
.chat-list .row-menu { position: absolute; right: .6rem; top: calc(50% + 1.1rem); z-index: 30; min-width: 190px; background: var(--surface);
  border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 10px 28px rgba(0,0,0,.18); padding: .3rem; display: flex; flex-direction: column; }
.chat-list .row-menu button { background: none; border: 0; text-align: left; font: inherit; color: var(--text); padding: .5rem .7rem; border-radius: 7px; cursor: pointer; }
.chat-list .row-menu button:hover { background: var(--surface-2); }
.chat-list .row-menu button.danger { color: var(--danger, #d33); }
.chat-list .row-menu-backdrop { position: fixed; inset: 0; z-index: 20; }
.chat-list .chat-row.menu-open { z-index: 25; }

/* ---------- 3.0: modern çizgi simgeler (Ic bileşeni / inciIcon) ---------- */
.ic { width: 1.15em; height: 1.15em; flex: none; vertical-align: -.2em; display: inline-block; }
:is(.tag, h1, h2, h3, h4, p, small, strong, em, span, label, li, td, .row-menu button, .menu button, [role="menuitem"], .tabs a, .tabs button, .space-bar, .fwd, .banner, .compose-ref span, .file-chip, a.link, .list-sub) > .ic:not(:last-child) { margin-right: .35em; }
h1 > .ic, h2 > .ic { color: var(--primary); }
.nav .ico { display: inline-grid; place-items: center; width: 1.5rem; }
.nav .ico .ic { width: 1.3rem; height: 1.3rem; stroke-width: 1.9; }
.icon-btn .ic { width: 1.3rem; height: 1.3rem; }
.icon-btn.small .ic { width: 1rem; height: 1rem; }
.btn .ic { width: 1.1em; height: 1.1em; }
.tag .ic { width: 1em; height: 1em; vertical-align: -.15em; }
.hero .ic { width: 4rem; height: 4rem; stroke-width: 1.4; color: var(--muted); opacity: .6; }
.chat-list .row-menu-btn .ic { width: 1rem; height: 1rem; }
.chat-list .row-menu-btn { padding: 0; }
.ma-ic .ic { width: 2.6rem; height: 2.6rem; stroke-width: 1.8; }
.call-btn .ic, .call-bar button .ic { width: 1.5rem; height: 1.5rem; }

/* ---------- 3.0: 3B emojiler ve İnci emojileri ---------- */
img.emj { width: 1.35em; height: 1.35em; vertical-align: -.32em; margin: 0 .04em; object-fit: contain; user-select: none; }
img.emj.inci { width: 1.7em; height: 1.7em; vertical-align: -.45em; }
.msg .text.jumbo { line-height: 1.1; padding: .1rem 0; }
.msg .text.jumbo img.emj { width: 3.1rem; height: 3.1rem; margin: 0 .1rem; vertical-align: middle; }
.msg .text.jumbo img.emj.inci { width: 6rem; height: 6rem; }
.reaction img.emj { width: 1.15rem; height: 1.15rem; vertical-align: -.28em; margin: 0; }
.emoji-row { display: flex; flex-wrap: wrap; gap: 2px; }
.emoji-row button { background: none; border: 0; padding: .25rem; border-radius: 8px; cursor: pointer; line-height: 0; transition: transform .12s; }
.emoji-row button:hover { background: var(--surface-2); transform: scale(1.15); }
.emoji-row button img.emj { width: 1.75rem; height: 1.75rem; margin: 0; vertical-align: middle; }
.emoji-row button.more { width: 2.25rem; display: grid; place-items: center; color: var(--muted); }
.ep-anchor { position: relative; display: inline-flex; }
.ep-anchor .icon-btn.on { color: var(--primary); background: var(--primary-soft); }
.ep-backdrop { position: fixed; inset: 0; z-index: 40; }
.ep-anchor .emoji-picker { position: absolute; bottom: calc(100% + 8px); left: 0; z-index: 41; box-shadow: 0 16px 40px rgba(0,0,0,.2); }
.emoji-picker { width: min(360px, calc(100vw - 24px)); height: 380px; display: flex; flex-direction: column; background: var(--surface);
  border: 1px solid var(--border); border-radius: 14px; overflow: hidden; }
.modal .emoji-picker { width: 100%; border: 0; height: 360px; }
.ep-head { display: flex; gap: .4rem; align-items: center; padding: .55rem .6rem .35rem; }
.ep-search { flex: 1; min-height: 34px; padding: .35rem .6rem; }
.ep-tabs { display: flex; gap: 2px; padding: 0 .4rem .35rem; border-bottom: 1px solid var(--border); overflow-x: auto; }
.ep-tabs button { background: none; border: 0; border-radius: 8px; padding: .25rem; cursor: pointer; line-height: 0; flex: none; opacity: .6; border-bottom: 2px solid transparent; }
.ep-tabs button.on { opacity: 1; background: var(--primary-soft); }
.ep-tabs button:hover { opacity: 1; }
.ep-tabs img, .ep-tabs img.emj { width: 1.45rem; height: 1.45rem; margin: 0; vertical-align: middle; }
.ep-body { flex: 1; overflow-y: auto; padding: .35rem .5rem .6rem; }
.ep-label { margin: .25rem .2rem .35rem; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.ep-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(40px, 1fr)); gap: 2px; }
.ep-grid button { background: none; border: 0; border-radius: 9px; padding: .3rem; cursor: pointer; line-height: 0; transition: transform .1s; }
.ep-grid button:hover { background: var(--surface-2); transform: scale(1.12); }
.ep-grid button img.emj { width: 1.9rem; height: 1.9rem; margin: 0; }
.ep-grid.inci { grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 4px; margin-bottom: .4rem; }
.ep-grid.inci button { display: flex; flex-direction: column; align-items: center; gap: .2rem; line-height: 1.1; padding: .4rem .2rem; }
.ep-grid.inci button img.emj { width: 3.2rem; height: 3.2rem; }
.ep-grid.inci small { font-size: .7rem; color: var(--muted); text-align: center; }
.chat-list .preview img.emj { width: 1.15em; height: 1.15em; vertical-align: -.25em; }
.chat-list .preview .ic { margin-right: .3em; color: var(--muted); }
.menu .emoji-row { display: grid; grid-template-columns: repeat(6, 1fr); min-width: 252px; }
.menu .emoji-row button { display: grid; place-items: center; }

/* ---------- 3.1: parola politikası, şirket duyuruları, sohbet sekmeleri ---------- */
.grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .75rem 1rem; }
.chat-list .tabs a[role="tab"] { text-decoration: none; color: inherit; }
.card.ann { padding: 1.15rem 1.25rem; margin-bottom: .85rem; border-radius: 16px; transition: box-shadow .15s ease, transform .15s ease; }
.card.ann:hover { box-shadow: 0 6px 20px rgba(0,0,0,.07); }
.card.ann.unread { border-left: 4px solid var(--primary); background: linear-gradient(90deg, var(--primary-soft) 0, transparent 120px); }
.card.ann header { display: flex; gap: .85rem; align-items: center; }
.card.ann h3 { margin: 0 0 .15rem; font-size: 1.06rem; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.card.ann header .grow { min-width: 0; }
.card.ann .ann-body { margin: .55rem 0 0; padding-top: .7rem; border-top: 1px solid var(--line, rgba(128,128,128,.18)); line-height: 1.6; color: var(--text); }
.card.ann .ann-del { opacity: .5; transition: opacity .15s ease, color .15s ease; }
.card.ann:hover .ann-del, .card.ann .ann-del:focus-visible { opacity: 1; color: var(--danger, #e5484d); }
.ann-ic { width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--primary-soft); color: var(--primary); display: grid; place-items: center; flex: none; }
.ann-ic .ic { width: 1.35rem; height: 1.35rem; }
.ann-compose { margin-bottom: 1rem; }
.announcement-popup { text-align: center; }
.announcement-popup .ann-ic { width: 4.5rem; height: 4.5rem; margin: .2rem auto .6rem; animation: ann-ring 1.6s ease-out infinite; }
@keyframes ann-ring { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--primary) 45%, transparent); } 100% { box-shadow: 0 0 0 18px transparent; } }
.announcement-popup .ann-ic .ic { width: 2.2rem; height: 2.2rem; }
.announcement-popup h2 { margin: .2rem 0 .6rem; }
.announcement-popup .pre { text-align: left; max-height: 50vh; overflow: auto; background: var(--surface-2); border-radius: 10px; padding: .8rem 1rem; }

/* ---------------- Görev atama modülü ---------------- */
.tasks-page .list-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.task-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; align-items: start; }
.task-board .board-col { background: var(--surface-2, rgba(128,128,128,.06)); border-radius: 14px; padding: .8rem; }
.task-board .board-col h3 { margin: 0 0 .6rem; font-size: .95rem; display: flex; justify-content: space-between; }
.task-card { display: block; width: 100%; text-align: left; margin-bottom: .6rem; padding: .7rem .8rem; }
.task-card strong { display: block; margin-bottom: .25rem; }
.bar-row { display: grid; grid-template-columns: 7rem 1fr 2rem; align-items: center; gap: .6rem; margin: .35rem 0; }
.bar-row .bar { height: 10px; background: rgba(128,128,128,.18); border-radius: 6px; overflow: hidden; }
.bar-row .bar-fill { display: block; height: 100%; background: var(--primary); border-radius: 6px; }
.bar-row .bar-val { text-align: right; font-variant-numeric: tabular-nums; }
.tag.pri-low { background: color-mix(in srgb, #94a3b8 22%, var(--surface)); color: color-mix(in srgb, #94a3b8 60%, var(--text)); }
.tag.pri-normal { background: color-mix(in srgb, #3b82f6 22%, var(--surface)); color: color-mix(in srgb, #3b82f6 70%, var(--text)); }
.tag.pri-high { background: color-mix(in srgb, #f59e0b 22%, var(--surface)); color: color-mix(in srgb, #f59e0b 70%, var(--text)); }
.tag.pri-urgent { background: color-mix(in srgb, #ef4444 22%, var(--surface)); color: color-mix(in srgb, #ef4444 70%, var(--text)); }
.bar-fill.pri-low { background: #94a3b8; } .bar-fill.pri-normal { background: #3b82f6; }
.bar-fill.pri-high { background: #f59e0b; } .bar-fill.pri-urgent { background: #ef4444; }
.task-timeline { position: relative; padding-left: .5rem; }
.task-timeline .timeline-item { display: grid; grid-template-columns: 9rem 1.2rem 1fr; align-items: center; gap: .5rem; width: 100%; text-align: left; padding: .5rem 0; border: none; background: none; cursor: pointer; border-bottom: 1px solid var(--line, rgba(128,128,128,.14)); }
.task-timeline .timeline-date { color: var(--muted); font-variant-numeric: tabular-nums; }
.task-timeline .timeline-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--primary); justify-self: center; }
.task-timeline .timeline-dot.pri-urgent { background: #ef4444; } .task-timeline .timeline-dot.pri-high { background: #f59e0b; }
.task-files { list-style: none; padding: 0; margin: .4rem 0; }
.task-files li { padding: .5rem 0; border-bottom: 1px solid var(--line, rgba(128,128,128,.14)); }
.task-addfile { display: flex; flex-wrap: wrap; gap: .6rem; align-items: end; margin-top: .6rem; }
tr.archived { opacity: .55; }
.row-menu-cell { position: relative; }
@media (max-width: 760px) { .task-board { grid-template-columns: 1fr; } }

/* ===== Görev takvimi (#4) ===== */
.task-cal-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}
.task-cal-toolbar .cal-nav{display:flex;align-items:center;gap:8px}
.task-cal-toolbar .cal-title{min-width:140px;text-align:center;text-transform:capitalize}
.task-cal-toolbar .cal-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.task-cal .seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.task-cal .seg button{border:0;background:var(--surface);padding:6px 12px;cursor:pointer;color:var(--text)}
.task-cal .seg button.on{background:var(--accent);color:#fff}
.task-cal-body{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}
.task-cal-side{border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--surface)}
.task-cal-side .side-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}
.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}
.cal-weekdays span{font-size:.78rem;color:var(--muted);text-align:center;text-transform:capitalize}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-cell{min-height:92px;border:1px solid var(--border);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:3px;background:var(--surface)}
.cal-cell.out{opacity:.45}
.cal-cell.today{outline:2px solid var(--accent)}
.cal-num{font-size:.78rem;color:var(--muted);align-self:flex-end}
.cal-chip{display:block;width:100%;text-align:left;border:0;border-left:3px solid var(--accent);background:var(--surface-2,rgba(127,127,127,.12));border-radius:4px;padding:2px 6px;font-size:.76rem;cursor:pointer;color:var(--text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cal-chip.done{text-decoration:line-through;opacity:.6}
.cal-chip .chip-time{font-variant-numeric:tabular-nums;color:var(--muted);margin-right:4px}
.cal-chip.pri-high{border-left-color:#e8912a}
.cal-chip.pri-urgent{border-left-color:#d64545}
.cal-chip.pri-low{border-left-color:#7a9}
.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-week-col{min-height:160px;border:1px solid var(--border);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:3px;background:var(--surface)}
.cal-week-col.today{outline:2px solid var(--accent)}
.cal-week-head{font-size:.8rem;color:var(--muted);text-align:center;margin-bottom:2px;text-transform:capitalize}
.board-col.col-overdue h3{color:#d64545}
.board-col.col-overdue .task-card{border-left:3px solid #d64545}
@media(max-width:900px){.task-cal-body{grid-template-columns:1fr}.cal-cell{min-height:64px}}

/* ===== Açılış hatırlatıcı popup (#8) ===== */
.reminder-popup .today-reminders{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:6px}
.reminder-popup .today-reminders li{display:flex;gap:10px;align-items:baseline;padding:8px;border:1px solid var(--border);border-radius:8px}
.reminder-popup .today-reminders .t{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent)}
.reminder-popup .today-reminders .x{flex:1}

/* ===== Hatırlatıcı özel tekrar (#7) ===== */
.rem-custom{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}

/* ===== Admin yedekleme (#9) ===== */
.backup-panel{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.backup-panel .confirm-line{display:flex;gap:8px;align-items:center}
.backup-panel .confirm-line input{max-width:160px}

/* ===== Görev Özet (Jira benzeri) ===== */
:root{--st-todo:#5b8def;--st-prog:#e8a33d;--st-done:#3ec98a}
.sum-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.sum-tile{display:flex;gap:12px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface)}
.sum-tile strong{display:block;font-size:1.5rem;line-height:1}
.sum-tile small{color:var(--muted)}
.sum-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(91,141,239,.15);color:#5b8def;flex:0 0 auto}
.sum-ic.ok{background:rgba(62,201,138,.15);color:#3ec98a}
.sum-ic.warn{background:rgba(232,163,61,.15);color:#e8a33d}
.sum-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.donut-wrap{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.donut{width:150px;height:150px;border-radius:50%;position:relative;flex:0 0 auto}
.donut-hole{position:absolute;inset:26px;background:var(--surface);border-radius:50%;display:grid;place-content:center;text-align:center}
.donut-hole strong{font-size:1.6rem;line-height:1}
.donut-hole small{color:var(--muted)}
.donut-legend{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.donut-legend li{display:flex;align-items:center;gap:8px}
.donut-legend b{margin-left:auto}
.dot{width:12px;height:12px;border-radius:3px;display:inline-block}
.dot.st-todo{background:var(--st-todo)}.dot.st-prog{background:var(--st-prog)}.dot.st-done{background:var(--st-done)}
.tag.st-todo{background:color-mix(in srgb, #5b8def 18%, var(--surface));color:#5b8def}
.tag.st-in_progress{background:color-mix(in srgb, #e8a33d 18%, var(--surface));color:#e8a33d}
.tag.st-done{background:color-mix(in srgb, #3ec98a 18%, var(--surface));color:#3ec98a}
.activity{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.activity li{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--border)}
.activity li:last-child{border-bottom:0}
.activity .grow{min-width:0}
.activity .link{font-weight:500}
@media(max-width:820px){.sum-tiles{grid-template-columns:repeat(2,1fr)}.sum-grid{grid-template-columns:1fr}}

/* Pano kartı (referans) */
.task-card{display:flex;flex-direction:column;gap:8px;text-align:left;width:100%}
.task-card .tc-title{font-size:.95rem}
.task-card .tc-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:.78rem}
.task-card .tc-meta .over{color:#d64545}
.task-card .tc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:2px}

/* ===== Zaman çizelgesi (Gantt) ===== */
.task-gantt-wrap{overflow-x:auto}
.task-gantt{min-width:720px;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.gantt-row{display:grid;grid-template-columns:200px 1fr;align-items:center;border-bottom:1px solid var(--border)}
.gantt-row:last-child{border-bottom:0}
.gantt-head{background:var(--surface);position:sticky;top:0;z-index:1}
.gantt-label{padding:8px 10px;border-right:1px solid var(--border);text-align:left;background:transparent;border-top:0;border-bottom:0;border-left:0;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
button.gantt-label{cursor:pointer}
.gantt-corner{min-height:34px}
.gantt-track{position:relative;height:38px}
.gantt-months{display:flex;height:34px}
.gantt-month{display:flex;align-items:center;justify-content:center;font-size:.76rem;color:var(--muted);border-right:1px dashed var(--border);text-transform:capitalize;overflow:hidden}
.gantt-bar{position:absolute;top:7px;height:24px;border-radius:6px;border:0;display:flex;align-items:center;padding:0 8px;font-size:.74rem;color:#fff;cursor:pointer;background:var(--st-todo);overflow:hidden;white-space:nowrap}
.gantt-bar span{overflow:hidden;text-overflow:ellipsis}
.gantt-bar.pri-high{background:#e8912a}.gantt-bar.pri-urgent{background:#d64545}.gantt-bar.pri-low{background:#6aa0a0}.gantt-bar.pri-normal{background:#5b8def}
.gantt-bar.done{opacity:.55}
.gantt-bar.over{outline:2px solid #d64545}
.gantt-today{position:absolute;top:0;bottom:0;width:2px;background:#d64545;z-index:2}

/* =====================================================================================
   Görev Atama — Jira düzeni (açık/koyu temaya uyar: renkler uygulama değişkenlerinden türetilir)
   ===================================================================================== */
:root{--jr-blue:#0c66e4;--jr-todo:#8590a2;--jr-prog:#1d7afc;--jr-done:#22a06b;--jr-red:#e2483d;--jr-amber:#d97008;
  --jr-hover:color-mix(in srgb,var(--text) 6%,transparent);--jr-sel:color-mix(in srgb,var(--jr-blue) 12%,var(--surface))}
.jira{width:100%;box-sizing:border-box;max-width:1500px;margin:0 auto;padding:18px 24px 40px;color:var(--text)}
.jira select,.jr-select,.jr-issue select{width:auto;min-height:0}
.jr-search{min-height:36px}
.jr-task-inline{display:flex;align-items:center;gap:8px;min-width:280px}
.jr-cell-task{min-width:280px}
.jr-key,.jr-card-key,.jr-tl-lrow .jr-card-key{white-space:nowrap}
.jr-table td.pri-cell{white-space:nowrap}
.jr-table .lz-select{min-width:128px}
.jr-cal-chip .jr-type{display:none}
.jr-cal-chip .k{font-size:.7rem}
.jr-issue .jr-file-meta label.inline{flex-direction:row}
.jira .grow{flex:1}
.jira .red{color:var(--jr-red)!important}
.jira .nowrap{white-space:nowrap}
.jr-head{margin-bottom:16px}
.jr-crumb{color:var(--muted);font-size:.85rem}
.jr-titlebar{display:flex;align-items:center;gap:10px;margin:4px 0 10px}
.jr-titlebar h1{font-size:1.45rem;margin:0}
.jr-proj-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:linear-gradient(135deg,#4bce97,#1d7afc);color:#fff}
.jr-tabs{display:flex;gap:2px;border-bottom:2px solid var(--border);overflow-x:auto}
.jr-tabs button{display:flex;align-items:center;gap:6px;background:none;border:0;padding:9px 12px;margin-bottom:-2px;border-bottom:2px solid transparent;color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;border-radius:4px 4px 0 0}
.jr-tabs button:hover{background:var(--jr-hover);color:var(--text)}
.jr-tabs button.on{color:var(--jr-blue);border-bottom-color:var(--jr-blue);font-weight:600}

/* düğmeler, bağlantılar, seçimler */
.jr-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:6px 12px;border-radius:4px;font:inherit;font-size:.92rem;cursor:pointer;white-space:nowrap}
.jr-btn:hover{background:var(--jr-hover)}
.jr-btn.primary{background:var(--jr-blue);border-color:var(--jr-blue);color:#fff}
.jr-btn.primary:hover{filter:brightness(1.08)}
.jr-btn.primary:disabled{opacity:.5;cursor:not-allowed}
.jr-btn.danger{color:var(--jr-red)}
.jr-btn.active{background:var(--jr-sel);border-color:var(--jr-blue);color:var(--jr-blue)}
.jr-btn.small{padding:4px 9px;font-size:.85rem}
.jr-link{background:none;border:0;padding:0;color:var(--jr-blue);cursor:pointer;font:inherit}
.jr-link:hover{text-decoration:underline}
.jr-count{background:var(--jr-blue);color:#fff;border-radius:10px;padding:0 6px;font-size:.75rem}
.jr-select,.jira select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;padding:5px 8px;font:inherit;font-size:.9rem}
.jr-select-label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.9rem}
.jr-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.jr-check-inline{margin:0;font-size:.9rem}
.jr-hint{color:var(--muted);font-size:.82rem;margin:-4px 0 10px;display:flex;align-items:center;gap:6px}

/* araç çubuğu */
.jr-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.jr-search{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:4px;padding:0 8px;background:var(--surface);min-width:220px}
.jr-search input{border:0;background:transparent;padding:6px 0;outline:none;color:var(--text);font:inherit;width:100%}
.jr-search:focus-within{border-color:var(--jr-blue);box-shadow:0 0 0 1px var(--jr-blue)}
.jr-avatars{display:flex;align-items:center}
.jr-av{border:2px solid var(--surface);border-radius:50%;padding:0;background:none;cursor:pointer;margin-left:-6px;line-height:0}
.jr-av:first-child{margin-left:0}
.jr-av:hover{transform:translateY(-2px)}
.jr-av.on{border-color:var(--jr-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--jr-blue) 40%,transparent);z-index:1}
.jr-pop-wrap{position:relative}
.jr-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px rgba(9,30,66,.2);padding:10px 12px;min-width:220px;display:flex;flex-direction:column;gap:4px}
.jr-pop-head{font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;margin-top:6px}
.jr-pop .check{margin:2px 0;display:flex;align-items:center;gap:8px}
.jr-pop-foot{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}
.jr-export-pop{min-width:260px}
.jr-export-actions{display:flex;gap:8px;flex-wrap:wrap}
.jr-export-actions a.jr-btn{text-decoration:none}

/* durum etiketleri (lozenge) ve öncelik */
.lz{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.5;white-space:nowrap;vertical-align:middle}
.lz.big{font-size:.85rem;padding:5px 10px}
.lz-todo{background:color-mix(in srgb,var(--jr-todo) 22%,var(--surface));color:color-mix(in srgb,var(--jr-todo) 55%,var(--text))}
.lz-in_progress{background:color-mix(in srgb,var(--jr-prog) 20%,var(--surface));color:color-mix(in srgb,var(--jr-prog) 80%,var(--text))}
.lz-done{background:color-mix(in srgb,var(--jr-done) 22%,var(--surface));color:color-mix(in srgb,var(--jr-done) 75%,var(--text))}
.lz-red{background:color-mix(in srgb,var(--jr-red) 18%,var(--surface));color:var(--jr-red)}
.lz-amber{background:color-mix(in srgb,var(--jr-amber) 18%,var(--surface));color:var(--jr-amber)}
.lz-arch{background:var(--surface-2);color:var(--muted)}
.lz-select{appearance:auto;border:0!important;font-weight:700;text-transform:uppercase;font-size:.72rem!important;padding:3px 6px!important;border-radius:3px!important;cursor:pointer;color:var(--text);background-color:var(--surface)}
.lz-select.lz-todo{background:color-mix(in srgb,var(--jr-todo) 22%,var(--surface));color:color-mix(in srgb,var(--jr-todo) 55%,var(--text))}
.lz-select.lz-in_progress{background:color-mix(in srgb,var(--jr-prog) 20%,var(--surface));color:color-mix(in srgb,var(--jr-prog) 80%,var(--text))}
.lz-select.lz-done{background:color-mix(in srgb,var(--jr-done) 22%,var(--surface));color:color-mix(in srgb,var(--jr-done) 75%,var(--text))}
.jr-issue-side .lz-select{font-size:.85rem!important;padding:7px 10px!important;width:100%}
.pri{display:inline-flex;vertical-align:middle}
.pri .ic{width:16px;height:16px;stroke-width:2.6}
.pri-urgent{color:#e2483d}.pri-high{color:#f5803e}.pri-normal{color:#e2b203}.pri-low{color:#1d7afc}
.pri-bg-urgent{background:#e2483d}.pri-bg-high{background:#f5803e}.pri-bg-normal{background:#e2b203}.pri-bg-low{background:#1d7afc}
.jr-type{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:3px;background:#4bce97;color:#fff;flex:0 0 auto}
.jr-type .ic{width:11px;height:11px;stroke-width:3}

/* Özet */
.jr-banner{display:flex;gap:12px;padding:14px 16px;border-radius:6px;background:color-mix(in srgb,var(--jr-blue) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--jr-blue) 25%,var(--border));margin-bottom:16px}
.jr-banner>.ic{color:var(--jr-blue);margin-top:2px}
.jr-banner p{margin:4px 0;color:var(--muted);font-size:.9rem}
.jr-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.jr-stat{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:6px;padding:14px;background:var(--surface)}
.jr-stat small{display:block;color:var(--muted);font-size:.78rem}
.jr-stat strong{font-size:1rem}
.jr-stat-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:6px;background:var(--surface-2);color:var(--muted)}
.jr-stat-ic.ok{color:var(--jr-done)}.jr-stat-ic.warn{color:var(--jr-amber)}
.jr-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.jr-card{border:1px solid var(--border);border-radius:6px;padding:18px;background:var(--surface);min-width:0}
.jr-card h3{margin:0;font-size:1.05rem}
.jr-card-sub{color:var(--muted);font-size:.88rem;margin:4px 0 14px}
.jr-donut-wrap{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.jr-donut{width:200px;height:200px}
.jr-donut .arc-todo{stroke:var(--jr-todo)}.jr-donut .arc-in_progress{stroke:var(--jr-prog)}.jr-donut .arc-done{stroke:var(--jr-done)}
.jr-donut-n{font-size:24px;font-weight:700;fill:var(--text)}
.jr-donut-l{font-size:8px;fill:var(--muted)}
.jr-legend{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:.9rem}
.jr-legend .sw{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.arc-bg-todo{background:var(--jr-todo)}.arc-bg-in_progress{background:var(--jr-prog)}.arc-bg-done{background:var(--jr-done)}
.jr-feed{max-height:330px;overflow:auto;display:flex;flex-direction:column;gap:2px;padding-right:4px}
.jr-feed-day{font-size:.78rem;font-weight:700;color:var(--muted);margin:8px 0 4px}
.jr-feed-item{display:flex;gap:10px;align-items:flex-start;padding:6px 4px;border-radius:4px}
.jr-feed-item:hover{background:var(--jr-hover)}
.jr-feed-item .grow{display:flex;flex-direction:column;gap:2px;font-size:.9rem;min-width:0}
.jr-vbars{display:flex;align-items:flex-end;gap:18px;height:220px;padding:0 6px;border-left:1px solid var(--border);border-bottom:1px solid var(--border)}
.jr-vbar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.jr-vbar-track{flex:1;width:56%;display:flex;align-items:flex-end}
.jr-vbar-fill{width:100%;border-radius:3px 3px 0 0;min-height:2px}
.jr-vbar-n{font-weight:700;font-size:.85rem}
.jr-vbar-l{font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:3px;margin-bottom:-26px;white-space:nowrap}
.jr-vbars{margin-bottom:30px}
.jr-workload{width:100%;border-collapse:collapse;font-size:.9rem}
.jr-workload th{text-align:left;color:var(--muted);font-size:.78rem;font-weight:600;padding:6px 4px;border-bottom:1px solid var(--border)}
.jr-workload td{padding:7px 4px;border-bottom:1px solid var(--border)}
.jr-workload td:first-child{display:flex;align-items:center;gap:8px;white-space:nowrap}
.jr-hbar{position:relative;height:20px;background:var(--surface-2);border-radius:3px;overflow:hidden}
.jr-hbar div{height:100%;background:color-mix(in srgb,var(--jr-prog) 55%,var(--surface))}
.jr-hbar span{position:absolute;inset:0;display:flex;align-items:center;padding-left:8px;font-size:.78rem;font-weight:600}

/* Liste */
.jr-bulk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-radius:6px;background:var(--jr-sel);margin-bottom:10px}
.jr-table-wrap{border:1px solid var(--border);border-radius:6px;background:var(--surface);overflow-x:auto;margin-bottom:16px}
.jr-table{width:100%;border-collapse:collapse;font-size:.9rem}
.jr-table th{text-align:left;font-size:.78rem;color:var(--muted);font-weight:600;padding:9px 10px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface)}
.jr-table td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle}
.jr-table tbody tr:hover{background:var(--jr-hover)}
.jr-table tr.sel{background:var(--jr-sel)}
.jr-table tr.archived{opacity:.6}
.jr-table .cb{width:34px}
.jr-key{background:none;border:0;padding:0;color:var(--jr-blue);font:inherit;font-size:.85rem;cursor:pointer;white-space:nowrap}
.jr-key:hover,.jr-summary-link:hover{text-decoration:underline}
.jr-summary-link{background:none;border:0;padding:0;color:var(--text);font:inherit;cursor:pointer;text-align:left}
.jr-person{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.jr-group-row td{background:var(--surface-2);font-weight:700;font-size:.85rem}
.jr-empty{text-align:center;padding:26px!important}
.jr-table-foot{display:flex;align-items:center;gap:10px;padding:8px 12px}
.jr-quick{flex:1;border:2px solid var(--jr-blue);border-radius:4px;padding:6px 8px;background:var(--surface);color:var(--text);font:inherit;outline:none}
.jr-quick.card{width:100%;resize:none;box-sizing:border-box}
.jr-section{display:flex;align-items:center;gap:8px;margin:18px 0 2px}

/* Pano */
.jr-lane-head{display:flex;align-items:center;gap:6px;font-weight:700;margin:14px 0 8px}
.jr-board{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}
.jr-col{background:var(--surface-2);border-radius:6px;display:flex;flex-direction:column;min-height:160px;transition:background .12s,box-shadow .12s}
.jr-col.drop{background:var(--jr-sel);box-shadow:inset 0 0 0 2px var(--jr-blue)}
.jr-col-head{display:flex;align-items:center;gap:8px;padding:10px 12px 6px}
.jr-col-title{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.03em}
.jr-col-n{font-size:.78rem;color:var(--muted)}
.jr-col-done{color:var(--jr-done)}
.jr-col-body{display:flex;flex-direction:column;gap:6px;padding:4px 8px 10px;flex:1}
.jr-card-issue{background:var(--surface);border-radius:4px;padding:10px 12px;box-shadow:0 1px 1px rgba(9,30,66,.18),0 0 1px rgba(9,30,66,.25);cursor:pointer;display:flex;flex-direction:column;gap:8px;user-select:none}
.jr-card-issue:hover{background:color-mix(in srgb,var(--text) 3%,var(--surface))}
.jr-card-issue[draggable="true"]{cursor:grab}
.jr-card-issue[draggable="true"]:active{cursor:grabbing}
.jr-card-issue.dragging{opacity:.4;transform:rotate(1.5deg)}
.jr-card-issue.overdue{box-shadow:0 1px 1px rgba(9,30,66,.18),inset 3px 0 0 var(--jr-red)}
.jr-card-issue.small{padding:8px 10px;gap:6px}
.jr-card-title{font-size:.92rem;line-height:1.35;word-break:break-word}
.jr-card-date{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-size:.78rem;padding:1px 6px;border-radius:3px;border:1px solid var(--border);color:var(--muted)}
.jr-card-date.red{border-color:color-mix(in srgb,var(--jr-red) 50%,var(--border));background:color-mix(in srgb,var(--jr-red) 10%,var(--surface))}
.jr-card-foot{display:flex;align-items:center;gap:6px}
.jr-card-key{font-size:.8rem;color:var(--muted);font-weight:600}
.jr-card-key.done{text-decoration:line-through}
.jr-col-add{border:0;background:none;color:var(--muted);border-radius:4px;padding:6px;cursor:pointer;display:grid;place-items:center;opacity:.7}
.jr-col-add:hover{background:var(--jr-hover);opacity:1}

/* Takvim */
.jr-pager{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:4px;background:var(--surface)}
.jr-pager span{min-width:110px;text-align:center;font-weight:600;font-size:.9rem}
.jr-cal{display:grid;grid-template-columns:1fr;gap:14px}
.jr-cal.with-side{grid-template-columns:1fr 300px}
.jr-cal-main{border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface);min-width:0}
.jr-cal-head{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border)}
.jr-cal-head span{padding:8px;text-align:center;font-size:.78rem;font-weight:700;color:var(--muted);text-transform:capitalize}
.jr-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.jr-cal-cell{min-height:118px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:6px;display:flex;flex-direction:column;gap:3px;min-width:0;transition:background .1s}
.jr-cal-grid.week .jr-cal-cell{min-height:420px}
.jr-cal-cell:nth-child(7n){border-right:0}
.jr-cal-cell.out{background:color-mix(in srgb,var(--surface-2) 60%,var(--surface))}
.jr-cal-cell.out .jr-cal-num{color:var(--muted)}
.jr-cal-cell.drop{background:var(--jr-sel);box-shadow:inset 0 0 0 2px var(--jr-blue)}
.jr-cal-num{font-size:.8rem;font-weight:600;align-self:flex-start;padding:1px 6px;border-radius:3px;text-transform:capitalize}
.jr-cal-num.today{background:var(--jr-blue);color:#fff}
.jr-cal-chip{display:flex;align-items:center;gap:5px;font-size:.78rem;padding:3px 6px;border-radius:3px;background:var(--surface);box-shadow:0 1px 1px rgba(9,30,66,.2),0 0 1px rgba(9,30,66,.3);cursor:pointer;min-width:0}
.jr-cal-chip[draggable="true"]{cursor:grab}
.jr-cal-chip .k{color:var(--muted);font-weight:600;white-space:nowrap}
.jr-cal-chip .tt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jr-cal-chip.done .tt{text-decoration:line-through;color:var(--muted)}
.jr-cal-chip.overdue{box-shadow:inset 3px 0 0 var(--jr-red),0 1px 1px rgba(9,30,66,.2)}
.jr-more{font-size:.75rem;color:var(--jr-blue)}
.jr-unsched{border:1px solid var(--border);border-radius:6px;background:var(--surface);padding:14px;display:flex;flex-direction:column;gap:10px;align-self:start;position:sticky;top:10px;max-height:calc(100vh - 40px);overflow:hidden}
.jr-unsched.drop{box-shadow:inset 0 0 0 2px var(--jr-blue);background:var(--jr-sel)}
.jr-unsched-head{display:flex;align-items:center;justify-content:space-between;font-size:1.05rem}
.jr-unsched input{border:1px solid var(--border);border-radius:4px;padding:6px 8px;background:var(--surface);color:var(--text);font:inherit}
.jr-unsched-list{display:flex;flex-direction:column;gap:6px;overflow:auto;background:var(--surface-2);border-radius:4px;padding:8px;min-height:160px}
.jr-unsched-empty{border:2px dashed var(--border);border-radius:4px;padding:22px 12px;text-align:center;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.88rem}
.jr-unsched-empty strong{color:var(--text)}

/* Zaman çizelgesi */
.jr-tl-wrap{position:relative}
.jr-tl{display:grid;grid-template-columns:300px 1fr;border:1px solid var(--border);border-radius:6px;background:var(--surface);overflow:hidden}
.jr-tl-left{border-right:1px solid var(--border);min-width:0}
.jr-tl-lhead{height:52px;display:flex;align-items:flex-end;padding:0 12px 8px;font-weight:700;font-size:.85rem;border-bottom:1px solid var(--border)}
.jr-tl-lrow{height:40px;display:flex;align-items:center;gap:7px;padding:0 12px;border-bottom:1px solid var(--border);cursor:pointer;font-size:.88rem;min-width:0}
.jr-tl-lrow:hover{background:var(--jr-hover)}
.jr-tl-lrow .tt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jr-tl-lrow.quick{color:var(--muted)}
.jr-tl-lrow .jr-quick{padding:4px 6px}
.jr-tl-right{overflow-x:auto;position:relative}
.jr-tl-canvas{position:relative;min-height:100%}
.jr-tl-months{display:flex;height:52px;border-bottom:1px solid var(--border);position:sticky;top:0}
.jr-tl-month{flex:0 0 auto;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;font-size:.8rem;font-weight:600;color:var(--muted);overflow:hidden}
.jr-tl-month>span{padding:0 8px;white-space:nowrap}
.jr-tl-month.cur{color:var(--text);background:color-mix(in srgb,var(--text) 4%,transparent)}
.jr-tl-days{display:flex;font-weight:400;font-size:.68rem}
.jr-tl-days i{font-style:normal;text-align:center;flex:0 0 auto}
.jr-tl-row{height:40px;border-bottom:1px solid var(--border);position:relative}
.jr-tl-bar{position:absolute;top:9px;height:22px;border-radius:4px;display:flex;align-items:center;padding:0 8px;font-size:.78rem;font-weight:600;color:#fff;overflow:hidden;white-space:nowrap;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.15)}
.jr-tl-bar span{overflow:hidden;text-overflow:ellipsis}
.jr-tl-bar.st-todo{background:var(--jr-todo)}.jr-tl-bar.st-in_progress{background:var(--jr-prog)}.jr-tl-bar.st-done{background:var(--jr-done)}
.jr-tl-bar.overdue{box-shadow:0 0 0 2px var(--jr-red)}
.jr-tl-today{position:absolute;top:0;bottom:0;width:2px;background:var(--jr-blue);pointer-events:none}
.jr-tl-today::before{content:"";position:absolute;top:44px;left:-4px;width:10px;height:10px;border-radius:50%;background:var(--jr-blue)}
.jr-zoom{position:sticky;bottom:14px;margin:12px 0 0 auto;width:max-content;display:flex;gap:2px;padding:4px;border:1px solid var(--border);border-radius:6px;background:var(--surface);box-shadow:0 4px 14px rgba(9,30,66,.18)}
.jr-zoom button{border:1px solid transparent;background:none;padding:6px 12px;border-radius:4px;color:var(--text);font:inherit;font-size:.88rem;cursor:pointer}
.jr-zoom button:hover{background:var(--jr-hover)}
.jr-zoom button.on{border-color:var(--jr-blue);color:var(--jr-blue);background:var(--jr-sel)}

/* Dökümanlar */
.jr-file{display:flex;align-items:center;gap:10px}
.jr-file>span:last-child{display:flex;flex-direction:column}
.jr-file-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:color-mix(in srgb,var(--jr-blue) 12%,var(--surface));color:var(--jr-blue)}
.jr-note-cell{max-width:260px;color:var(--muted)}

/* Oluştur penceresi */
.jr-form{display:flex;flex-direction:column;gap:12px}
.jr-form label{display:flex;flex-direction:column;gap:5px;font-size:.85rem;font-weight:600;color:var(--muted)}
.jr-form label.check{flex-direction:row;align-items:center;font-weight:400;color:var(--text)}
.jr-form input:not([type=checkbox]),.jr-form textarea,.jr-form select{border:2px solid var(--border);border-radius:4px;padding:7px 9px;background:var(--surface);color:var(--text);font:inherit;font-weight:400}
.jr-form input:focus,.jr-form textarea:focus,.jr-form select:focus{border-color:var(--jr-blue);outline:none}
.jr-required-note{margin:0;color:var(--muted);font-size:.82rem}
.req{color:var(--jr-red)}
.jr-field{display:flex;flex-direction:column;gap:6px}
.jr-label{font-size:.85rem;font-weight:600;color:var(--muted)}
.jr-person-chip{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;border:1px solid var(--border);border-radius:16px;padding:3px 4px 3px 4px}
.jr-pick{list-style:none;margin:0;padding:4px;border:1px solid var(--border);border-radius:4px;max-height:220px;overflow:auto}
.jr-pick button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:6px;border-radius:4px;color:var(--text);font:inherit;cursor:pointer;text-align:left}
.jr-pick button:hover{background:var(--jr-hover)}
.jr-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jr-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.jr-dropzone{position:relative;border:2px dashed var(--border);border-radius:6px;padding:18px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);text-align:center;transition:border-color .1s,background .1s}
.jr-dropzone:hover,.jr-dropzone:focus-within{border-color:var(--jr-blue);background:var(--jr-sel)}
.jr-dropzone.busy{opacity:.7}
.jr-dropzone u{color:var(--jr-blue)}
.jr-dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.jr-attach-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.jr-attach-list li{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:.9rem}
.jr-form-foot{display:flex;align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:12px;margin-top:4px}
.spinner.inline{display:inline-block;width:12px;height:12px;vertical-align:-2px;margin:0}

/* Görev görünümü */
.jr-issue{display:grid;grid-template-columns:1fr 280px;gap:24px}
.jr-issue-key{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.85rem}
.jr-issue-title{font-size:1.5rem;margin:6px 0 10px;word-break:break-word}
.jr-issue-actions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.jr-issue-actions label.jr-btn{flex-direction:row;cursor:pointer}
.jr-issue-main h4{margin:18px 0 8px;font-size:.95rem}
.jr-desc{padding:10px 12px;border-radius:4px;background:var(--surface-2)}
.jr-file-meta{margin-bottom:8px}
.jr-file-meta input{border:1px solid var(--border);border-radius:4px;padding:6px 8px;background:var(--surface);color:var(--text);font:inherit}
.jr-file-meta label.inline{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted)}
.jr-attach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.jr-attach{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:6px;padding:10px;min-width:0}
.jr-attach.expired{border-color:color-mix(in srgb,var(--jr-red) 50%,var(--border))}
.jr-attach .grow{display:flex;flex-direction:column;gap:3px;min-width:0}
.jr-attach-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:6px;background:color-mix(in srgb,var(--jr-blue) 12%,var(--surface));color:var(--jr-blue);flex:0 0 auto}
.jr-attach-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.jr-attach-note{color:var(--muted)}
.jr-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:.9rem}
.jr-history li{display:flex;gap:10px;align-items:flex-start}
.jr-issue-side{display:flex;flex-direction:column;gap:12px}
.jr-details{border:1px solid var(--border);border-radius:6px}
.jr-details-head{padding:10px 12px;font-weight:700;border-bottom:1px solid var(--border)}
.jr-details dl{display:grid;grid-template-columns:auto 1fr;gap:12px 10px;margin:0;padding:12px;font-size:.88rem;align-items:center}
.jr-details dt{color:var(--muted)}
.jr-details dd{margin:0;display:flex;align-items:center;gap:6px}

@media(max-width:1000px){
  .jr-stats{grid-template-columns:repeat(2,1fr)}
  .jr-grid2,.jr-issue{grid-template-columns:1fr}
  .jr-cal.with-side{grid-template-columns:1fr}
  .jr-unsched{position:static;max-height:none}
  .jr-tl{grid-template-columns:180px 1fr}
  .jr-row3{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .jira{padding:12px}
  .jr-stats,.jr-row2,.jr-row3{grid-template-columns:1fr}
  .jr-cal-cell{min-height:70px}
  .jr-cal-chip .tt,.jr-cal-chip .ic,.jr-cal-chip img{display:none}
}
.jr-search input{min-height:34px;padding:4px 0}
.jr-table input[type=checkbox]{vertical-align:middle}
.jr-field>.jr-link{align-self:flex-start}
.jr-cal-grid.month .jr-cal-chip .k{display:none}
.jr-table .lz-select{min-width:118px}

/* Görev Atama: sayfa kendi içinde kayar (alt kısımlar görünür), başlık + sekmeler üstte sabit kalır. */
.main > .jr-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}
.jr-head{position:sticky;top:0;z-index:30;background:var(--bg);margin:-18px -24px 16px;padding:18px 24px 0}
.jr-tabs{overflow-x:auto;overflow-y:hidden;border-bottom:0;box-shadow:inset 0 -2px 0 var(--border);scrollbar-width:none}
.jr-tabs::-webkit-scrollbar{display:none}
.jr-tabs button{margin-bottom:0}
.jr-desc-click{border:1px solid transparent;border-radius:6px;padding:8px 10px;margin:0 -10px 8px;cursor:text;min-height:38px}
.jr-desc-click:hover{background:var(--jr-hover);border-color:var(--border)}
.jr-desc-click.empty{border:1px dashed var(--border)}
.jr-desc-edit textarea{width:100%;box-sizing:border-box;font:inherit;padding:8px 10px;border:2px solid var(--jr-blue);border-radius:6px;background:var(--surface);color:var(--text);resize:vertical}
.jr-desc-btns{display:flex;gap:8px;margin:8px 0 12px;flex-wrap:wrap;align-items:center}

/* 3.5: görev notu dizisi (atanan ↔ atayan karşılıklı yanıt). */
.jr-notes{display:flex;flex-direction:column;gap:8px;margin:0 0 8px}
.jr-note{padding:8px 10px;border-radius:6px;background:var(--surface-2)}
.jr-note.mine{background:color-mix(in srgb,var(--jr-blue) 10%,var(--surface-2))}
.jr-note-head{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:.85rem}
.jr-note-body{font-size:.92rem}
.jr-note-file{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:.85rem}
@media (max-width:760px){.jr-head{margin:-12px -12px 12px;padding:12px 12px 0}}

/* ---------- 3.5.2: arama penceresi boyutları (küçült / normal / büyüt) ve kişi ekleme paneli ---------- */
.call-overlay { transition: width .18s ease, height .18s ease, inset .18s ease; max-height: calc(100vh - 2rem); }
.call-size-bar { position: absolute; top: .55rem; left: .55rem; display: flex; gap: .3rem; z-index: 3; }
.call-mini-btn { width: 32px; height: 32px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; display: grid; place-items: center; padding: 0; }
.call-mini-btn:hover { background: rgba(255,255,255,.24); }
.call-mini-btn .ic { width: 1.05rem; height: 1.05rem; }
.call-overlay .only-large { display: none; }
.call-overlay.large .only-large { display: grid; }
.call-overlay.large .only-normal { display: none; }
.call-overlay.mini .call-size-bar { display: none; }
/* Büyüt: tam ekran, görüntüler büyük */
.call-overlay.large { inset: 0; width: auto; max-width: none; max-height: none; border-radius: 0; padding: 3rem 1.5rem 1.5rem; justify-content: flex-start; }
.call-overlay.large .call-remotes { flex: 1; align-content: center; }
.call-overlay.large .call-tile { max-height: calc(100vh - 14rem); }
.call-overlay.large.video .call-remotes:has(.call-tile ~ .call-tile) .call-tile { max-height: calc(50vh - 7rem); }
.call-overlay.large video#call-local { width: 18%; top: 3.5rem; }
/* Küçült: köşede küçük şerit (ses/görüntü sürer), tıklayınca geri açılır */
.call-overlay.mini { width: 260px; padding: .6rem .9rem; flex-direction: row; align-items: center; gap: .6rem; cursor: pointer; border-radius: 999px; }
.call-overlay.mini .call-remotes, .call-overlay.mini video#call-local, .call-overlay.mini .call-add-picker, .call-overlay.mini .call-flash { display: none; }
.call-overlay.mini .call-title { font-size: .95rem; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.call-overlay.mini .call-status { font-size: .85rem; }
.call-overlay.mini .call-actions { margin: 0; gap: .4rem; flex-wrap: nowrap; }
.call-overlay.mini .call-btn { width: 36px; height: 36px; }
.call-overlay.mini .call-btn .ic { width: 1.05rem; height: 1.05rem; }
.call-overlay.mini .call-btn:not(.end):not(#call-mic) { display: none; }
/* Kişi ekleme paneli: pencerenin içinde ayrı katman (görüntülerin ve düğmelerin üstüne binmez) */
.call-add-picker { position: absolute; inset: .6rem; z-index: 5; max-width: none; margin: 0; display: flex; flex-direction: column; gap: .45rem;
  background: #142029; border-radius: 14px; padding: .75rem; box-shadow: 0 10px 30px rgba(0,0,0,.5); }
.call-add-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.call-add-hint { color: #94a3b8; }
.call-add-results { flex: 1; max-height: none; min-height: 60px; }
.call-add-row { display: flex; align-items: center; gap: .55rem; }
.call-add-row span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.call-add-row small { color: #94a3b8; font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 45%; }
.call-add-row .ic { width: 1rem; height: 1rem; color: #22c55e; }
.call-overlay:not(.large) { min-height: 0; }
.call-overlay:has(.call-add-picker):not(.large):not(.video) { min-height: 330px; }
@media (max-width: 600px) { .call-overlay:not(.mini) { inset: auto .5rem .5rem .5rem; width: auto; } }

/* 3.5.3: görev dışa aktarma paneli — sağa hizalı (taşmasın), özel tasarım */
.jr-export-pop{left:auto;right:0}
.jr-export-pop{width:min(340px,calc(100vw - 24px));min-width:0;max-height:min(80vh,620px);overflow:auto;padding:0 0 12px;gap:8px;border-radius:12px;box-sizing:border-box}
.jr-export-pop>*:not(.xp-head){margin-left:14px;margin-right:14px}
.xp-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;background:linear-gradient(135deg,#F03F38,#c92a24);color:#fff;border-radius:12px 12px 0 0}
.xp-head b{display:block;font-size:.95rem}.xp-head small{opacity:.85;font-size:.75rem}
.xp-head-ic{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.18);display:grid;place-items:center}
.xp-head .icon-btn{color:#fff}
.xp-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--surface-2,rgba(127,127,127,.1));padding:4px;border-radius:9px;margin-top:6px}
.xp-seg button{border:0;background:transparent;color:inherit;padding:7px 4px;border-radius:7px;font-size:.78rem;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}
.xp-seg button.on{background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.15);color:#F03F38;font-weight:600}
.xp-label{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;display:flex;align-items:center;gap:5px;margin-top:4px}
.jr-export-pop .jr-select,.jr-export-pop .xp-input{width:auto;min-width:0;box-sizing:border-box}
.xp-chips{display:flex;flex-wrap:wrap;gap:6px}
.xp-chips button{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:999px;padding:5px 10px;font-size:.78rem;cursor:pointer}
.xp-chips button.on{background:#F03F38;border-color:#F03F38;color:#fff}
.xp-warn{color:#b45309;font-size:.78rem}
.xp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.xp-btn{display:flex;align-items:center;gap:8px;padding:10px;border-radius:10px;text-decoration:none;color:#fff;font-weight:600;font-size:.85rem}
.xp-btn span{display:flex;flex-direction:column;line-height:1.15}.xp-btn small{font-weight:400;opacity:.85;font-size:.7rem}
.xp-btn.xlsx{background:#1d7a46}.xp-btn.pdf{background:#F03F38}
.xp-btn:hover{filter:brightness(1.08)}
.xp-btn.disabled{opacity:.4;pointer-events:none}
.jr-export-pop .jr-pick{max-height:200px;overflow:auto}
@media (max-width:640px){.jr-export-pop{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:75vh;z-index:60}}
/* 3.5.3: arama bilgi baloncuğu başlığın üstüne binmez; kişi ekleme paneli açıkken pencere uzar */
.call-flash { top: auto; bottom: calc(100% + .5rem); max-width: calc(100% - 1rem); white-space: normal; text-align: center; z-index: 6; box-shadow: 0 6px 18px rgba(0,0,0,.25); }
.call-overlay.large .call-flash { bottom: auto; top: 3.2rem; }
.call-overlay.picking:not(.large) { min-height: min(420px, calc(100vh - 2rem)); }
.xp-note { display: flex; gap: 6px; align-items: flex-start; font-size: .8rem; color: var(--muted); background: var(--surface-2, rgba(127,127,127,.08)); border-radius: 8px; padding: 8px 10px; margin-top: 6px; }

/* 3.6.2: toplantı türü — Online / Salonda */
.kind-pick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 8px 0 4px; }
.kind-card { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 14px; border-radius: var(--radius, 14px);
  border: 1.5px solid var(--border); background: var(--surface); color: var(--text); text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.kind-card:hover, .kind-card:focus-visible { border-color: var(--primary); background: var(--primary-soft); }
.kind-card strong { font-size: 1.05rem; }
.kind-ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--primary-soft); color: var(--primary); }
.kind-ic svg { width: 26px; height: 26px; }
.kind-switch { margin-bottom: 4px; }
.mt-detail .mt-room { font-size: 1.02rem; color: var(--primary); }
@media (max-width: 480px) { .kind-pick { grid-template-columns: 1fr; } }
.reminder-popup .mt-room { color: var(--primary); font-size: 1.05rem; margin: .2rem 0; }
