/* Kim Ne Yapıyor · uygulama stil dosyası (tek dosya; sayfalarda satır içi stil yok).
   Tasarım dili: Desktop/Kim Ne Yapiyor/tasarim-dili.html v1. Bütün değerler :root belirteçlerinden gelir.
   Türkçe: büyük harfe çevirme (text-transform) kullanılmaz; İ/ı bozulmasın. */
:root{
  /* RENK — tek kaynak: docs/renk-paleti.md (koyu). Ham hex yalnız bu üç token bloğunda. */
  --bg:#0A0A0A;--surface:#111111;--surface-2:#171717;--line:#262626;
  --text:#EDEDED;--muted:#8F8F8F;
  --primary:#14C38E;--on-primary:#0A0A0A;--brand:#14C38E;
  --live-bg:rgba(20,195,142,.12);--live-text:#3FE0AE;--wait:#F5A524;--danger:#FF5A5A;--focus:#14C38E;
  --mascot-eye:#0A0A0A;
  color-scheme:dark;
  /* karakter.js ekip renkleri (iki modda aynı; yeşil ana maskota ayrılmıştır) */
  --kar-mavi:#4D8DFF;--kar-gok:#38BDF8;--kar-indigo:#6C72FF;--kar-mor:#9B6BFF;--kar-lila:#C68BFF;--kar-pembe:#FF6FAE;
  --kar-mercan:#FF6B6B;--kar-turuncu:#FF8A3D;--kar-sari:#FFC53D;--kar-kum:#E8B98A;--kar-gri:#A8A8B3;
  /* türetilmiş (hex yok) */
  --line-strong:color-mix(in srgb,var(--line) 70%,var(--text) 30%);
  --brand-edge:color-mix(in srgb,var(--brand) 40%,transparent);
  --brand-ring:color-mix(in srgb,var(--brand) 20%,transparent);
  --wait-bg:color-mix(in srgb,var(--wait) 12%,transparent);
  --wait-edge:color-mix(in srgb,var(--wait) 45%,transparent);
  --danger-edge:color-mix(in srgb,var(--danger) 45%,transparent);
  --primary-hover:color-mix(in srgb,var(--primary) 85%,var(--text) 15%);
  --header-bg:color-mix(in srgb,var(--bg) 94%,transparent);
  /* biçim */
  --radius:4px;--wrap:1200px;--header-h:56px;--ease:cubic-bezier(.2,.8,.2,1);
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--sp-16:64px;
  --gutter:var(--sp-6);
  --ctl-h:38px;--ctl-h-sm:30px;
  /* yazı (Google Fonts Geist, latin + latin-ext alt kümeleri: ğ ş ı İ ç ö ü) */
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --fs-xs:12px;--fs-sm:13px;--fs-md:15px;--fs-lg:18px;--fs-xl:26px;--fs-2xl:32px;--fs-stock:56px;
  --av-sm:24px;--av:32px;--av-md:40px;--av-lg:72px;
}
/* Açık tema (yalnız kullanıcının seçimiyle; sistem ayarına bakılmaz). Varsayılan koyu. Kaynak: docs/renk-paleti.md */
:root[data-theme="light"]{
  --bg:#FFFFFF;--surface:#F6F7F6;--surface-2:#EEF0EF;--line:#E3E6E4;
  --text:#0B0F0D;--muted:#5B635F;
  --primary:#0B0F0D;--on-primary:#FFFFFF;--brand:#14C38E;
  --live-bg:#E6F8F1;--live-text:#0B7A59;--wait:#A15C00;--danger:#C42B2B;--focus:#0B0F0D;
  --mascot-eye:#0A0A0A;
  color-scheme:light;
}
@media (max-width:900px){:root{--gutter:var(--sp-4)}}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font:400 var(--fs-md)/1.5 var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
img{max-width:100%}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* yardımcılar */
.mono{font-family:var(--mono)}
.muted{color:var(--muted)}
.faint{color:var(--muted)}
.note{font-size:var(--fs-sm);color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
[hidden]{display:none!important}

/* maskot (sprite sınıfları) */
.m-body{fill:var(--brand)}
.m-eye{fill:var(--mascot-eye)}
.m-eye-line{fill:none;stroke:var(--mascot-eye)}
.m-wall{fill:currentColor}
.i-line{fill:none;stroke:currentColor}

/* tema düğmesi ve geçiş (docs/tema-gecisi.md §3, token adları bu dosyaya uyarlandı) */
.tema{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s}
.tema:hover{color:var(--text);border-color:var(--muted)}
.tema:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.tema svg{grid-area:1/1;width:16px;height:16px;transition:transform .3s var(--ease),opacity .3s var(--ease)}
.tema .i-ay{opacity:0;transform:rotate(-90deg) scale(.4)}
:root[data-theme="light"] .tema .i-gun{opacity:0;transform:rotate(90deg) scale(.4)}
:root[data-theme="light"] .tema .i-ay{opacity:1;transform:none}
.auth-page .tema{position:fixed;top:var(--sp-4);right:var(--sp-4)}
/* Telefonda uzun kart (katılım) üst köşedeki tema düğmesinin altına girmesin; düğme sayfayla kayar, dokunma alanı 44 px. */
@media (max-width:600px){.auth-page .tema{position:absolute;width:44px;height:44px}}
/* Tema dairesi yalnız tema geçişinde (html.tema-anim); görünüm değişimindeki belge arası çapraz geçiş varsayılan solma kullanır. */
html.tema-anim::view-transition-old(root),html.tema-anim::view-transition-new(root){animation:none;mix-blend-mode:normal}
html.tema-anim::view-transition-old(root){z-index:1}
html.tema-anim::view-transition-new(root){z-index:2}
html.tema-gecis *,html.tema-gecis *::before,html.tema-gecis *::after{transition:background-color .28s,color .28s,border-color .28s,fill .28s!important}
@media (prefers-reduced-motion:reduce){.tema svg{transition:none}}

/* iskelet */
.page{max-width:var(--wrap);margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line);min-height:calc(100vh - var(--header-h));padding-bottom:var(--sp-12)}
.page-bare{min-height:100vh}

