/* ============================================================================
   FlowCMS — Vanilla CSS (Yön A: Klasik Koyu)
   Footprint: tüm sınıflar fl- prefix'iyle başlar
   ============================================================================ */

:root{
    /* Renk paleti */
    --fl-bg: #f5f4f0;
    --fl-bg-soft: #faf9f5;
    --fl-surface: #ffffff;
    --fl-border: #e2e0d8;
    --fl-border-strong: #c8c5b8;

    --fl-ink: #1a1c22;
    --fl-ink-soft: #4a4e69;
    --fl-muted: #8a817c;
    --fl-muted-soft: #b0ada3;

    --fl-sidebar: #14213d;
    --fl-sidebar-soft: #1f2c4a;
    --fl-sidebar-text: #c8cad1;
    --fl-sidebar-muted: #8a8d9b;

    --fl-accent: #fca311;
    --fl-accent-soft: #fdb84a;
    --fl-accent-bg: rgba(252,163,17,0.12);

    --fl-link: #0f4c5c;
    --fl-link-hover: #14213d;

    --fl-success: #1a7a5e;
    --fl-success-bg: #e6f5f0;
    --fl-success-border: #a8d9c8;

    --fl-warn: #b45309;
    --fl-warn-bg: #fef3e2;
    --fl-warn-border: #f9c97a;

    --fl-danger: #9e2a2b;
    --fl-danger-bg: #fdecea;
    --fl-danger-border: #f0b3b3;

    --fl-info: #065a82;
    --fl-info-bg: #eef4f8;
    --fl-info-border: #cfe0ec;

    /* Typography */
    --fl-font: 'Inter','Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
    --fl-mono: ui-monospace,'JetBrains Mono','SF Mono',Consolas,monospace;

    --fl-radius-sm: 6px;
    --fl-radius: 8px;
    --fl-radius-lg: 10px;
    --fl-radius-xl: 14px;

    --fl-shadow-sm: 0 1px 3px rgba(20,33,61,0.06);
    --fl-shadow: 0 2px 8px rgba(20,33,61,0.08);
    --fl-shadow-lg: 0 6px 20px rgba(20,33,61,0.10);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
    font-family:var(--fl-font);
    background:var(--fl-bg);
    color:var(--fl-ink);
    font-size:14px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

a{color:var(--fl-link);text-decoration:none;}
a:hover{color:var(--fl-link-hover);text-decoration:underline;}

code{font-family:var(--fl-mono);font-size:.88em;background:var(--fl-bg-soft);padding:.1em .35em;border-radius:4px;color:var(--fl-ink-soft);}
pre{font-family:var(--fl-mono);background:var(--fl-bg-soft);padding:1rem;border-radius:var(--fl-radius);overflow-x:auto;border:1px solid var(--fl-border);}
hr{border:none;border-top:1px solid var(--fl-border);margin:1.5rem 0;}

h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-0.015em;color:var(--fl-ink);margin:0 0 .6rem;}
h1{font-size:1.6rem;}
h2{font-size:1.3rem;}
h3{font-size:1.1rem;}
h4{font-size:1rem;}

p{margin:0 0 .9rem;}

/* ─── Admin layout ─────────────────────────────────────────────────────────── */

.fl-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh;}

.fl-sidebar{
    background:var(--fl-sidebar);
    color:var(--fl-sidebar-text);
    padding:1.25rem 0 1rem;
    display:flex;
    flex-direction:column;
    position:sticky;
    top:0;
    height:100vh;
    overflow-y:auto;
}

.fl-brand{padding:0 1.25rem 1.25rem;border-bottom:1px solid var(--fl-sidebar-soft);margin-bottom:1rem;}
.fl-brand-logo{font-size:1.2rem;font-weight:700;color:#fff;letter-spacing:-0.02em;display:flex;align-items:center;gap:.5rem;}
.fl-brand-logo .fl-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--fl-accent);color:var(--fl-sidebar);border-radius:6px;font-weight:700;font-size:.85rem;}
.fl-brand-sub{font-size:.7rem;color:var(--fl-sidebar-muted);margin-top:.25rem;letter-spacing:0.05em;}

