.login{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:20px;background:#f4f6fb;font-family:Inter,system-ui,sans-serif}.login h2{font-size:28px;font-weight:800;color:#111827}.login .login-row{display:flex;gap:10px;width:100%;max-width:360px}.login .login-row input{flex:1;padding:14px 16px;border-radius:14px;border:1px solid #d1d5db;background:#fff;font-size:16px;outline:none;transition:.2s ease}.login .login-row input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb26}.login .login-row button{padding:0 18px;border:none;border-radius:14px;background:#16a34a;color:#fff;font-weight:700;cursor:pointer;transition:.2s ease}.login .login-row button:hover{background:#15803d;transform:translateY(-1px)}.login .error{font-size:14px;font-weight:600;color:#b91c1c;background:#fee2e2;padding:10px 14px;border-radius:10px}.login .guest-btn{width:100%;max-width:360px;padding:14px;border:none;border-radius:14px;background:#2563eb;color:#fff;font-weight:700;cursor:pointer;transition:.2s ease}.login .guest-btn:hover{background:#1d4ed8;transform:translateY(-2px)}@media (max-width: 500px){.login .login-row{flex-direction:column;gap:12px}.login .login-row input{width:100%}.login .login-row button{width:100%;padding:14px;font-size:16px}}.admin-page{max-width:1100px;margin:0 auto;padding:24px 20px;font-family:Inter,system-ui,sans-serif}.admin-page h2{font-size:24px;font-weight:800;margin:26px 0 16px;color:#111827}.admin-page .add-keychain-btn{display:inline-flex;margin-bottom:24px;padding:12px 18px;border-radius:12px;background:#2563eb;color:#fff;font-weight:700;cursor:pointer;border:none;transition:.2s ease}.admin-page .add-keychain-btn:hover{background:#1d4ed8;transform:translateY(-2px)}.admin-page .color-picker{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.admin-page .color-dot{width:34px;height:34px;border-radius:50%;border:2px solid transparent;background:transparent;padding:3px;cursor:pointer;transition:.2s ease}.admin-page .color-dot span{display:block;width:100%;height:100%;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.admin-page .color-dot.active{border-color:#111827;transform:scale(1.12)}.admin-page .color-dot:hover{transform:scale(1.1)}.admin-page .keychain-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.admin-page .keychain-item{background:#fff;border-radius:20px;padding:20px;border:1px solid #e5e7eb;box-shadow:0 10px 25px #0f172a14;transition:.2s ease}.admin-page .keychain-item:hover{box-shadow:0 16px 35px #0f172a1f}.admin-page .keychain-item label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;font-weight:700;color:#4b5563}.admin-page .keychain-item input{width:100%;padding:11px 12px;border:1px solid #d1d5db;border-radius:12px;font-size:15px;color:#111827;background:#f9fafb;outline:none;transition:.2s ease}.admin-page .keychain-item input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 4px #2563eb1f}.admin-page .keychain-item select{width:100%;padding:11px 12px;border:1px solid #d1d5db;border-radius:12px;font-size:15px;color:#111827;background:#f9fafb;outline:none;transition:.2s ease}.admin-page .keychain-item select:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 4px #2563eb1f}.admin-page .keychain-actions{display:flex;gap:10px;margin-top:18px}.admin-page .keychain-actions button{flex:1;border:none;border-radius:12px;padding:11px 14px;font-size:14px;font-weight:800;cursor:pointer;transition:.2s ease}.admin-page .keychain-actions button:first-child{background:#16a34a;color:#fff}.admin-page .keychain-actions button:first-child:hover{background:#15803d}.admin-page .keychain-actions button:last-child{background:#ef4444;color:#fff}.admin-page .keychain-actions button:last-child:hover{background:#dc2626}.admin-page .keychain-actions button:hover{transform:translateY(-2px)}@media (max-width: 600px){.admin-page{padding:24px 14px}.admin-page h1{font-size:28px}.admin-page .keychain-list{grid-template-columns:1fr}}.keychain-tools{max-width:1100px;margin:0 auto 22px;display:flex;gap:12px}.keychain-tools input,.keychain-tools select{padding:12px 14px;border-radius:14px;border:1px solid #d1d5db;background:#fff;font-size:15px;outline:none}.keychain-tools input{flex:1}.keychain-tools select{min-width:210px;cursor:pointer}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:12px 18px;border-radius:12px;font-weight:700;z-index:999;box-shadow:0 8px 20px #00000026;animation:fadeIn .2s ease}.toast.success{background:#16a34a;color:#fff}.toast.error{background:#ef4444;color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@media (max-width: 600px){.keychain-tools{flex-direction:column}.keychain-tools input,.keychain-tools select{width:100%}}.admin-nav{display:flex;gap:10px;margin-bottom:24px;padding:6px;background:#e5e7eb;border-radius:14px;width:fit-content}.admin-nav .nav-item{padding:10px 18px;border-radius:10px;font-weight:700;text-decoration:none;color:#374151;transition:.2s ease;cursor:pointer}.admin-nav .nav-item:hover{background:#d1d5db}.admin-nav .nav-item.active{background:#fff;color:#111827;box-shadow:0 4px 10px #00000014}.sales-page{max-width:1100px;margin:0 auto;padding:24px 20px;font-family:Inter,system-ui,sans-serif}.sales-page h2{font-size:24px;font-weight:800;margin:26px 0 16px;color:#111827}.sales-page input{width:100%;margin-bottom:16px;padding:12px 14px;border-radius:12px;border:1px solid #d1d5db;font-size:14px}.sales-page table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 25px #0000000f}.sales-page th{background:#f9fafb;padding:12px;text-align:left;font-size:14px;font-weight:800;cursor:pointer;-webkit-user-select:none;user-select:none}.sales-page th:hover{background:#f3f4f6}.sales-page td{padding:12px;border-top:1px solid #e5e7eb;font-size:14px}.sales-page tr:hover td{background:#f9fafb}.benefits{max-width:1100px;margin:0 auto;padding:24px 20px;font-family:Inter,system-ui,sans-serif}.benefits h2{font-size:24px;font-weight:800;margin:26px 0 16px;color:#111827}.totals,.chart-card{background:#fff;border-radius:18px;padding:18px;border:1px solid #e5e7eb;box-shadow:0 10px 25px #0f172a14}.totals p{margin:7px 0;font-size:16px;color:#4b5563}.totals .profit{margin-top:10px;font-size:22px;font-weight:900;color:#16a34a}.ranking-list{display:grid;gap:12px}.ranking-item{display:flex;align-items:center;gap:14px;background:#fff;border-radius:16px;padding:14px 16px;border:1px solid #e5e7eb;box-shadow:0 8px 18px #0f172a0f}.ranking-item>span{width:42px;height:42px;border-radius:50%;background:#2563eb;color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center}.ranking-item strong{font-size:16px;color:#111827}.ranking-item p{margin:4px 0 0;font-size:14px;color:#6b7280}.benefits-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.benefit-item{background:#fff;border-radius:16px;padding:18px;border:1px solid #e5e7eb;box-shadow:0 8px 20px #0f172a0f;transition:.2s ease}.benefit-item:hover{transform:translateY(-4px);box-shadow:0 14px 30px #0f172a1f}.benefit-item h3{margin:0 0 12px;font-size:18px;font-weight:800;color:#111827}.benefit-item p{margin:5px 0;font-size:14px;color:#6b7280}.benefit-item .profit{margin-top:10px;font-size:16px;font-weight:900;color:#16a34a}.profit.negative{color:#dc2626}@media (max-width: 600px){.benefits{padding:20px 14px}.benefits h2{font-size:20px}.ranking-item{align-items:flex-start}}.seller-page{min-height:100vh;padding:32px 20px;background:#f4f6fb;color:#111827;font-family:Inter,system-ui,sans-serif}.seller-page h1{max-width:1100px;margin:0 auto 28px;font-size:36px;font-weight:800}.seller-page .color-picker{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.seller-page .color-dot{width:36px;height:36px;border-radius:50%;border:2px solid transparent;background:none;padding:3px;cursor:pointer;transition:all .2s ease}.seller-page .color-dot span{width:100%;height:100%;border-radius:50%;display:block;border:1px solid rgba(0,0,0,.15)}.seller-page .color-dot:hover{transform:scale(1.1)}.seller-page .color-dot.active{border-color:#111827;transform:scale(1.15);box-shadow:0 0 0 3px #00000014}.seller-page .color-dot.active span{border:2px solid #fff}.seller-page .keychain-list{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.seller-page .keychain-item{background:#fff;border-radius:20px;padding:22px;border:1px solid #e5e7eb;box-shadow:0 10px 25px #0f172a14;transition:.2s ease}.seller-page .keychain-item:hover{box-shadow:0 16px 35px #0f172a1f}.seller-page .keychain-item h3{margin:0 0 16px;font-size:22px;font-weight:800;color:#111827}.seller-page .keychain-item p{margin:8px 0;font-size:15px;color:#4b5563}.seller-page .keychain-item p.selled{font-size:18px;font-weight:800;color:#2563eb}.seller-page .keychain-item .price{margin-top:10px;font-size:18px;font-weight:800;color:#2563eb}.seller-page .keychain-item .available{font-size:18px;margin-top:14px;font-weight:800;color:#16a34a}.seller-page .keychain-actions{display:flex;gap:12px;margin-top:20px}.seller-page .keychain-actions button{flex:1;border:none;border-radius:14px;padding:12px 0;font-size:22px;font-weight:900;cursor:pointer;transition:.2s ease;color:#fff}.seller-page .keychain-actions button:first-child{background:#ef4444}.seller-page .keychain-actions button:first-child:hover{background:#dc2626}.seller-page .keychain-actions button:last-child{background:#16a34a}.seller-page .keychain-actions button:last-child:hover{background:#15803d}.seller-page .keychain-actions button:hover{transform:translateY(-2px)}.seller-page .keychain-actions button:active{transform:scale(.96)}@media (max-width: 600px){.seller-page{padding:24px 14px}.seller-page h1{font-size:28px;margin-bottom:20px}.seller-page .keychain-list{grid-template-columns:1fr}.seller-page .keychain-item{padding:18px}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f4f6fb;font-family:Inter,system-ui,sans-serif;color:#1f2937}.logout{position:absolute;top:28px;right:28px;padding:10px 16px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-weight:700;cursor:pointer;transition:.2s ease}.logout:hover{background:#fecaca;transform:translateY(-2px)}@media (max-width: 600px){.logout{position:static;display:inline-flex;margin-bottom:20px}}