/* üst bar */
.app-header{position:sticky;top:0;z-index:20;background:var(--header-bg);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.app-header-inner{max-width:var(--wrap);margin:0 auto;display:flex;align-items:center;gap:var(--sp-6);min-height:var(--header-h);padding:0 var(--gutter)}
.brand{display:flex;align-items:center;gap:var(--sp-3);min-width:0}
.brand-mark{width:var(--av);height:var(--av);flex:none;color:var(--text)}
.brand-logo{height:var(--av);max-width:140px;object-fit:contain;flex:none}
.brand-name{font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-nav{display:flex;gap:var(--sp-1)}
.app-nav a{display:inline-flex;align-items:center;height:var(--ctl-h-sm);padding:0 var(--sp-3);border-radius:var(--radius);color:var(--muted);font-size:14px}
.app-nav a:hover{color:var(--text)}
.app-nav a[aria-current="page"]{color:var(--text);background:var(--surface-2)}
.user-menu{margin-left:auto;display:flex;align-items:center;gap:var(--sp-3)}
.user-link{display:flex;align-items:center;gap:var(--sp-2);color:var(--muted);font-size:14px}
.user-link:hover{color:var(--text)}

/* avatar */
.av{display:inline-grid;place-items:center;width:var(--av);height:var(--av);border-radius:50%;background:var(--surface-2);border:1px solid var(--line);overflow:hidden;flex:none;font:500 var(--fs-xs) var(--mono);color:var(--muted)}
.av svg{width:100%;height:100%;display:block}
.av-sm{width:var(--av-sm);height:var(--av-sm);font-size:10px}
.av-md{width:var(--av-md);height:var(--av-md)}
.av-lg{width:var(--av-lg);height:var(--av-lg)}

/* düğmeler */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-4);border-radius:var(--radius);font:500 14px/1 var(--sans);border:1px solid transparent;cursor:pointer;background:none;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.btn-live{background:var(--primary);color:var(--on-primary)}
.btn-live:hover{background:var(--primary-hover)}
.btn-line{border-color:var(--line-strong);color:var(--text)}
.btn-line:hover{border-color:var(--muted)}
.btn-ghost{color:var(--muted);padding:0 var(--sp-2)}
.btn-ghost:hover{color:var(--text)}
.btn-sm{height:var(--ctl-h-sm);padding:0 var(--sp-3);font-size:var(--fs-sm)}

/* sayfa başlığı */
.page-head{display:flex;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-8) var(--gutter) var(--sp-5);border-bottom:1px solid var(--line)}
.page-title{min-width:0}
.page-title h1{font:500 var(--fs-2xl)/1.15 var(--sans);letter-spacing:-.03em}
.page-title p{color:var(--muted);margin-top:var(--sp-2)}
.page-actions{margin-left:auto;display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}
.page-actions form{display:inline}
.crumb{display:inline-block;font:400 var(--fs-sm) var(--mono);color:var(--muted);margin-bottom:var(--sp-3)}
.crumb:hover{color:var(--muted)}
.meta-line{font:400 var(--fs-sm) var(--mono);color:var(--muted)}
.view-tabs{display:flex;gap:var(--sp-1);padding:var(--sp-3) var(--gutter);border-bottom:1px solid var(--line)}
.view-tabs a{display:inline-flex;align-items:center;height:var(--ctl-h-sm);padding:0 var(--sp-3);border-radius:var(--radius);color:var(--muted);font-size:14px;border:1px solid transparent}
.view-tabs a:hover{color:var(--text)}
.view-tabs a[aria-current="page"]{color:var(--text);border-color:var(--line-strong);background:var(--surface)}

