:root {
    --iq-navy: #082a57;
    --iq-navy-2: #0b376f;
    --iq-blue: #1468d4;
    --iq-blue-2: #2189e7;
    --iq-cyan: #2aa8ef;
    --iq-soft: #eaf3ff;
    --iq-bg: #f3f7fc;
    --iq-surface: #ffffff;
    --iq-text: #14233a;
    --iq-muted: #70839d;
    --iq-border: #dce6f2;
    --iq-success: #16896b;
    --iq-warning: #d98b18;
    --iq-danger: #d74655;
    --iq-radius: 16px;
    --iq-shadow: 0 12px 34px rgba(15, 55, 105, .09);
    --iq-shadow-sm: 0 5px 18px rgba(15, 55, 105, .07);
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body {
    min-height: 100vh;
    margin: 0;
    color: var(--iq-text);
    background: var(--iq-bg);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
a { color: var(--iq-blue); }

.app-shell { min-height: 100vh; display: flex; }
.app-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1040;
    width: 270px;
    display: flex;
    flex-direction: column;
    color: #d9e8fb;
    background:
        radial-gradient(circle at 15% 0, rgba(42,168,239,.22), transparent 28%),
        linear-gradient(180deg, #092e60 0%, #071f42 100%);
    box-shadow: 14px 0 38px rgba(5, 30, 68, .12);
    transition: transform .22s ease;
}
.sidebar-brand {
    min-height: 91px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 22px 16px;
    border-bottom: 1px solid rgba(255,255,255,.09);
    text-decoration: none;
    color: #fff;
}
.brand-mark {
    width: 47px; height: 47px; flex: 0 0 47px;
    display: grid; place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #1f82e8, #2ab1ee);
    box-shadow: 0 8px 24px rgba(42,168,239,.24);
}
.brand-mark svg { width: 33px; height: 33px; }
.brand-copy { min-width: 0; }
.brand-copy strong { display:block; color:#fff; font-size:1.06rem; letter-spacing:.1px; }
.brand-copy small { display:block; color:#88b2e3; font-size:.65rem; font-weight:700; letter-spacing:1.7px; margin-top:2px; }
.sidebar-company {
    margin: 16px 14px 7px;
    padding: 13px 14px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 13px;
    background: rgba(255,255,255,.055);
}
.sidebar-company small { display:block; color:#83a8d3; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.8px; }
.sidebar-company strong { display:block; margin-top:4px; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:.91rem; }
.sidebar-company span { display:block; margin-top:2px; color:#a9c3e2; font-size:.73rem; }
.sidebar-scroll { padding: 5px 12px 18px; overflow-y:auto; overflow-x:hidden; flex:1; }
.nav-section-label { padding: 16px 12px 7px; color:#668db9; font-size:.65rem; font-weight:800; letter-spacing:1.25px; text-transform:uppercase; }
.iq-nav-link {
    display:flex; align-items:center; gap:11px;
    padding:10px 12px;
    margin:2px 0;
    color:#b9cde5;
    border-radius:11px;
    text-decoration:none;
    font-size:.87rem;
    font-weight:600;
    transition: .17s ease;
}
.iq-nav-link svg { width:19px; height:19px; flex:0 0 19px; opacity:.82; }
.iq-nav-link:hover { color:#fff; background:rgba(255,255,255,.07); transform:translateX(2px); }
.iq-nav-link.active { color:#fff; background:linear-gradient(135deg, rgba(31,130,232,.95), rgba(42,168,239,.78)); box-shadow:0 8px 20px rgba(8, 47, 103, .32); }
.iq-nav-link.active svg { opacity:1; }
.sidebar-footer { padding:15px 22px 20px; border-top:1px solid rgba(255,255,255,.08); }
.sidebar-footer strong { display:block; font-size:.76rem; color:#dceaff; }
.sidebar-footer span { display:block; font-size:.66rem; color:#668db9; margin-top:2px; }

.app-main { margin-left:270px; min-width:0; flex:1; }
.app-topbar {
    position:sticky; top:0; z-index:1030;
    min-height:76px;
    display:flex; align-items:center; justify-content:space-between;
    gap:16px;
    padding:13px 28px;
    background:rgba(255,255,255,.94);
    border-bottom:1px solid var(--iq-border);
    backdrop-filter: blur(12px);
}
.topbar-left { min-width:0; display:flex; align-items:center; gap:13px; }
.mobile-menu-btn { display:none; width:42px; height:42px; border:1px solid var(--iq-border); border-radius:11px; background:#fff; color:var(--iq-navy); }
.page-context { min-width:0; }
.page-context strong { display:block; font-size:.96rem; color:var(--iq-navy); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:500px; }
.page-context span { display:block; margin-top:2px; color:var(--iq-muted); font-size:.74rem; }
.topbar-actions { display:flex; align-items:center; gap:9px; }
.company-switch {
    display:inline-flex; align-items:center; gap:7px;
    min-height:39px; padding:8px 12px;
    color:var(--iq-blue); background:var(--iq-soft);
    border:1px solid #d6e8ff; border-radius:11px;
    text-decoration:none; font-size:.78rem; font-weight:700;
}
.user-menu { display:flex; align-items:center; gap:9px; padding-left:7px; }
.user-avatar { width:39px; height:39px; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,var(--iq-blue),var(--iq-cyan)); border-radius:12px; font-size:.8rem; font-weight:800; }
.user-copy strong { display:block; max-width:160px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:.78rem; color:var(--iq-navy); }
.user-copy span { display:block; color:var(--iq-muted); font-size:.68rem; }
.logout-link { display:grid; place-items:center; width:39px; height:39px; border:1px solid #f2dce0; color:var(--iq-danger); background:#fff7f8; border-radius:11px; }
.logout-link svg { width:18px; height:18px; }
.app-content { padding:27px 28px 45px; min-height:calc(100vh - 76px); }

.public-shell { min-height:100vh; }
.public-content { min-height:100vh; }
.auth-page {
    min-height:100vh; display:grid; grid-template-columns:minmax(360px, .9fr) minmax(440px, 1.15fr);
    background:#fff;
}
.auth-panel { display:flex; align-items:center; justify-content:center; padding:48px 42px; }
.auth-card { width:100%; max-width:440px; }
.auth-logo { width:258px; max-width:100%; height:auto; margin-bottom:34px; }
.auth-title { font-size:1.72rem; font-weight:800; color:var(--iq-navy); letter-spacing:-.4px; }
.auth-subtitle { color:var(--iq-muted); margin:7px 0 27px; }
.auth-aside {
    position:relative; overflow:hidden;
    display:flex; align-items:flex-end;
    padding:54px;
    color:#fff;
    background:
       radial-gradient(circle at 70% 20%, rgba(65,189,250,.42), transparent 27%),
       radial-gradient(circle at 12% 80%, rgba(37,119,225,.3), transparent 32%),
       linear-gradient(145deg,#082a57 0%,#0c4b96 54%,#1484d7 100%);
}
.auth-aside:before,.auth-aside:after { content:""; position:absolute; border:1px solid rgba(255,255,255,.12); border-radius:32px; transform:rotate(-12deg); }
.auth-aside:before { width:460px; height:460px; right:-130px; top:-90px; }
.auth-aside:after { width:290px; height:290px; left:-80px; bottom:-70px; }
.auth-aside-content { position:relative; z-index:1; max-width:560px; }
.auth-aside h1 { font-size:clamp(2rem,4vw,3.4rem); line-height:1.04; font-weight:800; letter-spacing:-1.5px; }
.auth-aside p { margin:17px 0 0; max-width:480px; color:#cee5ff; font-size:1rem; line-height:1.7; }
.auth-features { display:flex; flex-wrap:wrap; gap:9px; margin-top:25px; }
.auth-feature { padding:8px 11px; border:1px solid rgba(255,255,255,.18); border-radius:10px; background:rgba(255,255,255,.08); font-size:.76rem; font-weight:700; }
.owner-note { margin-top:38px; color:#9ecbf6; font-size:.72rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }

.page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:22px; }
.page-heading h1,.page-heading h2,.page-heading h3 { margin:0; font-weight:800; color:var(--iq-navy); letter-spacing:-.45px; }
.page-heading p { margin:6px 0 0; color:var(--iq-muted); font-size:.88rem; }
.section-title { font-weight:800; color:var(--iq-navy); }

.card {
    border:1px solid rgba(220,230,242,.9);
    border-radius:var(--iq-radius);
    background:var(--iq-surface);
    box-shadow:var(--iq-shadow-sm);
}
.card-header { border-bottom:1px solid var(--iq-border); background:#fff; border-radius:var(--iq-radius) var(--iq-radius) 0 0 !important; }
.metric-card { position:relative; overflow:hidden; min-height:146px; padding:21px; }
.metric-card:after { content:""; position:absolute; right:-32px; top:-38px; width:115px; height:115px; border-radius:50%; background:var(--metric-soft,#eaf3ff); }
.metric-icon { position:relative; z-index:1; width:43px; height:43px; display:grid; place-items:center; color:var(--metric-color,var(--iq-blue)); background:var(--metric-soft,#eaf3ff); border-radius:12px; }
.metric-icon svg { width:22px; height:22px; }
.metric-label { margin-top:17px; color:var(--iq-muted); font-size:.75rem; font-weight:700; }
.metric-value { margin-top:2px; color:var(--iq-navy); font-size:1.72rem; line-height:1.2; font-weight:800; letter-spacing:-.5px; }
.metric-foot { margin-top:7px; color:#8a9bb1; font-size:.68rem; }

.quick-action { height:100%; padding:18px; display:flex; gap:13px; text-decoration:none; transition:.18s ease; }
.quick-action:hover { transform:translateY(-2px); box-shadow:var(--iq-shadow); }
.quick-icon { width:44px; height:44px; display:grid; place-items:center; flex:0 0 44px; color:var(--iq-blue); background:var(--iq-soft); border-radius:12px; }
.quick-icon svg { width:22px; height:22px; }
.quick-action strong { display:block; color:var(--iq-navy); font-size:.85rem; }
.quick-action span { display:block; margin-top:4px; color:var(--iq-muted); font-size:.72rem; line-height:1.45; }

.btn { border-radius:10px; font-weight:700; font-size:.82rem; min-height:40px; }
.btn-sm { min-height:32px; border-radius:9px; font-size:.74rem; }
.btn-primary { border-color:var(--iq-blue); background:linear-gradient(135deg,var(--iq-blue),#1e85e5); box-shadow:0 7px 17px rgba(20,104,212,.19); }
.btn-primary:hover { border-color:#0e59bd; background:linear-gradient(135deg,#0e59bd,#1874d0); }
.btn-success { border-color:var(--iq-success); background:var(--iq-success); }
.btn-outline-primary { color:var(--iq-blue); border-color:#9bc6f6; }
.btn-outline-primary:hover { background:var(--iq-blue); border-color:var(--iq-blue); }
.btn-outline-secondary { color:#5d718d; border-color:#cfdbea; }
.btn-outline-danger { color:var(--iq-danger); border-color:#efbdc5; }
.form-control,.form-select {
    min-height:42px;
    border:1px solid #cfdae8;
    border-radius:10px;
    color:var(--iq-text);
    background-color:#fff;
    font-size:.84rem;
}
.form-control:focus,.form-select:focus { border-color:#69aaf0; box-shadow:0 0 0 .2rem rgba(20,104,212,.12); }
.form-label { color:#53677f; font-size:.73rem; font-weight:700; margin-bottom:6px; }
.input-group-text { border-color:#cfdae8; background:#f4f8fd; }

.table { color:var(--iq-text); font-size:.8rem; margin-bottom:0; }
.table > :not(caption) > * > * { padding:.78rem .72rem; border-bottom-color:#e7edf5; vertical-align:middle; }
.table thead th { color:#607590; background:#f7faff; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.45px; border-bottom:1px solid var(--iq-border); white-space:nowrap; }
.table tbody tr:hover { background:#f8fbff; }
.table-responsive { border-radius:12px; }
.money { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }

.badge { border-radius:8px; padding:.48em .65em; font-weight:700; }
.badge-soft-primary { color:#0e5dbd; background:#e5f1ff; }
.badge-soft-success { color:#0f735a; background:#e5f7f1; }
.badge-soft-warning { color:#a5650b; background:#fff3dd; }
.badge-soft-danger { color:#b73243; background:#ffe9ec; }
.alert { border:0; border-radius:12px; font-size:.82rem; box-shadow:var(--iq-shadow-sm); }
.alert-success { color:#11684f; background:#eaf8f3; }
.alert-warning { color:#885914; background:#fff7e8; }
.alert-danger { color:#a62f3c; background:#ffedef; }
.alert-info { color:#135d91; background:#eaf6ff; }

.company-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:17px; }
.company-card { position:relative; overflow:hidden; padding:21px; min-height:190px; display:flex; flex-direction:column; }
.company-card:before { content:""; position:absolute; height:5px; inset:0 0 auto; background:linear-gradient(90deg,var(--iq-blue),var(--iq-cyan)); }
.company-card .company-type { display:inline-flex; width:max-content; padding:5px 8px; border-radius:7px; color:#0e5dbd; background:#e7f2ff; font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.55px; }
.company-card h3 { margin:18px 0 4px; font-size:1.05rem; color:var(--iq-navy); font-weight:800; }
.company-card p { color:var(--iq-muted); font-size:.76rem; }
.company-card .btn { margin-top:auto; }

.admin-tile { position:relative; overflow:hidden; min-height:162px; padding:21px; text-decoration:none; display:block; transition:.18s ease; }
.admin-tile:hover { transform:translateY(-3px); box-shadow:var(--iq-shadow); }
.admin-tile-icon { width:45px; height:45px; display:grid; place-items:center; border-radius:13px; color:var(--iq-blue); background:var(--iq-soft); }
.admin-tile-icon svg { width:23px; height:23px; }
.admin-tile h3 { margin:16px 0 5px; font-size:.92rem; font-weight:800; color:var(--iq-navy); }
.admin-tile p { margin:0; color:var(--iq-muted); font-size:.73rem; line-height:1.45; }

.upload-zone { position:relative; padding:28px; text-align:center; border:1.5px dashed #9fc6ef; border-radius:14px; background:#f6faff; }
.upload-zone input[type=file] { max-width:540px; margin:0 auto; }
.upload-zone-icon { width:55px; height:55px; margin:0 auto 12px; display:grid; place-items:center; color:var(--iq-blue); background:#e4f1ff; border-radius:16px; }
.upload-zone-icon svg { width:28px; height:28px; }
.upload-zone h4 { color:var(--iq-navy); font-size:.96rem; font-weight:800; }
.upload-zone p { color:var(--iq-muted); font-size:.75rem; }
.maintenance-status { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.status-box { padding:14px; border:1px solid var(--iq-border); border-radius:12px; background:#f9fbfe; }
.status-box small { display:block; color:var(--iq-muted); font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
.status-box strong { display:block; margin-top:4px; color:var(--iq-navy); font-size:.86rem; }
.code-note { padding:12px 14px; color:#cce5ff; background:#082a57; border-radius:11px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.72rem; overflow:auto; }

.empty-state { padding:42px 20px; text-align:center; }
.empty-state-icon { width:59px; height:59px; display:grid; place-items:center; margin:0 auto 13px; color:var(--iq-blue); background:var(--iq-soft); border-radius:18px; }
.empty-state h3 { font-size:.95rem; font-weight:800; color:var(--iq-navy); }
.empty-state p { color:var(--iq-muted); font-size:.77rem; }

.app-footer { padding:19px 28px 26px; color:#8294aa; font-size:.68rem; display:flex; justify-content:space-between; gap:12px; }
.app-footer strong { color:#59708d; }
.sidebar-backdrop { display:none; }

@media (max-width: 1100px) {
    .app-sidebar { transform:translateX(-100%); }
    body.sidebar-open .app-sidebar { transform:translateX(0); }
    .app-main { margin-left:0; }
    .mobile-menu-btn { display:grid; place-items:center; }
    .sidebar-backdrop { position:fixed; inset:0; z-index:1035; background:rgba(4,24,52,.46); }
    body.sidebar-open .sidebar-backdrop { display:block; }
}
@media (max-width: 760px) {
    .app-topbar { padding:10px 15px; min-height:68px; }
    .app-content { padding:20px 14px 36px; }
    .company-switch span,.user-copy { display:none; }
    .auth-page { grid-template-columns:1fr; }
    .auth-aside { display:none; }
    .auth-panel { padding:32px 20px; }
    .maintenance-status { grid-template-columns:1fr; }
    .page-heading { align-items:flex-start; flex-direction:column; }
    .app-footer { padding:15px; flex-direction:column; }
}

@media print {
    .app-sidebar,.app-topbar,.app-footer,.no-print,.btn { display:none !important; }
    .app-main { margin-left:0 !important; }
    .app-content { padding:0 !important; }
    body { background:#fff !important; }
    .card { border:0 !important; box-shadow:none !important; }
    .print-area { width:100%; }
}
.select-page { min-height:100vh; background:var(--iq-bg); }
.select-topbar { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 28px; background:#fff; border-bottom:1px solid var(--iq-border); }
.select-brand img { width:215px; height:auto; }
.select-content { max-width:1180px; margin:0 auto; padding:44px 24px 60px; }
.select-user { display:flex; align-items:center; gap:11px; color:var(--iq-muted); font-size:.76rem; }
.select-user strong { color:var(--iq-navy); }
@media (max-width:760px) { .select-topbar { padding:11px 15px; } .select-brand img { width:175px; } .select-content { padding:30px 14px; } }

/* v2.1.0 - dönem, puantaj ve kümülatif matrah */
.period-switch {
    display:inline-flex; align-items:center; gap:7px;
    min-height:39px; padding:8px 12px;
    color:#fff; background:linear-gradient(135deg,var(--iq-blue),var(--iq-cyan));
    border:1px solid transparent; border-radius:11px;
    text-decoration:none; font-size:.78rem; font-weight:800;
    box-shadow:0 7px 17px rgba(20,104,212,.18);
}
.period-switch:hover { color:#fff; filter:brightness(.97); }
.period-switch svg,.company-switch svg { width:17px; height:17px; }
.period-year-picker { display:flex; align-items:end; gap:8px; }
.period-year-picker label { display:block; margin-bottom:5px; color:var(--iq-muted); font-size:.72rem; font-weight:800; }
.period-year-picker .form-select { min-width:125px; }
.period-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:16px; }
.period-card { padding:19px; min-height:218px; transition:.18s ease; }
.period-card:hover { transform:translateY(-2px); box-shadow:var(--iq-shadow); }
.period-card.is-current { border-color:#9bc6f6; box-shadow:0 12px 30px rgba(20,104,212,.12); }
.period-card-top { display:flex; justify-content:space-between; align-items:center; }
.period-number { width:43px; height:43px; display:grid; place-items:center; border-radius:12px; color:var(--iq-blue); background:var(--iq-soft); font-weight:900; }
.period-card h3 { margin:16px 0 13px; color:var(--iq-navy); font-size:1.05rem; font-weight:800; }
.period-state-list { display:grid; gap:8px; margin-bottom:18px; color:var(--iq-muted); font-size:.73rem; }
.period-state-list span { display:flex; align-items:center; gap:7px; }
.period-state-list svg { width:16px; height:16px; color:var(--iq-blue); }
.period-state-list strong { color:var(--iq-text); }

.attendance-card { overflow:hidden; }
.attendance-toolbar,.attendance-footer { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:15px 17px; background:#fff; }
.attendance-toolbar { border-bottom:1px solid var(--iq-border); }
.attendance-footer { border-top:1px solid var(--iq-border); color:var(--iq-muted); font-size:.72rem; }
.attendance-toolbar strong { display:block; color:var(--iq-navy); font-size:.9rem; }
.attendance-toolbar span { display:block; margin-top:2px; color:var(--iq-muted); font-size:.7rem; }
.attendance-table-wrap { max-height:calc(100vh - 260px); min-height:420px; overflow:auto; position:relative; }
.attendance-table { min-width:2750px; border-collapse:separate; border-spacing:0; }
.attendance-table thead { position:sticky; top:0; z-index:9; }
.attendance-table thead th { background:#f4f8fd; box-shadow:inset 0 -1px 0 var(--iq-border); }
.attendance-table thead tr:first-child th { top:0; }
.attendance-table thead tr:nth-child(2) th { top:41px; }
.attendance-table .group-work { background:#eaf3ff; color:#125bac; }
.attendance-table .group-overtime { background:#edf8ff; color:#15729a; }
.attendance-table .group-earnings { background:#eaf8f3; color:#126b53; }
.attendance-table .group-deductions { background:#fff2f3; color:#ad3d4b; }
.attendance-table .attendance-input { min-width:88px; min-height:34px; padding:.35rem .45rem; font-size:.73rem; border-radius:8px; }
.attendance-table .code-input { min-width:92px; }
.attendance-table .note-input { min-width:180px; }
.attendance-table .money-input { min-width:112px; }
.attendance-table td { background:#fff; }
.attendance-table tbody tr:nth-child(even) td { background:#fbfdff; }
.sticky-col { position:sticky; z-index:7; background:#fff !important; }
.sticky-col-1 { left:0; min-width:88px; max-width:88px; }
.sticky-col-2 { left:88px; min-width:210px; max-width:210px; box-shadow:6px 0 12px rgba(26,65,111,.06); }
.attendance-table thead .sticky-col { z-index:12; background:#f4f8fd !important; }
.sticky-col-2 small { display:block; color:var(--iq-muted); font-size:.66rem; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.calculation-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.calculation-flow > div { position:relative; min-height:112px; padding:16px; border:1px solid var(--iq-border); border-radius:13px; background:#f9fbfe; }
.calculation-flow > div > span { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:#fff; background:var(--iq-blue); font-size:.72rem; font-weight:900; }
.calculation-flow strong { display:block; margin-top:11px; color:var(--iq-navy); font-size:.82rem; }
.calculation-flow small { display:block; margin-top:4px; color:var(--iq-muted); font-size:.68rem; line-height:1.45; }

.tax-legend { display:flex; flex-wrap:wrap; gap:12px; color:var(--iq-muted); font-size:.7rem; }
.tax-legend span { display:flex; align-items:center; gap:6px; }
.tax-legend i { width:10px; height:10px; border-radius:3px; background:#eaf8f3; }
.tax-legend i.stale { background:#fff0d9; }
.tax-base-wrap { max-height:68vh; }
.tax-base-table { min-width:1900px; border-collapse:separate; border-spacing:0; }
.tax-base-table thead { position:sticky; top:0; z-index:8; }
.tax-base-table .sticky-col-1 { min-width:88px; max-width:88px; }
.tax-base-table .sticky-col-2 { min-width:210px; max-width:210px; }
.tax-cell { min-width:118px; text-align:right; font-variant-numeric:tabular-nums; }
.tax-cell strong { display:block; color:var(--iq-text); font-size:.74rem; }
.tax-cell small { display:block; margin-top:3px; color:var(--iq-muted); font-size:.64rem; }
.tax-cell.is-stale { background:#fff7e8 !important; }
.tax-cell.is-stale strong { color:#a5650b; }
.payslip { max-width:1100px; margin:0 auto; }

@media (max-width: 980px) {
    .calculation-flow { grid-template-columns:1fr 1fr; }
    .period-heading { align-items:flex-start; }
}
@media (max-width: 760px) {
    .period-switch span,.company-switch span { display:none; }
    .period-grid { grid-template-columns:1fr; }
    .period-year-picker { width:100%; }
    .period-year-picker .form-select { width:100%; }
    .attendance-toolbar,.attendance-footer { align-items:flex-start; flex-direction:column; }
    .attendance-table-wrap { max-height:70vh; }
    .calculation-flow { grid-template-columns:1fr; }
}

/* Puantaj aylık ücret ve yan hak alanları */
.attendance-table .group-salary{background:#e7f0ff;color:#0b4e9b}
.attendance-table .monthly-contract{min-width:125px}
.attendance-table .tax-profile-input{min-width:118px}
.attendance-table .benefit-input{display:grid;grid-template-columns:minmax(90px,1fr) 76px;gap:6px;min-width:174px}
.attendance-table .benefit-input .form-select{min-width:76px}

/* v2.1.0 - şirket logoları ve rapor antetleri */
.company-card-head { display:flex; align-items:center; gap:13px; margin-top:10px; }
.company-card-logo,.company-admin-logo,.company-logo-preview,.report-company-logo {
    display:grid; place-items:center; overflow:hidden; flex:0 0 auto;
    border:1px solid #d8e7f7; background:#f4f8fd; color:var(--iq-blue);
}
.company-card-logo { width:58px; height:58px; border-radius:15px; }
.company-card-logo img,.company-admin-logo img,.company-logo-preview img,.report-company-logo img { width:100%; height:100%; object-fit:contain; background:#fff; }
.company-card-logo svg { width:27px; height:27px; }
.company-card-head h3 { margin:5px 0 0; }
.company-card-head .company-type { margin:0; }

.company-logo-editor { display:flex; align-items:center; gap:16px; padding:16px; border:1px solid var(--iq-border); border-radius:14px; background:#f8fbff; }
.company-logo-preview { width:94px; height:94px; border-radius:18px; }
.company-logo-preview svg { width:38px; height:38px; }
.form-section-title { margin:0 0 13px; padding-bottom:9px; border-bottom:1px solid var(--iq-border); color:var(--iq-navy); font-size:.83rem; font-weight:900; text-transform:uppercase; letter-spacing:.55px; }
.company-admin-grid { display:grid; gap:13px; }
.company-admin-card { padding:16px; }
.company-admin-card.company-inactive { opacity:.72; }
.company-admin-card-head { display:flex; align-items:center; gap:12px; }
.company-admin-logo { width:52px; height:52px; border-radius:14px; }
.company-admin-logo svg { width:25px; height:25px; }
.company-admin-card h3 { margin:4px 0 0; color:var(--iq-navy); font-size:.9rem; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.company-admin-card p { margin:12px 0 0; color:var(--iq-muted); font-size:.72rem; line-height:1.4; }
.company-admin-meta { display:flex; justify-content:space-between; gap:10px; margin-top:10px; color:#8193aa; font-size:.66rem; }
.company-admin-meta span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.min-w-0 { min-width:0; }

.report-company-header { display:grid; grid-template-columns:82px minmax(0,1fr) auto; align-items:center; gap:17px; padding-bottom:18px; margin-bottom:20px; border-bottom:2px solid #d8e6f5; }
.report-company-logo { width:76px; height:76px; border-radius:15px; }
.report-company-logo span { color:var(--iq-blue); font-size:1.35rem; font-weight:900; }
.report-company-copy h2 { margin:0; color:var(--iq-navy); font-size:1.15rem; font-weight:900; }
.report-company-copy p { margin:5px 0 3px; color:var(--iq-muted); font-size:.72rem; }
.report-company-copy div { color:#59718d; font-size:.69rem; }
.report-title-block { min-width:185px; text-align:right; }
.report-title-block strong { display:block; color:var(--iq-blue); font-size:.95rem; }
.report-title-block span { display:block; margin-top:4px; color:var(--iq-navy); font-size:.76rem; font-weight:900; letter-spacing:.75px; }
.report-footer-note { display:flex; justify-content:space-between; gap:20px; padding-top:15px; margin-top:15px; border-top:1px solid var(--iq-border); color:var(--iq-muted); font-size:.66rem; }
.payroll-report-table { min-width:1450px; }
.icmal-metric { padding:14px; border:1px solid var(--iq-border); border-radius:12px; background:#f8fbff; }
.icmal-metric small { display:block; color:var(--iq-muted); font-size:.68rem; font-weight:700; }
.icmal-metric strong { display:block; margin-top:5px; color:var(--iq-navy); font-size:1.04rem; }
.icmal-table { max-width:900px; margin:0 auto; }
.icmal-table th { color:#425b78; }
.employee-summary { padding:14px; border-radius:12px; background:#f7faff; color:#52677f; font-size:.76rem; line-height:1.9; }
.payroll-result-strip { padding:13px 4px; border:1px solid var(--iq-border); border-radius:12px; background:#f9fbfe; }
.payroll-result-strip b,.payroll-result-strip span { display:block; }
.payroll-result-strip b { color:var(--iq-muted); font-size:.65rem; }
.payroll-result-strip span { margin-top:4px; color:var(--iq-navy); font-weight:800; }
.payroll-result-strip .net-result { padding:10px 13px; border-radius:10px; background:#e8f3ff; }
.payroll-result-strip .net-result span { color:var(--iq-blue); font-size:1.05rem; }
.signature-row > div { padding-top:42px; border-top:1px solid #9eafc2; }

@media (max-width:760px) {
    .company-logo-editor { align-items:flex-start; flex-direction:column; }
    .company-logo-preview { width:82px; height:82px; }
    .report-company-header { grid-template-columns:60px minmax(0,1fr); }
    .report-company-logo { width:56px; height:56px; }
    .report-title-block { grid-column:1 / -1; min-width:0; text-align:left; }
    .report-footer-note { flex-direction:column; }
}

@media print {
    .report-company-header { break-inside:avoid; }
    .report-company-logo { border-color:#bbb; }
    .report-footer-note { break-inside:avoid; }
    .payroll-report-table { font-size:9px; }
}
.company-admin-card .company-type { display:inline-flex; width:max-content; padding:4px 7px; border-radius:7px; color:#0e5dbd; background:#e7f2ff; font-size:.58rem; font-weight:800; text-transform:uppercase; letter-spacing:.45px; }

/* v2.2.0 - personel Excel ve kümülatif matrah aktarımı */
.transfer-period-summary {
    min-height:58px; display:flex; flex-direction:column; justify-content:center;
    padding:9px 14px; border:1px solid #cfe1f5; border-radius:12px; background:#f4f9ff;
}
.transfer-period-summary small { color:var(--iq-muted); font-size:.68rem; font-weight:700; }
.transfer-period-summary strong { margin-top:2px; color:var(--iq-blue); font-size:1.05rem; }
.transfer-steps .card { position:relative; overflow:hidden; border-color:#d7e6f6; }
.transfer-steps .card::after {
    content:""; position:absolute; right:-38px; top:-42px; width:130px; height:130px;
    border-radius:50%; background:rgba(20,104,212,.055); pointer-events:none;
}
.step-number {
    width:42px; height:42px; display:grid; place-items:center; margin-bottom:16px;
    border-radius:13px; color:#fff; background:linear-gradient(145deg,#0e5dbd,#2a95df);
    box-shadow:0 10px 22px rgba(20,104,212,.22); font-weight:900;
}
.transfer-rule-list { display:grid; gap:9px; color:#4d6682; font-size:.74rem; }
.transfer-rule-list span { display:flex; align-items:center; gap:8px; }
.transfer-rule-list svg { width:16px; height:16px; color:#178368; }

/* v2.4.0 - vergi ayrıntıları ve kompakt rapor tabloları */
.tax-detail-panel { overflow:hidden; border:1px solid var(--iq-border); border-radius:12px; background:#fbfdff; }
.tax-detail-panel h6 { margin:0; padding:10px 13px; color:#fff; background:var(--iq-navy); font-size:.72rem; font-weight:900; letter-spacing:.45px; text-transform:uppercase; }
.tax-detail-panel table { margin:0; }
.tax-detail-panel th { width:25%; padding:8px 10px; color:#526b87; background:#f3f8fd; font-size:.68rem; }
.tax-detail-panel td { width:25%; padding:8px 10px; color:var(--iq-navy); font-size:.72rem; font-weight:800; }
.payroll-report-table.payroll-tax-columns { min-width:2050px; font-size:.68rem; }
.payroll-report-table.payroll-tax-columns th { white-space:normal; min-width:92px; line-height:1.2; }
.payroll-report-table.payroll-tax-columns th:first-child { min-width:62px; }
.payroll-report-table.payroll-tax-columns th:nth-child(2) { min-width:165px; }
.icmal-group-row th { padding-top:12px; color:var(--iq-navy); background:#edf5fd; font-size:.7rem; font-weight:900; letter-spacing:.35px; text-transform:uppercase; }

@media (max-width:760px) {
    .tax-detail-panel th,.tax-detail-panel td { min-width:155px; }
}

@media print {
    .payroll-report-table.payroll-tax-columns { min-width:0; width:100%; font-size:6.8px; }
    .payroll-report-table.payroll-tax-columns th,
    .payroll-report-table.payroll-tax-columns td { padding:3px 2px; }
    .tax-detail-panel { break-inside:avoid; }
}

/* v2.5.1 - düzenlenebilir mevzuat parametreleri ve vergi dilimi tablosu */
.parameter-date-filter { min-width:320px; }
.parameter-warning { border-color:#f4d38c; background:#fff9eb; color:#6d5520; }
.parameter-card { overflow:hidden; border-color:#d8e5f3; }
.parameter-card-header {
    display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
    padding:18px 20px; border-bottom:1px solid #dfe9f4; background:#f8fbff;
}
.parameter-card-header h5 { color:var(--iq-navy); font-weight:900; }
.parameter-card-header p { max-width:760px; color:var(--iq-muted); font-size:.76rem; }
.parameter-source-date { min-width:175px; padding:10px 13px; border:1px solid #d7e5f4; border-radius:10px; background:#fff; }
.parameter-source-date small { display:block; color:var(--iq-muted); font-size:.63rem; font-weight:700; }
.parameter-source-date strong { display:block; margin-top:3px; color:var(--iq-navy); font-size:.82rem; }
.parameter-count { padding:6px 10px; border-radius:8px; color:#0e5dbd; background:#e7f2ff; font-size:.68rem; font-weight:800; }
.tax-bracket-table { min-width:760px; }
.tax-bracket-table thead th,.parameter-table thead th { padding:11px 14px; color:#526b87; background:#eef5fc; font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.35px; }
.tax-bracket-table td { padding:10px 14px; }
.tax-order-column { width:72px; }
.tax-action-column { width:58px; }
.tax-row-number { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:#fff; background:linear-gradient(145deg,#0e5dbd,#2489d5); font-size:.72rem; font-weight:900; }
.tax-lower-limit { display:inline-flex; min-height:31px; align-items:center; color:#385572; font-size:.76rem; font-weight:800; }
.tax-bracket-table .input-group { max-width:245px; }
.tax-remove-row { width:32px; height:32px; padding:0; font-size:1.15rem; line-height:1; }
.tax-bracket-footer { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:16px 20px; border-top:1px solid #dfe9f4; background:#fbfdff; }
.tax-save-fields { display:flex; align-items:end; gap:12px; }
.tax-save-fields .form-label { margin-bottom:4px; color:#536b86; font-size:.67rem; font-weight:800; }
.tax-save-fields .form-control { min-width:175px; }
.parameter-table { min-width:1080px; }
.parameter-table td { padding:12px 14px; }
.parameter-table td:first-child { min-width:285px; }
.parameter-table td:last-child { min-width:460px; }
.parameter-key { margin-top:3px; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace; }
.parameter-note { max-width:430px; margin-top:5px; color:#71859a; font-size:.67rem; line-height:1.45; }
.parameter-current-value { display:inline-flex; max-width:230px; overflow-wrap:anywhere; padding:6px 9px; border:1px solid #d6e4f2; border-radius:8px; color:var(--iq-navy); background:#f7fbff; font-size:.75rem; font-weight:800; }
.parameter-inline-form { display:grid; grid-template-columns:minmax(130px,1fr) 145px auto; gap:8px; align-items:center; }

@media (max-width:900px) {
    .parameter-date-filter { width:100%; min-width:0; }
    .parameter-card-header,.tax-bracket-footer { align-items:stretch; flex-direction:column; }
    .parameter-source-date { min-width:0; }
    .tax-save-fields { align-items:stretch; flex-direction:column; }
    .tax-save-fields .form-control { min-width:0; }
}


/* IQ-BORDRO-UI-2.5.4: bounded inline icons and compact maintenance actions */
svg { max-width:100%; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.btn svg { width:16px !important; height:16px !important; min-width:16px; flex:0 0 16px; }
.btn-sm svg { width:14px !important; height:14px !important; min-width:14px; flex-basis:14px; }
.btn-lg svg { width:18px !important; height:18px !important; min-width:18px; flex-basis:18px; }
.mobile-menu-btn svg { width:20px !important; height:20px !important; }

.maintenance-action-grid { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(420px,1.35fr); gap:18px; margin-bottom:22px; }
.maintenance-action-card { min-height:0; padding:20px; display:flex; flex-direction:column; }
.maintenance-action-head { display:flex; align-items:center; gap:13px; margin-bottom:12px; }
.maintenance-action-head .quick-icon { width:42px; height:42px; flex:0 0 42px; }
.maintenance-action-head .quick-icon svg { width:21px !important; height:21px !important; }
.maintenance-action-card h2 { margin:0 0 3px; font-size:1rem; }
.maintenance-action-card p { margin-bottom:14px; }
.maintenance-primary-action { width:auto !important; min-width:175px; align-self:flex-start; padding-inline:18px; }
.maintenance-upload-zone { padding:17px 18px; text-align:left; display:grid; grid-template-columns:42px minmax(0,1fr); gap:12px 14px; align-items:center; }
.maintenance-upload-zone .upload-zone-icon { width:42px; height:42px; margin:0; border-radius:12px; grid-row:1 / span 2; }
.maintenance-upload-zone .upload-zone-icon svg { width:21px !important; height:21px !important; }
.maintenance-upload-zone h4 { margin:0; }
.maintenance-upload-zone p { margin:2px 0 0; }
.maintenance-upload-zone input[type=file] { grid-column:1 / -1; max-width:none; width:100%; margin:2px 0 0; }
.module-audit-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:9px; }
.module-audit-item { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border:1px solid var(--iq-border); border-radius:10px; background:#f9fbfe; font-size:.75rem; }
.module-audit-item strong { color:var(--iq-navy); }
.module-audit-item.is-ok span { color:#11765a; font-weight:800; }
.module-audit-item.is-missing { border-color:#efbdc5; background:#fff4f5; }
.module-audit-item.is-missing span { color:#b73243; font-weight:800; }

@media (max-width: 991.98px) {
  .maintenance-action-grid { grid-template-columns:1fr; }
  .maintenance-primary-action { width:100% !important; align-self:stretch; }
}

/* v2.5.5 - IQ Bordro kurumsal logo ve kesin kompakt bakım ekranı */
.sidebar-brand-logo { min-height:92px; padding:14px 12px; justify-content:flex-start; background:#fff; }
.sidebar-brand-logo img { display:block; width:100%; max-width:230px; height:auto; }
@media (max-width:991.98px) { .sidebar-brand-logo { min-height:78px; } .sidebar-brand-logo img { max-width:205px; } }
