/* Full-width blue commercial ERP interface. */
.attendance-cell.shift-blue,.badge.shift-blue { background:#d9ecfb; }
.attendance-cell.shift-yellow,.badge.shift-yellow { background:#fff0bc; }
.attendance-cell.shift-green,.badge.shift-green { background:#d7efda; }
.attendance-cell.shift-purple,.badge.shift-purple { background:#e6dff3; }
.attendance-cell.shift-orange,.badge.shift-orange { background:#ffe1bd; }
/* Attendance additions are scoped; the ERP shell stays unchanged. */
.attendance-filters { display:flex; flex-wrap:wrap; align-items:end; gap:8px; }
.attendance-filters > div { flex:1 1 140px; }
.attendance-summary,.attendance-legend { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
.attendance-summary > span { padding:5px 8px; background:#fff; border:1px solid #8ab5d5; }
.attendance-matrix table { min-width:1500px; }
.attendance-matrix .employee-number { position:sticky; left:0; min-width:100px; width:100px; max-width:100px; background:#edf6ff; z-index:2; }
.attendance-matrix .employee-name { position:sticky; left:100px; min-width:190px; width:190px; max-width:190px; background:#edf6ff; z-index:2; }
.attendance-matrix thead .employee-number,.attendance-matrix thead .employee-name { z-index:4; top:0; }
.attendance-matrix tbody th { top:auto; }
.attendance-matrix thead th { z-index:3; }
.attendance-cell { text-align:center; min-width:38px; padding:0; }
.attendance-cell a { display:block; padding:7px 4px; text-decoration:none; }
.attendance-bulk table { min-width:1300px; }
.attendance-bulk td { min-width:100px; }
.attendance-bulk td:first-of-type { min-width:160px; }
.attendance-bulk textarea { min-height:32px; }
.attendance-bulk tbody th { position:static; }
.attendance-cell.status-WORKED,.badge.status-WORKED { background:#d7efda; }
.attendance-cell.status-WEEKLY_OFF,.badge.status-WEEKLY_OFF { background:#d9ecfb; }
.attendance-cell.status-ANNUAL_LEAVE,.badge.status-ANNUAL_LEAVE { background:#fff0bc; }
.attendance-cell.status-SICK_LEAVE,.badge.status-SICK_LEAVE { background:#ffe1bd; }
.attendance-cell.status-ABSENT,.badge.status-ABSENT { background:#f8d4d4; }
.attendance-cell.status-UNPAID_LEAVE,.badge.status-UNPAID_LEAVE { background:#e6dff3; }
.attendance-cell.status-EXCUSED_LEAVE,.badge.status-EXCUSED_LEAVE { background:#f4e9c8; }
.attendance-cell.status-PUBLIC_HOLIDAY,.badge.status-PUBLIC_HOLIDAY { background:#d9efed; }
:root { color-scheme:light; --navy:#0b3a67; --blue:#2f75b5; --medium:#78aedd; --panel:#d9ecfa; --background:#eef6fc; --border:#7faed3; --ink:#0a3157; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; background:#dcecf8; color:var(--ink); font:13px/1.45 "Segoe UI",Arial,sans-serif; }
a { color:#164e80; text-underline-offset:2px; }
a:hover { color:#082e54; }
button,input,select,textarea { font:inherit; }
button,.button { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:4px 11px; border:1px solid #326b9d; border-radius:3px; background:linear-gradient(#4e94cb,#2671ad); color:white; font-size:12px; font-weight:600; cursor:pointer; text-decoration:none; white-space:nowrap; }
button:hover,.button:hover { background:linear-gradient(#3b83bc,#205e95); color:white; }
:focus-visible { outline:2px solid #154e8f; outline-offset:2px; }
.topbar { min-height:46px; padding:5px 14px; display:flex; justify-content:space-between; align-items:center; gap:16px; color:#082f55; border-bottom:1px solid #4f8fc4; background:linear-gradient(#f4faff,#c9e5fa 55%,#82b9e6); box-shadow:0 1px 2px #326b9d26; }
.brand { color:#082f55; text-decoration:none; font-size:17px; font-weight:650; line-height:1.2; }
.brand:hover { color:#073761; }
.brand small { display:block; font-size:11px; font-weight:400; color:#254f73; margin-top:2px; }
.account { display:flex; align-items:center; gap:14px; text-align:right; font-size:12px; }
.account small { display:block; color:#254f73; font-size:11px; }
.exit-button { background:linear-gradient(#ee5a5a,#c82f2f); border-color:#913333; }
.exit-button:hover { background:#a93636; }
.module-tabs { display:flex; flex:0 0 auto; align-items:stretch; gap:2px; padding:3px 10px 0; background:linear-gradient(#d8ecfc,#9ec7e8); border-bottom:1px solid #528cbb; overflow-x:auto; }
.module-tabs a,.module-tabs button { display:flex; align-items:center; gap:7px; flex:0 0 auto; min-height:32px; padding:5px 14px; border:1px solid #7daed3; border-bottom:0; border-radius:4px 4px 0 0; color:#073761; background:linear-gradient(#f8fcff,#d5eafb); text-decoration:none; font-size:12px; font-weight:600; }
.module-tabs small { font-size:10px; font-weight:400; color:#425f79; }
.module-tabs button:disabled { cursor:not-allowed; color:#425d77; background:linear-gradient(#e0effa,#c4dfef); }
.module-tabs a:hover { background:linear-gradient(#fff,#c4e2f8); }
.module-tabs a[aria-current] { background:linear-gradient(#fff,#9bc9ed); box-shadow:inset 0 2px #2f75b5; border-color:#4e8bbc; }
.quick-toolbar { display:flex; align-items:center; flex:0 0 auto; overflow-x:auto; min-height:30px; padding:2px 10px; background:linear-gradient(#f7fcff,#d5ebfb); border-top:1px solid #f5fbff; border-bottom:1px solid #7faed3; }
.quick-toolbar a { padding:3px 11px; border-right:1px solid #aac9e1; font-size:12px; white-space:nowrap; text-decoration:none; }
.quick-toolbar a:hover,.quick-toolbar a[aria-current] { background:#a9d3f3; box-shadow:inset 0 -2px #2f75b5; }
.toolbar-label { padding:0 12px 0 3px; font-size:11px; font-weight:650; color:#385d7b; white-space:nowrap; }
main { width:calc(100% - 16px); min-width:0; flex:1; margin:8px; padding:8px 10px 12px; border:1px solid #6ea5d0; background:linear-gradient(#f8fcff,#edf5fb); box-shadow:inset 0 0 0 1px #ffffff99; }
h1 { font-size:18px; line-height:1.3; margin:0 0 10px; color:var(--navy); overflow-wrap:anywhere; }
h2 { font-size:14px; margin:0 0 8px; }
h3 { font-size:14px; }
p { margin:7px 0 10px; }
.page-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; border:1px solid #6097c2; border-radius:3px 3px 0 0; min-height:32px; padding:4px 9px; margin-bottom:8px; background:linear-gradient(#d8edfc,#83bae5); box-shadow:inset 0 1px #eef8ff; }
.page-heading h1 { margin:0; font-size:14px; font-weight:700; }
.page-heading > span { font-size:12px; }
main > h1 { padding:8px 10px; background:linear-gradient(#d3ebfd,#92c1e6); border:1px solid var(--border); border-radius:3px; font-size:17px; }
.panel { border:1px solid var(--border); border-radius:3px; background:#fff; padding:10px; margin-bottom:8px; box-shadow:inset 0 1px #fff,0 1px 2px #40769c12; }
.panel-title { margin:-10px -10px 8px; min-height:32px; padding:6px 9px; border-bottom:1px solid #629bca; background:linear-gradient(#d8edfc,#83bae5); color:var(--navy); font-size:13px; font-weight:700; }
.summary-panel { display:flex; flex-wrap:wrap; gap:8px; border:1px solid var(--border); background:linear-gradient(#fff,#eff7fd); padding:7px; margin-bottom:8px; }
.metric { display:flex; align-items:center; justify-content:space-between; gap:16px; flex:1 1 190px; min-height:52px; padding:7px 12px; border:1px solid #80afd2; border-radius:3px; background:linear-gradient(#fff,#cce8fa); }
.metric:nth-child(2) { background:linear-gradient(#fafffa,#ccefd3); border-color:#9fbd8e; }
.metric:nth-child(3) { background:linear-gradient(#fffef6,#ffe7a8); border-color:#cbb778; }
.metric:nth-child(4) { background:linear-gradient(#fafffa,#ccefd3); border-color:#91bca4; }
.metric h2 { margin:0; font-size:12px; font-weight:650; text-transform:uppercase; }
.metric strong { font-size:23px; line-height:1.2; }
.dashboard-workspace { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr); gap:8px; }
.shortcut-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.shortcut { position:relative; display:block; min-height:49px; padding:6px 30px 6px 10px; border:1px solid #8fb9da; border-radius:3px; background:linear-gradient(#fff,#e0f0fc); text-decoration:none; }
.shortcut:hover { background:linear-gradient(#e5f4ff,#b1d7f4); }
.shortcut span { display:block; font-weight:650; }
.shortcut small { display:block; margin-top:1px; font-size:11px; color:#365b7b; }
.shortcut b { position:absolute; right:10px; top:7px; font-size:21px; font-weight:400; }
.create-shortcut { background:linear-gradient(#f3fff6,#d7eedf); border-color:#9bbfa8; }
.scope-note { border-top:1px solid #b5d3eb; padding:6px 0 0; margin:7px 0 0; color:#3b5d79; font-size:12px; }
.grid-toolbar { display:flex; align-items:center; gap:18px; padding:6px 10px; border:1px solid var(--border); border-bottom:0; background:linear-gradient(#f1f9ff,#d4eaf9); font-size:12px; }
.grid-toolbar span:last-child { margin-left:auto; }
.table-wrap { padding:0; overflow:auto; max-height:calc(100vh - 270px); min-height:125px; background:#fff; border-color:#78a9d0; }
table { width:100%; border-collapse:separate; border-spacing:0; text-align:left; font-size:12px; }
th,td { border-right:1px solid #bcd7eb; border-bottom:1px solid #c0d9ec; padding:5px 9px; }
th { position:sticky; top:0; z-index:1; background:linear-gradient(#d8edfc,#8dbfe5); color:#0a3157; font-weight:700; white-space:nowrap; }
th:last-child,td:last-child { border-right:0; }
td { height:30px; max-width:440px; overflow-wrap:anywhere; }
tbody tr { background:#fff; }
tbody tr:nth-child(even) { background:#f0f8fe; }
tbody tr:hover,tbody tr:focus-within { background:#dceffc; }
.numeric,.record-number { font-variant-numeric:tabular-nums; font-weight:600; }
.row-actions { white-space:nowrap; }
.row-actions a,.row-action { display:inline-block; border:1px solid #8aafd0; border-radius:2px; background:linear-gradient(#fff,#d3e8f8); padding:1px 8px; margin-right:5px; text-decoration:none; }
.badge { display:inline-block; padding:1px 7px; border:1px solid #8bacc4; border-radius:2px; font-size:11px; background:#e5eff8; white-space:nowrap; }
.badge.active { color:#215b32; border-color:#99bda1; background:linear-gradient(#edf9eb,#cde8cc); }
.badge.inactive { color:#833b3b; border-color:#c99b9b; background:linear-gradient(#fff2f2,#eed5d5); }
.empty { padding:24px; text-align:center; color:#456782; }
.details { margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 16px; }
.details > div { display:grid; grid-template-columns:130px minmax(0,1fr); align-items:start; padding:9px 4px; border-bottom:1px solid #bcd7eb; gap:8px; }
dt { font-size:12px; font-weight:600; color:#264f73; }
dt::after { content:' :'; }
dd { margin:0; min-width:0; overflow-wrap:anywhere; }
.back-link { display:inline-block; font-size:12px; margin-bottom:7px; }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
form > .actions { border-top:1px solid var(--border); background:linear-gradient(#e9f6ff,#c5e1f5); margin:10px -10px -10px; padding:7px 10px; }
form > .actions button { background:linear-gradient(#69bd79,#36964c); border-color:#367746; }
form > .actions a { padding:4px 11px; border:1px solid #8aafd0; border-radius:3px; background:linear-gradient(#fff,#d7e9f7); text-decoration:none; }
.pagination { display:flex; justify-content:flex-end; align-items:center; gap:16px; font-size:12px; padding:5px 0; }
.form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 16px; }
.form-grid > div { min-width:0; }
.form-grid > .errorlist { grid-column:1 / -1; }
.form-grid > div:has(textarea),.form-grid > div:has(input[type=password]) { grid-column:span 2; }
fieldset { border:0; padding:0; margin:0 0 14px; min-width:0; }
legend { width:100%; font-size:13px; font-weight:700; padding:6px 9px; margin-bottom:10px; border:1px solid var(--border); background:linear-gradient(#dbf0ff,#afd3ef); }
label { display:block; font-size:12px; font-weight:600; margin-bottom:3px; }
input:not([type=checkbox]),select,textarea { width:100%; min-height:32px; border:1px solid #8aaecb; border-radius:2px; background:#fff; color:#0a3157; padding:4px 7px; }
input:focus,select:focus,textarea:focus { border-color:#2f75b5; box-shadow:0 0 0 1px rgba(47,117,181,.15); }
textarea { min-height:78px; resize:vertical; }
input[type=checkbox] { width:15px; height:15px; accent-color:#2f75b5; }
.helptext { color:#3e607c; font-size:11px; margin-top:4px; }
.helptext ul { padding-left:17px; margin:4px 0; }
.errorlist { color:#8a2828; background:#fff1f1; border-left:3px solid #b44242; padding:6px 10px 6px 24px; font-size:12px; margin:5px 0 8px; }
.notice { border:1px solid #89b496; background:linear-gradient(#f0fff4,#d9eddf); padding:7px 10px; color:#245a35; margin-bottom:9px; }
.muted,.eyebrow { color:#3c607e; font-size:12px; }
.statusbar { display:flex; justify-content:space-between; gap:12px; border-top:1px solid #6f9ec3; background:linear-gradient(#d7ebfb,#b0d1ec); color:#244f74; font-size:11px; padding:4px 12px; }
.login-panel { max-width:430px; margin:7vh auto; border:1px solid #72a3ca; border-top:4px solid #2f75b5; padding:20px; }
.login-panel h1 { font-size:20px; }
.login-panel form > div { margin-bottom:12px; }
.login-panel button { width:100%; margin-top:8px; }
.sr-only,.skip-link { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.skip-link:focus { width:auto; height:auto; clip-path:none; background:white; padding:8px; z-index:10; }
@media(max-width:1100px) { .form-grid,.details { grid-template-columns:repeat(2,minmax(0,1fr)); } .dashboard-workspace { grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr); } }
@media(max-width:760px) {
 .topbar { flex-wrap:wrap; gap:8px; padding:8px 10px; } .brand { font-size:17px; } .account { margin-left:auto; gap:10px; }
 .module-tabs { padding-left:6px; } .module-tabs a,.module-tabs button { padding:6px 10px; } .toolbar-label { display:none; }
 main { width:calc(100% - 8px); margin:4px; padding:7px; } .dashboard-workspace { grid-template-columns:1fr; } .metric { flex-basis:145px; padding:9px 10px; gap:12px; } .metric h2 { font-size:11px; }
 .details,.form-grid,.shortcut-grid { grid-template-columns:1fr; } .form-grid > div:has(textarea),.form-grid > div:has(input[type=password]) { grid-column:auto; }
 .table-wrap { max-height:65vh; } .table-wrap table { min-width:570px; } .grid-toolbar { flex-wrap:wrap; gap:5px 12px; } .grid-toolbar span:last-child { margin-left:0; }
 .details > div { grid-template-columns:115px minmax(0,1fr); } .statusbar { font-size:10px; } .page-heading > span { font-size:11px; }
}

/* Leave/report uses the existing ERP grid and form layout. */
.leave-pending { background:#fff0bd; color:#6f5000; }
.leave-approved { background:#d7efdc; color:#235e31; }
.leave-rejected,.leave-cancelled { background:#eee; color:#555; }
.attendance-cell a.leave-marker { display:block; background:#fff0bd; color:#704b00; font-size:10px; line-height:16px; min-height:16px; border-top:1px solid #c8a96b; }
.leave-hint { font-size:11px; font-weight:normal; white-space:normal; }

/* Clothing/equipment: reuse the ERP grid and forms. */
.equipment-warning { border-left:4px solid #bc7c00; background:#fff4ce; color:#674500; }
.equipment-bulk input[type=number] { min-width:65px; max-width:100px; }
.equipment-bulk input[type=text] { min-width:80px; max-width:150px; }

/* Training viewer stays within the existing ERP layout. */
.training-content video { display:block; width:100%; max-height:65vh; background:#111; }
.training-content iframe { width:100%; height:65vh; border:1px solid var(--border); }
.training-content { overflow-wrap:anywhere; }

/* Olay onem dereceleri: pastel ERP gostergeleri. */
.severity-low{background:#e5f1ee;color:#24584a}.severity-medium{background:#e7eff9;color:#244d79}.severity-high{background:#fff0d4;color:#795013}.severity-critical{background:#f9e2e6;color:#8b2d40}


/* Compact report navigation; existing ERP components remain shared. */
.report-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}.report-cards ul{padding:0 16px 8px 30px}.report-cards li{margin:8px 0}

.report-table td{white-space:nowrap;overflow-wrap:normal}

/* Management dashboard: compact panels within the existing ERP shell. */
.dashboard-panels{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.dashboard-operation{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:8px}.dashboard-operation h3,.dashboard-alerts h3{font-size:12px;margin:4px 0 8px}.dashboard-operation dl{margin:0}.dashboard-operation dl div{display:flex;justify-content:space-between;gap:8px;padding:4px 0}.dashboard-operation dd{font-weight:bold}.dashboard-alerts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:10px}.dashboard-alerts ul{margin:0;padding-left:16px}.dashboard-alerts li{margin:6px 0;overflow-wrap:anywhere}.dashboard-bottom{display:grid;grid-template-columns:2fr 1fr;gap:8px}.dashboard-quick{display:flex;flex-wrap:wrap;gap:8px;padding:10px}.dashboard-quick a{padding:6px 8px;border:1px solid #aac9e1;background:#eff7ff}.dashboard-bottom td{white-space:nowrap}@media(max-width:1000px){.dashboard-panels{grid-template-columns:1fr 1fr}.dashboard-alerts{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-bottom{grid-template-columns:1fr}}@media(max-width:600px){.dashboard-panels,.dashboard-alerts,.dashboard-operation{grid-template-columns:1fr}}

.dashboard-panels>.panel,.dashboard-bottom>.panel{min-width:0}
