body{background:#f4f6f8;margin:0;font-family:Arial,Helvetica,sans-serif}.auth-page{background:#f4f6f8;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:#fff;border-radius:14px;width:100%;max-width:420px;padding:32px;box-shadow:0 12px 35px #0f172a14}.auth-brand{color:#2563eb;letter-spacing:.3px;background:#eff6ff;border-radius:999px;margin-bottom:18px;padding:8px 12px;font-size:14px;font-weight:800;display:inline-flex}.auth-card h1{color:#111827;margin:0 0 8px;font-size:30px}.auth-card p{color:#6b7280;margin:0 0 24px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form input,.password-field input{border:1px solid #d1d5db;border-radius:10px;outline:none;width:100%;padding:13px 14px;font-size:15px}.auth-form input:focus,.password-field input:focus{border-color:#2563eb}.password-group{flex-direction:column;gap:8px;display:flex}.password-field{position:relative}.password-field input{padding-right:48px}.password-toggle{color:#64748b;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:17px;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.password-toggle:hover{color:#2563eb}.password-hint{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.auth-form>button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;margin-top:8px;padding:13px 14px;font-size:15px;font-weight:700}.auth-form>button:hover{background:#1d4ed8}.auth-link{text-align:center;font-size:14px;margin-top:20px!important}.auth-link a{color:#2563eb;font-weight:700;text-decoration:none}@media (width<=480px){.auth-card{padding:24px}.auth-card h1{font-size:26px}}.success-hint{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.dashboard-page{background:#f4f6f8;height:100vh;display:flex;overflow:hidden}.dashboard-sidebar{color:#fff;background:#0f172a;flex-direction:column;justify-content:space-between;width:230px;height:100vh;padding:22px 20px;display:flex}.sidebar-logo{margin-bottom:28px;font-size:22px;font-weight:900}.sidebar-nav{flex-direction:column;gap:10px;display:flex}.sidebar-nav a{color:#cbd5e1;border-radius:13px;padding:12px 14px;font-size:15px;font-weight:800;text-decoration:none}.sidebar-nav a:hover,.sidebar-nav a.active{color:#fff;background:#2563eb}.sidebar-logout{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:13px;width:100%;padding:12px 14px;font-size:15px;font-weight:800}.sidebar-logout:hover{background:#dc2626}.dashboard-main{flex:1;height:100vh;padding:18px 22px;overflow:hidden}.dashboard-header{background:#fff;border-radius:18px;margin-bottom:14px;padding:20px 22px;box-shadow:0 10px 25px #0f172a12}.dashboard-badge{color:#2563eb;background:#eff6ff;border-radius:999px;margin-bottom:10px;padding:7px 11px;font-size:13px;font-weight:900;display:inline-flex}.dashboard-header h1{color:#111827;margin:0 0 5px;font-size:30px;line-height:1.05}.dashboard-header p{color:#64748b;margin:0;font-size:14px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}.stat-card{background:#fff;border-radius:15px;padding:14px 16px;box-shadow:0 8px 22px #0f172a0e}.stat-card span{color:#64748b;margin-bottom:7px;font-size:12px;font-weight:800;display:block}.stat-card strong{color:#111827;font-size:25px;line-height:1}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.feature-card{background:#fff;border-radius:16px;min-height:118px;padding:16px 18px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;box-shadow:0 8px 22px #0f172a0e}.feature-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0f172a18}.feature-icon{color:#2563eb;background:#eff6ff;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:11px;font-size:17px;display:flex}.feature-card h3{color:#111827;margin:0 0 5px;font-size:17px}.feature-card p{color:#64748b;margin:0;font-size:13px;line-height:1.35}@media (width<=1100px){.dashboard-page{height:auto;min-height:100vh;overflow:visible}.dashboard-main{height:auto;overflow:visible}.stats-grid,.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=780px){.dashboard-page{flex-direction:column}.dashboard-sidebar{gap:22px;width:100%;height:auto;min-height:auto}.dashboard-main{padding:16px}.stats-grid,.dashboard-grid{grid-template-columns:1fr}}html,body,#root{min-height:100%}.dashboard-page{height:auto;min-height:100vh;overflow:visible}.dashboard-sidebar{height:100vh;position:sticky;top:0;overflow-y:auto}.dashboard-main{height:auto;min-height:100vh;padding-bottom:40px;overflow-y:auto}.dashboard-grid{padding-bottom:40px}.dashboard-main{background:radial-gradient(circle at 0 0,#2563eb1a,#0000 30%),#f4f7fb;height:auto;min-height:100vh;padding:24px 28px 44px;overflow-y:auto}.dashboard-header{color:#fff;background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:26px;margin-bottom:18px;padding:28px;box-shadow:0 24px 60px #0f172a2e}.dashboard-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:#ffffff24}.dashboard-header h1{color:#fff;font-size:36px}.dashboard-header p{color:#dbeafe;font-weight:750}.stat-card,.feature-card{border:1px solid #e2e8f0;border-radius:22px;box-shadow:0 18px 45px #0f172a13}.feature-card{min-height:132px;padding:20px}@media (width<=780px){.dashboard-main{padding:16px}.dashboard-header h1{font-size:30px}}*{box-sizing:border-box}:root{--sidebar-open:268px;--sidebar-closed:82px;--sidebar-bg:#07111f;--sidebar-bg-2:#0d1a2c;--sidebar-border:#94a3b82e;--sidebar-active:#2563eb;--page-bg:#f3f6fb}.app-layout{background:var(--page-bg);min-height:100vh}.app-sidebar{width:var(--sidebar-open);z-index:999;background:radial-gradient(circle at 20% 0%, #2563eb38, transparent 32%), linear-gradient(180deg, var(--sidebar-bg), var(--sidebar-bg-2));border-right:1px solid var(--sidebar-border);height:100vh;padding:12px;transition:width .25s;position:fixed;inset:0 auto 0 0;box-shadow:18px 0 45px #0f172a29}.app-layout.sidebar-collapsed .app-sidebar{width:var(--sidebar-closed)}.app-sidebar-inner{flex-direction:column;justify-content:space-between;height:100%;display:flex;overflow:hidden}.app-sidebar-top{flex-direction:column;min-height:0;display:flex}.app-sidebar-brand{border-bottom:1px solid #94a3b824;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;padding:6px 4px 11px;display:flex}.app-sidebar-title{min-width:0}.app-sidebar-brand h2{color:#fff;letter-spacing:-.7px;white-space:nowrap;margin:0;font-size:22px;font-weight:950;line-height:1}.app-sidebar-brand span{color:#96a8c5;letter-spacing:1.1px;text-transform:uppercase;white-space:nowrap;margin-top:7px;font-size:10px;font-weight:900;display:block}.app-sidebar-toggle{color:#fff;cursor:pointer;background:#94a3b824;border:1px solid #94a3b82e;border-radius:15px;place-items:center;width:42px;min-width:42px;height:42px;font-size:16px;transition:all .2s;display:grid}.app-sidebar-toggle:hover{background:var(--sidebar-active);transform:translateY(-1px)}.app-layout.sidebar-collapsed .app-sidebar-brand{justify-content:center;padding:6px 0 11px}.app-sidebar-nav{scrollbar-width:none;flex-direction:column;flex:1;gap:4px;padding:3px 0 10px;display:flex;overflow:auto}.app-sidebar-nav::-webkit-scrollbar{width:0;height:0}.app-sidebar-nav a{color:#d7e6ff;border:1px solid #0000;border-radius:13px;align-items:center;gap:12px;min-height:39px;padding:0 11px;font-size:14px;font-weight:850;text-decoration:none;transition:all .18s;display:flex;position:relative}.app-sidebar-nav a:hover{background:#ffffff14;border-color:#94a3b821;transform:translate(2px)}.app-sidebar-nav a.active{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 12px 25px #2563eb40}.app-sidebar-nav svg,.app-sidebar-logout svg{min-width:18px;font-size:17px}.nav-icon{place-items:center;min-width:22px;display:grid}.nav-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-layout.sidebar-collapsed .app-sidebar-nav a{justify-content:center;gap:0;min-height:42px;padding:0}.app-layout.sidebar-collapsed .nav-icon{border-radius:13px;min-width:42px;height:42px}.app-layout.sidebar-collapsed .app-sidebar-nav a:hover{transform:translate(0)}.app-sidebar-logout{color:#fecaca;cursor:pointer;background:#ef44441a;border:1px solid #f8717138;border-radius:15px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:42px;font-size:14px;font-weight:900;display:flex}.app-sidebar-logout:hover{color:#fff;background:#ef44442e}.app-layout-content{min-height:100vh;margin-left:var(--sidebar-open);transition:margin-left .25s}.app-layout.sidebar-collapsed .app-layout-content{margin-left:var(--sidebar-closed)}.mobile-sidebar-open-btn,.sidebar-mobile-backdrop{display:none}@media (height<=760px) and (width>=761px){.app-sidebar{padding:10px}.app-sidebar-brand{margin-bottom:4px;padding-bottom:8px}.app-sidebar-brand h2{font-size:20px}.app-sidebar-nav{gap:2px}.app-sidebar-nav a{border-radius:12px;min-height:36px;font-size:13px}.app-sidebar-toggle,.app-sidebar-logout{height:38px;min-height:38px}}@media (width<=760px){:root{--sidebar-open:280px}.app-sidebar{width:var(--sidebar-open);transition:transform .25s;transform:translate(-105%)}.app-layout.mobile-sidebar-open .app-sidebar{transform:translate(0)}.app-layout-content,.app-layout.sidebar-collapsed .app-layout-content{margin-left:0}.mobile-sidebar-open-btn{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:14px;align-items:center;gap:8px;margin:14px 14px 0;padding:10px 14px;font-weight:900;display:inline-flex}.sidebar-mobile-backdrop{z-index:998;background:#0f172a7a;border:0;display:block;position:fixed;inset:0}.app-layout.sidebar-collapsed .app-sidebar{width:var(--sidebar-open)}.app-layout.sidebar-collapsed .app-sidebar-nav a{justify-content:flex-start;gap:12px;padding:0 12px}}.sheet-detail-page{background:#f4f6f8;min-height:100vh;padding:18px}.sheet-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.sheet-back{color:#2563eb;align-items:center;gap:8px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.sheet-top-actions{gap:10px;display:flex}.sheet-top-actions button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;align-items:center;gap:8px;padding:10px 15px;font-weight:800;display:inline-flex}.sheet-top-actions button:disabled{cursor:not-allowed;opacity:.7}.sheet-compact-header{background:#fff;border-radius:18px;grid-template-columns:1fr 430px;align-items:center;gap:18px;margin-bottom:12px;padding:18px 22px;display:grid;box-shadow:0 8px 22px #0f172a0f}.sheet-badge{color:#2563eb;background:#eff6ff;border-radius:999px;margin-bottom:8px;padding:6px 12px;font-size:13px;font-weight:900;display:inline-flex}.sheet-compact-header h1{color:#111827;margin:0 0 4px;font-size:28px;line-height:1.2}.sheet-compact-header p{color:#64748b;margin:0;font-size:15px}.header-ip-search,.sheet-search{position:relative}.header-ip-search svg,.sheet-search svg{color:#64748b;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.header-ip-search input,.sheet-search input,.sheet-controls select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:13px;outline:none;width:100%;min-height:46px;padding:0 14px 0 42px;font-size:14px}.sheet-controls{grid-template-columns:1fr 540px;gap:20px;margin-bottom:12px;display:grid}.sheet-controls select{padding-left:14px}.sheet-mini-result{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px;display:grid}.ip-result-six{grid-template-columns:repeat(6,minmax(0,1fr))}.sheet-mini-result div{color:#334155;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-height:42px;padding:10px 12px;font-size:13px;overflow:hidden}.sheet-mini-result strong{color:#111827}.status-counts-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px;display:grid}.status-count-card{background:#fff;border-radius:15px;padding:14px 16px;box-shadow:0 8px 22px #0f172a0e}.status-count-card span{color:#64748b;margin-bottom:7px;font-size:12px;font-weight:900;display:block}.status-count-card strong{color:#111827;font-size:26px}.status-count-card.complete strong{color:#166534}.status-count-card.rejected strong{color:#991b1b}.status-count-card.pending strong{color:#92400e}.sheet-export-message{color:#047857;background:#ecfdf5;border-radius:13px;margin-bottom:12px;padding:12px 14px;font-size:13px;font-weight:900}.sheet-table-card{background:#fff;border-radius:18px;min-height:130px;padding:18px 20px;box-shadow:0 8px 22px #0f172a0f}.table-wrap{border:1px solid #d1d5db;border-radius:12px;width:100%;overflow-x:auto}.sheet-table{border-collapse:collapse;width:100%}.sheet-table th,.sheet-table td{color:#111827;text-align:left;white-space:nowrap;border:1px solid #d1d5db;min-width:160px;height:42px;padding:10px 14px;font-size:13px}.sheet-table th{color:#fff;background:#0f766e;font-size:14px;font-weight:900}.sheet-table tbody tr:nth-child(2n){background:#f8fafc}.sheet-table tbody tr:hover{background:#ecfdf5}.status-pill{cursor:pointer;letter-spacing:.03em;white-space:nowrap;border:none;border-radius:20px;justify-content:center;align-items:center;padding:5px 16px;font-size:12px;font-weight:700;transition:transform .12s,box-shadow .12s;display:inline-flex}.status-pill:hover:not(:disabled){transform:scale(1.06);box-shadow:0 3px 10px #0000002e}.status-pill:disabled{cursor:not-allowed;opacity:.6}.status-pill.pending{color:#fff;background:#f59e0b}.status-pill.rejected{color:#fff;background:#ef4444}.status-pill.complete{color:#fff;background:#22c55e}.sheet-bottom-bar{justify-content:space-between;align-items:center;gap:16px;margin-top:12px;display:flex}.sheet-count{color:#475569;margin:0;font-size:14px;font-weight:900}.rows-limit-select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:10px;outline:none;min-width:130px;min-height:36px;padding:7px 11px;font-size:12px;font-weight:800}.popup-backdrop{z-index:8000;background:#00000059;position:fixed;inset:0}.status-popup-modal{z-index:9000;background:#fff;border-radius:18px;width:480px;max-width:95vw;max-height:85vh;padding:22px 24px 24px;animation:.18s modalIn;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #00000040}@keyframes modalIn{0%{opacity:0;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.spm-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.spm-header span{color:#111827;letter-spacing:.01em;font-size:16px;font-weight:900}.spm-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:18px;transition:background .1s}.spm-close:hover{color:#111827;background:#f3f4f6}.spm-status-row{gap:10px;margin-bottom:4px;display:flex}.spm-status-row .status-pill{flex:1;padding:9px 0;font-size:13px}.spm-complete-form{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;flex-direction:column;gap:10px;margin-top:14px;padding:14px;animation:.18s slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.spm-complete-form input{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:10px;outline:none;width:100%;min-height:42px;padding:0 14px;font-size:13px}.spm-complete-form input:focus{border-color:#22c55e}.spm-submit{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:10px;min-height:42px;font-size:14px;font-weight:800;transition:background .15s}.spm-submit:hover{background:#16a34a}.spm-divider{background:#e5e7eb;height:1px;margin:18px 0 14px}.spm-detail-title{text-transform:uppercase;letter-spacing:.07em;color:#6b7280;margin:0 0 12px;font-size:11px;font-weight:700}.spm-detail-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.spm-detail-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.spm-detail-item span{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.spm-detail-item strong{color:#111827;word-break:break-word;font-size:13px;font-weight:700}@media (width<=1100px){.sheet-compact-header,.sheet-controls{grid-template-columns:1fr}.sheet-mini-result,.ip-result-six{grid-template-columns:repeat(3,1fr)}}@media (width<=800px){.status-counts-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=650px){.sheet-detail-page{padding:12px}.sheet-topbar,.sheet-bottom-bar{flex-direction:column;align-items:flex-start}.sheet-top-actions,.sheet-top-actions button,.rows-limit-select{width:100%}.sheet-top-actions{flex-direction:column}.sheet-top-actions button{justify-content:center}.sheet-compact-header h1{font-size:22px}.sheet-mini-result,.status-counts-grid,.spm-detail-grid{grid-template-columns:1fr}.spm-status-row{flex-direction:column}}.spm-toast{border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 16px;font-size:13.5px;font-weight:500;animation:.25s fadeSlideIn;display:flex}.spm-toast--success{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.spm-toast--error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.spm-field-wrap{position:relative}.spm-required-badge{color:#fff;pointer-events:none;background:#e74c3c;border-radius:20px;padding:2px 7px;font-size:10px;font-weight:700;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.spm-input-error{background:#fff5f5;border:1.5px solid #e74c3c!important}.spm-field-error{color:#e74c3c;margin:-8px 0 4px 2px;font-size:12px}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.status-count-card.skipped strong{color:#7c3aed}.status-pill.skipped{color:#fff;background:#8b5cf6}@media (width>=801px){.status-counts-grid{grid-template-columns:repeat(5,1fr)}}.upload-page{color:#0f172a;background:radial-gradient(circle at 0 0,#2563eb1a,#0000 28%),#f4f7fb;min-height:100vh;padding:24px}.upload-top-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.upload-back,.upload-sheets-btn{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:8px;padding:10px 14px;font-weight:950;text-decoration:none;display:inline-flex;box-shadow:0 10px 24px #0f172a0f}.upload-sheets-btn{color:#fff;background:#2563eb;border-color:#2563eb}.upload-card{background:#fff;border:1px solid #e2e8f0;border-radius:28px;max-width:780px;margin:42px auto 0;padding:30px;box-shadow:0 28px 70px #0f172a1a}.upload-header{text-align:center;margin-bottom:24px}.upload-header span{color:#2563eb;text-transform:uppercase;letter-spacing:.6px;background:#eff6ff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:950;display:inline-flex}.upload-header h1{letter-spacing:-1px;margin:14px 0 8px;font-size:36px;line-height:1}.upload-header p{color:#64748b;margin:0;font-weight:750}.upload-dropzone{cursor:pointer;text-align:center;background:linear-gradient(#f8fbff,#f1f5f9);border:2px dashed #bfdbfe;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:260px;transition:all .2s;display:flex}.upload-dropzone:hover{background:#eff6ff;border-color:#2563eb;transform:translateY(-2px)}.upload-dropzone input{display:none}.upload-dropzone svg{color:#2563eb;filter:drop-shadow(0 12px 20px #2563eb33);font-size:54px}.upload-dropzone strong{color:#0f172a;word-break:break-word;max-width:90%;font-size:20px}.upload-dropzone small{color:#64748b;font-weight:850}.upload-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:0;border-radius:16px;width:100%;margin-top:18px;padding:14px 18px;font-size:15px;font-weight:950;box-shadow:0 18px 35px #2563eb38}.upload-submit:disabled{opacity:.65;cursor:not-allowed}.upload-message{color:#1d4ed8;text-align:center;background:#eff6ff;border-radius:15px;margin:16px 0 0;padding:13px 15px;font-weight:900}@media (width<=760px){.upload-page{padding:16px}.upload-card{margin-top:24px;padding:20px}.upload-header h1{font-size:30px}}.sheets-list-page{background:#f4f7fb;min-height:100vh;padding:22px 28px;overflow-x:hidden}.sheets-list-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.sheets-back,.upload-link{color:#2563eb;align-items:center;gap:8px;font-size:16px;font-weight:900;text-decoration:none;display:inline-flex}.upload-link{color:#fff;background:#2563eb;border-radius:13px;padding:11px 16px}.sheets-list-header{background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:28px;grid-template-columns:minmax(0,1fr) minmax(320px,480px);align-items:center;gap:24px;margin-bottom:18px;padding:28px;display:grid;box-shadow:0 24px 60px #0f172a2e}.sheets-badge{color:#dbeafe;background:#ffffff29;border-radius:999px;margin-bottom:10px;padding:7px 14px;font-size:13px;font-weight:950;display:inline-flex}.sheets-list-header h1{color:#fff;margin:0 0 6px;font-size:32px;line-height:1}.sheets-list-header p{color:#dbeafe;margin:0;font-size:15px;font-weight:800}.sheets-search{position:relative}.sheets-search svg{color:#64748b;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.sheets-search input{color:#111827;background:#fffffff5;border:1px solid #ffffff59;border-radius:18px;outline:none;width:100%;min-height:56px;padding:0 18px 0 52px;font-size:15px;font-weight:700}.sheets-export-message{color:#047857;background:#ecfdf5;border-radius:13px;margin-bottom:16px;padding:12px 14px;font-size:13px;font-weight:900}.sheets-list-card{background:#fff;border-radius:22px;width:100%;padding:18px;box-shadow:0 20px 50px #0f172a14}.sheets-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:18px;width:100%;overflow-x:auto}.sheets-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1120px}.sheets-table th,.sheets-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5e7eb;border-right:1px solid #e2e8f0;padding:16px 18px;font-size:14px}.sheets-table th:last-child,.sheets-table td:last-child{border-right:0}.sheets-table th{color:#fff;background:#0f766e;font-size:15px;font-weight:950}.sheets-table td{color:#334155;font-weight:800}.sheets-table th:first-child,.sheets-table td:first-child,.sheets-table th:nth-child(2),.sheets-table td:nth-child(2){width:27%}.sheets-table th:nth-child(3),.sheets-table td:nth-child(3){width:14%}.sheets-table th:nth-child(4),.sheets-table td:nth-child(4){width:32%}.sheet-name-cell{color:#334155;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:9px;max-width:100%;display:inline-flex;overflow:hidden}.sheet-name-cell svg{color:#0f766e;flex:none}.sheet-row-stats{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:12px;display:flex}.sheet-row-stats span{color:#334155;align-items:center;gap:4px;font-size:13px;font-weight:900;display:inline-flex}.sheet-row-stats b{color:#0f172a;font-weight:950}.sheet-action-buttons{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:10px;display:flex}.sheet-view-btn,.sheet-export-btn{cursor:pointer;border:none;border-radius:13px;flex:none;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 14px;font-size:13px;font-weight:950;text-decoration:none;display:inline-flex}.sheet-view-btn{color:#2563eb;background:#eff6ff}.sheet-export-btn.excel{color:#047857;background:#ecfdf5}.sheet-export-btn.pdf{color:#b91c1c;background:#fef2f2}.sheet-export-btn:disabled{cursor:not-allowed;opacity:.7}.empty-sheets{color:#64748b;text-align:center;padding:24px;font-weight:900}.premium-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a9e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.premium-delete-modal{text-align:center;background:radial-gradient(circle at 0 0,#2563eb1f,#0000 34%),#fff;border:1px solid #e2e8f0f2;border-radius:26px;width:min(460px,100%);padding:30px;animation:.2s ease-out premiumModalIn;box-shadow:0 30px 80px #0f172a52}.premium-delete-icon{color:#dc2626;background:linear-gradient(135deg,#fee2e2,#fff7ed);border-radius:22px;place-items:center;width:68px;height:68px;margin:0 auto 16px;font-size:28px;display:grid;box-shadow:0 14px 30px #dc26262e}.premium-delete-modal h2{color:#0f172a;margin:0 0 10px;font-size:28px;font-weight:950}.premium-delete-modal p{color:#64748b;margin:0;font-size:15px;line-height:1.65}.premium-delete-modal p strong{color:#111827;font-weight:950}.premium-delete-actions{gap:12px;margin-top:24px;display:flex}.premium-delete-actions button{cursor:pointer;border:none;border-radius:16px;flex:1;min-height:48px;font-size:15px;font-weight:950}.premium-cancel-btn{color:#334155;background:#f1f5f9}.premium-confirm-btn{color:#fff;background:linear-gradient(135deg,#ef4444,#b91c1c)}.premium-delete-actions button:disabled{opacity:.65;cursor:not-allowed}@keyframes premiumModalIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=900px){.sheets-list-page{padding:16px}.sheets-list-header{grid-template-columns:1fr}}.access-page{background:#eef2f7;min-height:100vh;padding:22px}.access-back{color:#2563eb;align-items:center;gap:8px;margin-bottom:16px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.access-header,.access-panel,.access-list-card,.create-user-card{background:#fff;border-radius:22px;box-shadow:0 14px 35px #0f172a14}.access-header{margin-bottom:16px;padding:24px}.access-header-flex{justify-content:space-between;align-items:center;gap:18px;display:flex}.access-badge{color:#2563eb;background:#eff6ff;border-radius:999px;margin-bottom:9px;padding:7px 12px;font-size:13px;font-weight:900;display:inline-flex}.access-header h1{color:#111827;margin:0 0 6px;font-size:30px}.access-header p{color:#64748b;margin:0;font-size:14px}.add-user-link{color:#fff;background:#2563eb;border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 18px;font-size:15px;font-weight:900;text-decoration:none;display:inline-flex}.create-user-card,.access-panel,.access-list-card{padding:22px}.create-user-card,.access-panel{margin-bottom:16px}.access-form-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.access-form-header h2{color:#111827;margin:0 0 6px;font-size:24px}.access-form-header p{color:#64748b;margin:0;font-size:14px;font-weight:700}.grant-access-top-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 22px;font-size:15px;font-weight:900;display:inline-flex}.grant-access-top-btn:hover{background:#1d4ed8}.section-title-row{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.section-title-row h2{color:#111827;margin:0 0 5px;font-size:22px}.section-title-row p{color:#64748b;margin:0;font-size:14px;font-weight:700}.section-title-row svg{color:#2563eb;font-size:24px}.create-user-form{grid-template-columns:1fr 1fr 1fr 170px;gap:12px;display:grid}.create-user-form input,.access-panel select,.search-input-wrap input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:14px;outline:none;width:100%;min-height:52px;padding:0 16px;font-size:15px;font-weight:700}.create-user-form input:focus,.access-panel select:focus,.search-input-wrap input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.create-user-form button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:14px;min-height:52px;font-size:15px;font-weight:900}.create-user-form button:disabled{opacity:.7;cursor:not-allowed}.access-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.access-field-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:16px}.access-panel label{color:#111827;margin-bottom:10px;font-size:14px;font-weight:900;display:block}.search-input-wrap{margin-bottom:12px;position:relative}.search-input-wrap.no-margin{margin-bottom:0}.search-input-wrap svg{color:#64748b;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.search-input-wrap input{padding-left:42px}.access-panel select{cursor:pointer}.custom-dropdown{position:relative}.dropdown-list{z-index:999;background:#fff;border:1px solid #dbe3ef;border-radius:16px;max-height:260px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px #0f172a29}.dropdown-item{color:#111827;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;width:100%;min-height:50px;padding:10px 12px;font-size:14px;font-weight:800;display:flex}.dropdown-item:hover,.dropdown-item.active{color:#2563eb;background:#eff6ff}.dropdown-item span{color:#64748b;font-size:12px;font-weight:700}.dropdown-empty{color:#64748b;padding:14px;font-size:14px;font-weight:800}.access-buttons{grid-template-columns:1fr 1fr;gap:14px;display:grid}.access-buttons button,.table-delete-btn{color:#fff;cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:9px;min-height:52px;font-size:15px;font-weight:900;display:inline-flex}.access-buttons button{background:#2563eb}.access-buttons .remove-btn,.table-delete-btn{background:#ef4444}.table-delete-btn{min-height:38px;padding:0 12px;font-size:13px}.table-delete-btn:disabled{opacity:.7;cursor:not-allowed}.access-message{color:#1d4ed8;background:#eff6ff;border-radius:12px;margin:16px 0 0;padding:12px 14px;font-weight:800}.access-summary-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0;display:grid}.access-summary-grid div{background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 28px #0f172a11}.access-summary-grid span{color:#64748b;margin-bottom:7px;font-size:13px;font-weight:900;display:block}.access-summary-grid strong{color:#111827;font-size:28px}.access-list-card h2{color:#111827;margin:0;font-size:24px}.access-list-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.access-list-title p{color:#64748b;margin:6px 0 0;font-size:14px;font-weight:700}.access-list-title svg{color:#2563eb;font-size:26px}.sheet-access-grid{grid-template-columns:1fr;gap:16px;display:grid}.sheet-access-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:20px;padding:18px}.sheet-card-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.sheet-card-header h3{color:#111827;margin:0 0 6px;font-size:22px}.sheet-card-header p{color:#64748b;margin:0;font-size:14px;font-weight:800}.access-count-pill{color:#111827;background:#e5e7eb;border-radius:999px;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:18px;font-weight:900;display:inline-flex}.access-count-pill.active{color:#166534;background:#dcfce7}.sheet-user-list{scrollbar-width:thin;gap:12px;padding-bottom:8px;display:flex;overflow:auto hidden}.sheet-user-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;min-width:340px;max-width:340px;padding:14px;display:grid}.user-avatar{color:#2563eb;background:#eff6ff;border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;font-size:18px;font-weight:900;display:flex}.user-info h4{color:#111827;margin:0 0 4px;font-size:15px;font-weight:900}.user-info p{color:#64748b;margin:0 0 7px;font-size:13px;font-weight:700}.user-info span{color:#166534;background:#dcfce7;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;display:inline-flex}.user-remove-btn{color:#fff;cursor:pointer;background:#ef4444;border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}.user-remove-btn:disabled{opacity:.65;cursor:not-allowed}.access-empty-state{background:#fff;border-radius:16px;padding:16px}.access-empty-state.small{background:#fff;border:1px dashed #cbd5e1}.access-empty-state h3{color:#111827;margin:0 0 6px;font-size:16px}.access-empty-state p{color:#64748b;margin:0;font-size:14px;font-weight:800}.access-detail-table{border-collapse:collapse;width:100%}.access-detail-table th,.access-detail-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:12px;font-size:13px}.access-detail-table th{color:#111827;font-weight:900}.access-detail-table td{color:#334155;font-weight:700}.access-active-pill{color:#166534;background:#dcfce7;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;display:inline-flex}.email-domain-field,.password-field-lite{background:#fff;border:1px solid #d1d5db;border-radius:14px;align-items:center;min-height:52px;display:flex;overflow:hidden}.email-domain-field input,.password-field-lite input{border:0;outline:none;flex:1;min-height:50px;padding:0 16px;font-size:15px;font-weight:700}.email-domain-field span{color:#2563eb;white-space:nowrap;padding:0 14px;font-size:14px;font-weight:900}.password-field-lite button{color:#2563eb;cursor:pointer;background:0 0;border:0;width:50px;height:50px}.table-input{border:1px solid #d1d5db;border-radius:10px;outline:none;width:100%;min-height:38px;padding:0 10px;font-weight:700}.table-email-edit{align-items:center;gap:6px;display:flex}.table-email-edit span{color:#2563eb;white-space:nowrap;font-weight:900}.table-actions{gap:8px;display:flex}.table-edit-btn,.table-save-btn{color:#fff;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}.table-edit-btn{background:#2563eb}.table-save-btn{background:#16a34a}.confirm-overlay{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.confirm-box{background:#fff;border-radius:18px;width:min(420px,100%);padding:24px;box-shadow:0 18px 45px #0f172a40}.confirm-box h3{color:#111827;margin:0 0 8px;font-size:24px}.confirm-box p{color:#64748b;margin:0;font-weight:700;line-height:1.6}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.confirm-actions button{color:#111827;cursor:pointer;background:#e5e7eb;border:0;border-radius:12px;min-height:42px;padding:0 16px;font-weight:900}.confirm-actions .danger{color:#fff;background:#ef4444}.table-password-edit{border:1px solid #d1d5db;border-radius:10px;align-items:center;max-width:300px;display:flex;overflow:hidden}.table-password-edit .table-input{border:0;border-radius:0}.table-password-edit button{color:#2563eb;cursor:pointer;background:0 0;border:0;width:42px;height:38px}.user-top-bar{justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-profile-btn{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:900;display:inline-flex}.admin-settings-box input{border:1px solid #d1d5db;border-radius:12px;outline:none;width:100%;min-height:48px;margin-top:14px;padding:0 14px;font-weight:700}.admin-password-field{margin-top:14px}.admin-password-field input{border:0;margin-top:0}.save-admin-btn{color:#fff!important;background:#2563eb!important}@media (width<=1100px){.create-user-form,.access-summary-grid{grid-template-columns:repeat(2,1fr)}.create-user-form button{grid-column:span 2}}@media (width<=800px){.access-page{padding:14px}.access-header-flex,.section-title-row,.access-form-header,.access-list-title{flex-direction:column;align-items:flex-start}.add-user-link,.grant-access-top-btn{width:100%}.access-row,.access-buttons,.create-user-form,.access-summary-grid{grid-template-columns:1fr}.create-user-form button{grid-column:auto}.sheet-user-card{grid-template-columns:42px 1fr;min-width:300px;max-width:300px}.user-remove-btn{grid-column:1/-1;width:100%}}.access-page{max-width:100%;overflow-x:hidden}.access-header{background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:28px;padding:28px;box-shadow:0 24px 60px #0f172a2e}.access-badge{color:#dbeafe;background:#ffffff29}.access-header h1,.access-header p{color:#fff}.access-header p{color:#dbeafe;font-weight:750}.access-header .add-user-link,.user-top-bar .admin-profile-btn{color:#fff;background:#ffffff29;border:1px solid #ffffff40}.create-user-form{align-items:center}.user-top-bar{margin-bottom:16px}.access-detail-table{min-width:760px}.access-list-card{overflow:hidden}.access-list-card>.access-detail-table,.access-list-card .access-detail-table{display:table}.sheet-user-list{grid-template-columns:1fr;gap:10px;display:grid;overflow:visible}.sheet-user-card{grid-template-columns:46px minmax(0,1fr) 120px;width:100%;min-width:0;max-width:none}.user-info h4,.user-info p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=800px){.access-page{width:100%;padding:12px}.access-header,.access-panel,.access-list-card,.create-user-card{border-radius:18px;padding:16px}.access-header h1{font-size:26px}.create-user-form{grid-template-columns:1fr}.email-domain-field,.email-domain-field input{min-width:0}.email-domain-field span{padding:0 8px;font-size:11px}.access-summary-grid{grid-template-columns:1fr}.sheet-user-card{grid-template-columns:38px minmax(0,1fr);gap:10px}.sheet-user-card .user-remove-btn{grid-column:1/-1}.access-detail-table-wrap,.access-list-card{overflow-x:auto}.table-actions{flex-wrap:nowrap}}.ip-lookup-page{background:#f4f6f8;min-height:100vh;display:flex}.ip-lookup-sidebar{color:#fff;background:#0f172a;flex-direction:column;justify-content:space-between;width:230px;min-height:100vh;padding:22px 20px;display:flex}.ip-lookup-logo{margin-bottom:28px;font-size:22px;font-weight:900}.ip-lookup-nav{flex-direction:column;gap:10px;display:flex}.ip-lookup-nav a{color:#cbd5e1;border-radius:13px;padding:12px 14px;font-size:15px;font-weight:800;text-decoration:none}.ip-lookup-nav a:hover,.ip-lookup-nav a.active{color:#fff;background:#2563eb}.ip-lookup-back{color:#fff;background:#1e293b;border-radius:13px;justify-content:center;align-items:center;gap:9px;width:100%;padding:12px 14px;font-size:15px;font-weight:800;text-decoration:none;display:flex}.ip-lookup-back:hover{background:#2563eb}.ip-lookup-main{flex:1;padding:18px 22px;overflow:auto}.ip-lookup-header{background:#fff;border-radius:18px;margin-bottom:14px;padding:20px 22px;box-shadow:0 10px 25px #0f172a12}.ip-lookup-badge{color:#2563eb;background:#eff6ff;border-radius:999px;align-items:center;gap:7px;width:fit-content;margin-bottom:10px;padding:7px 11px;font-size:13px;font-weight:900;display:flex}.ip-lookup-header h1{color:#111827;margin:0 0 5px;font-size:30px;line-height:1.05}.ip-lookup-header p{color:#64748b;margin:0;font-size:14px}.ip-lookup-card{background:#fff;border-radius:18px;margin-bottom:14px;padding:18px;box-shadow:0 8px 22px #0f172a0e}.ip-lookup-form{grid-template-columns:1fr 150px;align-items:end;gap:12px;display:grid}.ip-lookup-field label{color:#111827;margin-bottom:7px;font-size:13px;font-weight:900;display:block}.ip-lookup-field input{color:#111827;background:#fff;border:1px solid #dbe3ef;border-radius:13px;outline:none;width:100%;padding:13px 14px;font-size:14px;font-weight:700}.ip-lookup-field input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.ip-lookup-form button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:13px;height:45px;font-size:14px;font-weight:900}.ip-lookup-form button:hover{background:#1d4ed8}.ip-lookup-form button:disabled{cursor:not-allowed;opacity:.7}.ip-message{border-radius:13px;margin-top:12px;padding:11px 13px;font-size:13px;font-weight:800}.ip-message.success{color:#047857;background:#ecfdf5}.ip-message.error{color:#b91c1c;background:#fef2f2}.ip-result-section{min-height:260px}.ip-result-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.ip-result-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 8px 22px #0f172a0e}.ip-result-icon{color:#2563eb;background:#eff6ff;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:11px;font-size:16px;display:flex}.ip-result-card span{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:900;display:block}.ip-result-card strong{word-break:break-word;color:#111827;font-size:15px;line-height:1.35;display:block}.ip-empty-state{text-align:center;background:#fff;border-radius:18px;padding:40px 20px;box-shadow:0 8px 22px #0f172a0e}.ip-empty-icon{color:#2563eb;background:#eff6ff;border-radius:16px;justify-content:center;align-items:center;width:54px;height:54px;margin:0 auto 14px;font-size:22px;display:flex}.ip-empty-state h3{color:#111827;margin:0 0 6px;font-size:19px}.ip-empty-state p{color:#64748b;margin:0;font-size:14px}@media (width<=1200px){.ip-result-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=780px){.ip-lookup-page{flex-direction:column}.ip-lookup-sidebar{gap:22px;width:100%;min-height:auto}.ip-lookup-main{padding:16px}.ip-lookup-form,.ip-result-grid{grid-template-columns:1fr}}.ip-lookup-header{color:#fff;background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:28px;padding:28px;box-shadow:0 24px 60px #0f172a2e}.ip-lookup-badge{color:#dbeafe;background:#ffffff29}.ip-lookup-header h1{color:#fff}.ip-lookup-header p{color:#dbeafe;font-weight:750}.ip-lookup-top-actions{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.ip-bulk-link-btn{color:#fff;background:#2563eb;border:1px solid #2563eb;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-weight:950;text-decoration:none;display:inline-flex;box-shadow:0 12px 26px #2563eb38}.ip-bulk-link-btn:hover{background:#1d4ed8}@media (width<=640px){.ip-lookup-top-actions{flex-direction:column;align-items:stretch}.ip-bulk-link-btn{width:100%}}.ip-logs-main{color:#0f172a;background:linear-gradient(135deg,#f8fbff 0%,#eef3fa 52%,#f7f9fc 100%);width:100%;min-height:100vh;padding:24px 28px;overflow-x:hidden}.ip-logs-topbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.page-back-link,.ip-logs-topbar button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 16px;font-weight:950;text-decoration:none;display:inline-flex;box-shadow:0 10px 24px #0f172a0f}.ip-logs-topbar button{color:#fff;background:#2563eb;border-color:#2563eb}.ip-logs-header{color:#fff;background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:28px;margin-bottom:18px;padding:28px;box-shadow:0 24px 60px #0f172a2e}.ip-logs-badge{color:#dbeafe;background:#ffffff29;border-radius:999px;align-items:center;gap:8px;width:fit-content;margin-bottom:12px;padding:8px 14px;font-size:13px;font-weight:950;display:inline-flex}.ip-logs-header h1{color:#fff;margin:0 0 8px;font-size:34px;line-height:1}.ip-logs-header p{color:#dbeafe;margin:0;font-size:15px;font-weight:750}.ip-logs-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.ip-logs-stat-card,.ip-logs-filter-card,.ip-logs-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:22px;box-shadow:0 20px 50px #0f172a14}.ip-logs-stat-card{padding:18px}.ip-logs-stat-card span{color:#64748b;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:950;display:block}.ip-logs-stat-card strong{color:#0f172a;font-size:30px;line-height:1}.ip-logs-filter-card{grid-template-columns:minmax(0,1fr) 360px;align-items:end;gap:18px;margin-bottom:18px;padding:20px;display:grid}.ip-logs-filter-grid{grid-template-columns:minmax(300px,1.4fr) minmax(230px,.9fr) minmax(230px,.9fr);align-items:end;gap:16px;display:grid}.ip-logs-filter-grid label{color:#334155;text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:8px;font-size:13px;font-weight:950;display:flex}.ip-logs-filter-grid input,.ip-logs-filter-grid select{color:#0f172a;background:#f8fafc;border:1px solid #dbe3ef;border-radius:16px;outline:none;width:100%;min-height:54px;padding:0 16px;font-size:14px;font-weight:850}.ip-logs-filter-grid input:focus,.ip-logs-filter-grid select:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.ip-logs-actions{grid-template-columns:1fr 1fr;align-items:end;gap:12px;display:grid}.ip-logs-export-btn,.ip-logs-delete-btn{white-space:nowrap;cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;height:54px;padding:0 16px;font-weight:950;display:inline-flex}.ip-logs-export-btn{color:#166534;background:#dcfce7}.ip-logs-delete-btn{color:#991b1b;background:#fee2e2}.ip-logs-export-btn:disabled,.ip-logs-delete-btn:disabled{opacity:.6;cursor:not-allowed}.ip-logs-message{color:#1d4ed8;background:#eff6ff;border-radius:15px;margin-bottom:16px;padding:13px 15px;font-weight:900}.ip-logs-table-card{overflow:hidden}.ip-logs-table-wrap{border-radius:22px;width:100%;overflow-x:auto}.ip-logs-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1880px}.ip-logs-table th,.ip-logs-table td{text-align:left;border-bottom:1px solid #e7edf6;border-right:1px solid #dbe3ef}.ip-logs-table th:last-child,.ip-logs-table td:last-child{border-right:0}.ip-logs-table th{color:#334155;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#f1f5f9;padding:14px 16px;font-size:12px;font-weight:950}.ip-logs-table td{color:#0f172a;vertical-align:middle;overflow-wrap:anywhere;padding:14px 16px;font-size:14px;font-weight:800;line-height:1.35}.ip-logs-table tr:hover td{background:#f8fafc}.ip-logs-table th:first-child,.ip-logs-table td:first-child{width:86px}.ip-logs-table th:nth-child(2),.ip-logs-table td:nth-child(2){width:170px}.ip-logs-table th:nth-child(3),.ip-logs-table td:nth-child(3){width:120px}.ip-logs-table th:nth-child(4),.ip-logs-table td:nth-child(4){width:150px}.ip-logs-table th:nth-child(5),.ip-logs-table td:nth-child(5){width:160px}.ip-logs-table th:nth-child(6),.ip-logs-table td:nth-child(6){width:110px}.ip-logs-table th:nth-child(7),.ip-logs-table td:nth-child(7){width:175px}.ip-logs-table th:nth-child(8),.ip-logs-table td:nth-child(8){width:250px}.ip-logs-table th:nth-child(9),.ip-logs-table td:nth-child(9){width:130px}.ip-logs-table th:nth-child(10),.ip-logs-table td:nth-child(10){width:140px}.ip-logs-table th:nth-child(11),.ip-logs-table td:nth-child(11){width:260px}.ip-logs-table th:nth-child(12),.ip-logs-table td:nth-child(12),.ip-logs-table th:nth-child(13),.ip-logs-table td:nth-child(13),.ip-logs-table th:nth-child(14),.ip-logs-table td:nth-child(14),.ip-logs-table th:nth-child(15),.ip-logs-table td:nth-child(15){width:115px}.ip-logs-table th:nth-child(16),.ip-logs-table td:nth-child(16),.ip-logs-table th:nth-child(17),.ip-logs-table td:nth-child(17){width:150px}.ip-logs-table th:nth-child(18),.ip-logs-table td:nth-child(18){width:190px}.ip-table-main{white-space:normal;align-items:center;gap:8px;display:inline-flex}.ip-table-main svg{color:#2563eb;flex-shrink:0}.ip-logs-empty{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:44px 20px;display:flex}.ip-logs-empty svg{color:#2563eb;background:#eff6ff;border-radius:16px;width:54px;height:54px;margin-bottom:14px;padding:15px}.ip-logs-empty h3{color:#111827;margin:0 0 6px}.ip-delete-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172aad;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ip-delete-modal{text-align:center;background:#fff;border-radius:26px;width:min(460px,100%);padding:30px;animation:.22s ipDeletePop;box-shadow:0 30px 90px #0f172a59}.ip-delete-modal-icon{color:#dc2626;background:#fee2e2;border-radius:22px;justify-content:center;align-items:center;width:74px;height:74px;margin:0 auto 18px;font-size:26px;display:flex}.ip-delete-modal h3{color:#0f172a;margin:0 0 10px;font-size:26px;font-weight:950}.ip-delete-modal p{color:#64748b;margin:0;font-size:15px;font-weight:750;line-height:1.6}.ip-delete-modal p strong{color:#dc2626}.ip-delete-modal-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.ip-delete-modal-actions button{cursor:pointer;border:0;border-radius:15px;height:52px;font-weight:950}.ip-delete-cancel-btn{color:#0f172a;background:#e2e8f0}.ip-delete-confirm-btn{color:#fff;background:linear-gradient(135deg,#dc2626,#ef4444);box-shadow:0 14px 28px #dc262640}.ip-delete-modal-actions button:disabled{opacity:.65;cursor:not-allowed}@keyframes ipDeletePop{0%{opacity:0;transform:translateY(12px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1300px){.ip-logs-filter-card{grid-template-columns:1fr}.ip-logs-actions{grid-template-columns:1fr 1fr}}@media (width<=900px){.ip-logs-stats,.ip-logs-filter-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.ip-logs-main{padding:14px}.ip-logs-topbar{flex-direction:column;align-items:stretch}.ip-logs-header{border-radius:22px;padding:22px}.ip-logs-header h1{font-size:28px}.ip-logs-stats,.ip-logs-filter-grid,.ip-logs-actions,.ip-delete-modal-actions{grid-template-columns:1fr}.ip-delete-modal{padding:24px}}.ip-link-page{background:radial-gradient(circle at 0 0,#2563eb1f,#0000 34%),linear-gradient(135deg,#f8fbff 0%,#eef3fa 50%,#f7f9fc 100%);width:100%;min-height:100vh;padding:24px 28px}.ip-link-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.ip-link-eyebrow{color:#2563eb;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:900;display:inline-flex}.ip-link-header h1{color:#06152f;letter-spacing:-.04em;margin:0;font-size:32px;line-height:1}.ip-link-header p{color:#64748b;margin:8px 0 0;font-size:15px}.ip-link-refresh-btn,.ip-link-upload-form button,.ip-link-sheet-actions button,.ip-link-copy-btn,.ip-link-check-btn{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-weight:900;transition:transform .18s,box-shadow .18s,opacity .18s;display:inline-flex}.ip-link-refresh-btn:hover,.ip-link-upload-form button:hover,.ip-link-sheet-actions button:hover,.ip-link-copy-btn:hover,.ip-link-check-btn:hover{transform:translateY(-1px)}.ip-link-refresh-btn{color:#fff;background:linear-gradient(135deg,#020617,#1e293b);padding:14px 20px;font-size:14px;box-shadow:0 14px 30px #0f172a2e}.ip-link-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid #e2e8f0e6;border-radius:24px;margin-bottom:22px;padding:24px;box-shadow:0 18px 50px #0f172a14}.ip-link-card-title{color:#0f172a;align-items:center;gap:12px;margin-bottom:18px;display:flex}.ip-link-card-title svg{color:#1d4ed8;font-size:22px}.ip-link-card-title h2{letter-spacing:-.03em;margin:0;font-size:23px}.ip-link-upload-form{grid-template-columns:1fr 180px;gap:14px;margin-bottom:14px;display:grid}.ip-link-file-box{cursor:pointer;background:linear-gradient(135deg,#f8fbff,#fff);border:1.7px dashed #bfd0e8;border-radius:18px;align-items:center;gap:14px;padding:18px 20px;display:flex}.ip-link-file-box:hover{background:#eff6ff;border-color:#2563eb}.ip-link-file-box svg{color:#2563eb;font-size:30px}.ip-link-file-box strong{color:#0f172a;font-size:15px;display:block}.ip-link-file-box span{color:#64748b;font-size:13px}.ip-link-file-box input{display:none}.ip-link-upload-form button{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);font-size:15px;box-shadow:0 14px 28px #2563eb38}.ip-link-sheet-list{flex-direction:column;gap:12px;display:flex}.ip-link-sheet-item{background:#fff;border:1px solid #e2e8f0;border-radius:18px;justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.ip-link-sheet-item h3{color:#0f172a;align-items:center;gap:9px;margin:0 0 6px;font-size:16px;display:flex}.ip-link-sheet-item h3 span{color:#166534;background:#dcfce7;border-radius:999px;padding:4px 10px;font-size:12px}.ip-link-sheet-item p{color:#64748b;margin:0;font-size:14px}.ip-link-sheet-actions{gap:10px;display:flex}.ip-link-sheet-actions button{color:#166534;background:#dcfce7;padding:11px 14px;font-size:14px}.ip-link-sheet-actions button.danger{color:#991b1b;background:#fee2e2}.ip-link-active-sheet{color:#1e40af;background:linear-gradient(135deg,#eff6ff,#e0f2fe);border:1px solid #dbeafe;border-radius:16px;margin-bottom:20px;padding:14px 16px;font-size:14px}.ip-link-select-row{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);align-items:end;gap:18px;max-width:760px;margin-bottom:18px;display:grid}.ip-link-result-row{grid-template-columns:minmax(360px,1fr) 130px 170px;align-items:end;gap:12px;display:grid}.ip-link-combo{position:relative}.ip-link-combo label,.ip-link-inline-result label,.ip-link-search-box label{color:#0f172a;letter-spacing:-.02em;margin-bottom:8px;font-size:16px;font-weight:900;display:block}.ip-link-combo-wrap{background:#fff;border:1px solid #cbd5e1;border-radius:16px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffffb3}.ip-link-combo-wrap:focus-within{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1c}.ip-link-combo input{color:#0f172a;border:none;outline:none;flex:1;min-width:0;padding:16px 18px;font-size:15px}.ip-link-combo-wrap button{cursor:pointer;background:#f8fafc;border:none;border-left:1px solid #e2e8f0;width:58px;font-size:15px}.ip-link-combo-menu{z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:16px;max-height:230px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 42px #0f172a2e}.ip-link-combo-menu button{text-align:left;cursor:pointer;color:#0f172a;background:0 0;border:none;border-radius:12px;width:100%;padding:12px 13px;font-size:15px}.ip-link-combo-menu button:hover{background:#eff6ff}.ip-link-combo-menu p{color:#64748b;margin:0;padding:12px}.ip-link-inline-result input,.ip-link-search-box input{color:#111827;background:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;outline:none;width:100%;min-width:0;padding:16px 18px;font-size:15px}.ip-link-inline-result input:focus,.ip-link-search-box input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1c}.ip-link-copy-btn,.ip-link-check-btn{color:#fff;min-height:54px;padding:0 18px;font-size:15px}.ip-link-copy-btn{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 14px 28px #16a34a38}.ip-link-check-btn{background:linear-gradient(135deg,#2563eb,#4f46e5);box-shadow:0 14px 28px #2563eb3d}.ip-link-copy-btn:disabled,.ip-link-check-btn:disabled,.ip-link-upload-form button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.ip-link-alert{border-radius:16px;margin-bottom:14px;padding:13px 16px;font-size:14px;font-weight:900}.ip-link-alert.success{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.ip-link-alert.error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.ip-link-search-box{margin-bottom:22px}.ip-link-details-grid{grid-template-columns:repeat(5,minmax(150px,1fr));gap:16px;display:grid}.ip-link-detail-card{background:linear-gradient(145deg,#fff,#f8fbff);border:1px solid #eef2f7;border-radius:22px;min-height:148px;padding:22px;box-shadow:0 16px 35px #0f172a12}.ip-link-detail-icon{color:#2563eb;background:#eff6ff;border-radius:16px;place-items:center;width:48px;height:48px;margin-bottom:18px;font-size:21px;display:grid}.ip-link-detail-card span{color:#64748b;margin-bottom:8px;font-size:15px;font-weight:900;display:block}.ip-link-detail-card strong{color:#111827;word-break:break-word;font-size:18px;line-height:1.28;display:block}@media (width<=1200px){.ip-link-details-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media (width<=980px){.ip-link-result-row{grid-template-columns:1fr 130px 170px}}@media (width<=760px){.ip-link-page{padding:16px}.ip-link-header,.ip-link-sheet-item{flex-direction:column;align-items:stretch}.ip-link-upload-form,.ip-link-select-row,.ip-link-result-row,.ip-link-details-grid{grid-template-columns:1fr}.ip-link-upload-form button,.ip-link-copy-btn,.ip-link-check-btn{padding:15px}}.ip-link-page{color:#0f172a;background:radial-gradient(circle at 0 0,#2563eb1a,#0000 28%),#f4f7fb!important}.ip-link-main,.ip-link-content,.ip-link-container{padding:24px!important}.ip-link-card,.ip-link-upload-card,.ip-link-result-card,.ip-link-options-card,.ip-link-sheets-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:24px!important;box-shadow:0 20px 50px #0f172a14!important}.ip-link-header,.ip-link-hero{color:#fff!important;background:linear-gradient(135deg,#0f172a,#1d4ed8)!important;border-radius:26px!important;box-shadow:0 24px 60px #0f172a2e!important}.ip-link-header p,.ip-link-hero p{font-weight:750;color:#dbeafe!important}.ip-link-form-row,.ip-link-select-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:end!important;gap:12px!important;display:grid!important}.ip-link-page input,.ip-link-page select,.ip-link-page textarea{color:#0f172a!important;background:#f8fafc!important;border:1px solid #dbe3ef!important;border-radius:14px!important;font-weight:750!important}.ip-link-page input:focus,.ip-link-page select:focus,.ip-link-page textarea:focus{background:#fff!important;border-color:#2563eb!important;outline:none!important;box-shadow:0 0 0 4px #2563eb1f!important}.ip-link-page button{border-radius:14px!important;font-weight:950!important}.ip-link-generated-box,.generated-link-box,.ip-link-output{word-break:break-all!important;background:#f8fafc!important;border:1px solid #dbe3ef!important;border-radius:18px!important}@media (width<=760px){.ip-link-form-row,.ip-link-select-row{grid-template-columns:1fr!important}.ip-link-main,.ip-link-content,.ip-link-container{padding:16px!important}}.ip-link-header{color:#fff;background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:28px;margin-bottom:22px;padding:28px;box-shadow:0 24px 60px #0f172a2e}.ip-link-eyebrow{color:#dbeafe;letter-spacing:.08em;background:#ffffff29;border-radius:999px;padding:8px 14px}.ip-link-header h1{color:#fff}.ip-link-header p{color:#dbeafe;font-weight:750}.ip-link-refresh-btn{background:#ffffff29;border:1px solid #ffffff40}.ip-key-page{color:#0f172a;background:#f4f7fb;min-height:100vh;padding:24px}.ip-key-topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.ip-key-back,.ip-key-topbar button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:8px;padding:10px 14px;font-weight:950;text-decoration:none;display:inline-flex;box-shadow:0 10px 24px #0f172a0f}.ip-key-topbar button{color:#fff;background:#2563eb;border-color:#2563eb}.ip-key-hero{color:#fff;background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:26px;justify-content:space-between;align-items:center;gap:18px;padding:26px;display:flex;box-shadow:0 24px 60px #0f172a2e}.ip-key-hero span{text-transform:uppercase;background:#ffffff21;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:950;display:inline-flex}.ip-key-hero h1{margin:14px 0 8px;font-size:34px;line-height:1}.ip-key-hero p{color:#dbeafe;margin:0;font-weight:750}.ip-key-hero-stats{gap:12px;display:flex}.ip-key-hero-stats div{text-align:center;background:#ffffff24;border:1px solid #ffffff29;border-radius:20px;min-width:118px;padding:16px}.ip-key-hero-stats strong{font-size:28px;display:block}.ip-key-hero-stats small{color:#dbeafe;text-transform:uppercase;font-weight:900}.ip-key-message{color:#1d4ed8;background:#eff6ff;border-radius:16px;margin-top:16px;padding:12px 14px;font-weight:900}.ip-key-grid{grid-template-columns:1.35fr .65fr;gap:20px;margin-top:20px;display:grid}.ip-key-form,.ip-key-active-card,.ip-key-list{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:22px;box-shadow:0 20px 50px #0f172a14}.ip-key-form h2,.ip-key-active-card h2,.ip-key-list h2{align-items:center;gap:10px;margin:0 0 16px;font-size:20px;display:flex}.ip-key-form label{color:#334155;text-transform:uppercase;margin-bottom:12px;font-size:13px;font-weight:950;display:block}.ip-key-form input:not([type=checkbox]){color:#0f172a;background:#f8fafc;border:1px solid #dbe3ef;border-radius:14px;outline:none;width:100%;margin-top:7px;padding:12px 13px;font-weight:750}.ip-key-form input:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.ip-key-check{align-items:center;gap:9px;text-transform:none!important;display:flex!important}.ip-key-form button,.ip-key-actions button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:14px;padding:12px 16px;font-weight:950}.ip-key-form button:disabled,.ip-key-actions button:disabled{opacity:.55;cursor:not-allowed}.ip-key-active-card strong{margin-bottom:6px;font-size:24px;display:block}.ip-key-active-card span{color:#2563eb;font-weight:900}.ip-key-active-card p{color:#475569;font-weight:850}.ip-key-list{margin-top:20px}.ip-key-list-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.ip-key-list-head h2{margin:0}.ip-key-list-head span{color:#64748b;font-weight:900}.ip-key-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.ip-key-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:16px}.ip-key-card.active{background:#eff6ff;border-color:#93c5fd}.ip-key-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ip-key-card h3{margin:0 0 5px;font-size:18px}.ip-key-card span{color:#64748b;word-break:break-all;font-weight:850}.ip-key-card b{color:#16a34a;text-transform:uppercase;align-items:center;gap:6px;font-size:12px;display:inline-flex}.ip-key-metrics{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}.ip-key-metrics div{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px}.ip-key-metrics small{color:#64748b;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:900;display:block}.ip-key-metrics strong{word-break:break-word;font-size:13px}.ip-key-alert{color:#9a3412;background:#fff7ed;border-radius:14px;margin:10px 0;padding:10px 12px;font-size:13px;font-weight:900}.ip-key-actions{flex-wrap:wrap;gap:8px;display:flex}.ip-key-actions .soft{color:#0f172a;background:#e2e8f0}.ip-key-actions .danger{color:#991b1b;background:#fee2e2}.ip-key-empty{text-align:center;color:#64748b;padding:30px;font-weight:900}@media (width<=900px){.ip-key-grid{grid-template-columns:1fr}.ip-key-hero{flex-direction:column;align-items:flex-start}}@media (width<=760px){.ip-key-page{padding:16px}.ip-key-hero h1{font-size:28px}.ip-key-hero-stats{width:100%}.ip-key-hero-stats div{flex:1}}.ip-key-page{max-width:100%;overflow-x:hidden}.ip-key-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:stretch}.ip-key-form,.ip-key-active-card,.ip-key-list{border-radius:22px}.ip-key-active-card{flex-direction:column;justify-content:flex-start;min-height:auto;display:flex}.ip-key-active-stats{grid-template-columns:1fr;gap:10px;margin-top:18px;display:grid}.ip-key-active-stats p{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;margin:0;padding:13px 14px}.ip-key-active-stats p span{color:#64748b;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:950;display:block}.ip-key-active-stats p strong{color:#0f172a;word-break:break-word;margin:0;font-size:22px;line-height:1.1;display:block}.ip-key-cards{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.ip-key-card{padding:18px;overflow:hidden}.ip-key-metrics{grid-template-columns:90px 1fr 120px}.ip-key-metrics div{min-width:0;min-height:88px}.ip-key-metrics strong{word-break:normal;overflow-wrap:anywhere;line-height:1.35;display:block}.ip-key-actions{grid-template-columns:1fr 1fr 58px;display:grid}.ip-key-actions button{min-height:46px}@media (width<=1180px){.ip-key-grid{grid-template-columns:1fr}.ip-key-active-card{min-height:auto}}@media (width<=760px){.ip-key-cards,.ip-key-metrics,.ip-key-actions{grid-template-columns:1fr}}.ip-key-hero-stats{flex-wrap:nowrap}.ip-key-hero-stats div{min-width:110px}@media (width<=760px){.ip-key-hero-stats{flex-wrap:wrap}}.bulk-page{color:#0f172a;background:#f4f7fb;min-height:100vh;padding:24px}.bulk-topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.bulk-topbar span,.bulk-back{color:#1e293b;align-items:center;gap:8px;font-weight:900;text-decoration:none;display:inline-flex}.bulk-back{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px 14px;box-shadow:0 10px 24px #0f172a0f}.bulk-hero{color:#fff;background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:24px;justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex;box-shadow:0 24px 60px #0f172a2e}.bulk-badge{text-transform:uppercase;letter-spacing:.5px;background:#ffffff21;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:900;display:inline-flex}.bulk-hero h1{margin:14px 0 8px;font-size:34px;line-height:1}.bulk-hero p{color:#dbeafe;margin:0;font-weight:700}.bulk-count{text-align:center;background:#ffffff24;border:1px solid #ffffff29;border-radius:20px;min-width:138px;padding:18px}.bulk-count strong{font-size:36px;display:block}.bulk-count span{color:#dbeafe;text-transform:uppercase;font-size:12px;font-weight:900}.bulk-card,.bulk-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;margin-top:20px;padding:22px;box-shadow:0 20px 50px #0f172a14}.bulk-card label{color:#334155;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:13px;font-weight:950;display:block}.bulk-card textarea{resize:vertical;color:#0f172a;background:#f8fafc;border:1px solid #dbe3ef;border-radius:18px;outline:none;width:100%;padding:16px;font-size:15px;font-weight:700}.bulk-card textarea:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.bulk-actions{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.bulk-actions button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:14px;padding:12px 18px;font-weight:950}.bulk-actions button:disabled{opacity:.65;cursor:not-allowed}.bulk-actions .secondary{color:#0f172a;background:#e2e8f0}.bulk-message{color:#991b1b;background:#fee2e2;border-radius:14px;margin-top:14px;padding:12px 14px;font-weight:900}.bulk-message.success{color:#166534;background:#dcfce7}.bulk-table-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.bulk-table-head h2{align-items:center;gap:10px;margin:0;font-size:20px;display:inline-flex}.bulk-table-head span{color:#64748b;font-weight:950}.bulk-table-wrap{border:1px solid #e2e8f0;border-radius:18px;overflow:auto}.bulk-table{border-collapse:collapse;width:100%;min-width:1150px}.bulk-table th{text-align:left;color:#334155;text-transform:uppercase;letter-spacing:.45px;background:#f1f5f9;padding:13px 14px;font-size:12px}.bulk-table td{color:#0f172a;word-break:break-word;border-top:1px solid #e2e8f0;max-width:280px;padding:13px 14px;font-weight:750}.bulk-table tr.failed td{color:#9a3412;background:#fff7ed}.bulk-empty{text-align:center;color:#64748b;padding:38px 18px}.bulk-empty svg{color:#2563eb;font-size:34px}.bulk-empty h3{color:#0f172a;margin:12px 0 6px}@media (width<=760px){.bulk-page{padding:16px}.bulk-hero{flex-direction:column;align-items:flex-start}.bulk-hero h1{font-size:28px}}.bulk-page{max-width:100%;overflow-x:hidden}.bulk-hero{background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:28px}.bulk-card,.bulk-table-card{border-radius:24px}.bulk-table-wrap{max-width:100%;overflow-x:auto}.bulk-table{table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:1900px}.bulk-table th,.bulk-table td{border-bottom:1px solid #e7edf6;border-right:1px solid #dbe3ef}.bulk-table th:last-child,.bulk-table td:last-child{border-right:0}.bulk-table th{white-space:nowrap;padding:14px 16px}.bulk-table td{word-break:normal;overflow-wrap:anywhere;max-width:none;padding:14px 16px;line-height:1.35}.bulk-table th:first-child,.bulk-table td:first-child{width:90px}.bulk-table th:nth-child(2),.bulk-table td:nth-child(2){width:180px}.bulk-table th:nth-child(3),.bulk-table td:nth-child(3){width:125px}.bulk-table th:nth-child(4),.bulk-table td:nth-child(4){width:150px}.bulk-table th:nth-child(5),.bulk-table td:nth-child(5){width:165px}.bulk-table th:nth-child(6),.bulk-table td:nth-child(6){width:110px}.bulk-table th:nth-child(7),.bulk-table td:nth-child(7){width:180px}.bulk-table th:nth-child(8),.bulk-table td:nth-child(8){width:280px}.bulk-table th:nth-child(9),.bulk-table td:nth-child(9){width:135px}.bulk-table th:nth-child(10),.bulk-table td:nth-child(10){width:145px}.bulk-table th:nth-child(11),.bulk-table td:nth-child(11){width:270px}.bulk-table th:nth-child(12),.bulk-table td:nth-child(12),.bulk-table th:nth-child(13),.bulk-table td:nth-child(13),.bulk-table th:nth-child(14),.bulk-table td:nth-child(14),.bulk-table th:nth-child(15),.bulk-table td:nth-child(15){width:120px}.bulk-table th:nth-child(16),.bulk-table td:nth-child(16){width:160px}.bulk-page .bulk-table th:first-child,.bulk-page .bulk-table td:first-child{width:260px}@media (width<=760px){.bulk-actions{grid-template-columns:1fr;display:grid}.bulk-actions button{width:100%}}.user-work-page{background:#f5f7fb;min-height:100vh;padding:16px 18px}.user-work-topbar{margin-bottom:10px}.user-work-back{color:#111827;align-items:center;gap:8px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.user-work-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.user-work-badge{color:#fff;background:#2563eb;border-radius:20px;margin-bottom:8px;padding:4px 9px;font-size:11px;font-weight:800;display:inline-block}.user-work-header h1{color:#111827;margin:0;font-size:26px}.user-work-header p{color:#64748b;margin:4px 0 0;font-size:13px}.user-work-search{background:#fff;border:1px solid #dbe1ea;border-radius:12px;align-items:center;gap:9px;min-width:310px;padding:10px 14px;display:flex}.user-work-search input{border:none;outline:none;width:100%;font-size:13px}.user-work-filters{grid-template-columns:minmax(180px,1fr) minmax(170px,1fr) 160px 160px;gap:10px;margin-bottom:10px;display:grid}.filter-box,.date-input{background:#fff;border:1px solid #dbe1ea;border-radius:12px;align-items:center;gap:9px;min-height:42px;padding:0 12px;display:flex}.filter-box svg{color:#2563eb}.filter-box select,.date-input{color:#111827;border:none;outline:none;width:100%;font-size:13px;font-weight:700}.date-input{padding:0 12px}.user-work-summary{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:10px;display:grid}.summary-card{background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 8px 22px #0f172a0d}.summary-card span{color:#64748b;font-size:12px;font-weight:900;display:block}.summary-card strong{color:#111827;margin-top:4px;font-size:24px;line-height:1;display:block}.summary-card.checked strong{color:#16a34a}.summary-card.pending strong{color:#f59e0b}.summary-card.invalid strong{color:#dc2626}.summary-card.skipped strong{color:#4f46e5}.user-work-card{background:#fff;border-radius:16px;padding:14px;box-shadow:0 8px 25px #0000000d}.user-work-title{align-items:center;gap:9px;margin-bottom:10px;display:flex}.user-work-title h2{color:#111827;margin:0;font-size:20px}.user-work-table-wrap{max-height:calc(100vh - 300px);overflow:auto}.user-work-table{border-collapse:collapse;width:100%;min-width:1100px}.user-work-table thead{z-index:2;background:#f3f4f6;position:sticky;top:0}.user-work-table th,.user-work-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:10px 11px;font-size:13px}.user-work-table th{color:#374151;font-weight:900}.user-work-table tr:hover{background:#f9fafb}.user-work-status{text-transform:capitalize;border-radius:20px;padding:4px 11px;font-size:11px;font-weight:900;display:inline-block}.user-work-status.checked{color:#166534;background:#dcfce7}.user-work-status.invalid{color:#991b1b;background:#fee2e2}.user-work-status.pending{color:#92400e;background:#fef3c7}.user-work-status.skipped{color:#3730a3;background:#e0e7ff}.user-work-empty{text-align:center;color:#6b7280;padding:28px;font-weight:800}@media (width<=1100px){.user-work-summary{grid-template-columns:repeat(3,1fr)}.user-work-filters{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.user-work-header{flex-direction:column;align-items:stretch}.user-work-search{min-width:100%}.user-work-summary{grid-template-columns:repeat(2,1fr)}.user-work-filters{grid-template-columns:1fr}}.summary-card.access strong{color:#2563eb}.summary-card.worked strong{color:#7c3aed}@media (width>=1100px){.user-work-summary{grid-template-columns:repeat(8,minmax(120px,1fr))}}