/* paneller */
.panel,.form-panel{padding:var(--sp-6) var(--gutter);border-bottom:1px solid var(--line)}
.panel-narrow,.form-panel{max-width:720px}
.panel-title{font:500 var(--fs-lg)/1.3 var(--sans);letter-spacing:-.015em;margin-bottom:var(--sp-4)}
.panel-title-bar{padding:var(--sp-5) var(--gutter) var(--sp-3);margin:0}
.panel > p + p,.panel > p + form,.panel > .muted{margin-bottom:var(--sp-4)}
.logo-preview{margin-bottom:var(--sp-4)}
.logo-preview img{max-height:64px;max-width:240px;padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:block}
.inline-form{margin-top:var(--sp-3)}

/* durum etiketleri */
.tag{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--radius);font:400 var(--fs-xs)/1 var(--sans);color:var(--muted);white-space:nowrap}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--muted);flex:none}
.tag.live{color:var(--live-text);border-color:var(--brand-edge);background:var(--live-bg)}
.tag.live::before{background:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}
.tag.wait::before{background:var(--wait)}
.tag.done::before{background:transparent;border:1px solid var(--muted)}
.tag.is-low{color:var(--wait);border-color:var(--wait-edge);background:var(--wait-bg)}
.tag.is-low::before{background:var(--wait)}
.tag.plain::before{display:none}
.chip{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);font:400 11px/1 var(--mono);color:var(--muted)}
a.chip:hover{color:var(--text)}

/* formlar */
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label,.field-label{font-size:var(--fs-sm);color:var(--muted)}
.hint{font-size:var(--fs-xs);color:var(--muted)}
.input{width:100%;height:var(--ctl-h);padding:0 var(--sp-3);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);font-size:var(--fs-md)}
textarea.input{height:auto;min-height:88px;padding:var(--sp-2) var(--sp-3);line-height:1.5;resize:vertical}
select.input{appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.input:focus{outline:none;border-color:var(--muted)}
.input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.input::placeholder{color:var(--muted)}
.input-sm{height:var(--ctl-h-sm);font-size:var(--fs-sm);padding-left:var(--sp-2)}
.input-mono{font-family:var(--mono)}
.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}
.field-full{grid-column:1/-1}
.form-actions{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;margin-top:var(--sp-5)}
.check{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:14px;color:var(--muted);cursor:pointer;min-height:var(--ctl-h)}
.check input{accent-color:var(--muted);width:16px;height:16px}
.alert{margin:var(--sp-4) var(--gutter) 0;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);font-size:14px;color:var(--muted)}
.alert b{color:var(--text);font-weight:500}
.alert-error{border-color:var(--danger-edge);color:var(--danger)}
.alert-ok{color:var(--text)}
.draft-note{margin:0 0 var(--sp-4)}
.form-panel .alert,.panel .alert,.detail-side .alert,.auth-card .alert{margin-left:0;margin-right:0}
.linkbox{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}
.linkbox .input{font:400 var(--fs-sm) var(--mono)}

/* segment (hareket türü) */
.segmented{display:flex;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;max-width:100%}
.segmented label{position:relative;cursor:pointer;flex:1}
.segmented input{position:absolute;opacity:0;pointer-events:none}
.segmented span{display:flex;align-items:center;justify-content:center;height:34px;padding:0 var(--sp-2);white-space:nowrap;font-size:14px;color:var(--muted);border-right:1px solid var(--line-strong)}
.segmented label:last-child span{border-right:0}
.segmented input:checked+span{background:var(--surface-2);color:var(--text)}
.segmented input:focus-visible+span{outline:2px solid var(--focus);outline-offset:-2px}

/* araç çubuğu (süzgeç) */
.toolbar{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:flex-end;padding:var(--sp-4) var(--gutter);border-bottom:1px solid var(--line)}
.toolbar .field{flex:1 1 150px}
.toolbar .field-grow{flex:2 1 240px}
.toolbar-actions{display:flex;gap:var(--sp-2);align-items:center}

/* boş durumlar */
.empty-block{padding:var(--sp-16) var(--gutter);text-align:center;color:var(--muted)}
.empty-block svg{width:96px;height:96px;display:block;margin:0 auto var(--sp-4);color:var(--text)}
.empty-block p + p,.empty-action{margin-top:var(--sp-4)}
.empty-line{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--gutter);color:var(--muted);font-size:var(--fs-sm)}
.empty-line svg{width:32px;height:32px;flex:none;color:var(--muted)}
.list-foot{padding:var(--sp-3) var(--gutter);font:400 var(--fs-sm) var(--mono);color:var(--muted)}
.list-foot a:hover{color:var(--muted)}

