/* Onyıl Bilişim Müşteri Portalı
 * Onysoft İş Takip tasarım sistemi token'ları (tasarım/tokens) + müşteri yüzü kiti (ui_kits/musteri).
 * Kurallar: gradyan yok, ham renk yerine token, violet yalnızca müşteri eylemlerinde,
 * renk yalnızca durumu kodlar (departman gibi sınıflandırmalar nötr rozet). */

:root{
--brand-navy:#0B2E48;
--sky-50:#F0F9FF;--sky-100:#E0F2FE;--sky-200:#BAE6FD;--sky-500:#0EA5E9;--sky-600:#0284C7;--sky-700:#0369A1;--sky-800:#075985;
--slate-50:#F8FAFC;--slate-100:#F1F5F9;--slate-200:#E2E8F0;--slate-300:#CBD5E1;--slate-400:#94A3B8;--slate-500:#64748B;--slate-600:#475569;--slate-700:#334155;--slate-800:#1E293B;--slate-900:#0F172A;
--violet:#8B5CF6;--violet-light:#EDE9FE;--violet-dark:#7C3AED;
--success:#10B981;--success-light:#D1FAE5;--success-dark:#059669;
--warning:#F59E0B;--warning-light:#FEF3C7;--warning-dark:#D97706;
--danger:#EF4444;--danger-light:#FEE2E2;--danger-dark:#DC2626;
--info:#3B82F6;--info-light:#DBEAFE;--info-dark:#2563EB;
/* Müşteri yüzü erişilebilirlik ayarı: küçük metinde WCAG AA (4.5:1) için durum metinleri ve eylem
   rengi bir ton koyu (sky-600 + beyaz = 4.1:1, sky-700 + beyaz = 5.9:1) */
--success-text:#047857;--warning-text:#B45309;--danger-text:#B91C1C;--info-text:#1D4ED8;--accent-text:var(--violet-dark);
--primary:var(--sky-700);--primary-hover:var(--sky-800);--primary-active:#0C4A6E;--primary-subtle:var(--sky-50);--primary-subtle-border:var(--sky-200);
--accent:var(--violet-dark);--accent-hover:#6D28D9;--accent-subtle:var(--violet-light);
--surface-page:var(--slate-50);--surface-card:#FFFFFF;--surface-raised:#FFFFFF;--surface-sunken:var(--slate-100);
--text-primary:var(--slate-900);--text-secondary:var(--slate-600);--text-muted:var(--slate-500);--text-faint:var(--slate-400);--text-on-primary:#FFFFFF;--text-link:var(--sky-700);--text-link-hover:var(--sky-800);
--border-default:var(--slate-200);--border-strong:var(--slate-300);--border-input:var(--slate-300);--border-focus:var(--sky-500);
--rail-high:var(--warning);--rail-urgent:var(--danger);--rail-width:3px;
--font-sans:"Inter",-apple-system,"Segoe UI",Roboto,sans-serif;
--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
--text-xs:0.75rem;--leading-xs:1.125rem;--text-sm:0.8125rem;--leading-sm:1.25rem;--text-base:0.875rem;--leading-base:1.375rem;
--text-md:1rem;--leading-md:1.5rem;--text-lg:1.125rem;--leading-lg:1.625rem;--text-xl:1.25rem;--leading-xl:1.75rem;
--text-2xl:1.5rem;--leading-2xl:2rem;--text-3xl:1.875rem;--leading-3xl:2.25rem;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;
--control-h:36px;--control-h-mobile:44px;
--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;
--shadow-xs:0 1px 2px rgb(15 23 42 / .05);
--shadow-sm:0 1px 3px rgb(15 23 42 / .08),0 1px 2px rgb(15 23 42 / .04);
--shadow-lg:0 12px 20px -4px rgb(15 23 42 / .10),0 4px 8px -4px rgb(15 23 42 / .05);
--shadow-2xl:0 32px 64px -12px rgb(15 23 42 / .20);
--shadow-glow-primary:0 4px 12px rgb(2 132 199 / .30);
--shadow-glow-accent:0 4px 12px rgb(124 58 237 / .28);
--shadow-focus:0 0 0 3px rgb(14 165 233 / .35);
--duration-fast:150ms;--duration-base:250ms;--ease:cubic-bezier(.4,0,.2,1);
--z-dropdown:100;--z-sticky:200;--z-overlay:400;--z-modal:500;--z-toast:800;
}
@media (prefers-reduced-motion: reduce){:root{--duration-fast:0ms;--duration-base:0ms}}

