.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font-size:12px;font-weight:600;min-height:39px;transition:background .15s,transform .15s}.btn:hover{text-decoration:none;filter:brightness(.97)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 4px 8px #0f766e15}.btn-danger{color:var(--danger);border-color:#fecaca}.btn-small{padding:6px 10px;min-height:30px;font-size:11px}.icon-button{border:0;background:transparent;color:var(--muted);padding:8px;font-size:17px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:24px;min-width:0}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card-title h2{margin:0}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:5px;background:var(--mint);color:var(--teal);font-size:10px;font-weight:600;white-space:nowrap}.badge-pending,.badge-waiting,.badge-unpaid{background:#fff3d7;color:#93630c}.badge-canceled,.badge-rejected,.badge-no_show,.badge-failed{background:#fee2e2;color:#b91c1c}.badge-work{background:#eeebff;color:#6550a5}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field label{font-size:12px;font-weight:600}.field input,.field select,.field textarea,.search-input{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font-size:13px}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);outline:2px solid var(--mint);outline-offset:1px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.field-error{font-size:11px;color:var(--danger)}.form-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--border);padding-top:22px;margin-top:10px}.alert{padding:13px 18px;border:1px solid #b8ddd5;border-radius:8px;background:var(--mint);color:var(--teal);margin-bottom:22px;font-size:13px}.alert-error{background:#fff1f2;border-color:#fecdd3;color:#be123c}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;text-align:start;font-size:12px}.data-table th{text-align:start;text-transform:uppercase;letter-spacing:.7px;font-size:9px;color:var(--muted);padding:13px 12px;background:var(--bg);font-weight:600;border-bottom:1px solid var(--border)}.data-table td{padding:16px 12px;border-bottom:1px solid var(--border);vertical-align:middle;max-width:250px;overflow-wrap:anywhere}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--bg)}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.filters input{max-width:330px}.filters select{padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text)}.empty-state{text-align:center;padding:45px 20px;color:var(--muted)}.empty-symbol{font-size:27px;margin-bottom:13px;color:var(--teal)}.empty-state h3{color:var(--text)}.pagination{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);padding-top:20px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.detail-grid dt{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px;margin-bottom:6px}.detail-grid dd{margin:0;font-size:13px;overflow-wrap:anywhere}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--border);margin:25px 0;overflow:auto}.tab{padding:10px 0;white-space:nowrap}.modal-backdrop{position:fixed;inset:0;background:#14263d80;z-index:60;display:grid;place-items:center;padding:24px}.modal-panel{background:var(--surface);border-radius:14px;padding:30px;width:min(600px,100%);max-height:90vh;overflow:auto}.slide-over{margin-inline-start:auto;height:100vh;width:min(480px,100%);background:var(--surface);padding:30px;overflow:auto}.toast{position:fixed;bottom:24px;right:24px;max-width:450px;z-index:80;box-shadow:0 10px 30px #14263d20}.loading{color:var(--teal);font-size:11px}.timeline{border-inline-start:2px solid var(--mint);padding-inline-start:18px;margin:15px 0}.timeline-item{padding:0 0 18px;font-size:12px}.timeline-item small{display:block}.checkbox-line{display:flex;gap:9px;align-items:flex-start;font-size:12px;margin:16px 0}.search-results{display:grid;gap:10px;margin-top:16px}
