.reusable-container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.reusable-header{background-color:#fff;border-bottom:1px solid #eaecf0;width:100%;padding:16px 0}.reusable-footer{color:#475467;background-color:#f9fafb;border-top:1px solid #eaecf0;width:100%;padding:32px 0}.reusable-sidebar{background-color:#fff;border-right:1px solid #eaecf0;flex-direction:column;gap:8px;width:240px;min-height:100vh;padding:16px;display:flex}.reusable-nav-item{color:#475467;cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.reusable-nav-item:hover{color:#101828;background-color:#f9fafb}.reusable-nav-item--active{color:#6e39cb;background-color:#ebe4ff;font-weight:600}.reusable-card{background-color:#fff;border-radius:8px;padding:24px;box-shadow:0 4px 15px #0000000d}.reusable-cart{background-color:#fff;border:1px solid #eaecf0;border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.reusable-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .2s,background-color .2s,transform 50ms;display:inline-flex}.reusable-btn:hover{opacity:.92}.reusable-btn:active{transform:translateY(1px)}.reusable-btn:disabled{opacity:.5;cursor:not-allowed}.reusable-btn--primary{background-color:var(--primary,#054c73);color:#fff}.reusable-btn--primary:hover{opacity:1;background-color:#04395a}.reusable-btn--admin{color:#fff;background-color:#6e39cb}.reusable-btn--ghost{color:#374151;background-color:#0000;border-color:#e5e7eb}.reusable-btn--ghost:hover{opacity:1;background-color:#f9fafb}.reusable-btn--outline{color:var(--primary,#054c73);border-color:var(--primary,#054c73);background-color:#0000}.reusable-btn--outline:hover{background-color:var(--primary,#054c73);color:#fff;opacity:1}.reusable-input-group{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.reusable-input-label{color:#344054;font-size:13px;font-weight:500}.reusable-input,.reusable-select{color:#101828;background-color:#fff;border:1px solid #d0d5dd;border-radius:6px;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.reusable-input:focus,.reusable-select:focus{border-color:#6e39cb;box-shadow:0 0 0 3px #6e39cb26}.reusable-modal-backdrop{z-index:1000;background-color:#10182880;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.reusable-modal{background-color:#fff;border-radius:12px;width:100%;max-width:480px;padding:24px;box-shadow:0 20px 40px #00000026}.reusable-modal-title{color:#101828;margin:0 0 16px;font-size:18px;font-weight:600}.reusable-modal-body{color:#475467;font-size:14px}.reusable-loading{color:#475467;align-items:center;gap:12px;font-size:14px;display:inline-flex}.reusable-loading--fullscreen{background-color:var(--bg-light,#f4f5f7);z-index:999;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.reusable-spinner{border:3px solid #00000014;border-left-color:var(--primary,#054c73);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite reusable-spin}@keyframes reusable-spin{to{transform:rotate(360deg)}}.reusable-hero{background-color:#f9fafb;align-items:center;width:100%;min-height:480px;padding:80px 0;display:flex}.reusable-feature-section{width:100%;padding:80px 0}.reusable-product-section{background-color:#fff;width:100%;padding:80px 0}.reusable-section-title{text-align:center;color:#101828;margin:0 0 8px;font-size:32px;font-weight:700}.reusable-section-subtitle{text-align:center;color:#475467;margin:0 0 40px;font-size:16px}.reusable-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.reusable-table thead th{color:#475467;background-color:#fcfcfd;border-bottom:1px solid #eaecf0;padding:12px 16px;font-size:13px;font-weight:600}.reusable-table tbody td{color:#101828;border-bottom:1px solid #f3f4f6;padding:14px 16px}.reusable-table tbody tr:last-child td{border-bottom:none}
