.dbas{--dbas-green:#155b43;--dbas-gold:#d5ad42;--dbas-ink:#17372c;max-width:1180px;margin:24px auto;padding:clamp(16px,3vw,32px);background:#f5f7f3;color:var(--dbas-ink);border-radius:18px;font:16px/1.65 system-ui,-apple-system,"Noto Sans Thai",sans-serif;box-sizing:border-box}.dbas *{box-sizing:border-box}.dbas header{border-bottom:4px solid var(--dbas-gold);padding-bottom:18px;margin-bottom:20px}.dbas-brand{letter-spacing:.12em;font-size:12px;font-weight:700;color:var(--dbas-green)}.dbas h1{font-size:clamp(25px,4vw,36px);line-height:1.35;margin:10px 0}.dbas h2{font-size:24px;line-height:1.45}.dbas h3{font-size:19px;margin:0 0 8px;line-height:1.4}.dbas p{margin:10px 0}.dbas nav{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0;align-items:center}.dbas a{color:var(--dbas-green);text-underline-offset:3px}.dbas nav a{background:white;padding:9px 13px;border-radius:8px;border:1px solid #d4dfd5}.dbas .dbas-card,.dbas>details{background:#fff;padding:20px;border:1px solid #d4dfd5;border-radius:12px;margin:14px 0}.dbas-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:16px 0}.dbas-form>label{flex:1 1 170px}.dbas label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.dbas input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.dbas select{display:block;width:100%;min-height:46px;padding:10px 12px;border:1px solid #96ada0;border-radius:8px;background:#fff;color:#17372c;font:inherit;max-width:100%}.dbas button,.dbas input[type=submit],.dbas-link-button{min-height:46px;padding:10px 17px;border:1px solid var(--dbas-green);border-radius:8px;background:var(--dbas-green);color:#fff;cursor:pointer;font:600 15px/1.5 system-ui,sans-serif;text-decoration:none;display:inline-block}.dbas button.secondary{background:#fff;color:var(--dbas-green);border-color:#a9bdb0}.dbas button.selected{outline:3px solid var(--dbas-gold);outline-offset:1px}.dbas button:hover{filter:brightness(.92)}.dbas button:disabled{opacity:.65;cursor:wait}.dbas :focus-visible{outline:3px solid #b38917;outline-offset:3px}.dbas-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:20px 0}.dbas-summary>div{background:white;border:1px solid #d4dfd5;border-radius:10px;padding:12px;text-align:center}.dbas-summary b{display:block;font-size:26px;line-height:1.3}.dbas-summary span{font-size:13px}.dbas-status-buttons{display:flex;flex-wrap:wrap;gap:8px;width:100%}.dbas details{width:100%}.dbas summary{cursor:pointer;padding:8px 0;font-weight:600}.dbas-table{overflow-x:auto;margin:20px 0;border-radius:8px;border:1px solid #d4dfd5;background:white}.dbas table{width:100%;border-collapse:collapse;text-align:left}.dbas th,.dbas td{padding:12px;border-bottom:1px solid #e3e9e4;vertical-align:top;min-width:95px}.dbas th{background:#e8eee7;font-size:14px}.dbas pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f0f3ef;padding:12px}.dbas .notice{padding:12px;background:#e1f1e5;border-left:4px solid var(--dbas-green)}.dbas-status{font-weight:700;color:var(--dbas-green)}.dbas #loginform{max-width:440px}.dbas #loginform label{display:block}.dbas #loginform input[type=checkbox]{display:inline;width:auto;min-height:0}.dbas-form>p{width:100%}@media(min-width:900px){.dbas-summary{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(max-width:520px){.dbas{padding:15px;margin:12px 0;border-radius:10px}.dbas .dbas-card{padding:15px}.dbas-form>label{flex-basis:100%}.dbas-form>button{width:100%}.dbas-status-buttons>button{flex:1 1 28%;padding:10px}.dbas-summary{gap:5px}.dbas-summary>div{padding:9px 4px}}
.dbas textarea{width:100%;padding:10px;border:1px solid #96ada0;border-radius:8px;font:inherit;background:#fff;color:var(--dbas-ink)}.dbas-weekdays{width:100%;display:flex;flex-wrap:wrap;gap:12px;border:1px solid #d4dfd5;border-radius:8px;padding:12px}.dbas .dbas-weekdays label{display:flex;flex-direction:row;align-items:center;gap:6px}.dbas .dbas-weekdays input{width:22px;min-height:22px}.dbas-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.dbas-day{background:#fff;min-height:120px;border:1px solid #d4dfd5;border-radius:8px;padding:8px;overflow-wrap:anywhere}.dbas-day h3{font-size:18px}.dbas-day h3 small{font-size:12px;font-weight:400}.dbas-event{display:block;background:#e0efe6;padding:8px;margin:6px 0;border-left:3px solid var(--dbas-green);font-size:13px;text-decoration:none}.dbas-event small{display:block}.dbas-cancelled{background:#f5e7e5;border-color:#934034}.dbas-holiday{background:#fff2c7;padding:5px;font-size:12px}.dbas-danger{border:2px solid #934034;border-radius:8px;padding:16px;background:#fff4f0}.dbas-day-label{font-weight:bold;text-align:center}@media(max-width:700px){.dbas-calendar{grid-template-columns:1fr}.dbas-empty-day,.dbas-day-label{display:none}.dbas-day{min-height:70px}}
.dbas [hidden]{display:none!important}

/* Isolate weekday controls from WordPress admin/theme checkbox styles. */
.dbas .dbas-weekdays label{min-height:44px;padding:8px 12px;border:1px solid #96ada0;border-radius:8px;background:#fff;cursor:pointer;user-select:none}
.dbas .dbas-weekdays input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;display:inline-block;flex:0 0 24px;width:24px;height:24px;min-height:24px;margin:0;padding:0;border:2px solid #667f70;border-radius:4px;background:#fff;box-shadow:none;cursor:pointer;opacity:1;vertical-align:middle}
.dbas .dbas-weekdays input[type=checkbox]::before{content:none}
.dbas .dbas-weekdays input[type=checkbox]::after{content:none}
.dbas .dbas-weekdays input[type=checkbox]:checked{background:#155b43;border-color:#155b43}
.dbas .dbas-weekdays input[type=checkbox]:checked::after{content:"";position:absolute;display:block;left:6px;top:2px;width:6px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
.dbas .dbas-weekdays input[type=checkbox]:focus-visible{outline:3px solid #b38917;outline-offset:3px}
@media(forced-colors:active){.dbas .dbas-weekdays input[type=checkbox]{appearance:auto;-webkit-appearance:auto}.dbas .dbas-weekdays input[type=checkbox]:checked::after{content:none}}

/* Keep button text legible, including links and WordPress login submits. */
.dbas button,.dbas input[type=submit],.dbas a.dbas-link-button{background:#155b43!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#155b43!important;background-image:none!important;text-shadow:none!important;opacity:1}
.dbas button:hover,.dbas button:focus,.dbas button:active,.dbas input[type=submit]:hover,.dbas input[type=submit]:focus,.dbas input[type=submit]:active,.dbas a.dbas-link-button:hover,.dbas a.dbas-link-button:focus,.dbas a.dbas-link-button:active{background:#104532!important;color:#fff!important;-webkit-text-fill-color:#fff!important;filter:none}
.dbas button.secondary{background:#fff!important;color:#155b43!important;-webkit-text-fill-color:#155b43!important;border-color:#96ada0!important}
.dbas button.secondary:hover,.dbas button.secondary:focus,.dbas button.secondary:active{background:#e0efe6!important;color:#155b43!important;-webkit-text-fill-color:#155b43!important}
.dbas button:disabled,.dbas input[type=submit]:disabled{background:#e3e9e4!important;color:#405449!important;-webkit-text-fill-color:#405449!important;border-color:#96ada0!important;opacity:1;cursor:not-allowed}
.dbas-report .dbas-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.dbas-matrix td{text-align:center}.dbas-cell-present{background:#e0efe6}.dbas-cell-late,.dbas-cell-early{background:#fff2c7}.dbas-cell-absent{background:#f5dedd}.dbas-cell-leave{background:#e5effa}.dbas-cell-unmarked{background:#f1f1f1}.dbas-cell-cancelled{background:#e4e4e4;text-decoration:line-through}.dbas-report-context{padding:12px;border-left:4px solid #d5ad42;background:#fff}
@media(max-width:520px){.dbas-report .dbas-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{@page{size:A4 landscape;margin:12mm}.dbas-no-print{display:none!important}body{margin:0;background:white}.dbas{max-width:none;margin:0;padding:0;background:white;border-radius:0;font-size:10pt;color:#000}.dbas h1{font-size:18pt}.dbas h2{font-size:15pt}.dbas h3{font-size:12pt;break-after:avoid}.dbas .dbas-table{overflow:visible;border-radius:0}.dbas table{width:100%;table-layout:fixed;font-size:8pt}.dbas th,.dbas td{min-width:0;padding:4px;overflow-wrap:anywhere}.dbas thead{display:table-header-group}.dbas tr{break-inside:avoid}.dbas-matrix{break-inside:auto}.dbas-summary{break-inside:avoid}.dbas *{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.dbas-participants{width:100%;min-width:0;border:1px solid #96ada0;border-radius:12px;padding:16px;background:#fff}.dbas-participants legend{font-weight:700;padding:0 8px}.dbas-participant-groups{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.dbas-participant-groups>label{flex:1 1 160px}.dbas-participant-groups>p{width:100%}.dbas-participant-list{margin-top:12px}.dbas-participant-options{max-height:360px;overflow:auto;display:block}.dbas .dbas-participant-options label{margin-bottom:8px;min-height:48px;overflow-wrap:anywhere}.dbas .dbas-participant-options label[hidden]{display:none!important}
/* Parent help: native disclosure controls, readable text, no extra login required. */
.dbas .dbas-parent-guide{background:#fff;border:2px solid #155b43;border-radius:14px;padding:16px;margin:16px 0 24px;font-size:18px;line-height:1.8}.dbas .dbas-parent-guide>summary{color:#155b43;min-height:56px;font-size:20px;line-height:1.5;padding:6px;cursor:pointer}.dbas-parent-guide>summary small{display:block;font-size:16px;font-weight:400;margin-top:4px}.dbas .dbas-guide-step{border:1px solid #c4d4ca;border-radius:10px;padding:12px;margin-top:14px;background:#fff}.dbas .dbas-guide-step>summary{min-height:48px;font-size:18px;line-height:1.65;color:#155b43}.dbas-guide-body{padding-top:10px}.dbas-guide-body ol{padding-left:1.6em;margin:16px 0}.dbas-guide-body li{padding-left:4px;margin:12px 0}.dbas .dbas-parent-guide figure{margin:16px auto;max-width:360px}.dbas .dbas-parent-guide img{display:block;width:100%;height:auto;max-width:360px;border-radius:10px}.dbas .dbas-parent-guide figcaption{font-size:14px;color:#455e51;line-height:1.6;margin-top:6px}.dbas .dbas-guide-tip{padding:14px;background:#edf5ef;border-left:4px solid #155b43;border-radius:4px}.dbas-guide-status dt{font-weight:700;margin-top:12px}.dbas-guide-status dd{margin:2px 0 0}.dbas .dbas-guide-help{margin-top:20px;padding-top:14px;border-top:1px solid #c4d4ca}.dbas .dbas-parent-guide summary:focus-visible{outline:3px solid #b38917;outline-offset:3px}@media(max-width:520px){.dbas .dbas-parent-guide{padding:12px}.dbas .dbas-guide-step{padding:10px}}
.dbas .dbas-leave-reason{background:#edf5ef;border-left:4px solid #155b43;padding:12px;overflow-wrap:anywhere;white-space:pre-wrap}

.dbas .dbas-clock-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}.dbas .dbas-clock-buttons button{flex:1 1 150px;min-height:48px}.dbas .dbas-clock-buttons button:disabled{background:#e5e7eb!important;color:#4b5563!important;border-color:#cbd5e1!important;cursor:not-allowed;opacity:1}
.dbas .dbas-save-feedback{padding:10px 12px;background:#edf7f0;color:#155b45;border-radius:8px;font-weight:600}.dbas .dbas-save-error{background:#fff2e8;color:#8a3000}.dbas article[aria-busy="true"]{border-color:#b68e22}.dbas article[aria-busy="true"] button:disabled{opacity:.65;cursor:wait}
/* Report visuals: server-rendered SVG, no external chart service or script. */
.dbas .dbas-report-kpis>div{background:#fff;border:1px solid #d6e3da;border-top:4px solid #c4a145;padding:20px 12px}.dbas .dbas-report-kpis b{font-size:32px;color:#155b43}.dbas .dbas-report-warning{background:#fff4da;color:#704900;border-left:4px solid #a87500;padding:12px}.dbas .dbas-chart-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px;margin:24px 0}.dbas .dbas-chart-panel{min-width:0;background:#fff;border:1px solid #d6e3da;border-radius:14px;padding:20px}.dbas .dbas-chart-panel h3{margin-top:0}.dbas .dbas-donut-layout{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px}.dbas .dbas-donut{position:relative;width:220px;max-width:100%;flex:0 1 220px}.dbas .dbas-donut svg{display:block;width:100%;height:auto}.dbas .dbas-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.dbas .dbas-donut-center strong{font-size:30px;color:#155b43}.dbas .dbas-donut-center span{font-size:14px}.dbas .dbas-chart-legend{list-style:none;margin:0;padding:0;flex:1 1 210px}.dbas .dbas-chart-legend li{display:grid;grid-template-columns:12px 1fr auto 60px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #e8eee9}.dbas .dbas-chart-legend li>span:last-child{text-align:right}.dbas .dbas-swatch{display:inline-block;width:10px;height:10px;border:1px solid #666;border-radius:2px;flex-shrink:0}.dbas .dbas-chart-footnote{font-size:14px;color:#415548;line-height:1.7}.dbas .dbas-daily-scroll{max-height:560px;overflow-y:auto;padding-right:8px}.dbas .dbas-day-chart{margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid #d6e3da;break-inside:avoid}.dbas .dbas-day-chart h4{margin:0;color:#155b43}.dbas .dbas-day-chart p{font-size:14px;margin:7px 0}.dbas .dbas-day-chart svg{display:block;width:100%;height:22px;border:1px solid #d6e3da;border-radius:4px}.dbas .dbas-day-counts{display:flex;flex-wrap:wrap;gap:6px 12px}.dbas .dbas-day-counts span{display:inline-flex;align-items:center;gap:5px}
@media(max-width:900px){.dbas .dbas-chart-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.dbas .dbas-chart-panel{padding:14px}.dbas .dbas-report-kpis b{font-size:27px}.dbas .dbas-daily-scroll{padding-right:4px}}
@media print{.dbas .dbas-chart-grid{display:block}.dbas .dbas-chart-panel{margin-bottom:16px;padding:12px;border-radius:0}.dbas .dbas-chart-panel:first-child{break-inside:avoid}.dbas .dbas-daily-scroll{max-height:none;overflow:visible;padding:0}.dbas .dbas-donut-layout{flex-wrap:nowrap;justify-content:flex-start}.dbas .dbas-donut{width:160px;flex-basis:160px}.dbas .dbas-chart-legend{max-width:350px}.dbas .dbas-report-kpis b{font-size:23px}}
.dbas .dbas-report-filters{margin:16px 0;padding:14px 16px;background:#fff;border:1px solid #c4d4ca;border-radius:10px}.dbas .dbas-report-filters>summary{cursor:pointer;min-height:44px;display:list-item;font-weight:700;color:#155b43}.dbas .dbas-report-filters>summary:focus-visible{outline:3px solid #a87500;outline-offset:3px}.dbas .dbas-report-filters form{margin-top:12px}

/* 1.8.0: shared event editor, mobile date selection and recurrence chips. */
.dbas .dbas-event-dates,.dbas .dbas-date-list{width:100%;min-width:0;box-sizing:border-box;background:#fff;border:1px solid #b9cec1;border-radius:12px;padding:16px}
.dbas .dbas-event-dates legend{font-weight:700;padding:0 8px}.dbas .dbas-event-dates p{margin:8px 0;font-size:14px}
.dbas .dbas-date-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}.dbas .dbas-date-grid label{min-width:0}.dbas .dbas-date-grid input{width:100%;min-width:0;box-sizing:border-box}
.dbas .dbas-duration{padding:12px;background:#edf5ef;border-left:4px solid #155b43;line-height:1.8}.dbas .dbas-date-error{background:#fff0e7;color:#8a3000;border-color:#8a3000}
.dbas .dbas-date-picker,.dbas .dbas-date-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.dbas .dbas-date-picker input{flex:1 1 160px;min-width:0;width:auto}.dbas .dbas-date-picker button,.dbas .dbas-date-chips button{min-height:44px}
.dbas .dbas-date-list[hidden],.dbas label[hidden],.dbas fieldset[hidden]{display:none!important}
@media(max-width:520px){.dbas .dbas-date-grid{grid-template-columns:minmax(0,1fr)}.dbas .dbas-event-dates{padding:12px}}
