:root{--bg-main:#f6f5f4;--surface:#fff;--primary:#0075de;--primary-dark:#005bab;--primary-soft:#e8f3fc;--primary-hover:#0068c7;--primary-active:#005bab;--accent-gray:#ccc;--muted:#615d59;--ink-secondary:#31302e;--ink-faint:#a39e98;--border:#e6e6e6;--border-input:#ddd;--border-table:#e6e6e6;--row-hover:#e8f3fc;--text-primary:#000;--text-on-primary:#fff;--shadow-soft:#00000003 0 .175px 1.041px, #00000005 0 .8px 2.925px, #00000007 0 2.025px 7.847px, #0000000a 0 4px 18px;--shadow-modal:var(--shadow-soft), #0000000d 0 23px 52px;--font-main:"Segoe UI", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-main);color:var(--text-primary);font-size:15px;line-height:1.35}button,.btn{background-color:var(--primary);color:var(--text-on-primary);border:1px solid var(--primary);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:3px;padding:6px 8px;font-size:15px;font-weight:600;transition:background-color .15s;display:inline-flex}button:hover:not(:disabled),.btn:hover:not(:disabled){background-color:var(--primary-dark)}button:disabled,.btn:disabled{opacity:1;cursor:not-allowed;background-color:var(--accent-gray);border-color:var(--accent-gray);color:var(--muted)}.btn-outline{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-outline:hover:not(:disabled){background-color:var(--primary-soft)}input,select,textarea{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border-input);font-size:15px;font-family:var(--font-main);border-radius:4px;outline:none;padding:6px 8px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-soft)}input::placeholder,textarea::placeholder{color:var(--ink-faint)}a{color:var(--primary)}.modal-content,.modal-content input,.modal-content select,.modal-content textarea,.modal-content .btn{font-size:15px}.modal-overlay{z-index:999;background:#0006;justify-content:center;align-items:center;padding:8px;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-modal);border-radius:12px;width:100%;max-width:650px;max-height:90vh;padding:24px;overflow-y:auto}.erp-sidebar{background-color:var(--surface);color:#000;border-right:1px solid var(--border);z-index:100;flex-direction:column;flex-shrink:0;min-width:56px;height:100vh;padding:8px;transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0;overflow:hidden}.sidebar-menu-btn{color:#000;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;width:100%;padding:8px;font-size:15px;transition:background-color .15s;display:flex;position:relative}.sidebar-menu-btn:hover{background:var(--primary-soft);color:#000}.sidebar-menu-btn.active{background:var(--primary);color:#fff;font-weight:700}.reminder-btn{border:1px solid var(--border);background:var(--surface);color:#000;cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;width:28px;height:28px;padding:4px;display:inline-flex}.reminder-btn.blink{animation:1s linear infinite reminder-blink}@keyframes reminder-blink{0%,49%{border-color:#0075de;outline:2px solid #0075de}50%,to{border-color:#e6e6e6;outline:2px solid #e6e6e6}}.table-responsive{background:var(--surface);border:1px solid var(--border-table);border-radius:12px;width:100%;overflow-x:auto}table.agenda-table{border-collapse:collapse;text-align:center;width:max-content;min-width:100%;font-size:15px}table.agenda-table th,table.agenda-table td{text-align:center;white-space:normal;overflow-wrap:anywhere;vertical-align:middle;max-width:180px}table.agenda-table thead{z-index:2;position:sticky;top:0}table.agenda-table th{background-color:var(--surface);color:#000;border:1px solid var(--border);padding:6px 8px;font-weight:700}table.agenda-table td{border:1px solid var(--border-table);color:var(--text-primary);padding:6px 8px}table.agenda-table .btn{font-size:15px}table.agenda-table tr:hover td{background-color:var(--row-hover)}table.agenda-table td.person-stripe{background-color:var(--primary-soft)}table.agenda-table td.person-start{border-top:2px solid #0075de}table.agenda-table.detail-peserta tr:hover td{background-color:#0000}table.agenda-table.detail-peserta tr:hover td.person-stripe{background-color:var(--primary-soft)}