/* envanter listesi */
.item-list{list-style:none}
.item-row{display:grid;grid-template-columns:44px minmax(0,1fr) 150px 150px 130px;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--gutter);border-bottom:1px solid var(--line)}
a.item-row:hover{background:var(--surface)}
.item-row-head{font:500 var(--fs-xs)/1 var(--mono);letter-spacing:.02em;color:var(--muted);padding-top:var(--sp-3);padding-bottom:var(--sp-3)}
.item-thumb{width:44px;height:44px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;overflow:hidden;color:var(--muted)}
.item-thumb img{width:100%;height:100%;object-fit:cover}
.item-thumb svg{width:20px;height:20px}
.item-name{min-width:0}
.item-name b{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-name span{font:400 var(--fs-xs) var(--mono);color:var(--muted)}
.item-cell{color:var(--muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-qty{text-align:right;justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-1)}
.item-qty b{font:500 16px var(--mono)}
.item-qty small{font:400 var(--fs-xs) var(--mono);color:var(--muted);display:flex;align-items:center;gap:6px}
.item-row.is-low .item-qty b{color:var(--wait)}

/* ürün detayı */
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;border-bottom:1px solid var(--line)}
.detail-main{border-right:1px solid var(--line);min-width:0}
.detail-side{padding:var(--sp-5) var(--gutter)}
.detail-side form{display:flex;flex-direction:column;gap:var(--sp-4)}
.detail-side-form{margin-top:var(--sp-8)}
.stock-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-6) var(--gutter);border-bottom:1px solid var(--line)}
.stock-number{font:500 var(--fs-stock)/1 var(--mono);letter-spacing:-.04em}
.stock-unit{color:var(--muted)}
.stock-summary.is-low .stock-number{color:var(--wait)}
.stock-summary .tag{margin-left:auto;align-self:center}
.fact-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}
.fact-list>div{padding:var(--sp-4) var(--gutter);border-right:1px solid var(--line);min-width:0}
.fact-list>div:last-child{border-right:0}
.fact-list dt{font:500 11px/1 var(--mono);letter-spacing:.02em;color:var(--muted);margin-bottom:var(--sp-2)}
.fact-list dd{font-size:14px;overflow:hidden;text-overflow:ellipsis}
.item-photo{padding:var(--sp-5) var(--gutter);border-bottom:1px solid var(--line)}
.item-photo img{max-height:280px;border-radius:var(--radius);border:1px solid var(--line);display:block}
.move-list{list-style:none}
.move-row{display:grid;grid-template-columns:120px 96px minmax(0,1fr) 80px;gap:var(--sp-4);align-items:center;padding:var(--sp-3) var(--gutter);border-bottom:1px solid var(--line);font-size:14px}
.move-row time{font:400 var(--fs-xs) var(--mono);color:var(--muted)}
.move-what{min-width:0}
.move-what span{display:block;color:var(--muted);font-size:var(--fs-xs)}
.move-delta{font:500 14px var(--mono);text-align:right}
.move-delta.is-neg{color:var(--muted)}

/* görevler: ortak satır */
.task-lines{list-style:none}
.task-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-3) var(--sp-4);align-items:center;padding:var(--sp-3) var(--gutter);border-bottom:1px solid var(--line)}
.task-lines-dense .task-line{grid-template-columns:minmax(0,1fr) 200px 150px}
.task-main{min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}
.task-title{font-weight:500;line-height:1.35;word-break:break-word}
.task-title:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}
.task-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:var(--fs-xs);color:var(--muted)}
.task-who{min-width:0}
.who{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-sm);min-width:0}
.who span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.who.is-empty{color:var(--muted)}
.due{font:400 var(--fs-xs) var(--mono)}
.due.is-late{color:var(--danger)}
.status-form{display:flex;gap:6px;align-items:center}
.status-select{min-width:130px}
.status-select[data-status="yapiliyor"]{border-color:var(--brand-edge)}
.status-select[data-status="bekliyor"]{border-color:var(--wait-edge)}

