.attendance-app{box-sizing:border-box;width:min(1450px,96vw);max-width:96vw;max-height:92vh;padding:24px;border:1px solid #d7e2ef;border-radius:18px;color:#17345f;background:white;font:15px/1.5 Arial,sans-serif;overflow:auto}.attendance-app *{box-sizing:border-box}.attendance-app::backdrop{background:#102a48a6}.attendance-app header,.attendance-toolbar,.attendance-pager{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.attendance-app header{justify-content:space-between}.attendance-app h2,.attendance-app h3{margin:0 0 12px}.attendance-app section{margin-top:20px;padding:18px;border:1px solid #d7e2ef;border-radius:12px}.attendance-app label{display:block;min-width:0}.attendance-app input:not([type=checkbox]),.attendance-app select,.attendance-app textarea{display:block;max-width:100%;padding:10px;border:1px solid #becfe0;border-radius:8px;background:#fff;color:#17345f}.attendance-app button{padding:10px 14px;border:1px solid #b9cfe6;border-radius:8px;background:#f0f6fb;color:#17345f;cursor:pointer}.attendance-app button:disabled{opacity:.5;cursor:default}.attendance-scroll{overflow-x:auto;margin-top:14px}.attendance-app table{border-collapse:collapse;width:100%;min-width:650px}.attendance-app th,.attendance-app td{text-align:left;border:1px solid #dbe5f0;padding:10px;vertical-align:top}.attendance-app th{background:#17345f;color:#fff}.attendance-pager{margin-top:12px}.attendance-notice{padding:12px;border-left:4px solid #df9f32;background:#fff9eb}.attendance-app [data-status],.attendance-app [data-message]{white-space:pre-wrap;color:#164e30}.attendance-detail{width:min(740px,96vw)}.attendance-app video,.attendance-app img{max-width:100%;max-height:320px;object-fit:contain;border-radius:10px}.attendance-check{display:flex!important;gap:10px;align-items:center;padding:8px}.attendance-check input{width:auto}.attendance-app [hidden]{display:none!important}@media(max-width:600px){.attendance-app{padding:14px}.attendance-app section{padding:10px}.attendance-toolbar{align-items:stretch}.attendance-toolbar label{width:100%}.attendance-app input:not([type=checkbox]),.attendance-app select,.attendance-app textarea{width:100%}}

.attendance-app .siov-table-io-toolbar{display:none!important}

.attendance-month th:first-child{position:sticky;left:0;z-index:2;min-width:220px;background:#17345f;color:white}.attendance-month td,.attendance-month thead th:not(:first-child){min-width:44px;text-align:center;padding:8px}.attendance-month td button{padding:3px 8px;background:#e4f4e1;color:#24651a}.attendance-month{width:max-content!important;min-width:100%!important}.attendance-app summary{cursor:pointer;margin-top:18px}
