:root{--primary-color: #1a237e;--secondary-color: #455a64;--danger-color: #c62828;--border-color: #000;--bg-light: #f5f5f5;--text-color: #212121}body{margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,sans-serif;background-color:var(--bg-light)}.app-container{display:flex;flex-direction:column;min-height:100vh}header{background-color:var(--primary-color);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}nav{display:flex;gap:1rem}nav button{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:.5rem 1rem;border-radius:4px}nav button.active{color:#fff;background-color:#ffffff1a;font-weight:700}main{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.roster-header-inputs{display:flex;gap:1.5rem;margin-bottom:2rem;align-items:flex-end;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.875rem;font-weight:700}.checkbox-list{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.checkbox-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400!important}.time-input-row{display:flex;align-items:center;gap:.5rem}.time-input-row input{flex:1}.print-area.real-style{background:#fff;padding:2rem;border:1px solid #ccc;color:#000}.doc-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;letter-spacing:2px}.summary-table.real{width:100%;border-collapse:collapse;margin-bottom:1.5rem;border:2px solid black}.summary-table.real td{border:1px solid black;padding:6px;text-align:center;font-size:.9rem}.summary-table.real .label{background-color:#f2f2f2;font-weight:700}.worker-section.real{margin-bottom:1.5rem}.worker-table.real{width:100%;border-collapse:collapse;border:2px solid black}.worker-table.real th,.worker-table.real td{border:1px solid black;padding:4px;font-size:.85rem}.worker-table.real thead th{background-color:#f2f2f2}.roster-table.real{width:100%;border-collapse:collapse;border:2px solid black}.roster-table.real th,.roster-table.real td{border:1px solid black;padding:4px;height:60px;vertical-align:middle}.roster-table.real th{background-color:#f2f2f2;font-size:.8rem;height:auto;padding:8px 4px}.duty-label{background-color:#f9f9f9;font-weight:700;font-size:.85rem;text-align:center}.assignment-cell{cursor:pointer}.assignment-cell:hover{background-color:#f0f4ff}.staff-names-v{display:flex;flex-direction:column;align-items:center;gap:2px}.staff-name-v{font-size:.85rem;line-height:1.1}.admin-section{background:#fff;padding:2rem;border-radius:8px}.admin-table{width:100%;border-collapse:collapse;margin-top:1rem}.admin-table th,.admin-table td{border:1px solid #ddd;padding:12px;text-align:center}.admin-table.interactive tbody tr{cursor:pointer;transition:background .2s}.admin-table.interactive tbody tr:hover{background-color:#f5f5f5}.emp-name-cell{font-weight:700;color:var(--primary-color);text-decoration:underline}.selection-modal{max-width:700px!important}.staff-grid.scrollable{max-height:60vh;overflow-y:auto;padding:1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.staff-card-v2{border:1px solid #ddd;border-radius:6px;padding:.75rem .5rem;text-align:center;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:.25rem;background:#fff}.staff-card-v2:hover:not(.disabled){border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.staff-card-v2.selected{background-color:#e8eaf6;border-color:var(--primary-color);box-shadow:inset 0 0 0 1px var(--primary-color)}.staff-card-v2.disabled{background-color:#f5f5f5;border-style:dashed;opacity:.7;cursor:not-allowed}.staff-rank{font-size:.7rem;color:#666}.staff-name{font-weight:700;font-size:1rem}.staff-note-label{font-size:.65rem;padding:2px 4px;border-radius:3px;margin-top:4px;font-weight:700}.staff-note-label.육아시간{background:#fff176;color:#827717}.staff-note-label.지원근무{background:#bbdefb;color:#0d47a1}.staff-note-label.휴가,.staff-note-label.병가{background:#ffcdd2;color:#b71c1c}.staff-note-label.교육{background:#e1bee7;color:#4a148c}.staff-note-label.외근{background:#c8e6c9;color:#1b5e20}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:#fff;padding:0;border-radius:12px;width:90%;max-width:500px;overflow:hidden;box-shadow:0 10px 25px #0003}.admin-modal{max-width:400px}.modal-header{padding:1.25rem;background:#f8f9fa;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.1rem;color:var(--primary-color)}.modal-body{padding:1.5rem}.edit-form{display:flex;flex-direction:column;gap:1.25rem}.edit-form .input-group select,.edit-form .input-group input{padding:.6rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}.disabled-input{background-color:#f5f5f5;color:#999}.modal-footer{padding:1.25rem;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:.75rem}.modal-footer.split{justify-content:space-between}.action-btns{display:flex;gap:.75rem}.btn-primary,.btn-secondary,.btn-outline,.btn-danger{padding:.5rem 1rem;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-weight:700;border:none}.btn-primary{background:var(--primary-color);color:#fff}.btn-outline{background:#fff;border:1px solid #ccc;color:#666}.btn-danger{background:var(--danger-color);color:#fff}.note-tag{padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:700}.note-tag.육아시간{background:#fff176;color:#827717}.note-tag.지원근무{background:#bbdefb;color:#0d47a1}.note-tag.휴가,.note-tag.병가{background:#ffcdd2;color:#b71c1c}@media print{.no-print{display:none!important}body{background:#fff}.print-area.real-style{border:none;padding:0}main{padding:0;margin:0}}body{margin:0;padding:0;box-sizing:border-box}*{box-sizing:inherit}