/* görevler: ekip görünümü */
.person-list{list-style:none}
.person-row{border-bottom:1px solid var(--line)}
.person-row details>summary{list-style:none;cursor:pointer}
.person-row details>summary::-webkit-details-marker{display:none}
.person-sum{display:grid;grid-template-columns:var(--av-md) minmax(0,1fr) auto;gap:var(--sp-4);align-items:center;padding:var(--sp-4) var(--gutter)}
.person-sum:hover{background:var(--surface)}
.person-name{min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}
.person-name b{font-weight:500}
.person-now{display:flex;align-items:center;gap:var(--sp-2);font-size:14px;color:var(--muted);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person-now .tag{flex:none}
.person-now-t{min-width:0;overflow:hidden;text-overflow:ellipsis}
.person-counts{display:flex;gap:var(--sp-4);font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}
.count-n{font:500 14px var(--mono);color:var(--text)}
.count-item.is-wait .count-n{color:var(--wait)}
.person-body{border-top:1px solid var(--line);background:var(--surface);padding-bottom:var(--sp-3)}
.person-body .task-line{padding-left:calc(var(--gutter) + var(--av-md) + var(--sp-4))}
.sub-head{padding:var(--sp-4) var(--gutter) var(--sp-2) calc(var(--gutter) + var(--av-md) + var(--sp-4));font:500 var(--fs-xs) var(--mono);color:var(--muted)}
.person-links{padding:var(--sp-3) var(--gutter) 0 calc(var(--gutter) + var(--av-md) + var(--sp-4));font-size:var(--fs-sm);color:var(--muted)}
.person-links a:hover{color:var(--text)}
.person-body .empty-line{padding-left:calc(var(--gutter) + var(--av-md) + var(--sp-4))}

/* görevler: pano */
.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:60vh}
.board-col{border-right:1px solid var(--line);min-width:0}
.board-col:last-child{border-right:0}
.board-col-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line)}
.board-col-head h2{font:inherit}
.board-col-count{margin-left:auto;font:400 var(--fs-xs) var(--mono);color:var(--muted)}
.board-col-yapiliyor .board-col-head{border-bottom-color:var(--brand-edge)}
.board-cards{list-style:none;padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3)}
.board-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}
.board-card:hover{border-color:var(--line-strong)}
.board-col .empty-line{padding:var(--sp-4)}

/* ekip ve ayarlar */
.people-list{list-style:none}
.person-item{display:grid;grid-template-columns:var(--av-md) minmax(0,1fr) auto auto;gap:var(--sp-4);align-items:center;padding:var(--sp-3) var(--gutter);border-bottom:1px solid var(--line)}
.person-item .av{width:var(--av-md);height:var(--av-md)}
.person-item b{font-weight:500;display:block}
.person-item span{font-size:var(--fs-sm);color:var(--muted)}
.person-actions{display:flex;gap:var(--sp-1);flex-wrap:wrap;justify-content:flex-end}
.person-actions form{display:inline}
.invite-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--radius);flex-wrap:wrap}
.invite-item span{margin-left:0}
.csv-input{min-height:200px;font-size:var(--fs-sm)}
.kdf-status{min-height:1.2em}
.mascot-sm{width:32px;height:32px}
.mascot-lg{width:96px;height:96px}

/* karakter seçici */
.picker{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--sp-6);margin-top:var(--sp-4)}
.picker-stage{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:grid;place-items:center;padding:var(--sp-4);aspect-ratio:1/1}
.picker-stage svg{width:100%;height:auto}
.picker .btn{width:100%;margin-top:var(--sp-3)}
.picker .field + .field{margin-top:var(--sp-4)}
.opts{display:flex;flex-wrap:wrap;gap:6px}
.opts label{cursor:pointer;position:relative}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts span{display:inline-flex;align-items:center;height:var(--ctl-h-sm);padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--radius);font-size:var(--fs-sm);color:var(--muted)}
.opts input:checked+span{border-color:var(--muted);color:var(--text);background:var(--surface-2)}
.opts input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}
.opts .swatch{width:var(--ctl-h-sm);padding:0;border-radius:50%;border:2px solid transparent}
.opts input:checked+.swatch{border-color:var(--text)}
/* karakter.js renkleri: değerler :root belirteçlerinde */
.swatch-mavi{background:var(--kar-mavi)}.swatch-gok{background:var(--kar-gok)}.swatch-indigo{background:var(--kar-indigo)}.swatch-mor{background:var(--kar-mor)}
.swatch-lila{background:var(--kar-lila)}.swatch-pembe{background:var(--kar-pembe)}.swatch-mercan{background:var(--kar-mercan)}.swatch-turuncu{background:var(--kar-turuncu)}
.swatch-sari{background:var(--kar-sari)}.swatch-kum{background:var(--kar-kum)}.swatch-gri{background:var(--kar-gri)}

