#root{min-height:100vh}@media print{@page{size:A4 portrait;margin:8mm}.no-print{display:none!important}.print-only{display:flex!important;align-items:center;justify-content:center;min-height:14px;width:100%;font-weight:600}html,body{margin:0;padding:0;background:#fff;color:#000;font-size:11px}.attendance-page{max-width:none;padding:0}.attendance-page h2{margin:0 0 6px;font-size:16px;text-align:center}.sheet-content{margin-top:6px}.sheet-meta{gap:6px;margin-bottom:4px;font-size:10px}.attendance-table{margin-top:4px;page-break-inside:avoid}.attendance-table th,.attendance-table td{padding:3px 5px;font-size:9px;line-height:1.1;height:20px}.attendance-table th:nth-child(1),.attendance-table td:nth-child(1){width:88px}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2){width:54px}.signature-row{margin-top:10px;gap:20px;font-size:10px}.signature-block{min-width:0;flex:1}.signature-space{height:28px;margin:6px 0 4px;border-bottom:1px solid #000000}}@media screen{.print-only{display:none}}body{margin:0;min-width:320px;min-height:100vh;font-family:Arial,sans-serif;background:#f5f7fa;color:#1f2933}*{box-sizing:border-box}.attendance-page{padding:16px;max-width:1000px;margin:0 auto}.attendance-page h2{margin:0 0 14px}.form-panel{display:grid;gap:14px;margin-bottom:16px}.form-section{padding:16px;border:1px solid #d7dee6;border-radius:14px;background:#fff;box-shadow:0 10px 24px #0f172a0f}.form-section-title{margin-bottom:12px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#52606d}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.field{display:grid;gap:6px}.field-label{font-size:13px;font-weight:600;color:#243b53}.field-input{width:100%;min-height:42px;padding:10px 12px;border:1px solid #cbd2d9;border-radius:10px;background:#fdfefe;color:#102a43;font:inherit}.field-input:focus{outline:2px solid #9fb3c8;outline-offset:1px;border-color:#9fb3c8}.form-actions{display:flex;gap:8px;flex-wrap:wrap}.sheet-content{margin-top:16px}.sheet-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.table-shell{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.attendance-table{width:100%;min-width:720px;margin-top:10px;border-collapse:collapse;table-layout:fixed}.attendance-mobile-list{display:none}.attendance-mobile-card{padding:12px;border:1px solid #d7dee6;border-radius:12px;background:#fff;box-shadow:0 8px 20px #0f172a0d}.attendance-mobile-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.attendance-mobile-date{font-size:.96rem;font-weight:700;color:#102a43}.attendance-mobile-day{font-size:.9rem;font-weight:600;color:#52606d}.attendance-mobile-note{margin-top:6px;font-size:.84rem;color:#7b8794}.attendance-mobile-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.attendance-mobile-button{width:100%;min-height:40px}.attendance-mobile-clear{grid-column:1 / -1}.status-cell{position:relative}.signature-row{margin-top:24px;display:flex;justify-content:space-between;gap:24px}.signature-block{min-width:260px}.signature-space{height:44px;border-bottom:1px solid #1f2933;margin:10px 0 8px}button{border-radius:8px;border:1px solid #cbd2d9;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#fff;cursor:pointer;transition:border-color .25s}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(max-width:768px){.attendance-page{padding:12px}.form-section{padding:14px}.sheet-meta{flex-direction:column;align-items:flex-start;gap:6px}.signature-row{flex-direction:column;gap:16px}.form-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-table{min-width:680px}.attendance-table th,.attendance-table td{white-space:nowrap}}@media(max-width:520px){.attendance-page h2{margin-bottom:12px;font-size:1.4rem}.form-panel{gap:10px}.form-actions,.form-grid{grid-template-columns:1fr}.table-shell{overflow:visible}.attendance-table{display:none}.attendance-mobile-list{display:grid;gap:10px;margin-top:10px}.field-input{min-height:40px;padding:9px 10px}.signature-block{min-width:0}.signature-space{height:36px}}