/* ---------- Taban ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--text-link-hover);text-decoration:underline}
:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
::selection{background:var(--sky-200);color:var(--slate-900)}
h1,h2,h3,p{margin:0}
.mono{font-family:var(--font-mono)}
.tabular{font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:var(--z-toast);background:var(--surface-card);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}
.skip-link:focus{top:var(--space-4);box-shadow:var(--shadow-lg),var(--shadow-focus)}

/* ---------- Marka ---------- */
.brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}
.brand img{width:36px;height:36px;object-fit:contain;flex:none}
.brand-text{display:flex;flex-direction:column;min-width:0}
.brand-text strong{font-size:var(--text-md);line-height:var(--leading-sm);color:var(--brand-navy);font-weight:var(--weight-bold)}
.brand-text span{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--text-muted)}
.brand-lg img{width:48px;height:48px}
.brand-lg .brand-text strong{font-size:var(--text-lg)}

/* ---------- Butonlar ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-h-mobile);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}
.btn:hover{text-decoration:none}
.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;box-shadow:none}
.btn-primary{background:var(--primary);color:var(--text-on-primary)}
.btn-primary:hover:not(:disabled){background:var(--primary-hover);color:var(--text-on-primary);box-shadow:var(--shadow-glow-primary)}
.btn-primary:active:not(:disabled){background:var(--primary-active);box-shadow:none}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover:not(:disabled){background:var(--accent-hover);color:#fff;box-shadow:var(--shadow-glow-accent)}
.btn-outline-secondary{background:var(--surface-card);border-color:var(--border-strong);color:var(--text-secondary)}
.btn-outline-secondary:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-primary)}
.btn-ghost{background:transparent;color:var(--text-secondary)}
.btn-ghost:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-primary)}
.btn-lg{height:48px;padding:0 var(--space-6);font-size:var(--text-md)}
.btn-block{width:100%}
.btn-icononly{width:var(--control-h-mobile);padding:0}
.btn .fa-spin{animation-duration:.9s}
@media (min-width:768px){.btn{height:var(--control-h)}.btn-lg{height:44px}.btn-icononly{width:var(--control-h)}}

/* ---------- Form ---------- */
.field{display:flex;flex-direction:column;gap:var(--space-1)}
.field-label{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);color:var(--text-primary)}
.field-label .req{color:var(--danger-text);margin-left:2px}
.input,.select,.textarea{width:100%;height:var(--control-h-mobile);padding:0 var(--space-3);border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-md);transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}
.textarea{height:auto;min-height:132px;padding:var(--space-2) var(--space-3);line-height:var(--leading-md);resize:vertical}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}
.input::placeholder,.textarea::placeholder{color:var(--text-faint)}
.field-hint{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--text-muted)}
.field-hint-row{display:flex;justify-content:space-between;gap:var(--space-2)}
.input-group{position:relative}
.input-group .input{padding-right:var(--control-h-mobile)}
.input-addon{position:absolute;top:0;right:0;width:var(--control-h-mobile);height:100%;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--text-muted);cursor:pointer;border-radius:0 var(--radius-md) var(--radius-md) 0}
.input-addon:hover{color:var(--text-primary)}
.checkbox{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex:none;margin:0}
.check-card{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-h-mobile);padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);cursor:pointer;font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--text-secondary)}
.check-card strong{color:var(--text-primary)}
.check-card:hover{border-color:var(--border-strong)}
.form-grid-2{display:grid;grid-template-columns:1fr;gap:var(--space-4);align-items:end}
@media (min-width:768px){
.input,.select{height:var(--control-h);font-size:var(--text-sm)}
.textarea{font-size:var(--text-sm)}
.input-group .input{padding-right:var(--control-h)}
.input-addon{width:var(--control-h)}
.form-grid-2{grid-template-columns:1fr 1fr}
.check-card{min-height:var(--control-h);padding:var(--space-2) var(--space-3)}
}