/* giriş ve tek kart sayfaları */
.auth-page{min-height:100vh;display:grid;place-items:center;padding:var(--sp-6) var(--sp-4)}
@media (max-width:600px){.auth-page{padding-top:calc(var(--sp-4) + 44px + var(--sp-4))}}
.auth-card{width:100%;max-width:400px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--sp-8) var(--sp-6)}
.auth-mark{width:56px;height:56px;color:var(--text);display:block;margin-bottom:var(--sp-4)}
.auth-card h1{font:500 var(--fs-xl)/1.15 var(--sans);letter-spacing:-.03em;margin-bottom:var(--sp-2)}
.auth-card p{color:var(--muted);margin-bottom:var(--sp-5)}
.auth-card form{display:flex;flex-direction:column;gap:var(--sp-4)}
.auth-card .btn{height:40px}
.auth-card .alert{margin:0 0 var(--sp-4)}
.auth-foot{margin-top:var(--sp-5);margin-bottom:0}
/* Kart dengesi: boş durum satırları yer kaplamaz, formun içindeki paragraf ve kartın son öğesi alt boşluk taşımaz (alt boşluk = üst boşluk). */
.auth-card form p{margin-bottom:0}
.auth-card .note:empty,.auth-card .kdf-status:empty{display:none}
.auth-card > :last-child{margin-bottom:0}
.tenant-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2)}
.tenant-list a{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--radius)}
.tenant-list a:hover{border-color:var(--muted)}
.tenant-list span{margin-left:auto;font:400 var(--fs-xs) var(--mono);color:var(--muted)}

/* bildirim, sürüm uyarısı, maskot anı */
.toast{position:fixed;left:50%;bottom:var(--sp-5);transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);font-size:14px;max-width:calc(100vw - 32px)}
.toast-mascot{width:28px;height:28px;flex:none;color:var(--text)}
.flash-mascot{animation:hop .7s cubic-bezier(.3,.7,.4,1) 1}
@keyframes hop{0%{transform:translateY(0)}30%{transform:translateY(-8px)}60%{transform:translateY(0) scale(1.05,.95)}100%{transform:none}}

/* orta ekran */
@media (max-width:900px){
  .app-header-inner{gap:var(--sp-3);flex-wrap:wrap}
  /* Esnek taban 0: satır kırılmadan önce şirket adı kısalır; Başlangıç düğmesi + tema + avatar 390 px'te aynı satırda kalır. */
  .brand{min-height:var(--header-h);flex:1 1 0}
  .app-nav{order:3;width:calc(100% + 2 * var(--gutter));margin:0 calc(-1 * var(--gutter));padding:0 var(--sp-3) var(--sp-2);overflow-x:auto;scrollbar-width:none}
  .app-nav a{flex:none}
  .page-head{padding-top:var(--sp-6)}
  .page-title h1{font-size:var(--fs-xl)}
  .page-actions{margin-left:0;width:100%}
  .detail-layout{grid-template-columns:1fr}
  .detail-main{border-right:0;border-bottom:1px solid var(--line)}
  .board{grid-template-columns:1fr 1fr}
  .board-col:nth-child(2n){border-right:0}
  .board-col{border-bottom:1px solid var(--line)}
  .picker{grid-template-columns:1fr}
  .picker-stage{max-width:220px}
  .task-lines-dense .task-line{grid-template-columns:minmax(0,1fr) auto}
  .task-lines-dense .task-who{grid-column:1;grid-row:2}
  .task-lines-dense .task-status{grid-column:2;grid-row:1/3}
}
/* telefon */
@media (max-width:600px){
  .item-row{grid-template-columns:44px minmax(0,1fr) auto;gap:var(--sp-3)}
  .hide-sm,.item-row-head{display:none}
  .fact-list{grid-template-columns:1fr 1fr}
  .fact-list>div:nth-child(2n){border-right:0}
  .fact-list>div{border-bottom:1px solid var(--line)}
  .stock-number{font-size:44px}
  .move-row{grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-1) var(--sp-3)}
  .move-row time{grid-column:1/-1}
  .board{grid-template-columns:1fr}
  .board-col{border-right:0}
  .grid-form{grid-template-columns:1fr}
  .person-item{grid-template-columns:var(--av-md) minmax(0,1fr) auto}
  .person-item>div{min-width:0;overflow-wrap:anywhere}
  .person-actions{grid-column:2/-1;justify-content:flex-start}
  .person-role{display:none}
  .person-sum{grid-template-columns:var(--av-md) minmax(0,1fr)}
  .person-counts{grid-column:2;gap:var(--sp-3)}
  .person-body .task-line,.sub-head,.person-links,.person-body .empty-line{padding-left:var(--gutter)}
  .task-line,.task-lines-dense .task-line{grid-template-columns:1fr}
  .task-lines-dense .task-who,.task-lines-dense .task-status{grid-column:auto;grid-row:auto}
  .status-select{min-width:0}
  .user-name{display:none}
  .theme-switch button{padding:0 6px}
  .toolbar .field{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ===== Profil (Profilim: ad, karakter, tema, şifre; src/web/profile.ts) ===== */
.profile{display:grid;gap:var(--sp-6);max-width:880px}
.profile-section{scroll-margin-top:calc(var(--header-h) + var(--sp-4))}
.profile-form .field{max-width:480px}
.saved-note{font-size:var(--fs-sm);color:var(--muted)}
/* karakter seçici bileşeni (src/client/karakter-secici): büyük önizleme + seçenek grupları */
.picker{grid-template-columns:260px minmax(0,1fr)}
.picker-side{display:grid;gap:var(--sp-3);align-content:start}
.picker-side .picker-stage{max-width:260px}
.picker-random{width:100%}
.picker-groups{display:grid;gap:var(--sp-4)}
.picker-group{border:0;padding:0;margin:0;min-width:0}
.picker-group legend{padding:0;margin-bottom:var(--sp-2)}
.picker .opts label{min-height:44px;display:inline-flex;align-items:center}
.picker .opts .swatch{width:32px;height:32px}
@media (max-width:600px){
  .picker{grid-template-columns:1fr}
  .picker-side{grid-template-columns:minmax(0,180px) auto;align-items:end}
  .picker-side .picker-stage{max-width:180px}
  .picker-random{width:auto}
}

/* ---------- Katılım, bildirim tercihleri (entegrasyon) ---------- */
.pending-count{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--sp-3);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font-size:var(--fs-sm);white-space:nowrap}
.pending-count:hover{background:var(--line)}
.pref-list{list-style:none;display:grid;gap:var(--sp-3);margin:var(--sp-4) 0}
.check{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;cursor:pointer}
.join-logo{display:block;max-width:160px;max-height:56px;margin:0 auto var(--sp-4)}
.join-avatar{margin:var(--sp-2) 0 var(--sp-4)}
.join-avatar summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--muted)}