.fl-nav-section{font-size:.65rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--fl-sidebar-muted);padding:.85rem 1.4rem .35rem;font-weight:600;}
.fl-nav-item{display:flex;align-items:center;gap:.6rem;padding:.55rem 1.25rem;font-size:.85rem;color:var(--fl-sidebar-text);text-decoration:none;border-left:2px solid transparent;transition:background .15s,color .15s,border-color .15s;}
.fl-nav-item:hover{background:var(--fl-sidebar-soft);color:#fff;text-decoration:none;}
.fl-nav-item.is-active{background:var(--fl-accent-bg);border-left-color:var(--fl-accent);color:var(--fl-accent);font-weight:500;}
.fl-nav-item i{font-size:.95rem;width:18px;text-align:center;}

.fl-sidebar-footer{margin-top:auto;padding:1rem 1.25rem .25rem;border-top:1px solid var(--fl-sidebar-soft);}
.fl-user-chip{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--fl-sidebar-text);}
.fl-avatar{width:32px;height:32px;background:var(--fl-accent);color:var(--fl-sidebar);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.8rem;}
.fl-user-chip .fl-user-meta{flex:1;min-width:0;}
.fl-user-chip .fl-user-name{color:#fff;font-weight:500;line-height:1.1;}
.fl-user-chip .fl-user-role{color:var(--fl-sidebar-muted);font-size:.7rem;margin-top:.1rem;}
.fl-logout{color:var(--fl-sidebar-muted);font-size:1rem;padding:.4rem;border-radius:var(--fl-radius-sm);}
.fl-logout:hover{background:var(--fl-sidebar-soft);color:#fff;}

.fl-main{padding:0;overflow-x:hidden;}

.fl-topbar{
    background:var(--fl-surface);
    border-bottom:1px solid var(--fl-border);
    padding:.85rem 1.5rem;
    display:flex;
    align-items:center;
    gap:1rem;
    position:sticky;
    top:0;
    z-index:50;
}
.fl-topbar-title{font-size:.95rem;font-weight:600;color:var(--fl-ink);}
.fl-topbar-actions{margin-left:auto;display:flex;gap:.5rem;align-items:center;}

.fl-content{padding:1.5rem;max-width:1400px;}

/* ─── Cards ────────────────────────────────────────────────────────────────── */

.fl-card{background:var(--fl-surface);border:1px solid var(--fl-border);border-radius:var(--fl-radius-lg);overflow:hidden;}
.fl-card + .fl-card{margin-top:1rem;}
.fl-card-header{
    background:var(--fl-bg-soft);
    padding:.7rem 1.1rem;
    border-bottom:1px solid var(--fl-border);
    display:flex;
    align-items:center;
    gap:.5rem;
    font-size:.85rem;
    font-weight:600;
    color:var(--fl-sidebar);
}
.fl-card-header i{color:var(--fl-accent);}
.fl-card-body{padding:1.1rem;}
.fl-card-foot{padding:.75rem 1.1rem;border-top:1px solid var(--fl-border);background:var(--fl-bg-soft);}

/* ─── Forms ────────────────────────────────────────────────────────────────── */

.fl-field{display:flex;flex-direction:column;gap:.35rem;}
.fl-field + .fl-field{margin-top:.85rem;}
.fl-label{font-size:.78rem;font-weight:500;color:var(--fl-ink-soft);}
.fl-label-sub{color:var(--fl-muted);font-weight:400;font-size:.72rem;}

.fl-input,.fl-select,.fl-textarea{
    width:100%;
    font-family:var(--fl-font);
    font-size:.88rem;
    background:var(--fl-bg-soft);
    border:1px solid var(--fl-border);
    border-radius:var(--fl-radius);
    padding:.5rem .75rem;
    color:var(--fl-ink);
    transition:border-color .15s,background .15s,box-shadow .15s;
}
.fl-input:hover,.fl-textarea:hover,.fl-select:hover{border-color:var(--fl-border-strong);}
.fl-input:focus,.fl-textarea:focus,.fl-select:focus{outline:none;border-color:var(--fl-sidebar);background:var(--fl-surface);box-shadow:0 0 0 3px rgba(20,33,61,0.08);}
.fl-textarea{resize:vertical;font-family:var(--fl-font);min-height:80px;line-height:1.5;}
.fl-textarea-lg{min-height:160px;}
.fl-textarea-xl{min-height:300px;font-family:var(--fl-mono);font-size:.85rem;}

.fl-check{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;cursor:pointer;color:var(--fl-ink-soft);}
.fl-check input[type="checkbox"]{accent-color:var(--fl-sidebar);width:15px;height:15px;cursor:pointer;}

/* ─── Buttons ──────────────────────────────────────────────────────────────── */

.fl-btn{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    font-family:var(--fl-font);
    font-size:.83rem;
    font-weight:500;
    padding:.5rem 1rem;
    border:1px solid transparent;
    border-radius:var(--fl-radius);
    background:var(--fl-bg-soft);
    color:var(--fl-ink);
    cursor:pointer;
    text-decoration:none;
    transition:all .15s;
    line-height:1;
}
.fl-btn:hover{text-decoration:none;}
.fl-btn-primary{background:var(--fl-sidebar);color:#fff;border-color:var(--fl-sidebar);}
.fl-btn-primary:hover{background:#0f1a30;border-color:#0f1a30;color:#fff;}
.fl-btn-accent{background:var(--fl-accent);color:var(--fl-sidebar);border-color:var(--fl-accent);font-weight:600;}
.fl-btn-accent:hover{background:var(--fl-accent-soft);color:var(--fl-sidebar);}
.fl-btn-ghost{background:transparent;color:var(--fl-ink-soft);border-color:var(--fl-border);}
.fl-btn-ghost:hover{background:var(--fl-bg-soft);color:var(--fl-ink);border-color:var(--fl-border-strong);}
.fl-btn-danger{background:var(--fl-surface);color:var(--fl-danger);border-color:var(--fl-danger-border);}
.fl-btn-danger:hover{background:var(--fl-danger-bg);}
.fl-btn-sm{padding:.32rem .7rem;font-size:.75rem;}
.fl-btn-lg{padding:.7rem 1.4rem;font-size:.92rem;}

/* ─── Alerts ───────────────────────────────────────────────────────────────── */

.fl-alert{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem 1rem;border-radius:var(--fl-radius);font-size:.85rem;line-height:1.5;border:1px solid;margin-bottom:1rem;}
.fl-alert i{font-size:1.05rem;flex-shrink:0;margin-top:.05rem;}
.fl-alert-success{background:var(--fl-success-bg);border-color:var(--fl-success-border);color:var(--fl-success);}
.fl-alert-warn{background:var(--fl-warn-bg);border-color:var(--fl-warn-border);color:var(--fl-warn);}
.fl-alert-danger{background:var(--fl-danger-bg);border-color:var(--fl-danger-border);color:var(--fl-danger);}
.fl-alert-info{background:var(--fl-info-bg);border-color:var(--fl-info-border);color:var(--fl-info);}

/* ─── Badges & Chips ───────────────────────────────────────────────────────── */

.fl-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;padding:.18rem .55rem;border-radius:99px;}
.fl-badge-soft{background:var(--fl-bg-soft);color:var(--fl-ink-soft);border:1px solid var(--fl-border);}
.fl-badge-accent{background:var(--fl-accent-bg);color:#a06a00;border:1px solid rgba(252,163,17,0.3);}
.fl-badge-info{background:var(--fl-info-bg);color:var(--fl-info);border:1px solid var(--fl-info-border);}
.fl-badge-success{background:var(--fl-success-bg);color:var(--fl-success);border:1px solid var(--fl-success-border);}
.fl-badge-warn{background:var(--fl-warn-bg);color:var(--fl-warn);border:1px solid var(--fl-warn-border);}

/* ─── Tables ───────────────────────────────────────────────────────────────── */

.fl-table-wrap{background:var(--fl-surface);border:1px solid var(--fl-border);border-radius:var(--fl-radius-lg);overflow:hidden;}
.fl-table{width:100%;border-collapse:collapse;font-size:.86rem;}
.fl-table thead th{background:var(--fl-bg-soft);text-align:left;padding:.65rem .9rem;font-weight:600;color:var(--fl-sidebar);font-size:.78rem;text-transform:uppercase;letter-spacing:0.04em;border-bottom:1px solid var(--fl-border);}
.fl-table tbody td{padding:.7rem .9rem;border-bottom:1px solid var(--fl-border);vertical-align:middle;}
.fl-table tbody tr:last-child td{border-bottom:none;}
.fl-table tbody tr:hover{background:var(--fl-bg-soft);}
.fl-table-actions{display:flex;gap:.35rem;}

/* ─── Pagination (with line wrap) ──────────────────────────────────────────── */

.fl-pagination{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center;padding:1rem 0;}
.fl-page{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 .55rem;font-size:.8rem;border:1px solid var(--fl-border);border-radius:var(--fl-radius-sm);color:var(--fl-ink-soft);background:var(--fl-surface);text-decoration:none;}
.fl-page:hover{background:var(--fl-bg-soft);border-color:var(--fl-border-strong);text-decoration:none;}
.fl-page.is-active{background:var(--fl-sidebar);color:#fff;border-color:var(--fl-sidebar);font-weight:600;}
.fl-page.is-disabled{opacity:.4;pointer-events:none;}

/* ─── Modal (post-streaming) ───────────────────────────────────────────────── */

.fl-modal-back{position:fixed;inset:0;background:rgba(20,33,61,0.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;}
.fl-modal{background:var(--fl-surface);border-radius:var(--fl-radius-lg);max-width:520px;width:100%;box-shadow:var(--fl-shadow-lg);overflow:hidden;}
.fl-modal-head{padding:.9rem 1.2rem;border-bottom:1px solid var(--fl-border);font-weight:600;display:flex;justify-content:space-between;align-items:center;}
.fl-modal-body{padding:1.2rem;}
.fl-modal-foot{padding:.8rem 1.2rem;border-top:1px solid var(--fl-border);display:flex;justify-content:flex-end;gap:.5rem;background:var(--fl-bg-soft);}

/* ─── Misc ─────────────────────────────────────────────────────────────────── */

.fl-stack{display:flex;flex-direction:column;gap:1rem;}
.fl-row{display:flex;flex-wrap:wrap;gap:1rem;}
.fl-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
.fl-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.fl-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
@media(max-width:900px){.fl-grid-2,.fl-grid-3,.fl-grid-4{grid-template-columns:1fr;}}

.fl-text-muted{color:var(--fl-muted);}
.fl-text-soft{color:var(--fl-ink-soft);}
.fl-text-sm{font-size:.78rem;}
.fl-text-xs{font-size:.7rem;}
.fl-text-right{text-align:right;}
.fl-text-center{text-align:center;}

.fl-mt-0{margin-top:0;}.fl-mt-1{margin-top:.5rem;}.fl-mt-2{margin-top:1rem;}.fl-mt-3{margin-top:1.5rem;}.fl-mt-4{margin-top:2rem;}
.fl-mb-0{margin-bottom:0;}.fl-mb-1{margin-bottom:.5rem;}.fl-mb-2{margin-bottom:1rem;}.fl-mb-3{margin-bottom:1.5rem;}

.fl-flex{display:flex;}.fl-flex-1{flex:1;}.fl-items-center{align-items:center;}.fl-justify-end{justify-content:flex-end;}.fl-justify-between{justify-content:space-between;}
.fl-gap-1{gap:.5rem;}.fl-gap-2{gap:1rem;}

.fl-divider{height:1px;background:var(--fl-border);margin:1rem 0;}

/* Stats / metric cards */
.fl-stat{background:var(--fl-surface);border:1px solid var(--fl-border);border-radius:var(--fl-radius-lg);padding:1rem 1.2rem;}
.fl-stat-label{font-size:.72rem;color:var(--fl-muted);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:.35rem;}
.fl-stat-value{font-size:1.7rem;font-weight:700;color:var(--fl-sidebar);letter-spacing:-0.02em;line-height:1;}
.fl-stat-foot{font-size:.72rem;color:var(--fl-muted);margin-top:.35rem;}

/* Login screen */
.fl-login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--fl-bg);}
.fl-login-card{background:var(--fl-surface);border:1px solid var(--fl-border);border-radius:var(--fl-radius-xl);width:100%;max-width:380px;padding:2rem 2.2rem;box-shadow:var(--fl-shadow);}
.fl-login-card h1{font-size:1.3rem;text-align:center;margin-bottom:.2rem;}
.fl-login-sub{text-align:center;color:var(--fl-muted);font-size:.82rem;margin-bottom:1.5rem;}

/* Mobile sidebar */
@media(max-width:780px){
    .fl-shell{grid-template-columns:1fr;}
    .fl-sidebar{position:static;height:auto;}
    .fl-content{padding:1rem;}
}

/* Site frontend (basic — full set in Faz 3) */
.fl-site-wrap{max-width:1100px;margin:0 auto;padding:0 1rem;}
.fl-site-header{background:var(--fl-sidebar);color:#fff;padding:1.1rem 0;}
.fl-site-header a{color:#fff;}
.fl-site-footer{background:var(--fl-sidebar);color:var(--fl-sidebar-text);padding:2rem 0 1.5rem;margin-top:3rem;}
.fl-img-fluid{max-width:100%;height:auto;}