/* ---------- Bildirim kutusu ---------- */
.notice{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-sm);border:1px solid transparent}
.notice::before{font-family:"Font Awesome 6 Free";font-weight:900;flex:none;margin-top:1px}
.notice-danger{background:var(--danger-light);color:var(--danger-text);border-color:#FECACA}
.notice-danger::before{content:"\f06a"}
.notice-info{background:var(--primary-subtle);color:var(--sky-800);border-color:var(--primary-subtle-border)}
.notice-info::before{content:"\f05a"}
.notice-success{background:var(--success-light);color:var(--success-text);border-color:#A7F3D0}
.notice-success::before{content:"\f058"}

/* ---------- Rozet ---------- */
.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:var(--weight-medium);white-space:nowrap}
.badge [class*="fa-"]{font-size:10px}
.badge-neutral{background:var(--surface-sunken);color:var(--text-secondary)}
.badge-muted{background:var(--surface-sunken);color:var(--text-muted)}
.badge-success{background:var(--success-light);color:var(--success-text)}
.badge-warning{background:var(--warning-light);color:var(--warning-text)}
.badge-danger{background:var(--danger-light);color:var(--danger-text)}
.badge-info{background:var(--info-light);color:var(--info-text)}
.badge-accent{background:var(--accent-subtle);color:var(--accent-text)}

/* ---------- Kart ---------- */
.card{position:relative;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}
.card-clickable{cursor:pointer;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}
.card-clickable:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}
.rail{box-shadow:inset var(--rail-width) 0 0 var(--rail-color,transparent),var(--shadow-xs)}
.rail-high{--rail-color:var(--rail-high)}
.rail-urgent{--rail-color:var(--rail-urgent)}

/* ---------- Giriş ekranı ---------- */
.auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4)}
.auth-card{width:100%;max-width:420px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}
.auth-title{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-bold)}
.auth-desc{margin-top:var(--space-1);font-size:var(--text-md);line-height:var(--leading-md);color:var(--text-secondary)}
.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}
.auth-help{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--text-muted);text-align:center;border-top:1px solid var(--border-default);padding-top:var(--space-4)}
.auth-foot{margin-top:var(--space-5);font-size:var(--text-xs);color:var(--text-muted);text-align:center}
@media (max-width:420px){.auth-card{padding:var(--space-6) var(--space-5)}}

/* ---------- Uygulama kabuğu ---------- */
.topbar{position:sticky;top:0;z-index:var(--z-sticky);background:var(--surface-card);border-bottom:1px solid var(--border-default)}
.topbar-inner{max-width:1040px;margin:0 auto;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.container{max-width:1040px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-10);display:flex;flex-direction:column;gap:var(--space-5)}
@media (min-width:768px){.topbar-inner{padding:var(--space-3) var(--space-6)}.container{padding:var(--space-8) var(--space-6) var(--space-12)}}