/* ---------- Hesap menüsü (yeni görünüm; nav.ts ikincil öğeleri, görünüm, çıkış). Popover: betiksiz, dışına dokununca kapanır. ---------- */
button.user-link{background:none;border:0;padding:0 var(--sp-1);min-height:44px;cursor:pointer;font:inherit;font-size:14px;color:var(--muted);border-radius:var(--radius)}
button.user-link:hover{color:var(--text)}
button.user-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.user-dd{position:fixed;inset:auto;top:calc(var(--header-h) - 4px);right:var(--gutter);margin:0;min-width:240px;max-width:calc(100vw - 2*var(--sp-4));padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}
.user-dd-links{display:grid}
.user-dd-links a{display:flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-3);border-radius:var(--radius);color:var(--text);font-size:var(--fs-sm)}
.user-dd-links a:hover,.user-dd-links a:focus-visible{background:var(--surface-2)}
.user-dd-count{margin-left:auto;min-width:22px;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--text);font-size:var(--fs-xs);text-align:center}
.user-dd-foot{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line)}

/* ---------- Görev: tek tıkla tamamlama, acil, yorumlar, iptal/sil (entegrasyon) ---------- */
.task-main{min-width:0}
.task-head{display:flex;align-items:flex-start;gap:var(--sp-2);min-width:0}
.task-head .task-title{min-width:0}
.tamam-form{display:inline-flex;flex:none;margin-top:1px}
.tamam{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:1.5px solid var(--line-strong);border-radius:50%;background:transparent;color:transparent;cursor:pointer;position:relative}
.tamam::after{content:"";position:absolute;inset:-11px}
.tamam svg{width:12px;height:12px}
.tamam:hover{border-color:var(--muted);color:var(--muted)}
.tamam.is-on{background:var(--text);border-color:var(--text);color:var(--bg)}
.tamam:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.acil-dot{display:inline-block;flex:none;width:8px;height:8px;margin-top:8px;border-radius:50%;background:var(--danger)}
.field.field-check{flex-direction:row;align-items:center;justify-content:flex-start}
.form-actions-quiet{gap:var(--sp-2);margin-top:var(--sp-2);padding:0 var(--gutter)}
.form-actions-quiet form{display:inline}
.comments{margin-top:var(--sp-8)}
.comment-list{list-style:none;display:grid;gap:var(--sp-4);margin:var(--sp-4) 0}
.comment{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-3);align-items:start}
.comment-meta{font-size:var(--fs-sm);color:var(--muted)}
.comment-meta b{color:var(--text);font-weight:500}
.comment-body{white-space:pre-wrap;overflow-wrap:anywhere}

