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