*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--c-bg:#f0f2f5;--c-surface:#fff;--c-primary:#4f46e5;--c-primary-dark:#3730a3;--c-danger:#ef4444;--c-success:#10b981;--c-text:#1e293b;--c-text-secondary:#64748b;--c-border:#e2e8f0;--radius:12px;--shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--transition:.2s ease}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--c-bg);color:var(--c-text);line-height:1.6;min-height:100vh}a{color:var(--c-primary);text-decoration:none}.card{background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:20px}.card h2{font-size:1.15rem;margin-bottom:16px;display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--c-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--c-primary-dark)}.btn-outline{background:transparent;border:2px solid var(--c-border);color:var(--c-text)}.btn-outline:hover:not(:disabled){border-color:var(--c-primary);color:var(--c-primary)}.btn-sm{padding:6px 12px;font-size:.82rem}.btn-icon{padding:6px;border-radius:6px;background:none;border:none;cursor:pointer;font-size:1.1rem;transition:var(--transition)}.btn-icon:hover{background:var(--c-bg)}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--c-text-secondary);margin-bottom:4px}input[type=text],input[type=number],select{width:100%;padding:10px 14px;border:2px solid var(--c-border);border-radius:8px;font-size:.95rem;transition:var(--transition);background:var(--c-surface);color:var(--c-text)}input:focus,select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #4f46e526}.inline-form{display:flex;gap:8px}.inline-form input{flex:1}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--c-bg);padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.chip .remove{cursor:pointer;opacity:.5;transition:var(--transition)}.chip .remove:hover{opacity:1;color:var(--c-danger)}.checkbox-group{display:flex;flex-wrap:wrap;gap:8px}.checkbox-label{display:flex;align-items:center;gap:6px;padding:6px 12px;border:2px solid var(--c-border);border-radius:8px;cursor:pointer;font-size:.88rem;transition:var(--transition);-webkit-user-select:none;user-select:none}.checkbox-label:has(input:checked){border-color:var(--c-primary);background:#4f46e50f}.checkbox-label input{display:none}.list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--c-border)}.list-item:last-child{border-bottom:none}.balance-positive{color:var(--c-success);font-weight:700}.balance-negative{color:var(--c-danger);font-weight:700}.balance-zero{color:var(--c-text-secondary)}.settlement-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--c-border);font-size:.95rem}.settlement-row:last-child{border-bottom:none}.settlement-arrow{color:var(--c-primary);font-weight:700}.hero{text-align:center;padding:60px 20px 40px}.hero h1{font-size:2.4rem;margin-bottom:12px}.hero p{font-size:1.1rem;color:var(--c-text-secondary);max-width:500px;margin:0 auto 32px}.container{max-width:800px;margin:0 auto;padding:0 16px 40px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:640px){.grid-2{grid-template-columns:1fr}.hero h1{font-size:1.8rem}}.app-header{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dark));color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-lg)}.app-header a{color:#fff;font-weight:700;font-size:1.15rem}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.empty{text-align:center;padding:32px 16px;color:var(--c-text-secondary);font-size:.95rem}.toast{position:fixed;bottom:24px;right:24px;background:var(--c-text);color:#fff;padding:12px 20px;border-radius:8px;font-size:.9rem;box-shadow:var(--shadow-lg);z-index:1000;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
