:root{--lime: #BCFF00;--lime-dim: #d4ff5580;--lime-subtle: #BCFF0018;--black: #050505;--bg: #F1F4F9;--surface: #FFFFFF;--text: #1A1C1E;--text-muted: #64748B;--border: #E2E8F0;--border-focus: #BCFF00;--side-bg: #0A0A0A;--side-text: #FFFFFF;--side-border: #1A1A1A;--sidebar-w: 248px;--red: #EF4444;--red-s: #FEF2F2;--amber: #F59E0B;--amber-s: #FFFBEB;--blue: #3B82F6;--blue-s: #EFF6FF;--green: #22C55E;--green-s: #F0FDF4;--purple: #8B5CF6;--purple-s: #F5F3FF;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .02);--font: "Inter", "Poppins", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:var(--font);color:var(--text)}button{cursor:pointer;font-family:var(--font);border:none;background:none;transition:all .2s}input,select,textarea{font-family:var(--font);font-size:14px;outline:none;background:#fff;border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:10px 14px;transition:border-color .2s}input:focus,select:focus{border-color:var(--lime)}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#cbd5e1}@media (max-width: 1024px){:root{--sidebar-w: 0px}.hide-mobile{display:none!important}.show-mobile{display:block!important}.mobile-drawer-w{width:280px!important}}@media (min-width: 1025px){.show-mobile{display:none!important}}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive table{min-width:720px}.modal-overlay{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:max(16px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.modal{max-height:calc(100vh - 32px)}@media (max-width: 640px){.table-responsive table{min-width:640px}.modal-footer-actions{flex-direction:column!important;align-items:stretch!important}.modal-footer-actions>button{width:100%!important}}.grid-responsive{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (max-width: 768px){.grid-responsive{grid-template-columns:1fr}.card{padding:16px}}.page-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}@media (max-width: 640px){.page-header-row{flex-direction:column;align-items:stretch}.page-header-row .subscriptions-add-btn,.page-header-row .btn-primary{width:100%;justify-content:center}}.subscriptions-tabs{display:flex;gap:12px;flex-wrap:wrap}@media (max-width: 640px){.subscriptions-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.subscriptions-tabs button{flex-shrink:0}}.subscriptions-mobile-list{display:flex;flex-direction:column;gap:12px}.subscription-mobile-card{padding:16px!important;border-radius:16px!important}.subscription-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 640px){.subscription-form-grid-2{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.btn-primary{background:var(--lime);color:var(--black);font-weight:700;padding:10px 20px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:8px;justify-content:center}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text);font-weight:600;padding:10px 20px;border-radius:var(--radius-sm)}.badge{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;display:inline-block}.badge-active{background:var(--green-s);color:var(--green)}.badge-pending{background:var(--amber-s);color:var(--amber)}.badge-expired{background:var(--red-s);color:var(--red)}.badge-frozen{background:var(--blue-s);color:var(--blue)}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#1a1a1a;color:#666;cursor:pointer}.btn-icon:hover{color:var(--text);background:#222}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.recharts-wrapper:focus,.recharts-wrapper *:focus,.recharts-surface:focus,.recharts-surface *:focus,.recharts-responsive-container:focus,.recharts-responsive-container *:focus{outline:none!important;box-shadow:none!important}.create-locker-box{width:120px;height:120px;border:2px dashed #e2e8f0;border-radius:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;background:#fff;box-shadow:0 4px 6px -1px #0000000a;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.create-locker-box:hover{border-color:var(--lime);background:#00000003;transform:translateY(-2px);box-shadow:0 6px 12px -3px #00000014}.plus-icon{width:34px;height:34px;border-radius:10px;background:var(--lime);color:var(--black);display:flex;justify-content:center;align-items:center;margin-bottom:8px;transition:transform .2s ease}.create-locker-box:hover .plus-icon{transform:scale(1.05)}.create-locker-box p{margin:0;font-size:13px;font-weight:600;color:#4a5568;transition:color .2s ease}.create-locker-box:hover p{color:var(--black)}.signin-btn{position:relative;width:100%;padding:14px;font-size:15px;font-weight:600;color:#fff;background:#1a1a1a;border:none;border-radius:10px;cursor:pointer;overflow:hidden;transition:all .3s ease}.signin-btn:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .35s ease-in-out}.signin-btn:hover:after{transform:scaleX(1)}.signin-btn:disabled{opacity:.7;cursor:not-allowed}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}