/* ---------- Başlangıç listesi (karakter, ilk görev, davet; repo/baslangic.ts). Biten: dolu daire + tik; bekleyen: boş daire. ---------- */
.bl{margin-left:auto;display:flex;align-items:center}
.bl + .user-menu{margin-left:0}
.bl-btn{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap}
.bl-btn:hover{background:var(--surface-2)}
.bl-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.bl-ring{width:16px;height:16px;border-radius:50%;background:conic-gradient(var(--brand) var(--bl,0%),var(--line-strong) 0);-webkit-mask:radial-gradient(circle,transparent 4.5px,black 5px);mask:radial-gradient(circle,transparent 4.5px,black 5px)}
.bl-r33{--bl:33%}.bl-r50{--bl:50%}.bl-r67{--bl:67%}
.bl-say{color:var(--muted);font-variant-numeric:tabular-nums}
.bl-dd{position:fixed;inset:auto;top:calc(var(--header-h) - 4px);right:var(--gutter);margin:0;width:300px;max-width:calc(100vw - 2*var(--sp-4));padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}
.bl-panel{display:grid;gap:var(--sp-1);padding:var(--sp-4)}
.bl-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-1)}
.bl-head b{font-weight:600;font-size:var(--fs-sm)}
.bl-n{color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}
.bl-list{list-style:none;margin:0;padding:0;display:grid}
.bl-item{display:flex;align-items:center;gap:var(--sp-3);min-height:44px;font-size:var(--fs-sm)}
.bl-item a{flex:1;display:flex;align-items:center;min-height:44px;color:var(--text);text-decoration:none}
.bl-item a:hover{text-decoration:underline;text-underline-offset:3px}
.bl-item.ok span{flex:1;color:var(--muted)}
.bl-item small{color:var(--muted);font-size:var(--fs-xs)}
.bl-dot{flex:none;display:inline-grid;place-items:center;width:18px;height:18px;border:1.5px solid var(--line-strong);border-radius:50%}
.bl-item.ok .bl-dot{border-color:var(--text);background:var(--text);color:var(--bg)}
.bl-dot svg{width:12px;height:12px}
.bl-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--line)}
.bl-foot form{margin:0}
.bl-tur,.bl-gizle{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font:inherit;font-size:var(--fs-xs);background:none;border:0;padding:0;cursor:pointer;text-decoration:none}
.bl-tur:hover,.bl-gizle:hover{color:var(--text)}
@media (max-width:600px){.bl-ad{display:none}.bl-btn{padding:0 var(--sp-2)}}
:root[data-gorunum="klasik"] .k-baslangic{flex:none;padding:4px 8px 0;border-top:1px solid var(--line)}
:root[data-gorunum="klasik"] .k-baslangic .bl-panel{padding:12px 8px}
:root[data-gorunum="klasik"] .k-baslangic .bl-item small{display:none}

/* dosya seçici (ui.ts fileField): Türkçe düğme + seçilen dosya adı; gerçek girdi görünmez, odak düğmede görünür */
.dosya{display:flex;align-items:center;gap:var(--sp-3);min-width:0;position:relative}
.dosya-in{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dosya-btn{flex:none;cursor:pointer}
.dosya-in:focus-visible+.dosya-btn{outline:2px solid var(--focus);outline-offset:2px}
.dosya-ad{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);color:var(--muted)}
.dosya.is-secili .dosya-ad{color:var(--text)}
/* ayarlar: dosya alanı (repo/kota.ts) */
.depo-ozet{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--sp-2)}
.depo-ozet b{color:var(--text);font-weight:500}
.depo-cubuk{display:block;width:100%;height:6px;margin-bottom:var(--sp-3);border:0;border-radius:3px;background:var(--surface-2);overflow:hidden;appearance:none;-webkit-appearance:none;color:var(--muted)}
.depo-cubuk::-webkit-progress-bar{background:var(--surface-2);border-radius:3px}
.depo-cubuk::-webkit-progress-value{background:var(--muted);border-radius:3px}
.depo-cubuk::-moz-progress-bar{background:var(--muted);border-radius:3px}
.depo-cubuk.is-dolu::-webkit-progress-value{background:var(--danger)}
.depo-cubuk.is-dolu::-moz-progress-bar{background:var(--danger)}
/* Turnstile kutusu (web/turnstile.ts): yükseklik önceden ayrılır, sayfa kaymaz; gönder düğmesinin hemen üstünde, sakin */
.ts-kutu{min-height:65px;margin:0}
.ts-durum:empty{display:none}
.field .dosya-btn,:root[data-gorunum="klasik"] .field .dosya-btn{margin:0;color:var(--text);font:500 14px/1 var(--sans)}
/* Şifre alanında göz düğmesi (app.js). Dokunma alanı 44 px. */
.pw-wrap{position:relative;display:block;width:100%}
.pw-wrap > input{width:100%;padding-right:48px}
.pw-goz{position:absolute;top:50%;right:0;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;background:none;border:0;border-radius:var(--radius);color:var(--muted);cursor:pointer}
.pw-goz:hover{color:var(--text)}
.pw-goz:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}

/* Satır kırılımı (tipografi skill'i): başlıkta satırlar dengeli, paragrafta tek kelime alt satıra düşmez.
   Bütün uygulama ve yönetim paneli için tek kural; sayfa sayfa elle kırılım yapılmaz. */
h1,h2,h3,h4,.auth-card h1,legend{text-wrap:balance}
p,li,dd,figcaption,.hint,.note,label,.alert,.empty,td{text-wrap:pretty}
