:root{--green:#183d35;--paper:#f6f7f3;--ink:#23342f;--muted:#748078;--line:#e1e7df}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px}a{color:var(--green);text-decoration:none}aside{position:fixed;inset:0 auto 0 0;width:245px;background:var(--green);color:#eef3df;padding:36px 26px;display:flex;flex-direction:column}.brand{color:#e8edb7;font-size:36px;display:flex;gap:12px;align-items:center}.brand span{font-family:Manrope,sans-serif;font-size:26px;font-weight:800}.brand small{display:block;font-family:inherit;font-size:8px;letter-spacing:1.7px;color:#a9bbb2;margin-top:4px}nav{display:grid;gap:8px;margin-top:54px}nav a{color:#dae3dd;padding:13px 12px;border-radius:8px}nav a:hover{background:#2b5148;color:white}.account{margin-top:auto;border-top:1px solid #416057;padding-top:24px}.account small{display:block;color:#a9bbb2;margin:8px 0}main{max-width:1560px;margin-left:245px;padding:30px 48px}header{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.4px;color:var(--muted);padding-bottom:25px;border-bottom:1px solid var(--line)}.badge{background:#e9eddb;color:#51633a;border-radius:20px;padding:8px 12px;letter-spacing:.4px}.intro{padding:32px 0 24px}.eyebrow{font-size:10px!important;color:#7c8966!important;letter-spacing:2px;font-weight:700}h1{font-family:Manrope,sans-serif;font-size:36px;letter-spacing:-1.4px;margin:10px 0}h2{font-size:18px;letter-spacing:-.4px}h3{font-size:14px;margin:5px 0}.intro p,.panel>p{color:var(--muted);line-height:1.65}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}.stats article{background:white;border:1px solid var(--line);border-radius:14px;padding:25px}.stats article>span{color:var(--muted);font-size:13px}.stats strong{display:block;font-family:Manrope,sans-serif;font-size:32px;margin-top:16px}.stats small{font-size:15px;font-weight:500}.stats p{font-size:11px;color:var(--muted)}.stats .accent{background:#e6edcc;border-color:#dde6bf}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:24px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-title h2{margin:0}.section-title a{font-size:12px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.product{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:10px}.product-icon{padding:12px;background:#f2f3e7;color:#71885d;border-radius:9px;font-size:22px}.product small{font-size:10px;color:var(--muted)}.product p{margin:4px 0;color:var(--muted);font-size:12px}.product>strong{margin-left:auto;white-space:nowrap}.hint{font-size:11px!important;color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);background:#f8f9f5}td,th{padding:16px 12px;border-bottom:1px solid var(--line)}.tag{display:inline-block;background:#eff3e7;border-radius:5px;padding:5px 8px;white-space:nowrap}button,.button{border:0;border-radius:7px;background:var(--green);color:white;padding:13px 18px;cursor:pointer;font-family:inherit;font-size:13px;display:inline-block}button:disabled{opacity:.5}.quiet{background:#e8eee5;color:var(--green);padding:9px 12px}.form-panel{max-width:650px}label{display:block;margin-bottom:8px;font-weight:600;font-size:13px}input,select{width:100%;background:#fbfcf9;border:1px solid #d9e0d5;border-radius:7px;padding:13px;font-family:inherit;font-size:15px}input:focus,select:focus{outline:2px solid #a7b789}.form-panel form p{margin:0 0 22px}.cancel{display:inline-block;margin:15px;font-size:13px}.errorlist{color:#a33434;padding:12px 20px;background:#fff0ed;border-radius:7px}.message{padding:15px 20px;background:#e6eedf;border-radius:8px;margin-top:18px}.message.error{background:#ffebe8}.employee{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:9px;margin-bottom:10px}.employee span{font-size:12px;color:var(--muted)}.search{display:flex;gap:10px;margin-bottom:20px}.pagination{display:flex;justify-content:space-between;gap:15px;margin-top:22px;font-size:12px}.correction{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);gap:20px;font-size:12px}footer{font-size:10px;color:var(--muted);padding:14px 0 25px}
@media(max-width:1050px){main{padding:24px;margin-left:210px}aside{width:210px;padding:28px 18px}.cards{grid-template-columns:1fr}.stats{gap:10px}.stats article{padding:18px}.stats strong{font-size:25px}}
@media(max-width:720px){aside{position:static;width:auto;padding:18px 20px}.brand{font-size:25px}.brand span{font-size:22px}nav{display:flex;overflow-x:auto;margin-top:20px;gap:4px}nav a{white-space:nowrap;font-size:12px;padding:10px}.account{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:12px;font-size:12px}.account form{margin-left:auto}.account small{margin:0}main{margin:0;padding:20px 16px}header{font-size:8px}.intro{padding:22px 0 18px}h1{font-size:28px}.stats{grid-template-columns:1fr 1fr}.stats article:last-child{grid-column:1/-1}.stats article.accent{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.stats .accent>span{display:none}.panel{padding:18px}.employee{align-items:flex-start;flex-direction:column}.correction{align-items:flex-start}.section-title{gap:10px}.section-title h2{font-size:16px}}


.settlement-columns {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
@media(max-width:700px){.settlement-columns{grid-template-columns:1fr}}

/* Simple role-based navigation and touch-friendly layouts. */
:root{--muted:#56665d}body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}main{max-width:1320px}h1{font-size:32px;letter-spacing:-.7px}h2{font-size:20px}h3{font-size:16px}a,button,input,select{touch-action:manipulation}button,.button,input,select{font-size:16px;min-height:48px}button,.button{font-weight:650}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9bbd59;outline-offset:4px}nav{margin-top:32px}nav a[aria-current=page]{background:#365e50;color:#fff;font-weight:700}.more-menu{margin-top:20px}.more-menu summary{padding:12px;cursor:pointer}.more-menu a{display:block;color:#edf4e8;padding:12px;font-size:14px}.account{gap:12px}.account strong{overflow-wrap:anywhere}.account small{font-size:13px}.skip-link{position:fixed;top:-100px;left:16px;background:#fff;padding:14px;z-index:100}.skip-link:focus{top:12px}.intro{padding:24px 0}.intro p{margin:8px 0}.primary-action{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px;border-radius:16px;background:#e6edcc;margin-bottom:24px}.primary-action h2{margin:0 0 6px}.primary-action p{margin:0;color:#435740}.primary-action .button{white-space:nowrap}.settlement-list{display:grid;gap:12px}.settlement-card{display:block;padding:20px;background:white;border:1px solid var(--line);border-radius:12px}.settlement-card:hover{border-color:#86a18a}.settlement-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.settlement-card small{font-size:13px;color:var(--muted)}.status{font-size:12px;font-weight:650;padding:5px 9px;border-radius:6px;background:#eff2ee}.status-submitted{color:#7a4b00;background:#fff2ce}.status-approved{color:#24533b;background:#e5f3e8}.status-corrected{color:#833e21;background:#fce9df}.amount-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.amount-pair span{display:block;color:var(--muted);font-size:13px}.amount-pair strong{display:block;font-size:20px;overflow-wrap:anywhere}.card-link{font-size:14px}.page-action{margin-bottom:24px}.filter-tabs{display:flex;gap:8px;margin-bottom:20px}.filter-tabs a{padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:#fff}.filter-tabs a[aria-current=page]{background:var(--green);color:white}.stock-summary summary{cursor:pointer;font-size:18px;font-weight:650;padding:4px 0;min-height:44px}.stock-summary summary span{float:right;font-size:16px}.stock-summary .cards{margin-top:16px}.secondary-link{display:inline-block;font-size:14px;padding-top:16px}.hint{font-size:13px!important}.section-title a{font-size:14px;padding:8px 0}.product>div{min-width:0}.product h3{overflow-wrap:anywhere}.form-panel label{font-size:16px}.form-panel button{width:100%}.form-panel .cancel{display:block;text-align:center;min-height:44px}.empty-state{color:var(--muted);padding:12px 0}.settlement-columns>*{min-width:0}
@media(max-width:720px){aside{padding:16px 16px 0;display:flex;flex-direction:column;gap:0}.brand{font-size:24px}.brand small{display:none}.account{border:0;padding:8px 0;margin:0;order:1;display:flex;font-size:13px}.account small{font-size:12px}.account form{margin-left:auto}.account button{min-height:44px;font-size:14px}.brand{order:0}nav{order:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:8px -4px 0;gap:2px;overflow:visible;padding:0 0 10px}nav:has(a:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}nav a{white-space:normal;text-align:center;display:flex;align-items:center;justify-content:center;padding:10px 4px;font-size:14px;min-height:48px}.more-menu{order:2;margin:0}.more-menu summary{padding:8px 0;min-height:44px;font-size:14px}.more-menu a{padding:10px 0}main{padding:0 16px 20px}.intro{padding:22px 0 16px}h1{font-size:27px}.eyebrow{display:none}.primary-action{padding:20px;display:block;margin-bottom:20px}.primary-action .button{display:block;text-align:center;margin-top:18px;white-space:normal}.primary-action h2{font-size:21px}.panel{padding:18px;margin-bottom:20px}.settlement-card{padding:16px}.settlement-heading{align-items:flex-start}.amount-pair strong{font-size:19px}.page-action{display:block;text-align:center}.filter-tabs a{flex:1;text-align:center;padding:12px 8px}.settlement-columns{gap:0}.section-title{flex-wrap:wrap}.product-icon{display:none}.table-wrap{max-width:100%}td,th{padding:12px 8px}footer{font-size:12px}.form-panel{padding:20px 16px}input,select{font-size:18px} .stats{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.calculation-details{margin-top:18px;color:var(--muted);font-size:14px}.calculation-details summary{cursor:pointer;padding:10px 0;min-height:44px}.search input{min-width:0}.settlement-columns button{width:100%}
@media(max-width:720px){.movement-table thead{display:none}.movement-table,.movement-table tbody{display:block}.movement-table tr{display:block;border:1px solid var(--line);border-radius:10px;margin-bottom:12px;padding:10px}.movement-table td{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border:0;padding:6px 2px;font-size:14px;overflow-wrap:anywhere}.movement-table td[data-label]::before{content:attr(data-label);color:var(--muted);font-size:12px;flex:0 0 64px}.movement-table td[colspan]{display:block}.correction{flex-wrap:wrap}}

.report-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.report-filters>div{min-width:0}.report-actions{grid-column:1/-1;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.report-counts{font-weight:600}.report-table td{font-size:14px}.report-table a{display:inline-block;padding:8px 0;min-height:44px}.report-stats strong{overflow-wrap:anywhere}
@media(max-width:720px){.report-filters{grid-template-columns:1fr 1fr;gap:14px}.report-filters>div:nth-of-type(n+3){grid-column:1/-1}.report-actions button{width:100%}.report-actions a{padding:8px 0}.report-stats{grid-template-columns:1fr}.report-stats article.accent{display:block}.report-stats .accent>span{display:block}nav:has(a:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}.report-table td[data-label]::before{flex-basis:80px}}

.daily-chart-svg{display:block;width:100%;height:170px;overflow:visible}.daily-chart-svg rect{fill:var(--green)}.daily-chart-svg rect:hover{fill:#698744}.chart-grid{stroke:var(--line);stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.chart-baseline{stroke:#9cac9f;vector-effect:non-scaling-stroke}.chart-scale{font-size:12px;color:var(--muted)}.chart-dates{display:flex;justify-content:space-between;gap:4px;font-size:12px;color:var(--muted)}.daily-chart .section-title>span{font-size:13px;color:var(--muted)}
@media(max-width:480px){.chart-dates{font-size:10px}.daily-chart-svg{height:150px}}

textarea{display:block;width:100%;resize:vertical;min-height:100px;background:#fbfcf9;border:1px solid #d9e0d5;border-radius:7px;padding:13px;font:inherit}textarea:focus{outline:2px solid #a7b789}.correction-alert-panel{border-left:4px solid #b96b27;background:#fffaf0}.correction-alert-panel .settlement-card{margin-top:12px}.alert-comment{white-space:pre-wrap;overflow-wrap:anywhere}.filter-tabs{flex-wrap:wrap}


/* Attendance: compact touch controls and paired arrival/departure cards. */
.attendance-page{min-width:0}
.attendance-page input,.attendance-page select{min-width:0;max-width:100%}
.attendance-clock,.attendance-date{display:block;font-variant-numeric:tabular-nums}
.attendance-clock{font-size:18px;font-weight:700}
.attendance-date{font-size:13px;color:var(--muted)}
.attendance-duration{font-weight:700;white-space:nowrap}
.attendance-recorded{color:var(--muted);font-variant-numeric:tabular-nums}
.attendance-pagination{flex-wrap:wrap;align-items:center}
.attendance-pagination a{display:flex;align-items:center;min-height:48px;padding:8px}
@media(max-width:720px){
  .attendance-page .intro{padding:18px 0 12px}
  .attendance-page h1{font-size:26px;overflow-wrap:anywhere}
  .attendance-page .panel{padding:16px}
  .attendance-form h2{margin-top:0}
  .attendance-form input{font-size:16px;min-height:52px;width:100%}
  .attendance-form button{min-height:52px}
  .attendance-page input[type=date],.attendance-page input[type=datetime-local]{appearance:none;min-inline-size:0}
  .attendance-page .attendance-history{overflow:visible}
  .attendance-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;margin-bottom:14px;background:#fbfcf9}
  .attendance-table td{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;padding:0;min-width:0;overflow-wrap:anywhere}
  .attendance-table td[data-label]::before{flex:none;font-size:13px}
  .attendance-table .attendance-person{grid-column:1/-1;order:-3;font-size:16px;font-weight:650}
  .attendance-table .attendance-duration{grid-column:1/-1;order:-2;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:20px;border-bottom:1px solid var(--line);padding-bottom:10px;white-space:normal}
  .attendance-table .attendance-event{order:-1}
  .attendance-table .attendance-clock{font-size:25px;line-height:1.3}
  .attendance-table .attendance-date{font-size:14px}
  .attendance-table .attendance-recorded{font-size:12px;border-top:1px solid var(--line);padding-top:10px}
  .attendance-table .attendance-recorded::before{font-size:12px}
  .attendance-table td[colspan]{grid-column:1/-1}
  .attendance-summary td{gap:12px}
  .attendance-summary td[data-label]::before{flex-basis:90px}
  .attendance-page .attendance-filters{grid-template-columns:minmax(0,1fr)}
  .attendance-filters .report-actions{gap:8px}
  .attendance-filters .report-actions a{display:block;min-height:48px;padding:12px 0}
}
.currency-toggle{display:flex;align-items:center;gap:10px;min-height:48px;margin-bottom:22px}.currency-toggle input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:var(--green);cursor:pointer}.currency-toggle label{margin:0;cursor:pointer;line-height:1.4}
