:root{--bg: #f4f5f7;--text: #1f2430;--muted: #7a8091;--border: #e2e4ea;--orange: #ff7a1a;--white: #ffffff;--danger: #e5484d;font-family:Segoe UI,Tahoma,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.page{max-width:960px;margin:0 auto;padding:28px 20px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.topbar h1{font-size:22px;margin:0}.card{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:18px}.muted{color:var(--muted);text-align:center;padding:30px 0}table{width:100%;border-collapse:collapse}th,td{text-align:right;padding:10px 8px;border-bottom:1px solid var(--border);font-size:14px}th{color:var(--muted);font-weight:600;font-size:12px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;color:var(--white);background:var(--muted)}.badge-supervisor{background:var(--orange)}.badge-area_manager{background:#2f6fed}button{font-family:inherit;cursor:pointer;border:none;border-radius:10px;padding:9px 16px;font-size:13px}.btn-primary{background:var(--orange);color:var(--white);font-weight:600}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger);padding:6px 12px;font-size:12px}.banner{padding:10px 14px;border-radius:10px;margin-bottom:16px;font-size:13px}.banner-error{background:#fdecec;color:var(--danger)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141973;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--white);border-radius:16px;padding:22px;width:100%;max-width:420px;display:flex;flex-direction:column;gap:12px;max-height:90vh;overflow-y:auto}.modal h2{margin:0 0 4px;font-size:18px}.modal label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.modal input,.modal select{font-family:inherit;font-size:14px;padding:9px 10px;border-radius:8px;border:1px solid var(--border);color:var(--text)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
