/* Compact attendance surface; preserves the original SPARK theme. */
#daily header{margin-bottom:22px}#daily header h1{margin:0}
#daily .sheet-foot{display:none}#daily .rule-note{display:none}
#daily .sheet-heading{padding:16px 20px}#daily td{padding:14px 10px}
#daily .name-cell{min-width:235px}#daily .name-cell select[data-field=employeeId]{width:100%;min-height:38px;background:transparent}
.entry-name{display:flex;flex-direction:column;gap:6px}
.absence-toggle{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:13px;font-weight:400;color:#65758d}
.absence-toggle input{margin:0}.row-meta{font-size:12px;line-height:1.4;max-width:230px}
#daily .time-cell{min-width:112px}#daily .time-cell input[type=time]{width:108px;min-height:38px}
#daily .total-cell{min-width:125px;padding-top:20px;font-size:14px}
.entry-details{min-width:150px;font-size:13px}.entry-details summary{cursor:pointer;color:#234bdf;min-height:44px;display:flex;align-items:center;gap:8px;font-size:14px;list-style:none}
.entry-details summary::after{content:'＋';font:18px Arial;margin-left:auto}.entry-details[open] summary::after{content:'−'}
.entry-details summary:focus-visible{outline:2px solid #234bdf;outline-offset:3px;border-radius:4px}
.entry-options{display:grid;gap:12px;min-width:210px;padding:10px 0}.entry-options label{font-size:14px}
#daily .entry-options textarea{width:100%;min-height:62px;font-size:14px}.entry-options .gap-button{font-size:13px;text-align:left}
.minor-actions{display:flex;gap:8px}.minor-actions button{font-size:12px;padding:7px 9px;min-height:36px}.minor-actions [data-action=remove]{color:#b44046}
#daily .save-cell{min-width:94px}#daily .save-cell button{min-height:40px;font-size:13px;margin:0}
#daily .is-absent{background:#fffaf8}.absent-pill{background:#ffebe7;color:#a13936}
.negative{color:#b13a41!important}.report-period{font-family:Arial,sans-serif}
#reports td{vertical-align:middle;font-size:14px;min-width:125px}#reports td:first-child{min-width:170px;font-weight:600}
#reports th{white-space:normal;line-height:1.6;font-size:14px}#reports .filters{gap:14px}#reports .filters label{min-width:170px}
.review-controls .muted:empty{display:none}#date-dialog{font-family:Arial,sans-serif}#date-dialog label{font-size:14px}
@media(max-width:980px){#daily .stats strong{font-size:21px}.demo{margin-bottom:24px}}
@media(max-width:600px){
  #daily header h1{font-size:26px}#daily header{gap:10px;align-items:center}
  #daily header>button{font-size:12px}#daily .stats{gap:8px}#daily .stats article{padding:12px}
  #daily .stats strong{font-size:18px}#daily .stats small{display:none}
  #daily .table-wrap{overflow:visible}#daily table,#daily tbody{display:block}
  #daily tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;padding:15px;position:relative}
  #daily td{padding:0;min-width:0;grid-column:auto}#daily td::before{font-size:12px;margin-bottom:4px}
  #daily td.serial-cell{position:absolute;left:15px;top:17px;display:block;min-width:22px;font-size:13px;grid-column:auto}
  #daily td.serial-cell::before{display:none}
  #daily td.name-cell{grid-column:1/-1;padding:0 0 0 29px;min-width:0}
  #daily td.name-cell::before{display:none}.entry-name{flex-direction:row;align-items:center;gap:10px}
  #daily .name-cell select[data-field=employeeId]{width:100%;min-width:0;font-size:16px;padding:6px;font-weight:600;min-height:40px}
  .absence-toggle{white-space:nowrap;font-size:12px}.row-meta{max-width:none;font-size:12px;margin-top:3px;color:#8190a2}
  .draft-label:empty{display:none}.draft-label{font-size:12px;margin:2px 0 0}
  #daily td.time-cell{min-width:0}#daily .time-cell input[type=time]{width:100%;min-height:40px;font-size:16px}
  #daily .time-cell .checkbox-label{font-size:12px;margin-top:5px}
  #daily td.total-cell{min-width:0;padding-top:0;font-size:15px;white-space:normal}
  #daily td.details-cell{grid-column:1;min-width:0}#daily td.details-cell::before,#daily td.save-cell::before{display:none}
  #daily td.save-cell{display:block;grid-column:2;text-align:right;align-self:start;min-width:0;padding:0}
  #daily .save-cell button{margin:0 0 0 auto;min-height:40px;padding:8px 15px}
  .entry-details{min-width:0}.entry-details summary{min-height:40px;font-size:13px;gap:4px}.entry-options{min-width:0}
  /* Expanded controls span the card without duplicating any inputs. */
  #daily tr:has(.entry-details[open]) td.details-cell{grid-column:1/-1;grid-row:auto}
  #daily tr:has(.entry-details[open]) td.save-cell{grid-column:1/-1}
  .minor-actions{justify-content:flex-start}.entry-options .gap-button{width:100%;min-height:42px}
  #daily .is-absent td.time-cell,#daily .is-absent td.total-cell{display:none}
  #daily .is-absent .row-meta{margin-bottom:2px}.review-controls{padding:16px}.review-buttons{gap:8px}
  #reports .filters label{min-width:100%}#reports .sheet-heading h2{font-size:19px}
}
/* Monthly wages remain a compact working table, with details on demand. */
.salary-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.salary-heading strong{display:block;font-size:1.65rem;color:var(--blue,#2344e8)}
.salary-table{min-width:1080px}
.salary-table td{vertical-align:top}
.salary-person{min-width:235px;max-width:330px}
.salary-person>small,.salary-amount small,.wage-dirty{display:block;font-size:.8rem;color:#61738e;margin-top:.4rem}
.salary-person summary{cursor:pointer;color:#2344e8;font-size:.9rem;margin:.55rem 0}
.salary-person dl{margin:.7rem 0;font-size:.875rem}
.salary-person dl div{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;border-bottom:1px solid #e7ecf5}
.salary-person dd{margin:0;white-space:nowrap;text-align:right}
.salary-input input{width:120px}
.salary-input>span{display:none}
.salary-amount{font-weight:700;min-width:125px}
.salary-net{min-width:145px}
.salary-table .negative{color:#b42318}
.salary-save button{min-height:40px}
.salary-save button+button{display:block;margin-top:.4rem;font-size:.8rem}
.salary-not-applicable{display:block;padding:.7rem;color:#8190a2}
[hidden]{display:none!important}
@media(max-width:700px){
  nav{overflow-x:auto}.nav{flex:0 0 auto;white-space:nowrap}
  .salary-heading{align-items:flex-start}.salary-heading strong{font-size:1.25rem}
  .salary-table{min-width:0;display:block}.salary-table thead{display:none}
  .salary-table tbody{display:block}
  .salary-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:1rem;gap:.85rem;border-bottom:1px solid #dce4f1}
  .salary-table td{display:block;padding:0;border:0;min-width:0}
  .salary-person{grid-column:1/-1;max-width:none}
  .salary-person dl div{gap:.5rem}.salary-person dd{white-space:normal}
  .salary-input>span{display:block;font-size:.875rem;margin-bottom:.25rem}
  .salary-input input{width:100%;min-width:0;font-size:1rem;padding:.6rem .35rem}
  .salary-net,.salary-amount{grid-column:span 1;font-size:.875rem}
  .salary-net:before,.salary-amount:before{content:attr(data-label);display:block;font-weight:400;color:#61738e;margin-bottom:.4rem}
  .salary-save{text-align:right}
}
