@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
:root{--bg-hue:0;--bg-sat:0%;--bg-light:98%;--bg:hsl(var(--bg-hue), var(--bg-sat), var(--bg-light));--bg-surface:#fff;--text-main:#171717;--text-muted:#737373;--border:#e6e6e6;--border-focus:#b3b3b3;--primary:#171717;--primary-hover:#404040;--danger:#f43e5c;--danger-hover:#f10e34;--danger-bg:#feecef;--success:#29a366;--success-bg:#effbf5;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 12px 24px #00000014, 0 4px 8px #0000000a;--transition:all .25s cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}a{color:inherit;transition:var(--transition);text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:600;line-height:1.2}.text-muted{color:var(--text-muted)}.text-xs{letter-spacing:.01em;font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{letter-spacing:-.03em;font-size:1.75rem}.text-3xl{letter-spacing:-.04em;font-size:2.25rem}.container{max-width:1080px;margin:0 auto;padding:2.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition);padding:2rem}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-focus)}.btn{border-radius:var(--radius-sm);transition:var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-surface);color:var(--text-main);border-color:var(--border)}.btn-secondary:hover{background:var(--bg);border-color:var(--border-focus)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#0000}.btn-danger:hover{background:var(--danger);color:#fff}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.label{color:var(--text-main);font-size:.875rem;font-weight:500}.input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;transition:var(--transition);outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.875rem;box-shadow:inset 0 1px 2px #00000005}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0000000d}.table-wrapper{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th,td{border-bottom:1px solid var(--border);padding:1rem 1.5rem;font-size:.875rem}th{color:var(--text-muted);background:var(--bg);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}tr{transition:var(--transition)}tr:hover td{background:var(--bg)}tr:last-child td{border-bottom:none}.badge{letter-spacing:.02em;background:var(--border);color:var(--text-muted);border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-neutral{background:var(--bg);border:1px solid var(--border);color:var(--text-main)}
