.elementor-9315 .elementor-element.elementor-element-e8f6466{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--background-transition:0.3s;}/* Start custom CSS for html, class: .elementor-element-3abd932 */:root{
  --bg:#f7f7fb;
  --card:#ffffff;
  --ink:#1f2937;
  --muted:#6b7280;
  --line:#e5e7eb;
  --brand:#0ea5e9;
  --cuti:#fff1f2;
  --cuti-border:#fb7185;
  --exam:#fffbeb;
  --exam-border:#f59e0b;
  --success:#ecfdf5;
  --success-border:#10b981;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.45;
}

/* Header */
.app-header{
  background:linear-gradient(135deg,#0ea5e9 0%,#22c55e 100%);
  color:#fff;
  padding:28px 20px 22px;
  position:sticky; top:0; z-index:50;
  box-shadow:0 2px 10px rgba(0,0,0,.1);
}
.app-header h1{margin:0 0 6px;font-size:clamp(20px,2.6vw,28px);font-weight:800}
.app-header .meta{display:flex; flex-wrap:wrap; gap:14px; font-size:14px; opacity:.95}
.app-header .meta span{display:inline-flex; gap:8px; align-items:center; background:rgba(255,255,255,.15); padding:6px 10px; border-radius:999px}

/* Container + Toolbar */
.container{max-width:1100px; margin:18px auto; padding:0 14px 48px}
.toolbar{display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:8px 0 14px}
.btn{
  appearance:none; border:1px solid var(--line); background:#fff; color:var(--ink);
  padding:8px 12px; border-radius:10px; cursor:pointer; font-weight:600;
  box-shadow:0 1px 3px rgba(0,0,0,.05); transition:transform .08s;
}
.btn.primary{background:var(--brand); color:#fff; border-color:transparent}
.btn:hover{transform:translateY(-1px)}

.filters{display:flex; gap:8px; flex:1; min-width:280px; flex-wrap:wrap}
.filters input{
  border:1px solid var(--line); background:#fff; color:var(--ink);
  padding:8px 10px; border-radius:10px; outline:none; min-width:160px;
}
.filters input:focus{border-color:#93c5fd; box-shadow:0 0 0 3px rgba(59,130,246,.15)}

.legend{font-size:12px; color:var(--muted); display:flex; gap:10px; align-items:center; margin-left:auto}
.chip{display:inline-block; padding:2px 8px; border-radius:999px; border:1px solid transparent; font-weight:600}
.chip.cuti{background:var(--cuti); border-color:var(--cuti-border); color:#be123c}
.chip.exam{background:var(--exam); border-color:var(--exam-border); color:#a16207}
.chip.done{background:var(--success); border-color:var(--success-border); color:#047857}

/* Table */
.table-wrap{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
table{width:100%; border-collapse:separate; border-spacing:0}
thead th{
  position:sticky; top:72px; /* sticks below header */
  background:#f9fafb;
  border-bottom:1px solid var(--line);
  text-align:left;
  font-size:14px;
  letter-spacing:.02em;
  padding:12px 14px;
  z-index:5;
}
tbody td{
  border-bottom:1px solid var(--line);
  padding:12px 14px;
  vertical-align:top;
  font-size:15px;
}
tbody tr:nth-child(odd){background:#fcfcfe}
tbody tr:hover{background:#f5f7ff}
.col-wk{width:70px; font-weight:700}

.row-cuti{background:var(--cuti)}
.row-cuti:hover{background:#ffe4e6}
.row-exam{background:var(--exam)}
.row-exam:hover{background:#fff7ed}
.row-done{background:var(--success)}
.row-done:hover{background:#dcfce7}

.note{color:var(--muted); font-size:12px; margin-top:14px}

/* Print */
@media print{
  .app-header{position:static; box-shadow:none; background:#fff; color:#000}
  .app-header .meta span{background:#f3f4f6; color:#111827}
  thead th{top:auto}
  .btn,.toolbar{display:none !important}
  body{background:#fff}
  .table-wrap{box-shadow:none; border-color:#aaa}
  a[href]:after{content:" (" attr(href) ")"; font-size:10px}
}/* End custom CSS */