*{box-sizing:border-box}body{color:#1f2937;background:#f5f6f8;margin:0;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,sans-serif;font-size:15px;line-height:1.5}a{color:#1d4ed8}.container{max-width:1150px;margin:0 auto;padding:24px 16px 48px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.topbar h1{margin:0;font-size:20px}.topbar .user-info{color:#4b5563;align-items:center;gap:10px;font-size:14px;display:flex}.card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:16px;padding:20px}.card h2{margin:0 0 12px;font-size:17px}.card.placeholder{color:#6b7280;background:#fafafa;border-style:dashed}.muted{color:#6b7280;font-size:13px}.error{color:#b91c1c;font-size:14px}.ok{color:#047857;font-size:14px}.btn{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:7px 16px;font-size:14px;text-decoration:none;display:inline-block}.btn:hover{background:#f3f4f6}.btn-primary{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.btn-primary:hover{background:#1e40af}.btn-primary:disabled{cursor:default;background:#93c5fd;border-color:#93c5fd}.badge-warn{color:#92400e;white-space:nowrap;background:#fef3c7;border:1px solid #fcd34d;border-radius:999px;padding:1px 10px;font-size:12px;display:inline-block}.badge-missing{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;border-radius:999px;margin-right:6px;padding:1px 10px;font-size:12px;display:inline-block}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{width:100%;max-width:380px}.login-card h1{margin:0 0 4px;font-size:20px}.login-card form{flex-direction:column;gap:12px;margin-top:16px;display:flex}.login-card label{color:#374151;flex-direction:column;gap:4px;font-size:14px;display:flex}.login-card input{border:1px solid #d1d5db;border-radius:8px;padding:9px 12px;font-size:15px}.grid-wrap{margin-top:12px;overflow-x:auto}table.grid{border-collapse:collapse;min-width:100%;font-size:13px}.grid th,.grid td{text-align:center;white-space:nowrap;border:1px solid #e5e7eb;padding:4px 6px}.grid thead th{background:#f9fafb;font-weight:600}.grid .row-label{text-align:left;background:#f9fafb;font-weight:600;position:sticky;left:0}.grid .sum-cell{text-align:right;font-variant-numeric:tabular-nums}.grid input{text-align:right;border:1px solid #d1d5db;border-radius:6px;width:62px;padding:4px 6px;font-size:13px}.grid input.dirty{background:#fffbeb;border-color:#f59e0b}.week-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.week-nav .week-range{font-weight:600}.save-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}ul.todo-list{margin:8px 0 0;padding-left:0;list-style:none}ul.todo-list li{margin-bottom:8px}.hygiene-group h3{color:#374151;border-bottom:1px solid #e5e7eb;margin:14px 0 6px;padding-bottom:4px;font-size:14px}.hygiene-item{flex-wrap:wrap;align-items:center;gap:10px;padding:4px 0;display:flex}.hygiene-label{flex:320px;font-size:14px}.hygiene-toggle{gap:4px;display:inline-flex}.btn.toggle{color:#6b7280;padding:4px 12px;font-size:13px}.btn.toggle-good{color:#065f46;background:#d1fae5;border-color:#34d399;font-weight:600}.btn.toggle-bad{color:#991b1b;background:#fee2e2;border-color:#f87171;font-weight:600}.hygiene-remark{border:1px solid #f87171;border-radius:6px;flex:240px;padding:5px 8px;font-size:13px}.note-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.note-grid label{color:#374151;flex-direction:column;gap:4px;font-size:14px;display:flex}.note-grid textarea{resize:vertical;border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px}.hq-reply{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:14px}.hq-reply p{margin:4px 0 0}.incident-add{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.incident-add select,.incident-add input{border:1px solid #d1d5db;border-radius:6px;padding:6px 10px;font-size:14px}.incident-add input{flex:240px}.incident-list{margin:0;padding-left:0;list-style:none}.incident-list li{border-bottom:1px dashed #e5e7eb;align-items:center;gap:8px;padding:6px 0;font-size:14px;display:flex}.btn-small{padding:2px 10px;font-size:12px}.badge-ok{color:#065f46;background:#d1fae5;border:1px solid #34d399;border-radius:999px;margin-right:6px;padding:1px 10px;font-size:12px;display:inline-block}.reply-form{flex-direction:column;gap:8px;margin-top:14px;display:flex}.reply-form label{color:#374151;flex-direction:column;gap:4px;font-size:14px;display:flex}.reply-form textarea{border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px}.reply-form button{align-self:flex-start}.admin-form{flex-direction:column;gap:10px;max-width:480px;display:flex}.admin-form label{color:#374151;flex-direction:column;gap:4px;font-size:14px;display:flex}.admin-form input,.admin-form select,.admin-form-inline input,.admin-form-inline select{border:1px solid #d1d5db;border-radius:6px;padding:7px 10px;font-size:14px}.admin-form button{align-self:flex-start}.admin-form-inline{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.help-fab{color:#fff;cursor:pointer;z-index:1000;background:#1d4ed8;border:none;border-radius:50%;width:52px;height:52px;font-size:24px;font-weight:700;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 12px #00000040}.help-fab:hover{background:#1e40af}.help-panel{z-index:1000;background:#fff;border:1px solid #d5ddd0;border-radius:12px;width:min(360px,100vw - 40px);max-height:min(560px,100vh - 40px);position:fixed;bottom:20px;right:20px;overflow-y:auto;box-shadow:0 8px 24px #00000040}.help-panel-head{color:#fff;background:#1d4ed8;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.help-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:20px;line-height:1}.help-tabs{border-bottom:1px solid #e2e6de;display:flex}.help-tabs button{cursor:pointer;background:#f4f6f2;border:none;flex:1;padding:10px 0;font-size:14px}.help-tabs button.active{background:#fff;border-bottom:2px solid #1d4ed8;font-weight:700}.help-body{padding:14px 16px}.help-search{gap:8px;margin:8px 0;display:flex}.help-search input{border:1px solid #c9d2c3;border-radius:6px;flex:1;padding:8px 10px}.faq-item{background:#f1f5f9;border-radius:8px;margin:10px 0;padding:10px 12px}.faq-q{margin-bottom:4px;font-weight:700}.faq-a{font-size:14px;line-height:1.55}.help-escalate{margin-top:8px}.help-kind{gap:16px;margin:8px 0;display:flex}.help-body textarea,.ticket-actions textarea{width:100%;font:inherit;box-sizing:border-box;border:1px solid #c9d2c3;border-radius:6px;padding:8px 10px}.help-actions{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.help-error{color:#b3261e;margin:6px 0 0;font-size:13px}.help-sent{color:#1d4ed8;margin:6px 0 0;font-size:14px;font-weight:600}.help-table{border-collapse:collapse;width:100%;font-size:14px}.help-table th,.help-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e6de;padding:8px 6px}.help-answer{background:#eef4ff;border-radius:6px;margin-top:6px;padding:6px 10px}.small{font-size:12px}.ticket-actions .ticket-status{gap:4px;margin-bottom:6px;display:flex}
