:root{--kyudo-purple: #a64dff;--kyudo-purple-dark: #8833dd;--kyudo-purple-light: #c68eff;--kyudo-bg: #0a0a0f;--kyudo-bg-secondary: #13131a;--kyudo-bg-card: #1a1a24;--kyudo-text: #ffffff;--kyudo-text-secondary: #a0a0b0;--kyudo-border: #2a2a35;--kyudo-success: #4ade80;--kyudo-error: #f43f5e;--kyudo-warning: #fbbf24}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--kyudo-bg);color:var(--kyudo-text);line-height:1.6}.app{min-height:100vh}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1.5rem}.loading-spinner{width:50px;height:50px;border:4px solid var(--kyudo-border);border-top-color:var(--kyudo-purple);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--kyudo-bg) 0%,#1a0a2e 100%)}.login-container{background:var(--kyudo-bg-card);border:1px solid var(--kyudo-border);border-radius:20px;padding:3rem;width:100%;max-width:400px;box-shadow:0 20px 60px #a64dff26}.login-header{text-align:center;margin-bottom:2rem}.vera-logo{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:3rem;font-weight:800;margin-bottom:1rem}.logo-text{color:var(--kyudo-purple)}.logo-os{color:var(--kyudo-text)}.login-header h1{font-size:1.5rem;margin-bottom:.5rem}.login-header p{color:var(--kyudo-text-secondary);font-size:.9rem}.discord-login-btn{width:100%;padding:1rem;background:#5865f2;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s ease}.discord-login-btn:hover{background:#4752c4;transform:translateY(-2px);box-shadow:0 10px 30px #5865f24d}.login-footer{margin-top:2rem;text-align:center}.kyudo-branding{color:var(--kyudo-text-secondary);font-size:.85rem}.admin-header,.dashboard-header,.page-header{background:var(--kyudo-bg-secondary);border-bottom:1px solid var(--kyudo-border);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:10}.header-left{display:flex;align-items:center;gap:1rem}.header-left h1{font-size:1.75rem;font-weight:700}.user-badge{padding:.4rem .8rem;border-radius:8px;font-size:.75rem;font-weight:600;text-transform:uppercase}.admin-badge{background:var(--kyudo-error);color:#fff}.owner-badge{background:var(--kyudo-purple);color:#fff}.header-right{display:flex;align-items:center;gap:1rem}.user-name{color:var(--kyudo-text-secondary);font-weight:500}.logout-btn,.login-btn,.admin-btn,.back-btn{padding:.6rem 1.2rem;background:var(--kyudo-bg-card);border:1px solid var(--kyudo-border);border-radius:10px;color:var(--kyudo-text);font-weight:500;cursor:pointer;transition:all .3s ease}.login-btn{background:var(--kyudo-purple);border-color:var(--kyudo-purple);color:#fff}.login-btn:hover{background:var(--kyudo-purple-dark);transform:translateY(-2px)}.admin-btn{background:var(--kyudo-warning);border-color:var(--kyudo-warning);color:var(--kyudo-bg)}.admin-btn:hover{opacity:.9;transform:translateY(-2px)}.logout-btn:hover,.back-btn:hover{background:var(--kyudo-border);border-color:var(--kyudo-purple)}.admin-nav{display:flex;gap:1rem;padding:1.5rem 2rem;background:var(--kyudo-bg-secondary);border-bottom:1px solid var(--kyudo-border)}.admin-nav button{padding:.8rem 1.5rem;background:transparent;border:1px solid var(--kyudo-border);border-radius:10px;color:var(--kyudo-text-secondary);font-weight:500;cursor:pointer;transition:all .3s ease}.admin-nav button.active{background:var(--kyudo-purple);border-color:var(--kyudo-purple);color:#fff}.admin-nav button:hover:not(.active){border-color:var(--kyudo-purple);color:var(--kyudo-text)}.admin-content{padding:2rem}.section-card{background:var(--kyudo-bg-card);border:1px solid var(--kyudo-border);border-radius:15px;padding:2rem;margin-bottom:2rem}.section-card h2{font-size:1.5rem;margin-bottom:1.5rem;color:var(--kyudo-purple)}.owner-form,form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--kyudo-text-secondary);font-weight:500;font-size:.9rem}.form-group input,.form-group textarea,.form-group select{padding:.8rem 1rem;background:var(--kyudo-bg);border:1px solid var(--kyudo-border);border-radius:10px;color:var(--kyudo-text);font-size:1rem;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--kyudo-purple);box-shadow:0 0 0 3px #a64dff1a}.form-group textarea{resize:vertical;font-family:inherit}.submit-btn{padding:.9rem 1.5rem;background:var(--kyudo-purple);border:none;border-radius:10px;color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease}.submit-btn:hover{background:var(--kyudo-purple-dark);transform:translateY(-2px);box-shadow:0 10px 30px #a64dff4d}.cancel-btn{padding:.9rem 1.5rem;background:transparent;border:1px solid var(--kyudo-border);border-radius:10px;color:var(--kyudo-text);font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn:hover{background:var(--kyudo-bg-card);border-color:var(--kyudo-purple)}.owners-list,.companies-list{display:flex;flex-direction:column;gap:1rem}.owner-item,.company-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--kyudo-bg);border:1px solid var(--kyudo-border);border-radius:12px;transition:all .3s ease}.owner-item:hover,.company-item:hover{border-color:var(--kyudo-purple)}.owner-info,.company-info{display:flex;align-items:center;gap:1rem}.owner-avatar,.company-logo{width:48px;height:48px;border-radius:50%;object-fit:cover}.owner-name,.company-name{font-weight:600;font-size:1.1rem}.owner-id,.company-owner{color:var(--kyudo-text-secondary);font-size:.9rem}.delete-btn{padding:.6rem 1.2rem;background:var(--kyudo-error);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease}.delete-btn:hover{background:#dc2626;transform:translateY(-2px)}.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.2rem;margin-top:2rem}.company-card{background:var(--kyudo-bg-card);border:1px solid var(--kyudo-border);border-radius:12px;padding:1.5rem;text-align:center;transition:all .3s ease;min-height:200px;max-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden}.company-card.clickable{cursor:pointer}.company-card:hover{border-color:var(--kyudo-purple);transform:translateY(-3px);box-shadow:0 10px 30px #a64dff40}.company-card-logo{width:80px;height:80px;border-radius:10px;object-fit:contain;margin:0 auto 1rem;padding:.5rem;border:2px solid var(--kyudo-purple);background:var(--kyudo-bg);display:block}background: var(--kyudo-bg); padding: .4rem; flex-shrink: 0; } .company-card h3{font-size:1rem;margin-bottom:.4rem;color:var(--kyudo-purple);font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.company-card p{color:var(--kyudo-text-secondary);font-size:.8rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0}.create-company-btn,.add-product-btn{padding:1rem 2rem;background:var(--kyudo-purple);border:none;border-radius:12px;color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;display:inline-block;margin-bottom:2rem}.create-company-btn:hover,.add-product-btn:hover{background:var(--kyudo-purple-dark);transform:translateY(-2px);box-shadow:0 10px 30px #a64dff4d}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--kyudo-bg-card);border:1px solid var(--kyudo-border);border-radius:20px;padding:2rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 70px #a64dff40}.modal-content.large{max-width:600px}.modal-content h2{font-size:1.8rem;margin-bottom:1.5rem;color:var(--kyudo-purple)}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.modal-actions button{flex:1}.manager-content{padding:2rem}.manager-actions{margin-bottom:2rem}.category-section{margin-bottom:3rem}.category-section h2{font-size:1.5rem;margin-bottom:1rem;color:var(--kyudo-purple)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.product-card-edit{background:var(--kyudo-bg-card);border:1px solid var(--kyudo-border);border-radius:15px;padding:1.5rem;transition:all .3s ease}.product-card-edit:hover{border-color:var(--kyudo-purple);transform:translateY(-5px)}.product-card-edit img{width:100%;height:150px;object-fit:contain;border-radius:10px;margin-bottom:1rem;background:var(--kyudo-bg);padding:.5rem}.product-card-edit h3{font-size:1.1rem;margin-bottom:.5rem}.product-price{color:var(--kyudo-purple);font-size:1.3rem;font-weight:700;margin-bottom:1rem}.product-actions{display:flex;gap:.5rem}.product-actions button{flex:1;padding:.6rem;border:1px solid var(--kyudo-border);border-radius:8px;background:var(--kyudo-bg);color:var(--kyudo-text);font-weight:500;cursor:pointer;transition:all .3s ease}.product-actions button:hover{border-color:var(--kyudo-purple)}.product-actions .delete-btn{border-color:var(--kyudo-error)}.no-products{text-align:center;color:var(--kyudo-text-secondary);padding:2rem}.register-layout{display:grid;grid-template-columns:1fr 400px;height:calc(100vh - 120px)}.products-area{padding:2rem;overflow-y:auto}.category-filter{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.category-filter button{padding:.7rem 1.2rem;background:var(--kyudo-bg-card);border:1px solid var(--kyudo-border);border-radius:10px;color:var(--kyudo-text-secondary);font-weight:500;cursor:pointer;transition:all .3s ease}.category-filter button.active{background:var(--kyudo-purple);border-color:var(--kyudo-purple);color:#fff}.category-filter button:hover:not(.active){border-color:var(--kyudo-purple)}.category-products{margin-bottom:3rem}.category-products h3{font-size:1.4rem;margin-bottom:1rem;color:var(--kyudo-purple)}.products-grid-register{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.product-card-register{background:var(--kyudo-bg-card);border:1px solid var(--kyudo-border);border-radius:12px;padding:1rem;cursor:pointer;transition:all .3s ease}.product-card-register:hover{border-color:var(--kyudo-purple);transform:translateY(-3px);box-shadow:0 10px 25px #a64dff33}.product-card-register img{width:100%;height:120px;object-fit:contain;border-radius:8px;margin-bottom:.8rem;background:var(--kyudo-bg);padding:.5rem}.product-info h4{font-size:.95rem;margin-bottom:.3rem}.product-info .price{color:var(--kyudo-purple);font-weight:700;font-size:1.1rem}.cart-area{background:var(--kyudo-bg-secondary);border-left:1px solid var(--kyudo-border);padding:2rem;display:flex;flex-direction:column;overflow-y:auto}.cart-area h2{font-size:1.5rem;margin-bottom:1.5rem;color:var(--kyudo-purple)}.person-count{background:var(--kyudo-bg-card);border:1px solid var(--kyudo-border);border-radius:12px;padding:1rem;margin-bottom:1.5rem}.person-count label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--kyudo-text-secondary)}.counter{display:flex;align-items:center;gap:1rem}.counter button{width:40px;height:40px;border:1px solid var(--kyudo-border);background:var(--kyudo-bg);color:var(--kyudo-text);border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .3s ease}.counter button:hover{border-color:var(--kyudo-purple);background:var(--kyudo-purple);color:#fff}.counter span{font-size:1.3rem;font-weight:700;min-width:40px;text-align:center}.cart-items{flex:1;overflow-y:auto;margin-bottom:1.5rem}.empty-cart{text-align:center;color:var(--kyudo-text-secondary);padding:2rem}.cart-item{background:var(--kyudo-bg-card);border:1px solid var(--kyudo-border);border-radius:12px;padding:1rem;margin-bottom:1rem}.item-info{display:flex;justify-content:space-between;margin-bottom:.8rem}.item-name{font-weight:600}.item-price{color:var(--kyudo-purple);font-weight:700}.item-controls{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.item-controls button{width:32px;height:32px;border:1px solid var(--kyudo-border);background:var(--kyudo-bg);color:var(--kyudo-text);border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.item-controls button:hover{border-color:var(--kyudo-purple)}.item-controls .remove-btn{margin-left:auto;background:var(--kyudo-error);border-color:var(--kyudo-error);color:#fff}.item-controls .remove-btn:hover{background:#dc2626}.quantity{font-weight:700;min-width:30px;text-align:center}.item-total{text-align:right;color:var(--kyudo-text-secondary);font-size:.9rem}.cart-summary{border-top:2px solid var(--kyudo-border);padding-top:1.5rem}.total{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;font-size:1.2rem;font-weight:700}.total-amount{color:var(--kyudo-purple);font-size:1.8rem}.checkout-btn{width:100%;padding:1.2rem;background:var(--kyudo-purple);border:none;border-radius:12px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.checkout-btn:hover:not(:disabled){background:var(--kyudo-purple-dark);transform:translateY(-2px);box-shadow:0 10px 30px #a64dff66}.checkout-btn:disabled{opacity:.5;cursor:not-allowed}.checkout-modal{max-width:600px}.invoice-preview{background:var(--kyudo-bg);border:1px solid var(--kyudo-border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;font-family:Courier New,monospace}.invoice-line{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;padding:.5rem 0;color:var(--kyudo-text-secondary)}.invoice-line.total{font-size:1.2rem;font-weight:700;color:var(--kyudo-text)}.invoice-divider{border-top:2px dashed var(--kyudo-border);margin:1rem 0}.info-text{text-align:center;color:var(--kyudo-text-secondary);font-size:.9rem;margin-bottom:1.5rem}@media (max-width: 1200px){.register-layout{grid-template-columns:1fr 350px}}@media (max-width: 768px){.register-layout{grid-template-columns:1fr}.cart-area{border-left:none;border-top:1px solid var(--kyudo-border)}.companies-grid{grid-template-columns:1fr}.products-grid-register{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--kyudo-bg)}::-webkit-scrollbar-thumb{background:var(--kyudo-border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--kyudo-purple)}.companies-grid-clean{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;padding:2rem;max-width:1400px;margin:0 auto}.company-card-clean{background:var(--kyudo-bg-card);border:2px solid var(--kyudo-border);border-radius:15px;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:all .3s ease;min-height:280px}.company-card-clean:hover{border-color:var(--kyudo-purple);transform:translateY(-5px);box-shadow:0 15px 40px #a64dff4d}.company-logo-box{width:100px;height:100px;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;background:var(--kyudo-bg);border:2px solid var(--kyudo-purple);border-radius:12px;padding:.5rem}.company-logo-placeholder{color:var(--kyudo-text-secondary);font-size:.9rem;font-weight:600}.company-card-clean .company-card-logo{width:100%;height:100%;object-fit:contain;border:none;margin:0;padding:0}.company-card-clean h3{font-size:1.2rem;margin-bottom:.8rem;color:var(--kyudo-purple);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.company-card-clean p{color:var(--kyudo-text-secondary);font-size:.9rem;line-height:1.4;flex:1}.companies-container{background:var(--kyudo-bg);min-height:calc(100vh - 80px)}
