html{background:#f7f8fa}body{margin:0;min-width:320px;background:#f7f8fa;color:#0f1117;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:#10b9812e;color:#0f1117}*{box-sizing:border-box}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.card{background:#fff;border-radius:16px;border:1px solid rgba(229,231,235,.8);box-shadow:0 1px 4px #0000000f}.card-hover{transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.card-hover:hover{border-color:#a7f3d0;background-color:#ecfdf5d1;box-shadow:0 10px 30px #0f11170f}.card-subtle{background:#fff;border-radius:16px;border:1px solid rgba(229,231,235,.8);box-shadow:0 1px 3px #0000000a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:12px;font-size:13px;font-weight:400;transition:all .15s ease;cursor:pointer;border:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#10b981;color:#fff}.btn-primary:hover:not(:disabled){background:#059669}.btn-secondary{background:#fff;border:1px solid #e5e7eb;color:#6b7280}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.btn-icon{padding:.5rem;border-radius:12px;color:#9ca3af;background:transparent}.btn-icon:hover:not(:disabled){background:#f9fafb;color:#6b7280}.input{width:100%;padding:.5rem .75rem;background:#f9fafb;border:1px solid rgba(229,231,235,.8);border-radius:12px;font-size:13px;color:#0f1117;transition:all .15s ease}.input::placeholder{color:#9ca3af}.input:focus{outline:none;border-color:#34d39999;box-shadow:0 0 0 2px #10b9811a}.input-with-icon{position:relative}.input-with-icon .icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:#9ca3af;pointer-events:none}.input-with-icon .input{padding-left:2.5rem}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:9999px;font-size:12px}.badge-dot{width:.375rem;height:.375rem;border-radius:9999px}.badge-success{background:#ecfdf5;color:#047857}.badge-success .badge-dot{background:#34d399}.badge-warning{background:#fffbeb;color:#b45309}.badge-warning .badge-dot{background:#fbbf24}.badge-info{background:#eff6ff;color:#1d4ed8}.badge-info .badge-dot{background:#60a5fa}.badge-error{background:#fef2f2;color:#dc2626}.badge-error .badge-dot{background:#f87171}.badge-pending{background:#fff7ed;color:#c2410c}.badge-pending .badge-dot{background:#fb923c}.badge-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:11px}.table-container{background:#fff;border-radius:16px;border:1px solid rgba(229,231,235,.8);box-shadow:0 1px 3px #0000000f;overflow:hidden}.table-header{display:flex;align-items:center;gap:1rem;padding:.625rem 1.25rem;background:#f9fafbe6;border-bottom:1px solid #e5e7eb;font-size:11px;color:#9ca3af}.table-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid #e5e7eb;font-size:12px;transition:background-color .15s ease}.table-row:last-child{border-bottom:none}.table-row:hover{background:#f9fafb}.tab-group{display:flex;gap:.25rem;padding:.25rem;background:#f3f4f6cc;border-radius:12px}.tab{padding:.375rem 1rem;border-radius:8px;font-size:12px;color:#6b7280;transition:all .15s ease;cursor:pointer;border:none;background:transparent}.tab:hover{color:#374151}.tab-active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#0f1117}.view-toggle{display:flex;align-items:center;gap:.25rem;padding:.25rem;background:#f3f4f6;border-radius:12px}.view-toggle-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:8px;font-size:12px;transition:all .15s ease;cursor:pointer;border:none;background:transparent;color:#6b7280}.view-toggle-btn:hover{color:#374151}.view-toggle-btn-active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#0f1117}.divider{height:1px;background:#e5e7eb}.divider-vertical{width:1px;background:#e5e7eb}
