*{box-sizing:border-box}body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;background:#f6f7fb;color:#222}a{text-decoration:none}.container{max-width:1280px;margin:0 auto;padding:20px}.topbar{background:linear-gradient(135deg,#7a1f2b,#a22d3b);color:#fff;padding:18px 24px;box-shadow:0 4px 18px rgba(0,0,0,.08)}.topbar h1{margin:0;font-size:22px}.topbar .sub{font-size:13px;opacity:.9;margin-top:4px}.card{background:#fff;border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 6px 18px rgba(0,0,0,.05);border:1px solid #eee}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}label{display:block;margin-bottom:6px;font-weight:600;color:#7a1f2b}input[type=text],input[type=password],input[type=date],input[type=number],input[type=url],select,textarea{width:100%;padding:11px 12px;border:1px solid #d7d7d7;border-radius:10px;font-size:14px;outline:none;background:#fff}input:focus,select:focus,textarea:focus{border-color:#a22d3b;box-shadow:0 0 0 3px rgba(162,45,59,.08)}textarea{min-height:90px;resize:vertical}.btn{display:inline-block;background:#7a1f2b;color:#fff;border:none;padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;margin-right:6px}.btn:hover{background:#641924}.btn-success{background:#1f8a4c}.btn-success:hover{background:#176c3b}.btn-secondary{background:#6b7280}.btn-secondary:hover{background:#4b5563}.btn-warning{background:#d97706}.btn-warning:hover{background:#b45309}.btn-danger{background:#b91c1c}.btn-danger:hover{background:#991b1b}.small{font-size:12px;color:#666;margin-top:5px}.alert{padding:12px 14px;border-radius:10px;margin-bottom:15px;font-size:14px}.alert-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.alert-danger{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}table{width:100%;border-collapse:collapse;font-size:14px}table th,table td{border:1px solid #e5e7eb;padding:10px;vertical-align:top}table th{background:#f9fafb;color:#7a1f2b;text-align:left}.table-wrap{overflow-x:auto}.table-search{margin-bottom:12px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#7a1f2b 0%,#a22d3b 55%,#f6f7fb 55%,#f6f7fb 100%)}.login-box{width:100%;max-width:420px;background:#fff;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.12)}.login-title{font-size:24px;font-weight:700;color:#7a1f2b;margin-bottom:6px}.login-sub{color:#666;font-size:14px;margin-bottom:20px}.stat-card{border-left:5px solid #a22d3b}.badge{display:inline-block;background:#fde8eb;color:#7a1f2b;padding:8px 10px;border-radius:999px;margin:4px 6px 0 0;font-size:13px}.btn-mini{background:#7a1f2b;color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:11px;margin-left:6px;cursor:pointer}.suggest-box{position:absolute;background:#fff;border:1px solid #ddd;border-radius:10px;width:100%;max-height:220px;overflow-y:auto;z-index:999;box-shadow:0 6px 18px rgba(0,0,0,.08);display:none}.suggest-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0}.suggest-item:hover{background:#fdf2f4}.input-wrap{position:relative}.footer-note{text-align:center;font-size:12px;color:#888;margin-top:20px}