.account{position:relative}
.account-btn{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-h-mobile);padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);background:none;font-family:var(--font-sans);color:var(--text-primary);cursor:pointer;text-align:left}
.account-btn:hover{background:var(--surface-sunken)}
.account-btn .fa-chevron-down{font-size:10px;color:var(--text-muted)}
.avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--primary-subtle);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-weight:var(--weight-semibold);font-size:var(--text-sm);flex:none}
.account-text{display:none;flex-direction:column;max-width:220px}
.account-text strong{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-text span{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width:640px){.account-text{display:flex}}
.menu{position:absolute;right:0;top:calc(100% + var(--space-1));min-width:220px;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:var(--z-dropdown)}
.menu-head{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--text-muted);border-bottom:1px solid var(--border-default);margin-bottom:var(--space-1)}
.menu-head strong{display:block;font-size:var(--text-sm);color:var(--text-primary)}
.menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:0 var(--space-3);height:40px;border:0;background:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;text-align:left}
.menu-item:hover,.menu-item:focus-visible{background:var(--surface-sunken)}
.menu-item [class*="fa-"]{width:16px;text-align:center;color:var(--text-muted)}
.menu-item-danger,.menu-item-danger [class*="fa-"]{color:var(--danger-text)}
.menu-divider{height:1px;background:var(--border-default);margin:var(--space-1) 0}

.page-header{display:flex;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}
.page-title{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-bold)}
.page-context{margin-top:var(--space-1);font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--text-muted)}
.page-header-actions{margin-left:auto;display:flex;gap:var(--space-2)}
@media (max-width:639px){.page-header-actions{display:none}}

/* ---------- Özet kartları ---------- */
.stats{display:grid;grid-template-columns:1fr;gap:var(--space-2)}
.stat-card{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);font:inherit;color:inherit;text-align:left}
.stat-icon{width:36px;height:36px;flex:none;border-radius:var(--radius-sm);background:var(--primary-subtle);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:15px}
.stat-icon-accent{background:var(--accent-subtle);color:var(--accent-text)}
.stat-icon-success{background:var(--success-light);color:var(--success-text)}
.stat-body{display:flex;flex-direction:column;min-width:0;flex:1}
.stat-label{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}
.stat-meta{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--text-muted)}
.stat-value{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--text-primary)}
.stat-card:hover{border-color:var(--primary)}
@media (min-width:640px){
.stats{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.stat-card{flex-direction:column;align-items:flex-start;padding:var(--space-4) var(--space-5);gap:var(--space-2)}
.stat-card .stat-icon{order:-1}
.stat-value{font-size:var(--text-3xl);line-height:var(--leading-3xl)}
}

/* ---------- Sekmeler ---------- */
.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-default)}
.tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h-mobile);padding:var(--space-2) var(--space-2);border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}
.tab:hover{color:var(--text-primary)}
.tab[aria-selected="true"]{color:var(--primary);border-bottom-color:var(--primary)}
.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-xs);font-variant-numeric:tabular-nums}
.tab[aria-selected="true"] .tab-count{background:var(--primary-subtle);color:var(--primary)}
.tab-count:empty{display:none}
@media (max-width:399px){.tab [class*="fa-"]{display:none}}
@media (min-width:640px){.tabs{gap:var(--space-4)}.tab{flex:none;padding:var(--space-2) var(--space-1)}}

/* ---------- Liste araç çubuğu ---------- */
.panel{display:flex;flex-direction:column;gap:var(--space-4)}
.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.segmented{display:inline-flex;background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-1)}
.seg-btn{min-height:36px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:none;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer}
.seg-btn[aria-pressed="true"]{background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-xs)}
.search{position:relative;flex:1;min-width:200px}
.search [class*="fa-"]{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--text-faint);font-size:13px;pointer-events:none}
.search .input{padding-left:36px}
.list-meta{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--text-muted)}
.list{display:flex;flex-direction:column;gap:var(--space-3)}
.list-more{display:flex;justify-content:center}
@media (max-width:639px){.toolbar .segmented{width:100%}.toolbar .seg-btn{flex:1}}

