*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--teal: #0D9488;--teal-l: #F0FDFA;--teal-d: #0F766E;--blue: #1C4ED8;--green: #059669;--green-l: #ECFDF5;--amber: #D97706;--amber-l: #FFFBEB;--red: #DC2626;--red-l: #FEF2F2;--ink: #0F172A;--muted: #64748B;--border: #E2E8F0;--bg: #F8FAFC;--card: #FFFFFF;--radius: 10px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}body{padding-bottom:env(safe-area-inset-bottom)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--teal);color:#fff;border-color:var(--teal)}.btn-primary:hover{background:var(--teal-d)}.btn-ghost{background:transparent;color:var(--muted);border-color:var(--border)}.btn-ghost:hover{background:var(--bg);color:var(--ink)}.btn-sm{padding:5px 12px;font-size:12px}.btn-block{width:100%;justify-content:center}.card{background:var(--card);border:1px solid var(--border);border-radius:12px}.card-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:13px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.04em}.card-body{padding:16px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:600}.badge-green{background:var(--green-l);color:#065f46}.badge-red{background:var(--red-l);color:#991b1b}.badge-amber{background:var(--amber-l);color:#92400e}.badge-teal{background:var(--teal-l);color:#0f766e}.badge-gray{background:#f1f5f9;color:#475569}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.form-control{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--ink);background:#fff;outline:none;transition:border-color .15s}.form-control:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d94881f}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.text-muted{color:var(--muted)}.text-sm{font-size:12px}.text-center{text-align:center}.w-full{width:100%}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.stat-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.stat-value{font-size:22px;font-weight:700;color:var(--ink)}.stat-sub{font-size:11px;color:var(--muted);margin-top:2px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:10px 12px;border-bottom:1px solid #F8FAFC;font-size:13px}tr:last-child td{border-bottom:none}.empty{text-align:center;padding:48px 24px;color:var(--muted)}.empty-title{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:6px}.loading{text-align:center;padding:48px;color:var(--muted)}.priority-urgent{border-left:3px solid var(--red)}.priority-high{border-left:3px solid var(--amber)}.priority-normal{border-left:3px solid var(--teal)}.page-header{margin-bottom:16px}.page-title{font-size:18px;font-weight:700;color:var(--ink)}.page-subtitle{font-size:12px;color:var(--muted);margin-top:2px}.tabs{display:flex;gap:2px;background:var(--border);padding:3px;border-radius:10px;margin-bottom:16px}.tab-btn{flex:1;padding:7px;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;background:transparent;color:var(--muted);transition:all .15s}.tab-btn.active{background:#fff;color:var(--teal);box-shadow:0 1px 3px #00000014}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .2s ease}
