@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--font-body:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-title:"Plus Jakarta Sans", var(--font-body);--bg-main:#fff;--bg-card:#faf8ed;--bg-input:#fff;--accent-color:#f9b572;--accent-secondary:#99b080;--accent-tertiary:#748e63;--accent-glow:#f9b57240;--accent-gradient:linear-gradient(135deg, #f9b572 0%, #ffc68f 100%);--text-primary:#1a1a1a;--text-secondary:#000000bf;--text-tertiary:#00000080;--border-color:#00000014;--border-glow:#f9b57266;--success:#99b080;--success-glow:#99b08026;--danger:#ef4444;--danger-glow:#ef444426;--sidebar-width:280px;--sidebar-collapsed-width:80px;--bottom-bar-height:72px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-main);color:var(--text-primary);background-image:radial-gradient(circle at 10% 20%,#f9b5720a 0%,#0000 40%),radial-gradient(circle at 90% 80%,#233d4d05 0%,#0000 40%);background-attachment:fixed;min-height:100vh;line-height:1.5;overflow-x:hidden}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#233d4d1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#f9b57266}.bg-orb{filter:blur(140px);z-index:-1;pointer-events:none;opacity:.25;border-radius:50%;animation:8s ease-in-out infinite alternate pulse;position:fixed}.bg-orb-1{background:radial-gradient(circle, var(--accent-color) 0%, transparent 70%);width:450px;height:450px;top:-10%;right:10%}.bg-orb-2{background:radial-gradient(circle,#233d4d14 0%,#0000 70%);width:500px;height:500px;bottom:-10%;left:5%}@keyframes pulse{0%{opacity:.2;transform:scale(1)translate(0)}to{opacity:.32;transform:scale(1.15)translate(20px,30px)}}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:20px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0000001a}.glass-card:hover{border-color:var(--border-glow);box-shadow:0 8px 24px 0 var(--accent-glow)}.app-container{width:100%;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;padding:32px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{align-items:center;gap:12px;margin-bottom:48px;display:flex}.sidebar-logo img{width:36px;height:36px;filter:drop-shadow(0 0 8px var(--accent-glow))}.sidebar-logo h2{font-family:var(--font-title);letter-spacing:-.5px;color:var(--text-primary);font-size:1.25rem;font-weight:700}.sidebar-menu{flex-direction:column;flex:1;gap:8px;display:flex}.menu-item{cursor:pointer;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:16px;padding:14px 18px;font-weight:500;transition:all .2s;display:flex}.menu-item svg{width:20px;height:20px;transition:transform .2s}.menu-item:hover{color:var(--text-primary);background:#233d4d08}.menu-item.active{color:var(--text-primary);background:#f9b57214;border-color:#f9b57226;box-shadow:inset 0 0 12px #f9b5720a}.menu-item.active svg{color:var(--accent-color);transform:scale(1.1)}.sidebar-user{border-top:1px solid var(--border-color);align-items:center;gap:12px;padding-top:24px;display:flex}.user-avatar{border:2px solid var(--border-color);object-fit:cover;border-radius:50%;width:40px;height:40px}.user-info{flex-direction:column;flex:1;min-width:0;display:flex}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.user-role{color:var(--text-secondary);font-size:.75rem}.btn-logout{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.btn-logout:hover{color:var(--danger);background:#ef44441a}.mobile-bottom-bar{height:var(--bottom-bar-height);border-top:1px solid var(--border-color);z-index:100;padding:0 16px;padding-bottom:env(safe-area-inset-bottom);will-change:transform;background:#fffffff7;justify-content:space-around;align-items:center;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-tab-item{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 12px;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.mobile-tab-item svg{width:20px;height:20px}.mobile-tab-item.active{color:var(--accent-color)}.mobile-tab-item.active svg{transform:scale(1.15)}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh;padding:48px;transition:margin-left .3s cubic-bezier(.4,0,.2,1);position:relative}.page-header{justify-content:space-between;align-items:center;margin-bottom:36px;display:flex}.page-header h1{font-family:var(--font-title);letter-spacing:-.5px;font-size:2rem;font-weight:700}.mobile-top-header{border-bottom:1px solid var(--border-color);z-index:90;will-change:transform;background:#fffffff7;justify-content:space-between;align-items:center;padding:16px 20px;display:none;position:sticky;top:0}.mobile-top-header h2{font-family:var(--font-title);font-size:1.1rem;font-weight:700}.mobile-top-header img{width:28px;height:28px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px;display:grid}.stat-card{justify-content:space-between;align-items:center;display:flex}.stat-info{flex-direction:column;display:flex}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:.85rem;font-weight:500}.stat-value{font-family:var(--font-title);font-size:2.25rem;font-weight:800;line-height:1}.stat-icon{width:56px;height:56px;color:var(--accent-color);background:#f9b57214;border:1px solid #f9b57226;border-radius:16px;justify-content:center;align-items:center;display:flex}.stat-icon.cyan{color:#06b6d4;background:#06b6d414;border:1px solid #06b6d42e}.stat-icon.emerald{color:var(--success);background:#10b98114;border:1px solid #10b9812e}.stat-icon.rose{color:#f43f5e;background:#f43f5e14;border:1px solid #f43f5e2e}.stat-icon.gray{color:var(--text-tertiary);background:#71717a14;border:1px solid #71717a26}.welcome-card{background:linear-gradient(135deg,#f9b5721a 0%,#ffffffd9 100%);border:1px solid #f9b57233;margin-bottom:32px}.welcome-card h2{font-family:var(--font-title);margin-bottom:8px;font-size:1.5rem;font-weight:700}.welcome-card p{color:var(--text-secondary);max-width:600px;font-size:.95rem}.whitelist-layout{grid-template-columns:1fr 2fr;align-items:start;gap:32px;display:grid}.whitelist-layout>div{min-width:0}@media (width<=1024px){.whitelist-layout{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.form-input{background:var(--bg-input);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:12px;padding:14px 16px;font-size:.95rem;transition:all .2s}.form-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow);background:var(--bg-input);outline:none}select.form-input{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 1rem center;background-repeat:no-repeat;background-size:1em}select.form-input option{background:var(--bg-card);color:var(--text-primary)}.form-input[type=date],.form-input[type=datetime-local]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.btn-primary{background:var(--accent-gradient);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 20px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 14px #f9b5724d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f9b57266}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.records-container{flex-direction:column;gap:12px;max-height:500px;padding-right:4px;display:flex;overflow-y:auto}.record-item{border:1px solid var(--border-color);background:#233d4d05;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 20px;transition:all .2s;display:flex}.record-item:hover{background:#233d4d0a;border-color:#233d4d1f}.record-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.record-value{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-family:monospace;font-size:.9rem;font-weight:600;overflow:hidden}.record-date{color:var(--text-tertiary);font-size:.75rem}.btn-icon{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.btn-icon:hover{color:var(--text-primary);background:#233d4d0d}.btn-delete{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.btn-delete:hover{color:var(--danger);background:#ef44441a}.empty-state{color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 24px;display:flex}.empty-state svg{opacity:.5;width:48px;height:48px}.ssr-container{max-width:800px;margin:0 auto}.ssr-widget-card{background:linear-gradient(135deg,#ffffff4d 0%,#fffc 100%);border:1px solid #233d4d0f;border-radius:20px;padding:32px;box-shadow:0 10px 24px #00000026}.ssr-widget-header{flex-direction:column;gap:8px;margin-bottom:28px;display:flex}.ssr-badge{text-transform:uppercase;color:var(--accent-color);letter-spacing:1px;background:#f9b5721a;border:1px solid #f9b57233;border-radius:20px;width:max-content;padding:4px 10px;font-size:.7rem;font-weight:700}.ssr-widget-header h3{font-family:var(--font-title);font-size:1.5rem;font-weight:700}.ssr-stats-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.ssr-stat-item{border:1px solid var(--border-color);text-align:center;background:#233d4d05;border-radius:16px;padding:20px;transition:border-color .2s}.ssr-stat-item:hover{border-color:#233d4d1a}.ssr-stat-value{font-family:var(--font-title);margin-bottom:4px;font-size:1.75rem;font-weight:800}.ssr-stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.text-accent{color:var(--accent-color)!important}.text-emerald{color:#10b981!important}.ssr-details{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);flex-direction:column;gap:12px;margin-bottom:24px;padding:20px 0;display:flex}.ssr-detail-row{justify-content:space-between;font-size:.9rem;display:flex}.ssr-detail-row .label{color:var(--text-secondary)}.ssr-detail-row .val{font-weight:600}.ssr-footer-note{color:var(--text-tertiary);gap:10px;font-size:.75rem;line-height:1.4;display:flex}.ssr-footer-note svg{width:16px;height:16px;color:var(--accent-color);flex-shrink:0}.login-container{z-index:10;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.signin-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);text-align:center;border-radius:28px;flex-direction:column;align-items:center;width:100%;max-width:420px;padding:40px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #0003}.signin-card:before{content:"";background:var(--accent-gradient);height:4px;position:absolute;top:0;left:0;right:0}.signin-logo{width:72px;height:72px;filter:drop-shadow(0 0 12px var(--accent-glow));margin-bottom:28px;animation:4s ease-in-out infinite float}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.signin-header h1{font-family:var(--font-title);letter-spacing:-.5px;color:var(--text-primary);margin-bottom:12px;font-size:1.75rem;font-weight:800}.signin-header p{color:var(--text-secondary);margin-bottom:36px;font-size:.95rem;line-height:1.5}.google-btn{color:#0f172a;cursor:pointer;background:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;gap:12px;width:100%;padding:14px 24px;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 20px #233d4d1a;border:1px solid var(--border-color)!important}.google-btn svg{width:20px;height:20px}.google-btn:hover{background:#f8fafc;transform:translateY(-2px);box-shadow:0 8px 30px #233d4d33}.google-btn:active{transform:translateY(0)}.google-btn.loading{opacity:.7;cursor:not-allowed;transform:none}.signin-divider{width:100%;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;align-items:center;margin:32px 0;font-size:.75rem;font-weight:600;display:flex}.signin-divider:before,.signin-divider:after{content:"";background:#233d4d0f;flex:1;height:1px}.signin-divider span{padding:0 16px}.signin-footer p{color:var(--text-tertiary);font-size:.8rem;line-height:1.5}.offline-banner{-webkit-backdrop-filter:blur(10px);color:#fff;text-align:center;z-index:1000;background:#ef4444e6;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 12px #ef44444d}.btn-pwa-install{color:var(--accent-color);cursor:pointer;background:#f9b5721f;border:1px solid #f9b5724d;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.btn-pwa-install:hover{background:var(--accent-gradient);color:#fff;border-color:#0000}.toast{-webkit-backdrop-filter:blur(10px);color:#fff;z-index:2000;opacity:0;pointer-events:none;background:#ef4444f2;border:1px solid #ef444433;border-radius:12px;align-items:center;gap:12px;max-width:360px;padding:16px 20px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(100px);box-shadow:0 4px 20px #0000001a}.toast.show{opacity:1;pointer-events:auto;transform:translateY(0)}.toast.success{background:#10b981f2;border-color:#10b98133}.toast svg{flex-shrink:0;width:20px;height:20px}.toast-message{font-size:.88rem;font-weight:500}.app-loader{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.spinner{border:3px solid #f9b5721a;border-top-color:var(--accent-color);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){:root{--sidebar-width:0px}.app-container{min-height:100vh;display:block}.sidebar{display:none}.mobile-bottom-bar,.mobile-top-header{display:flex}.main-content{padding:24px;padding-bottom:calc(var(--bottom-bar-height) + 24px);margin-left:0}.page-header{display:none}.signin-card{border-radius:24px;padding:32px 24px}.ssr-stats-grid{grid-template-columns:1fr;gap:12px}.ssr-widget-card{padding:20px}.toast{left:24px;right:24px;bottom:calc(var(--bottom-bar-height) + 16px)}.bg-orb{opacity:.15;filter:blur(100px);animation:none}.glass-card{-webkit-backdrop-filter:none;background:#ffffffeb}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.spinner-mini{vertical-align:middle;border:2px solid #233d4d33;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin;display:inline-block}@media (width>=1025px){body,#root,.app-container{height:100vh;overflow:hidden}.main-content{height:100vh;margin-left:var(--sidebar-width);flex:1;padding:48px;transition:margin-left .3s cubic-bezier(.4,0,.2,1);position:relative;overflow-y:auto}.whitelist-tab-active .main-content{flex-direction:column;padding:32px 48px;display:flex;overflow:hidden}.whitelist-tab-active .whitelist-layout{flex:1;grid-template-columns:360px 1fr;align-items:stretch;gap:28px;height:100%;min-height:0;display:grid}.whitelist-tab-active .whitelist-layout>div.glass-card{flex-direction:column;height:100%;padding:24px;display:flex;overflow-y:auto}.whitelist-tab-active .whitelist-layout>div.glass-card:last-child,.whitelist-tab-active #ssr-widget-container{flex-direction:column;height:100%;min-height:0;display:flex}}.text-success{color:var(--success)}.text-rose{color:#f43f5e}.text-secondary{color:var(--text-secondary)}.menu-group{flex-direction:column;gap:4px;display:flex}.menu-header-item{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;margin-top:12px;padding:10px 18px;font-size:.78rem;font-weight:700;transition:color .2s;display:flex}.menu-header-item:hover{color:var(--text-secondary)}.menu-sub-list{flex-direction:column;gap:4px;padding-left:8px;display:flex}.menu-sub-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 14px;font-size:.88rem;font-weight:500;transition:all .2s;display:flex}.menu-sub-item svg{width:16px;height:16px;color:var(--text-tertiary);transition:transform .2s}.menu-sub-item:hover{color:var(--text-primary);background:#233d4d05}.menu-sub-item.active{color:var(--text-primary);background:#f9b5720f;border-color:#f9b5721f}.menu-sub-item.active svg{color:var(--accent-color);transform:scale(1.08)}.btn-back{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:#233d4d08;border-radius:50%;justify-content:center;align-items:center;margin-right:4px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;border:1px solid #233d4d14!important}.btn-back:hover{color:var(--text-primary);background:#f9b5721a;transform:translate(-2px);border-color:#f9b5724d!important}.btn-back svg{stroke-width:2.5px;width:20px;height:20px}.btn-toggle-sidebar{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.btn-toggle-sidebar:hover{color:var(--text-primary);background:#233d4d0d}@media (width>=769px){.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width);padding:32px 16px}.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed-width)}.sidebar-collapsed .sidebar-logo{justify-content:center;margin-bottom:32px}.sidebar-collapsed .menu-item{justify-content:center;gap:0;padding:14px}.sidebar-collapsed .menu-item span{display:none}.sidebar-collapsed .sidebar-user{flex-direction:column;align-items:center;gap:16px;padding-top:16px}.sidebar-collapsed .user-info{display:none}.sidebar-collapsed .btn-logout{margin:0}}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;flex-direction:column;gap:16px;width:100%;max-width:500px;padding:24px;display:flex;position:relative;box-shadow:0 8px 30px #00000026}.modal-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{color:var(--danger);background:#ef44441a}.table-container{width:100%;overflow-x:auto}.glass-table{border-collapse:collapse;text-align:left;width:100%}.glass-table th{text-transform:uppercase;letter-spacing:.5px;padding:16px 20px;font-size:.85rem;font-weight:600;border-bottom:1px solid var(--border-color)!important;color:var(--text-secondary)!important;background:0 0!important}.glass-table td{vertical-align:middle;padding:16px 20px;color:var(--text-primary)!important;background:0 0!important;border-bottom:1px solid #233d4d0d!important}.glass-table tr:last-child td{border-bottom:none!important}.glass-table tr:hover td{background:#233d4d0a!important}