/* ---------- Kayıt kartı ---------- */
.item{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}
.item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}
.item-main{min-width:0;flex:1}
.item-title{font-size:var(--text-md);line-height:var(--leading-md);font-weight:var(--weight-semibold);overflow-wrap:anywhere}
.item-sub{margin-top:2px;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--text-muted)}
.item-desc{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--text-secondary);white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.item.is-expanded .item-desc{-webkit-line-clamp:unset;display:block}
.item-meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--text-muted)}
.item-meta [class*="fa-"]{margin-right:var(--space-1)}
.item-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-default)}
.link-btn{align-self:flex-start;border:0;background:none;padding:0;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-link);cursor:pointer}
.link-btn:hover{text-decoration:underline}
@media (min-width:768px){.item{padding:var(--space-4) var(--space-5)}}
@media (max-width:479px){.item-head{flex-direction:column-reverse;gap:var(--space-2)}}

/* Teklif tutarları */
.amounts{display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums}
.amount-main{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:var(--weight-bold);color:var(--text-primary)}
.amount-sub{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--text-muted)}
@media (max-width:479px){.item-foot .btn{width:100%}}

/* ---------- Durum blokları ---------- */
.state-block{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-10) var(--space-6)}
.state-icon{width:48px;height:48px;border-radius:var(--radius-full);background:var(--surface-sunken);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;font-size:20px}
.state-error .state-icon{background:var(--danger-light);color:var(--danger-text)}
.state-icon-success{background:var(--success-light);color:var(--success-text)}
.state-title{font-size:var(--text-md);line-height:var(--leading-md);font-weight:var(--weight-semibold)}
.state-desc{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--text-muted);max-width:380px}
.state-block .btn{margin-top:var(--space-2)}
.skeleton{background:var(--surface-sunken);border-radius:var(--radius-sm);animation:skeleton-pulse 1.5s var(--ease) infinite}
.skeleton-line{height:12px}
.skeleton-line.w-60{width:60%}.skeleton-line.w-40{width:40%}.skeleton-line.w-80{width:80%}
@keyframes skeleton-pulse{50%{opacity:.55}}
@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}

/* ---------- Yeni talep ---------- */
.form-card{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);max-width:720px}
.section-title{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold)}
.section-desc{margin-top:var(--space-1);font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--text-secondary)}
.form-actions{display:flex;justify-content:flex-end}
@media (max-width:639px){.form-actions .btn{width:100%}}
@media (min-width:768px){.form-card{padding:var(--space-6)}}
.done-card{max-width:720px;padding:var(--space-8) var(--space-5);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3)}
.done-title{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-bold)}
.done-ticket{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-bold);color:var(--brand-navy);letter-spacing:.02em;overflow-wrap:anywhere}
.done-desc{font-size:var(--text-md);line-height:var(--leading-md);color:var(--text-secondary);max-width:460px}
.done-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}

/* ---------- Modal ---------- */
.overlay{position:fixed;inset:0;background:rgb(15 23 42 / .5);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}
.modal{width:100%;max-width:440px;max-height:calc(100vh - 32px);overflow:auto;background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);z-index:var(--z-modal)}
.modal-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) 0}
.modal-title{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:var(--weight-semibold)}
.modal-icon{width:40px;height:40px;flex:none;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-size:16px;background:var(--primary-subtle);color:var(--primary)}
.modal-x{margin-left:auto}
.modal-body{padding:var(--space-4) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}
.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-default)}

/* ---------- Toast ---------- */
.toast-stack{position:fixed;top:var(--space-4);right:var(--space-4);left:var(--space-4);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);z-index:var(--z-toast);pointer-events:none}
.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--space-3);width:360px;max-width:100%;padding:var(--space-3) var(--space-4);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-sm);line-height:var(--leading-sm);animation:toast-in var(--duration-base) var(--ease)}
.toast-icon{flex:none;margin-top:2px;color:var(--info-text)}
.toast-success .toast-icon{color:var(--success-text)}
.toast-danger .toast-icon{color:var(--danger-text)}
@keyframes toast-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- Alt bilgi ---------- */
.app-foot{max-width:1040px;margin:0 auto;padding:0 var(--space-4) var(--space-8);font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--text-muted);text-align:center}
