@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,600;8..60,700&display=swap);:root{--primary:#667eea;--secondary:#764ba2;--success:#38a169;--danger:#e53e3e;--warning:#ed8936;--info:#3182ce;--light:#f7fafc;--dark:#2d3748;--gray:#718096;--border:#e2e8f0}*{font-family:Segoe UI,Roboto,Oxygen,sans-serif}body,html{background:#f8f9fa;margin:0;padding:0}body{color:#2d3748;line-height:1.6}.navbar{background:linear-gradient(135deg,#667eea,#764ba2)!important;box-shadow:0 2px 8px #667eea33;padding:1rem 0}.navbar-brand{color:#fff!important;font-size:1.5rem;font-weight:700;letter-spacing:-.3px}.navbar-dark .navbar-nav .nav-link{color:#ffffffe6!important;font-weight:500;transition:all .3s ease}.navbar-dark .navbar-nav .nav-link:hover{color:#fff!important}.nav-link{transition:all .3s ease}.container{max-width:1000px}.card{border:none;border-radius:12px;box-shadow:0 4px 15px #00000014;margin-bottom:2rem;transition:all .3s ease}.card:hover{box-shadow:0 6px 25px #0000001f}.card-header{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px 12px 0 0!important;color:#fff;font-weight:600;padding:1.5rem}.card-body{padding:2rem}.form-control,.form-select{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem;transition:all .3s ease}.form-control:focus,.form-select:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-label{color:#2d3748;font-size:.95rem;font-weight:600;margin-bottom:.75rem}.form-group{margin-bottom:1.5rem}.required:after{color:#e53e3e;content:" *";font-weight:700}.btn{padding:.75rem 1.5rem}.btn-primary{box-shadow:0 4px 15px #667eea4d}.btn-primary:hover{box-shadow:0 6px 20px #667eea66;color:#fff;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-outline-light{border:2px solid #fff;color:#fff;font-weight:600}.btn-outline-light:hover{background:#fff;border-color:#fff;color:#667eea}.alert{border:none;border-left:4px solid;margin-bottom:1.5rem}.alert-success{background:#f0fff4;border-left-color:#38a169;color:#22543d}.alert-danger{background:#fff5f5;border-left-color:#e53e3e;color:#742a2a}.alert-info{background:#ebf8ff;border-left-color:#3182ce;color:#2c5282}.alert-warning{background:#fffaf0;border-left-color:#ed8936;color:#7c2d12}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 6px 20px #667eea33;color:#fff;margin-bottom:2rem;padding:2rem}.dashboard-header h1{font-weight:700;margin-bottom:.5rem}.dashboard-header p{margin-bottom:0;opacity:.9}.info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.info-card{background:#fff;border-left:4px solid #667eea;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:1.5rem;transition:all .3s ease}.info-card:hover{box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.info-label{color:#718096;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.info-value{color:#2d3748;font-size:1.1rem;font-weight:600}.badge-status{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:600;padding:.5rem 1rem}.badge-approved{background:#f0fff4;color:#38a169}.badge-pending{background:#fffaf0;color:#ed8936}a{color:#667eea;text-decoration:none;transition:color .3s ease}a:hover{color:#764ba2;text-decoration:underline}.loading{opacity:.6;pointer-events:none}.text-muted{color:#718096}.text-success{color:#38a169}.text-danger{color:#e53e3e}.text-warning{color:#ed8936}.text-info{color:#3182ce}.section-divider{border-top:2px solid #e2e8f0;margin:2rem 0}.spinner-border{color:#667eea}@media (max-width:768px){.container{padding-left:1rem;padding-right:1rem}.info-grid{grid-template-columns:1fr}.dashboard-header{padding:1.5rem}.btn{display:block;width:100%}.navbar-brand{font-size:1.3rem}}@media (max-width:576px){.card-body{padding:1.5rem}.btn,.form-label{font-size:.9rem}.btn{padding:.6rem 1rem}}.fade-in{animation:fadeIn .3s ease-out}:root{--ba-navy:#0c1a2e;--ba-navy-soft:#152238;--ba-navy-muted:#1e2f4a;--ba-gold:#a67c2e;--ba-gold-light:#c9a04a;--ba-ink:#0f172a;--ba-text:#334155;--ba-muted:#64748b;--ba-border:#e2e8f0;--ba-border-strong:#cbd5e1;--ba-surface:#fff;--ba-surface-alt:#f8fafc;--ba-primary:#1a4a7a;--ba-primary-hover:#153d66;--ba-danger:#b91c1c;--ba-danger-bg:#fef2f2;--ba-success:#047857;--ba-radius:10px;--ba-radius-lg:14px;--ba-shadow:0 4px 24px #0c1a2e14;--ba-shadow-lg:0 12px 48px #0c1a2e1f;--ba-font:"Inter",system-ui,-apple-system,sans-serif;--ba-serif:"Source Serif 4",Georgia,serif;--ba-space-1:4px;--ba-space-2:8px;--ba-space-3:12px;--ba-space-4:16px;--ba-space-5:20px;--ba-space-6:24px;--ba-space-8:32px;--ba-space-10:40px}*,:after,:before{box-sizing:border-box}.auth-shell{-webkit-font-smoothing:antialiased;background:#f8fafc;background:var(--ba-surface-alt);color:#0f172a;color:var(--ba-ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--ba-font);min-height:100vh}.auth-topbar{align-items:center;background:#0c1a2e;background:var(--ba-navy);border-bottom:3px solid #a67c2e;border-bottom:3px solid var(--ba-gold);box-shadow:0 2px 12px #00000026;display:flex;gap:16px;gap:var(--ba-space-4);justify-content:space-between;min-height:64px;padding:12px 24px;padding:var(--ba-space-3) var(--ba-space-6);position:sticky;top:0;z-index:100}.auth-topbar-brand{align-items:center;color:#fff;display:flex;gap:14px;text-decoration:none}.auth-topbar-mark{align-items:center;background:linear-gradient(145deg,#a67c2e,#c9a04a);background:linear-gradient(145deg,var(--ba-gold) 0,var(--ba-gold-light) 100%);border-radius:8px;color:#0c1a2e;color:var(--ba-navy);display:flex;flex-shrink:0;font-family:"Source Serif 4",Georgia,serif;font-family:var(--ba-serif);font-size:15px;font-weight:700;height:42px;justify-content:center;letter-spacing:-.02em;width:42px}.auth-topbar-text{display:flex;flex-direction:column;gap:1px}.auth-topbar-title{color:#fff;font-family:"Source Serif 4",Georgia,serif;font-family:var(--ba-serif);font-size:17px;font-weight:700;line-height:1.2}.auth-topbar-sub{color:#ffffff8c;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.auth-topbar-link{border:1px solid #fff3;border-radius:6px;color:#ffffffe6;font-size:13px;font-weight:600;padding:8px 16px;text-decoration:none;transition:background .2s,border-color .2s}.auth-topbar-link:hover{background:#ffffff14;border-color:#ffffff59;color:#fff}.auth-shell--login{display:flex;flex-direction:column}.auth-login-body{display:grid;flex:1 1;grid-template-columns:1fr 1fr;min-height:calc(100vh - 64px)}.auth-login-hero{align-items:center;background:linear-gradient(160deg,#0c1a2e,#152238 50%,#1e2f4a);background:linear-gradient(160deg,var(--ba-navy) 0,var(--ba-navy-soft) 50%,var(--ba-navy-muted) 100%);display:flex;justify-content:center;overflow:hidden;padding:40px 32px;padding:var(--ba-space-10) var(--ba-space-8);position:relative}.auth-login-hero:before{background:radial-gradient(ellipse 80% 60% at 20% 80%,#a67c2e1f 0,#0000 55%),radial-gradient(ellipse 50% 40% at 90% 10%,#ffffff0a 0,#0000 50%);content:"";inset:0;pointer-events:none;position:absolute}.auth-login-hero-inner{color:#fff;max-width:400px;position:relative}.auth-login-hero h1{font-family:"Source Serif 4",Georgia,serif;font-family:var(--ba-serif);font-size:clamp(28px,3.5vw,36px);font-weight:700;line-height:1.2;margin:0 0 16px;margin:0 0 var(--ba-space-4)}.auth-login-hero p{color:#ffffffbf;font-size:15px;line-height:1.65;margin:0 0 24px;margin:0 0 var(--ba-space-6)}.auth-hero-list{display:flex;flex-direction:column;gap:12px;gap:var(--ba-space-3);list-style:none;margin:0;padding:0}.auth-hero-list li{align-items:flex-start;color:#ffffffe0;display:flex;font-size:14px;gap:12px;line-height:1.5}.auth-hero-list li:before{background:#c9a04a;background:var(--ba-gold-light);border-radius:50%;content:"";flex-shrink:0;height:6px;margin-top:7px;width:6px}.auth-login-main{align-items:center;background:#f8fafc;background:var(--ba-surface-alt);display:flex;justify-content:center}.auth-login-card,.auth-login-main{padding:32px 24px;padding:var(--ba-space-8) var(--ba-space-6)}.auth-login-card{background:#fff;background:var(--ba-surface);border:1px solid #e2e8f0;border:1px solid var(--ba-border);border-radius:14px;border-radius:var(--ba-radius-lg);box-shadow:0 12px 48px #0c1a2e1f;box-shadow:var(--ba-shadow-lg);max-width:420px;width:100%}.auth-login-card h2{color:#0f172a;color:var(--ba-ink);font-family:"Source Serif 4",Georgia,serif;font-family:var(--ba-serif);font-size:26px;font-weight:700;margin:0 0 4px;margin:0 0 var(--ba-space-1)}.auth-login-card .auth-subtitle{color:#64748b;color:var(--ba-muted);font-size:14px;line-height:1.5;margin:0}.auth-login-card form{display:flex;flex-direction:column;gap:16px;gap:var(--ba-space-4);margin-top:24px;margin-top:var(--ba-space-6)}.auth-login-card .alert,.auth-login-card .form-group,.auth-login-card .form-options{margin:0}.auth-login-card .form-options{padding-top:4px;padding-top:var(--ba-space-1)}.auth-login-card .auth-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--ba-border);margin-top:20px;margin-top:var(--ba-space-5);padding-top:20px;padding-top:var(--ba-space-5)}.auth-shell--register{display:flex;flex-direction:column}.auth-register-body{grid-gap:32px;grid-gap:var(--ba-space-8);display:grid;flex:1 1;gap:32px;gap:var(--ba-space-8);grid-template-columns:200px minmax(0,1fr);margin:0 auto;max-width:1120px;padding:24px 24px 40px;padding:var(--ba-space-6) var(--ba-space-6) var(--ba-space-10);width:100%}.auth-register-nav{align-self:start;height:fit-content;padding:8px 0;padding:var(--ba-space-2) 0;position:sticky;top:80px}.auth-register-nav-title{color:#64748b;color:var(--ba-muted);font-size:10px;font-weight:700;letter-spacing:.1em;margin:0 0 12px;margin:0 0 var(--ba-space-3);padding-left:12px;padding-left:var(--ba-space-3);text-transform:uppercase}.auth-register-nav ul{display:flex;flex-direction:column;gap:4px;gap:var(--ba-space-1);list-style:none;margin:0;padding:0}.auth-register-nav a{align-items:center;border-radius:8px;color:#334155;color:var(--ba-text);display:flex;font-size:13px;font-weight:500;gap:12px;gap:var(--ba-space-3);padding:8px 12px;padding:var(--ba-space-2) var(--ba-space-3);text-decoration:none;transition:background .15s,color .15s}.auth-register-nav a:hover{background:#fff;color:#1a4a7a;color:var(--ba-primary)}.auth-register-nav-num{align-items:center;background:#e2e8f0;background:var(--ba-border);border-radius:6px;color:#64748b;color:var(--ba-muted);display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:24px;justify-content:center;width:24px}.auth-register-nav a:hover .auth-register-nav-num{background:#1a4a7a;background:var(--ba-primary);color:#fff}.auth-register-main{min-width:0;padding:0}.auth-register-header{margin-bottom:24px;margin-bottom:var(--ba-space-6)}.auth-register-header h2{font-family:"Source Serif 4",Georgia,serif;font-family:var(--ba-serif);font-size:26px;font-weight:700;margin:0 0 8px;margin:0 0 var(--ba-space-2)}.auth-register-header p{color:#64748b;color:var(--ba-muted);font-size:14px;line-height:1.55;margin:0;max-width:640px}.auth-register-form{display:flex;flex-direction:column;gap:20px;gap:var(--ba-space-5)}.auth-register-form>.alert{margin:0}.form-section{background:#fff;background:var(--ba-surface);border:1px solid #e2e8f0;border:1px solid var(--ba-border);border-radius:14px;border-radius:var(--ba-radius-lg);box-shadow:0 4px 24px #0c1a2e14;box-shadow:var(--ba-shadow);display:flex;flex-direction:column;gap:16px;gap:var(--ba-space-4);padding:24px;padding:var(--ba-space-6);scroll-margin-top:88px}.section-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--ba-border);display:flex;gap:12px;gap:var(--ba-space-3);margin:0;padding-bottom:16px;padding-bottom:var(--ba-space-4)}.section-icon{align-items:center;background:linear-gradient(135deg,#e8f0f8,#dce8f4);border-radius:10px;border-radius:var(--ba-radius);color:#1a4a7a;color:var(--ba-primary);display:flex;flex-shrink:0;font-size:13px;font-weight:800;height:40px;justify-content:center;width:40px}.section-header-text h3{color:#0f172a;color:var(--ba-ink);font-family:"Source Serif 4",Georgia,serif;font-family:var(--ba-serif);font-size:18px;font-weight:700;line-height:1.3;margin:0}.section-header-text p{color:#64748b;color:var(--ba-muted);font-size:13px;line-height:1.45;margin:4px 0 0;margin:var(--ba-space-1) 0 0}.form-row{grid-gap:16px;grid-gap:var(--ba-space-4);display:grid;gap:16px;gap:var(--ba-space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.form-group{gap:8px;gap:var(--ba-space-2);margin:0}.document-group label,.form-group label{color:#334155;color:var(--ba-text);font-size:13px;font-weight:600;line-height:1.35}.required{color:#b91c1c;color:var(--ba-danger)}.form-group input:not([type=checkbox]):not([type=file]),.form-group select,.form-group textarea,.form-input{background:#fff;background:var(--ba-surface);border:1px solid #cbd5e1;border:1px solid var(--ba-border-strong);border-radius:10px;border-radius:var(--ba-radius);color:#0f172a;color:var(--ba-ink);font-family:inherit;font-size:14px;line-height:1.4;min-height:44px;padding:10px 14px;transition:border-color .15s,box-shadow .15s;width:100%}.form-group input::placeholder,.form-group textarea::placeholder,.form-input::placeholder{color:#94a3b8}.form-group input:not([type=checkbox]):not([type=file]):hover,.form-group select:hover,.form-group textarea:hover,.form-input:hover{border-color:#94a3b8}.form-group input:not([type=checkbox]):not([type=file]):focus,.form-group select:focus,.form-group textarea:focus,.form-input:focus{border-color:#1a4a7a;border-color:var(--ba-primary);box-shadow:0 0 0 3px #1a4a7a1f;outline:none}.form-group textarea,textarea.form-input{min-height:80px;resize:vertical}.form-group select,select.form-input{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2364748b' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.password-wrapper{position:relative}.password-wrapper .form-input{padding-right:72px}.password-toggle{background:#0000;border:none;border-radius:6px;color:#64748b;color:var(--ba-muted);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:6px 10px;position:absolute;right:6px;top:50%;transform:translateY(-50%)}.password-toggle:hover{background:#f8fafc;background:var(--ba-surface-alt);color:#1a4a7a;color:var(--ba-primary)}.password-hint{color:#64748b;color:var(--ba-muted);font-size:12px}.form-options{align-items:center;display:flex;flex-wrap:wrap;gap:12px;gap:var(--ba-space-3);justify-content:space-between;margin:0}.checkbox-label{align-items:center;color:#334155;color:var(--ba-text);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px}.checkbox-label input[type=checkbox]{accent-color:#1a4a7a;accent-color:var(--ba-primary);cursor:pointer;height:16px;width:16px}.forgot-link{color:#1a4a7a;color:var(--ba-primary);font-size:13px;font-weight:600;text-decoration:none}.forgot-link:hover{text-decoration:underline}.education-subsection,.retirement-section{background:#f8fafc;background:var(--ba-surface-alt);border:1px solid #e2e8f0;border:1px solid var(--ba-border);border-radius:10px;border-radius:var(--ba-radius);display:flex;flex-direction:column;gap:12px;gap:var(--ba-space-3);margin:0;padding:16px;padding:var(--ba-space-4)}.subsection-title{color:#64748b;color:var(--ba-muted);font-size:11px;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.info-box{background:#f0f6fc;border-left:3px solid #1a4a7a;border-left:3px solid var(--ba-primary);border-radius:0 10px 10px 0;border-radius:0 var(--ba-radius) var(--ba-radius) 0;margin:0;padding:12px 16px;padding:var(--ba-space-3) var(--ba-space-4)}.info-box p{color:#334155;color:var(--ba-text);line-height:1.55;margin:0}.documents-grid{grid-gap:12px;grid-gap:var(--ba-space-3);display:grid;gap:12px;gap:var(--ba-space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.document-group{background:#f8fafc;background:var(--ba-surface-alt);border:1.5px dashed #cbd5e1;border:1.5px dashed var(--ba-border-strong);border-radius:10px;border-radius:var(--ba-radius);padding:16px;padding:var(--ba-space-4);transition:border-color .2s,background .2s}.document-group:hover{background:#f8fbff;border-color:#1a4a7a;border-color:var(--ba-primary)}.document-group label{display:block;margin-bottom:8px;margin-bottom:var(--ba-space-2)}.document-group input[type=file]{color:#64748b;color:var(--ba-muted);font-size:12px;width:100%}.document-group input[type=file]::file-selector-button{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--ba-border);border-radius:6px;color:#0f172a;color:var(--ba-ink);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;margin-right:10px;padding:8px 12px}.file-uploaded{color:#047857;color:var(--ba-success);font-size:12px;font-weight:600;margin-top:8px;word-break:break-all}.alert{border:1px solid;border-radius:10px;border-radius:var(--ba-radius);font-size:13px;line-height:1.45;padding:var(--ba-space-3) var(--ba-space-4)}.alert-error{background:#fef2f2;background:var(--ba-danger-bg);border-color:#fecaca;color:#b91c1c;color:var(--ba-danger)}.btn{border-radius:var(--ba-radius);font-family:inherit;min-height:46px;transition:background .2s,transform .15s,box-shadow .2s}.btn:disabled{opacity:.55}.btn-primary,.btn-success{background:#1a4a7a;background:var(--ba-primary);box-shadow:0 4px 14px #1a4a7a40;color:#fff}.btn-primary:hover:not(:disabled),.btn-success:hover:not(:disabled){background:#153d66;background:var(--ba-primary-hover);box-shadow:0 6px 20px #1a4a7a4d;transform:translateY(-1px)}.form-submit-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #e2e8f0;border:1px solid var(--ba-border);border-radius:14px;border-radius:var(--ba-radius-lg);bottom:16px;bottom:var(--ba-space-4);box-shadow:0 12px 48px #0c1a2e1f;box-shadow:var(--ba-shadow-lg);margin-top:8px;margin-top:var(--ba-space-2);padding:16px;padding:var(--ba-space-4);position:sticky;z-index:10}.auth-register-main>.auth-footer{margin-top:24px;margin-top:var(--ba-space-6);padding-top:16px;padding-top:var(--ba-space-4)}.auth-footer{color:#64748b;color:var(--ba-muted);font-size:14px;text-align:center}.auth-footer p{margin:0}.auth-footer a,.register-link{color:#1a4a7a;color:var(--ba-primary);font-weight:600;text-decoration:none}.auth-footer a:hover,.register-link:hover{text-decoration:underline}.auth-container,.auth-page{background:#f8fafc;background:var(--ba-surface-alt);font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--ba-font);min-height:100vh}.auth-page{display:flex;flex-direction:column}.auth-wrapper{margin:0 auto;max-width:480px;padding:40px 24px;width:100%}.auth-card{background:#fff;background:var(--ba-surface);border:1px solid #e2e8f0;border:1px solid var(--ba-border);border-radius:14px;border-radius:var(--ba-radius-lg);box-shadow:0 4px 24px #0c1a2e14;box-shadow:var(--ba-shadow);padding:32px}.auth-card h1{color:#0f172a;color:var(--ba-ink);font-family:"Source Serif 4",Georgia,serif;font-family:var(--ba-serif);font-size:24px;font-weight:700;margin:0 0 6px}.auth-subtitle{color:#64748b;color:var(--ba-muted);font-size:14px;line-height:1.5;margin:0 0 24px}.alert-success{background:#ecfdf5;border-color:#a7f3d0;color:#047857;color:var(--ba-success)}.auth-brand,.auth-header,.auth-logo,.auth-mobile-brand,.auth-panel,.form-navigation,.progress-section,.step-description,.step-title{display:none}@media (max-width:960px){.auth-login-body{grid-template-columns:1fr}.auth-login-hero{display:none}.auth-register-body{gap:0;grid-template-columns:1fr;padding:20px 16px 32px;padding:var(--ba-space-5) var(--ba-space-4) var(--ba-space-8)}.auth-register-nav{display:none}.auth-topbar{padding:12px 16px;padding:var(--ba-space-3) var(--ba-space-4)}}@media (max-width:640px){.auth-login-main{padding:20px 16px;padding:var(--ba-space-5) var(--ba-space-4)}.auth-login-card{padding:24px 20px;padding:var(--ba-space-6) var(--ba-space-5)}.auth-login-card form{gap:12px;gap:var(--ba-space-3);margin-top:20px;margin-top:var(--ba-space-5)}.documents-grid,.form-row{gap:12px;gap:var(--ba-space-3);grid-template-columns:1fr}.form-section{gap:12px;gap:var(--ba-space-3);padding:20px;padding:var(--ba-space-5)}.auth-register-form{gap:16px;gap:var(--ba-space-4)}.auth-register-header{margin-bottom:20px;margin-bottom:var(--ba-space-5)}.form-options{align-items:flex-start;flex-direction:column}.auth-topbar-sub{display:none}.form-group input:not([type=checkbox]):not([type=file]),.form-group select,.form-group textarea,.form-input{font-size:16px}}:root{--primary:#52c41a;--primary-dark:#389e0d;--secondary:#1890ff;--danger:#ff4d4f;--warning:#faad14;--success:#52c41a;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#eee;--gray-300:#e8e8e8;--gray-400:#d9d9d9;--gray-500:#bfbfbf;--gray-600:#8c8c8c;--gray-700:#595959;--gray-800:#262626;--gray-900:#141414;--white:#fff;--shadow:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001f;--text-primary:#262626;--text-secondary:#8c8c8c}*{box-sizing:border-box;margin:0;padding:0}body{color:#262626;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-layout,body{background-color:#f5f5f5;background-color:var(--gray-100)}.dashboard-layout{display:flex;min-height:100vh}.sidebar{background:#fff;background:var(--white);box-shadow:0 4px 16px #0000001f;box-shadow:var(--shadow-lg);height:100vh;left:0;overflow-y:auto;padding:24px 0;position:fixed;top:0;width:260px}.sidebar-header{align-items:center;border-bottom:1px solid #eee;border-bottom:1px solid var(--gray-200);display:flex;gap:12px;margin-bottom:24px;padding:0 20px 24px}.sidebar-header .logo{font-size:32px;font-weight:700}.sidebar-header h2{color:#262626;color:var(--text-primary);font-size:18px;font-weight:700;margin:0}.sidebar-nav{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;padding:0 12px}.nav-item{background:none;border:none;border-radius:6px;color:#8c8c8c;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:12px 16px;text-align:left;transition:all .3s ease}.nav-item.active,.nav-item:hover{background-color:#f5f5f5;background-color:var(--gray-100);color:#262626;color:var(--text-primary)}.logout-btn,.nav-item.active{font-weight:600}.logout-btn{background:#ff4d4f;background:var(--danger);border:none;border-radius:6px;bottom:20px;color:#fff;color:var(--white);cursor:pointer;font-size:13px;left:12px;padding:10px 16px;position:absolute;right:12px;transition:all .3s ease}.logout-btn:hover{background:#ff3826;box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow)}.main-content{display:flex;flex:1 1;flex-direction:column;margin-left:260px;min-height:100vh}.dashboard-header{align-items:center;background:#fff;background:var(--white);border-bottom:1px solid #eee;border-bottom:1px solid var(--gray-200);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);display:flex;justify-content:space-between;padding:24px 32px}.header-left h1{color:#262626;color:var(--text-primary);font-size:24px;font-weight:700;margin:0 0 4px}.header-subtitle{color:#8c8c8c;color:var(--text-secondary);font-size:13px;margin:0}.header-right{gap:16px}.header-right,.user-avatar{align-items:center;display:flex}.user-avatar{background:#52c41a;background:var(--primary);border-radius:50%;color:#fff;color:var(--white);font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.content-area{flex:1 1;overflow-y:auto;padding:32px}.loading{align-items:center;color:#8c8c8c;color:var(--text-secondary);display:flex;height:400px;justify-content:center}.dashboard-view h2{color:#262626;color:var(--text-primary);font-size:20px;font-weight:700;margin-bottom:24px}.dashboard-hero-card{align-items:stretch;background:linear-gradient(135deg,#fff8eb,#e6f4ff 48%,#eefbf3);border:1px solid #2563eb1f;border-radius:20px;box-shadow:0 4px 16px #0000001f;box-shadow:var(--shadow-lg);color:#fff;color:var(--white);display:flex;gap:24px;justify-content:space-between;margin-bottom:24px;padding:28px}.dashboard-kicker,.dashboard-panel-kicker{font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;opacity:1;text-transform:uppercase}.dashboard-kicker{color:#9a3412}.dashboard-hero-card h2{color:#0f172a;margin-bottom:10px}.dashboard-hero-copy{color:#334155;line-height:1.6;max-width:640px}.dashboard-hero-metrics{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(140px,1fr));min-width:320px}.dashboard-hero-metrics div{background:#ffffffd1;border:1px solid #94a3b838;border-radius:16px;box-shadow:0 10px 24px #0f172a14;padding:20px}.dashboard-hero-metrics span{color:#64748b;display:block;font-size:12px;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.dashboard-hero-metrics strong{color:#0f172a;font-size:26px;font-weight:700}.dashboard-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:24px}.dashboard-summary-card{background:#fff;background:var(--white);border:1px solid #0f172a0f;border-radius:18px;box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);padding:20px}.dashboard-summary-card p{color:#8c8c8c;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.dashboard-summary-card strong{color:#262626;color:var(--text-primary);display:block;font-size:28px;margin-bottom:8px}.dashboard-summary-card span{color:#8c8c8c;color:var(--text-secondary);font-size:13px}.dashboard-summary-card.approved{border-top:4px solid #16a34a}.dashboard-summary-card.pending{border-top:4px solid #f59e0b}.dashboard-summary-card.total{border-top:4px solid #2563eb}.dashboard-summary-card.membership{border-top:4px solid #0f766e}.dashboard-summary-card.voucher{border-top:4px solid #7c3aed}.dashboard-summary-card.insight{border-top:4px solid #ea580c}.dashboard-detail-grid,.dashboard-insight-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.dashboard-panel{background:#fff;background:var(--white);border:1px solid #0f172a0f;border-radius:20px;box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);padding:24px}.dashboard-panel-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.dashboard-panel-header h3{color:#262626;color:var(--text-primary);font-size:20px;margin:0}.dashboard-chip{background:#dbeafe;border-radius:999px;color:#1d4ed8;font-size:12px;font-weight:700;padding:8px 12px}.dashboard-chart-wrap{align-items:center;display:flex;justify-content:center;min-height:300px}.dashboard-chart-wrap canvas{max-height:320px;max-width:320px}.dashboard-empty-chart{color:#6c757d;font-size:.95rem;margin:0;text-align:center}.dashboard-mini-list,.dashboard-pulse-list,.dashboard-ranking-list{grid-gap:14px;display:grid;gap:14px}.dashboard-pulse-item{background:linear-gradient(180deg,#f8fafc,#eef2ff);border:1px solid #94a3b82e;border-radius:16px;padding:16px 18px}.dashboard-pulse-item small,.dashboard-pulse-item span{display:block}.dashboard-pulse-item span{color:#8c8c8c;color:var(--text-secondary);font-size:12px;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.dashboard-pulse-item strong{color:#262626;color:var(--text-primary);font-size:24px}.dashboard-pulse-item small{color:#8c8c8c;color:var(--text-secondary);font-size:13px;margin-top:6px}.dashboard-mini-row,.dashboard-ranking-item{align-items:center;background:#f8fafc;border:1px solid #94a3b82e;border-radius:16px;display:flex;gap:14px;justify-content:space-between;padding:14px 16px}.dashboard-mini-row>div,.dashboard-ranking-item>div{align-items:center;display:flex;gap:12px}.dashboard-mini-row strong,.dashboard-ranking-item strong{color:#262626;color:var(--text-primary);display:block}.dashboard-mini-row p,.dashboard-ranking-item p{color:#8c8c8c;color:var(--text-secondary);font-size:13px;margin:2px 0 0}.dashboard-rank-badge{align-items:center;background:#dbeafe;border-radius:50%;color:#1d4ed8;display:inline-flex;flex-shrink:0;font-weight:700;height:32px;justify-content:center;width:32px}.dashboard-rank-badge.seller{background:#ede9fe;color:#7c3aed}.dashboard-mini-row{border:1px solid #94a3b82e;cursor:pointer;text-align:left;width:100%}.dashboard-mini-row:hover{background:#eff6ff}.dashboard-mini-badge{border-radius:999px;font-size:12px;font-weight:700;padding:6px 10px}.dashboard-mini-badge.pending{background:#fff7e6;color:#ad6800}.dashboard-mini-badge.approved{background:#f6ffed;color:#237804}.dashboard-empty-copy{color:#8c8c8c;color:var(--text-secondary);padding:12px 0}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stat-card{background:var(--white);border-left:4px solid;box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);gap:16px;padding:24px}.stat-card:hover{box-shadow:0 4px 16px #0000001f;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.stat-card.pending{border-left-color:#faad14;border-left-color:var(--warning)}.stat-card.approved{border-left-color:#52c41a;border-left-color:var(--success)}.stat-card.total{border-left-color:#1890ff;border-left-color:var(--secondary)}.stat-icon{line-height:1}.stat-content{flex:1 1}.stat-content h3{color:#8c8c8c;color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.stat-number{color:#262626;color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 4px}.stat-label{color:#8c8c8c;color:var(--text-secondary);font-size:12px}.users-view h2{color:#262626;color:var(--text-primary);font-size:20px;font-weight:700;margin-bottom:20px}.view-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.view-header h2{margin:0}.search-input{border:1px solid #e8e8e8;border:1px solid var(--gray-300);border-radius:6px;flex:1 1;font-size:14px;max-width:300px;padding:10px 14px;transition:all .3s ease}.search-input:focus{border-color:#52c41a;border-color:var(--primary);box-shadow:0 0 0 3px #52c41a1a;outline:none}.users-table{background:#fff;background:var(--white);border-radius:8px;box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);overflow:hidden}.users-table table{border-collapse:collapse;width:100%}.users-table thead{background:#f5f5f5;background:var(--gray-100);border-bottom:1px solid #eee;border-bottom:1px solid var(--gray-200)}.users-table th{color:#8c8c8c;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.users-table tbody tr{border-bottom:1px solid #eee;border-bottom:1px solid var(--gray-200);transition:background-color .3s ease}.users-table tbody tr:hover{background-color:#fafafa;background-color:var(--gray-50)}.users-table tbody tr:last-child{border-bottom:none}.users-table td{color:#262626;color:var(--text-primary);font-size:14px;padding:16px}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.badge.pending{background:#fff7e6;color:#ad6800}.badge.approved{background:#f6ffed;color:#274e0d}.empty-state{color:#8c8c8c;color:var(--text-secondary);padding:60px 20px}@media (max-width:768px){.sidebar{padding:12px 0;width:80px}.sidebar-header{flex-direction:column;gap:4px;margin-bottom:12px;padding:0 6px 12px}.sidebar-header h2{display:none}.sidebar-header .logo{font-size:24px}.nav-item{font-size:12px;justify-content:center;padding:10px 8px}.main-content{margin-left:80px}.dashboard-header{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 20px}.header-left h1{font-size:18px}.content-area{padding:16px}.stats-grid{gap:12px;grid-template-columns:1fr}.dashboard-detail-grid,.dashboard-hero-card,.dashboard-insight-layout{flex-direction:column;grid-template-columns:1fr}.dashboard-hero-metrics{grid-template-columns:1fr;min-width:0}.dashboard-mini-row,.dashboard-panel-header,.dashboard-ranking-item{align-items:flex-start}.view-header{align-items:stretch;flex-direction:column}.search-input{max-width:100%}}.nav-item-group{display:flex;flex-direction:column;gap:0}.nav-item-group .nav-item{align-items:center;display:flex;gap:8px;justify-content:space-between}.menu-toggle{display:inline-block;font-size:10px;transition:transform .3s ease}.nav-subitem{background-color:#4b55630a;border-left:3px solid #d1d5db;color:#8c8c8c;color:var(--text-secondary);font-size:13px;padding-left:32px}.nav-subitem:hover{background-color:#4b556314}.nav-subitem.active,.nav-subitem:hover{color:#262626;color:var(--text-primary)}.nav-subitem.active{background-color:#f5f5f5;background-color:var(--gray-100);border-left-color:#d1d5db}.modal-overlay{animation:fadeIn .3s ease;background-color:#00000080;padding:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:#fff;background:var(--white);border-radius:12px;box-shadow:0 4px 16px #0000001f;box-shadow:var(--shadow-lg);max-height:90vh;max-width:900px;overflow-y:auto;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:#fafafa;background:var(--gray-50);border-bottom:1px solid #eee;border-bottom:1px solid var(--gray-200);padding:24px}.modal-header h2{color:#262626;color:var(--text-primary);font-size:20px;font-weight:700;margin:0}.close-btn{background:none;border:none;color:#8c8c8c;color:var(--text-secondary);cursor:pointer;font-size:24px;padding:4px 8px;transition:color .3s ease}.close-btn:hover{color:#262626;color:var(--text-primary)}.modal-body{display:flex;flex-direction:column;gap:32px;padding:32px}.detail-section{background:#fafafa;background:var(--gray-50);border:1px solid #eee;border:1px solid var(--gray-200);border-radius:8px;padding:20px}.detail-section h3{border-bottom:2px solid #52c41a;border-bottom:2px solid var(--primary);color:#262626;color:var(--text-primary);margin-bottom:16px;padding-bottom:12px}.detail-grid{grid-gap:16px;gap:16px}.add-user-biometric-grid,.add-user-documents-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.add-user-biometric-card{align-items:flex-start;background:#fff;background:var(--white);border:1px solid #eee;border:1px solid var(--gray-200);border-radius:8px;display:flex;flex-direction:column;padding:16px}.add-user-biometric-card h4{color:#262626;color:var(--text-primary);font-size:15px;font-weight:700;margin:0 0 12px}.detail-item{gap:4px}.detail-item label{color:#8c8c8c;color:var(--text-secondary)}.detail-item p{color:#262626;color:var(--text-primary);word-break:break-word}.modal-footer{background:#fafafa;background:var(--gray-50);border-top:1px solid #eee;border-top:1px solid var(--gray-200);padding:24px}.btn-small{font-size:12px;font-weight:600;padding:8px 16px;white-space:nowrap}.upload-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.upload-card{background:#fff;background:var(--white);border:1px solid #e8e8e8;border:1px solid var(--gray-300);border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:20px;text-align:center;transition:all .3s ease}.upload-card:hover{border-color:#52c41a;border-color:var(--primary);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow)}.upload-icon{font-size:40px;margin:0 auto}.upload-card h4{color:#262626;color:var(--text-primary);font-size:15px;font-weight:600;margin:0}.upload-hint{color:#8c8c8c;color:var(--text-secondary);font-size:12px;margin:0}.capture-preview{margin-top:8px}.capture-preview img{border:1px solid #e8e8e8;border:1px solid var(--gray-300);border-radius:6px;height:150px;object-fit:cover;width:100%}.capture-preview-empty{background:#f5f5f5;background:var(--gray-100);border:2px dashed #e8e8e8;border:2px dashed var(--gray-300);border-radius:6px;color:#8c8c8c;color:var(--text-secondary);height:150px;width:100%}.capture-preview-empty,.webcam-modal-overlay{align-items:center;display:flex;justify-content:center}.webcam-modal-overlay{animation:fadeIn .3s ease;background-color:#000000b3;bottom:0;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1001}.webcam-modal{animation:slideUp .3s ease;background:#fff;background:var(--white);border-radius:12px;box-shadow:0 4px 16px #0000001f;box-shadow:var(--shadow-lg);max-width:600px;overflow:hidden;width:100%}.webcam-header{align-items:center;background:#fafafa;background:var(--gray-50);border-bottom:1px solid #eee;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:20px}.webcam-header h3{color:#262626;color:var(--text-primary);font-size:18px;font-weight:700;margin:0;text-transform:capitalize}.webcam-content{align-items:center;background:#141414;background:var(--gray-900);display:flex;justify-content:center;min-height:400px;padding:20px}.webcam-video{border-radius:8px;max-height:500px;object-fit:cover;width:100%}.webcam-controls{background:#fafafa;background:var(--gray-50);border-top:1px solid #eee;border-top:1px solid var(--gray-200);display:flex;gap:12px;justify-content:flex-end;padding:20px}.btn-danger{background-color:#ff4d4f;background-color:var(--danger);color:#fff;color:var(--white)}.btn-danger:hover:not(:disabled){background-color:#ff3826;box-shadow:0 4px 12px #ff4d4f4d;transform:translateY(-2px)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:0}.form-group label{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.form-group label,.form-input{color:#262626;color:var(--text-primary)}.form-input{background-color:#fff;background-color:var(--white);border:1px solid #e8e8e8;border:1px solid var(--gray-300);border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .3s ease}.form-input::placeholder{color:#8c8c8c;color:var(--text-secondary)}.form-input:focus{background-color:#fff;background-color:var(--white);border-color:#52c41a;border-color:var(--primary);box-shadow:0 0 0 3px #52c41a1a;outline:none}.alert-error{background-color:#ffe7e6;border:1px solid #ffccc7;border-radius:6px;color:#ff4d4f;font-size:13px;margin-bottom:16px;padding:12px 14px}@media (max-width:768px){.sidebar{padding:12px 0;width:80px}.sidebar-header{flex-direction:column;gap:4px;margin-bottom:12px;padding:0 6px 12px}.sidebar-header h2{display:none}.sidebar-header .logo{font-size:24px}.nav-item{font-size:12px;justify-content:center;padding:10px 8px}.nav-subitem{font-size:11px;padding-left:20px}.main-content{margin-left:80px}.dashboard-header{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 20px}.header-left h1{font-size:18px}.content-area{padding:16px}.stats-grid{gap:12px;grid-template-columns:1fr}.view-header{align-items:stretch;flex-direction:column}.search-input{max-width:100%}.modal-content{max-width:95%}.modal-body{gap:16px;padding:16px}.add-user-biometric-grid,.add-user-documents-grid,.detail-grid{grid-template-columns:1fr}}@media (max-width:480px){.sidebar{display:none}.main-content{margin-left:0}.dashboard-header{padding:12px 16px}.content-area{padding:12px}.users-table td,.users-table th{font-size:12px;padding:12px 8px}.stats-grid{gap:10px}.stat-card{padding:16px}.modal-content{border-radius:8px;max-width:100%}.modal-header{padding:16px}.detail-section,.modal-body{padding:12px}.add-user-biometric-grid,.add-user-documents-grid,.detail-grid{gap:12px;grid-template-columns:1fr}}.fingerprint-scanner{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;margin:0 auto;max-width:600px;padding:30px;width:100%}.scanner-header{border-bottom:2px solid #f0f0f0;margin-bottom:30px;padding-bottom:20px;text-align:center}.scanner-header h3{align-items:center;color:#333;display:flex;font-size:24px;font-weight:700;gap:10px;justify-content:center;margin:0}.device-status{background:#f0f0f0;border-radius:20px;color:#666;display:inline-block;font-size:14px;font-weight:600;margin:12px 0 0;padding:8px 16px}.device-status.connected{background:#d4edda;color:#155724}.device-status.disconnected{background:#f8d7da;color:#721c24}.alert{align-items:flex-start;animation:slideIn .3s ease-out;display:flex;gap:12px;padding:16px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert:before{align-items:center;content:"";display:flex;height:20px;min-width:20px}.alert-error:before{color:#721c24;content:"✕";font-weight:700}.alert-success:before{color:#155724;content:"✓";font-weight:700}.scanner-display{background:linear-gradient(135deg,#f9f9f9,#fff);border:2px dashed #667eea;border-radius:12px;margin-bottom:30px;overflow:hidden;padding:40px 20px;position:relative;text-align:center}.scanner-visual{align-items:center;display:flex;flex-direction:column;gap:15px;justify-content:center;position:relative;z-index:1}.scanner-icon{font-size:64px;transition:transform .3s ease,filter .3s ease}.scanner-visual.scanning .scanner-icon{animation:pulse 1.5s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(102,126,234,.5))}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.scanner-text{color:#667eea;font-size:18px;font-weight:600;margin:0}.scanner-visual.scanning .scanner-text{animation:blink 1.5s ease-in-out infinite;color:#28a745}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.scanner-display.scanning:before{animation:scan 2s ease-in-out infinite;background:radial-gradient(circle,#667eea1a 0,#0000 70%);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:0}@keyframes scan{0%,to{opacity:0}50%{opacity:1}}.attempt-counter{color:#999;font-size:12px;font-weight:600;letter-spacing:.5px;margin-top:15px;text-transform:uppercase}.scanner-message{color:#666;font-size:14px;line-height:1.5;margin:20px 0;text-align:center}.quality-section{background:#f9f9f9;border-left:4px solid #667eea;border-radius:8px;margin-bottom:30px;padding:20px}.quality-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.quality-header label{color:#666;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.quality-percentage{background:#667eea;border-radius:6px;color:#fff;font-size:18px;font-weight:700;padding:6px 12px}.quality-percentage.excellent{background:#28a745;color:#fff}.quality-percentage.good{background:#ffc107;color:#333}.quality-percentage.poor{background:#dc3545;color:#fff}.quality-bar{background:#e0e0e0;border:none;border-radius:4px;height:8px;margin-bottom:10px;overflow:hidden;width:100%}.quality-bar::-webkit-progress-bar{background:#e0e0e0;border-radius:4px}.quality-bar::-webkit-progress-value{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;-webkit-transition:width .3s ease;transition:width .3s ease}.quality-bar::-moz-progress-bar{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px}.quality-info{color:#666;font-size:12px;font-weight:600;margin:0}.scanner-buttons{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px}.btn{border-radius:8px;display:flex;flex:1 1;gap:8px;justify-content:center;letter-spacing:.5px;min-width:150px;padding:12px 24px;text-transform:uppercase}.btn-primary{background:#667eea;border:2px solid #667eea}.btn-primary:hover:not(:disabled){background:#5568d3;border-color:#5568d3;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.btn-secondary{background:#fff;border:2px solid #667eea;color:#667eea}.btn-secondary:hover:not(:disabled){background:#f9f9f9;box-shadow:0 2px 8px #667eea33;transform:translateY(-2px)}.btn-success{background:#28a745;border:2px solid #28a745;color:#fff}.btn-success:hover:not(:disabled){background:#218838;border-color:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.btn-large{flex:1 1;min-width:200px;padding:14px 28px}.device-info{background:linear-gradient(135deg,#f9f9f9,#fff);border:1px solid #e0e0e0;border-radius:8px;border-top:3px solid #667eea;margin-top:30px;padding:20px}.device-info p{align-items:center;color:#666;display:flex;font-size:13px;gap:10px;margin:0 0 12px}.device-info p:last-child{margin-bottom:0}.device-info strong{color:#333;font-weight:600}@media (max-width:768px){.fingerprint-scanner{padding:20px}.scanner-header h3{font-size:20px}.scanner-icon{font-size:48px}.scanner-text{font-size:16px}.scanner-buttons{flex-direction:column}.btn{width:100%}.btn,.btn-large{min-width:auto}.scanner-display{padding:30px 15px}.quality-percentage{font-size:16px;padding:4px 10px}}@media (max-width:480px){.fingerprint-scanner{border-radius:8px;padding:16px}.scanner-header{margin-bottom:20px;padding-bottom:15px}.scanner-header h3{font-size:18px;gap:8px}.scanner-icon{font-size:40px}.scanner-text{font-size:14px}.scanner-display{border-radius:8px;margin-bottom:20px;padding:25px 12px}.alert{font-size:13px;margin-bottom:15px;padding:12px}.quality-section{margin-bottom:20px;padding:15px}.quality-header{align-items:flex-start;flex-direction:column;gap:8px}.quality-percentage{align-self:flex-start;font-size:14px}.btn{font-size:13px;min-width:auto;padding:11px 20px}.device-info{border-top-width:2px;margin-top:20px;padding:15px}.device-info p{font-size:12px;margin-bottom:10px}.scanner-buttons{gap:10px;margin-bottom:20px}.attempt-counter{font-size:11px;margin-top:10px}.scanner-message{font-size:13px;margin:15px 0}}@media print{.fingerprint-scanner{border:1px solid #ddd;box-shadow:none;page-break-inside:avoid}.scanner-buttons,.scanner-visual.scanning{display:none}.alert{page-break-inside:avoid}.device-info,.quality-section{border:1px solid #ddd;page-break-inside:avoid}}@media (prefers-color-scheme:dark){.fingerprint-scanner{background:#1e1e1e;color:#e0e0e0}.scanner-header h3{color:#fff}.device-status{background:#333;color:#bbb}.scanner-display{background:linear-gradient(135deg,#2a2a2a,#1e1e1e);border-color:#667eea}.scanner-text{color:#667eea}.quality-section{background:#2a2a2a;color:#bbb}.quality-header label{color:#bbb}.btn-secondary{background:#2a2a2a;border-color:#667eea;color:#667eea}.btn-secondary:hover:not(:disabled){background:#333}.device-info{background:linear-gradient(135deg,#2a2a2a,#1e1e1e);border-color:#333;color:#bbb}.device-info strong{color:#e0e0e0}}.voting-tab{width:100%}.voting-disabled-banner{align-items:flex-start;background:#fff4e5;border:1.5px solid #f5a623;border-radius:8px;display:flex;gap:14px;margin-bottom:16px;padding:16px 20px}.voting-disabled-banner .voting-disabled-icon{flex-shrink:0;font-size:24px;line-height:1}.voting-disabled-banner strong{color:#b45309;display:block;font-size:15px;margin-bottom:4px}.voting-disabled-banner p{color:#92400e;font-size:14px;margin:0}.voting-tab input:disabled{background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}.voting-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px}.voting-day-card{border:1px solid #e7ecfb;box-shadow:0 18px 40px #16264d14}.compact-header-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.desk-mode-chip{background:linear-gradient(135deg,#1d4ed8,#1e40af);border-radius:999px;color:#fff;flex-shrink:0;font-size:12px;font-weight:700;letter-spacing:.4px;padding:9px 12px;text-transform:uppercase}.desk-mode-chip-clear{background:linear-gradient(135deg,#15803d,#166534)}.eligibility-alert{border:1.5px solid #0000;border-radius:12px;margin-bottom:18px;padding:18px 20px}.eligibility-alert-clear{background:#ecfdf5;border-color:#86efac}.eligibility-alert-blocked{background:#fef2f2;border-color:#fca5a5}.eligibility-alert-header{align-items:flex-start;display:flex;gap:14px}.eligibility-alert-icon{font-size:28px;line-height:1}.eligibility-alert-header strong{display:block;font-size:16px;margin-bottom:4px}.eligibility-alert-header p{color:#374151;font-size:14px;margin:0}.eligibility-detail-grid{grid-gap:12px;border-top:1px solid #00000014;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:14px;padding-top:14px}.eligibility-detail-grid label{color:#6b7280;display:block;font-size:11px;letter-spacing:.4px;margin-bottom:4px;text-transform:uppercase}.eligibility-detail-grid p{color:#111827;font-size:14px;margin:0}.eligibility-check-list{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:14px 0 0;padding:0}.eligibility-check-list li{grid-gap:8px;align-items:start;display:grid;font-size:13px;gap:8px;grid-template-columns:20px 1fr}.eligibility-check-list li.passed{color:#166534}.eligibility-check-list li.failed{color:#b91c1c}.eligibility-check-list small{color:#6b7280;display:block;grid-column:2}.eligibility-action-section{margin-bottom:16px}.auto-reset-chip{align-items:center;background:#eafbf0;border-radius:999px;color:#1f7a38;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;margin-top:12px;padding:8px 14px}.compact-form-group{padding:16px}.backend-category-panel{background:linear-gradient(180deg,#f7fafc,#eef4ff)}.backend-category-value{align-items:center;background:#fff;border:1px solid #cdd7ee;border-radius:12px;color:#23314d;display:flex;gap:12px;justify-content:space-between;min-height:52px;padding:0 16px}.backend-category-value strong{font-size:14px}.backend-category-value span{color:#65748b;font-size:13px;font-weight:600}.compact-preview-card .description,.compact-status-card .description{margin-bottom:18px}.compact-section{margin-bottom:22px;padding-bottom:16px}.compact-detail-grid{gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.compact-doc-preview-grid{gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.voting-card h2{color:#333;font-size:24px;font-weight:700;margin:0 0 10px}.voting-card>p.description{color:#666;font-size:14px;margin:0 0 30px}.duplicate-warning-card{background:linear-gradient(180deg,#fff6f5,#ffefee);border:1px solid #f4b8b4;border-radius:14px;box-shadow:0 10px 22px #ba232314;margin-bottom:18px;padding:18px}.duplicate-warning-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.duplicate-warning-header strong{color:#9f1d1d;font-size:15px}.duplicate-warning-header span{background:#9f1d1d1a;border-radius:999px;color:#9f1d1d;font-size:11px;font-weight:700;letter-spacing:.4px;padding:5px 10px;text-transform:uppercase}.duplicate-warning-card>p{color:#7a1d1d;font-size:14px;font-weight:600;margin:0 0 14px}.duplicate-warning-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.duplicate-warning-grid label{color:#b45309;display:block;font-size:11px;font-weight:700;letter-spacing:.4px;margin-bottom:4px;text-transform:uppercase}.duplicate-warning-grid p{color:#5f2120;font-size:14px;font-weight:600;margin:0}.code-text{font-family:Monaco,Menlo,monospace;font-size:12px;word-break:break-all}.fast-lane-banner{align-items:center;background:linear-gradient(135deg,#eef4ff,#f8fbff);border:1px solid #d7e3ff;border-radius:14px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;padding:12px 14px}.fast-lane-label{background:#dbeafe;border-radius:999px;color:#1d4ed8;font-size:11px;font-weight:700;letter-spacing:.4px;padding:4px 8px;text-transform:uppercase}@media (max-width:768px){.voting-card{padding:20px}.compact-header-row{align-items:stretch;flex-direction:column}.action-section,.compact-doc-preview-grid,.detail-grid{grid-template-columns:1fr}.capture-video{min-height:250px}}@media (max-width:480px){.voting-card{padding:16px}.duplicate-warning-header{align-items:flex-start;flex-direction:column}.voting-card h2{font-size:20px}.detail-section h3{font-size:14px}.detail-item label{font-size:11px}.detail-item p{font-size:13px}.modal-footer .btn{width:100%}}@media print{body *{visibility:hidden}.voting-print-target,.voting-print-target *{visibility:visible!important}.voting-print-target{background:#fff!important;border:none!important;border-radius:0!important;box-shadow:none!important;left:0!important;padding:0!important;position:fixed!important;top:0!important;width:80mm!important}.no-print{display:none!important}.detail-section{page-break-inside:avoid}}.thermal-receipt{background:#fff;color:#000;font-family:Courier New,Courier,monospace;font-size:13px;margin:0 auto;max-width:320px;padding:12px 8px;width:100%}.thermal-header{padding-bottom:8px;text-align:center}.thermal-emblem{font-size:28px;line-height:1.2}.thermal-org{font-size:14px;font-weight:700;letter-spacing:.05em;margin-top:2px;text-transform:uppercase}.thermal-title{color:#444;font-size:11px;letter-spacing:.12em;margin-top:2px}.thermal-confirmed{border:2px solid #000;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-top:6px;padding:2px 10px}.thermal-divider{border:none;border-top:2px solid #000;margin:8px 0}.thermal-divider.thermal-divider-dashed{border-top:1px dashed #666;margin:6px 0}.thermal-table{border-collapse:collapse;width:100%}.thermal-table tr{vertical-align:top}.thermal-label{color:#555;font-size:11px;letter-spacing:.05em;padding:3px 8px 3px 0;text-transform:uppercase;white-space:nowrap;width:38%}.thermal-value{color:#000;font-size:12px;font-weight:700;padding:3px 0;word-break:break-word}.thermal-code-block{padding:6px 0;text-align:center}.thermal-code-label{color:#555;font-size:10px;letter-spacing:.15em;margin-bottom:4px}.thermal-code{font-size:18px;font-weight:900;letter-spacing:.06em;word-break:break-all}.thermal-footer{padding-top:4px;text-align:center}.thermal-footer p{color:#666;font-size:10px;letter-spacing:.03em;margin:2px 0}.voting-details-tab{width:100%}.stat-card.voted{border-left-color:#28a745}.stat-card.not-voted{border-left-color:#dc3545}.voters-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px}.voters-section h3{color:#333;font-size:18px;font-weight:700;margin:0 0 20px}.voters-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.voter-item{align-items:center;background:#f9f9f9;border:1px solid #e5e5e5;border-radius:8px;display:flex;gap:15px;padding:16px;transition:all .3s ease}.voter-item:hover{background:#f0f4ff;border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.voter-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:20px;font-weight:700;height:50px;justify-content:center;min-width:50px;width:50px}.voter-info{flex:1 1;min-width:0}.voter-info h4{color:#333;font-size:14px;font-weight:600;margin:0}.voter-info h4,.voter-info p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voter-info p{color:#999;font-size:12px;margin:4px 0 0}.voter-status{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.status-badge{font-weight:600;padding:6px 12px}.status-badge.voted{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.not-voted{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.voted-time{color:#666;font-size:11px;margin:0}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.voters-list{grid-template-columns:1fr}.chart-container{height:250px}.filters-grid{grid-template-columns:1fr}.report-toolbar{align-items:stretch}.report-toolbar,.summary-panel-header{flex-direction:column}.report-toolbar-actions{width:100%}.report-toolbar-actions .btn{flex:1 1}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}.stat-icon{font-size:28px}.stat-content p{font-size:20px}.chart-section,.filters-section,.voters-section{padding:16px}.voter-item{flex-direction:column;text-align:center}.voter-avatar{font-size:24px;height:60px;width:60px}.voter-status{align-items:center;width:100%}.chart-container{height:200px}}@media print{.filters-section{display:none}.chart-section,.stat-card,.voters-section{border:1px solid #ddd;box-shadow:none;page-break-inside:avoid}.voter-item{page-break-inside:avoid}}.meeting-tab{width:100%}.meeting-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px}.meeting-card h2{color:#333;font-size:24px;font-weight:700;margin:0 0 10px}.meeting-card>p.description{color:#666;font-size:14px;margin:0 0 30px}.detail-section{border-bottom:1px solid #e5e5e5;margin-bottom:30px;padding-bottom:20px}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section h3{color:#333;font-size:16px;font-weight:700;margin:0 0 16px}.detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{display:flex;flex-direction:column}.detail-item label{color:#999;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.detail-item p{color:#333;font-size:14px;font-weight:500;margin:0}.detail-item .code{background:#f9f9f9;border:1px solid #e5e5e5;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:12px;padding:8px 12px;word-break:break-all}.detail-item .status-confirmed{color:#28a745;font-weight:700}.input-section{margin-bottom:30px}.form-group{background:linear-gradient(180deg,#f8faff,#f3f6ff);border:1px solid #667eea2e;border-left:4px solid #667eea;border-radius:14px;box-shadow:0 10px 24px #667eea14;padding:20px}.form-group label{color:#24324d;display:block;font-size:14px;font-weight:700;margin-bottom:8px}.form-group .hint{color:#65748b;font-size:12px;line-height:1.5;margin:10px 0 0}.category-select{appearance:none;-webkit-appearance:none;background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,#5f6fd9 0),linear-gradient(135deg,#5f6fd9 50%,#0000 0),linear-gradient(180deg,#fff,#f8faff);background-position:calc(100% - 22px) calc(50% - 3px),calc(100% - 16px) calc(50% - 3px),0 0;background-repeat:no-repeat;background-size:6px 6px,6px 6px,100% 100%;border:1px solid #cdd7ee;border-radius:12px;color:#23314d;font-size:14px;font-weight:600;min-height:52px;outline:none;padding:0 48px 0 16px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;width:100%}.category-select:hover:not(:disabled){border-color:#95a6df}.category-select:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea29;transform:translateY(-1px)}.category-select:disabled{background-image:linear-gradient(45deg,#0000 50%,#a8b1c7 0),linear-gradient(135deg,#a8b1c7 50%,#0000 0),linear-gradient(180deg,#f3f5fa,#eceff6);color:#8d97ad;cursor:not-allowed}.category-select option{color:#23314d}.info-box{background:#f0f4ff;border-left:4px solid #667eea;border-radius:8px;padding:16px}.info-box p{color:#667eea;font-size:13px;font-weight:500;margin:8px 0}.info-box p:first-child{margin-top:0}.info-box p:last-child{margin-bottom:0}.success-header{border-bottom:1px solid #e5e5e5;margin-bottom:30px;padding-bottom:20px;text-align:center}.success-icon{animation:scaleIn .5s ease-out;display:inline-block;font-size:56px;margin-bottom:12px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-header h2{color:#28a745;font-size:24px;font-weight:700;margin:0 0 5px}.success-header>p{color:#666;font-size:14px;margin:0}.biometric-image{border:2px solid #667eea;border-radius:8px;display:block;height:auto;margin:0 auto;max-width:400px;width:100%}.security-info{background:#f0f4ff;border-radius:8px;margin-bottom:20px;padding:12px;text-align:center}.security-info p{color:#667eea;font-size:12px;font-weight:600;margin:0}.action-section{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:20px}.alert{border-radius:8px;font-weight:500;margin-bottom:20px}.alert-error{background:#fee;border:1px solid #fcc;color:#c33}.btn{padding:12px 20px}.btn-primary{box-shadow:0 2px 8px #667eea33}.btn-primary:hover:not(:disabled){box-shadow:0 4px 16px #667eea4d;transform:translateY(-1px)}.btn-secondary{background:#f0f0f0;border:1px solid #e0e0e0;color:#333}.btn-secondary:hover:not(:disabled){background:#e8e8e8}.btn-large{font-size:15px;padding:14px 20px;width:100%}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;max-width:600px;overflow:hidden;width:90%}.modal-header{align-items:center;background:#f9f9f9;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:20px}.modal-header h3{color:#333;font-size:16px;font-weight:700;margin:0}.modal-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;transition:color .2s;width:24px}.modal-close:hover{color:#333}.modal-body{background:#fff;min-height:300px;padding:20px;position:relative}.capture-video{background:#000;border-radius:4px;display:block;height:auto;min-height:300px;width:100%}.capturing-indicator{align-items:center;display:flex;flex-direction:column;gap:12px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.capturing-indicator p{color:#fff;font-size:14px;font-weight:500;margin:0}.modal-footer{background:#f9f9f9;border-top:1px solid #e5e5e5;display:flex;gap:12px;justify-content:flex-end;padding:16px}.modal-footer .btn{flex:1 1}.doc-preview-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.doc-preview-card{background:#fbfcff;border:1px solid #e1e7f5;border-radius:12px;padding:14px}.doc-preview-card label{color:#6b7891;display:block;font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.doc-preview-image{background:#fff;border:1px solid #d8e0f2;border-radius:10px;height:150px;object-fit:contain;width:100%}.receipt-modal{max-width:720px}@media (max-width:768px){.meeting-card{padding:20px}.action-section,.detail-grid{grid-template-columns:1fr}.modal{width:95%}.capture-video,.modal-body{min-height:250px}}@media (max-width:480px){.meeting-card{padding:16px}.meeting-card h2{font-size:20px}.detail-section h3{font-size:14px}.detail-item label{font-size:11px}.detail-item p{font-size:13px}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}@media print{.action-section .btn-secondary,.modal,.modal-overlay{display:none}.meeting-card{border:1px solid #ddd;box-shadow:none}.action-section{display:none}.detail-section{page-break-inside:avoid}.success-header{border-bottom:2px solid #333}.info-box,.security-info{background:#fff;border:1px solid #ddd;color:#333}}.meeting-details-tab{width:100%}.report-toolbar{align-items:center;background:linear-gradient(135deg,#eff4ff,#fff);border:1px solid #d8e2ff;border-radius:16px;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px;padding:20px 24px}.report-toolbar-text h3{color:#23314d;font-size:18px;margin:0 0 6px}.report-toolbar-text p{color:#6b7891;font-size:13px;margin:0}.report-toolbar-actions{display:flex;flex-wrap:wrap;gap:12px}.summary-panel{background:#fff;border-radius:14px;box-shadow:0 2px 8px #00000014;margin-bottom:30px;padding:24px}.summary-panel-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.summary-panel-header h3{color:#24324d;font-size:18px;margin:0}.filter-chip-list{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{background:#eef3ff;border-radius:999px;color:#4f5fbf;font-size:12px;font-weight:600;padding:6px 10px}.category-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.category-summary-card{background:linear-gradient(180deg,#fbfcff,#f1f5ff);border:1px solid #dbe3f8;border-radius:12px;padding:16px}.category-summary-card h4{color:#24324d;font-size:15px;margin:0 0 8px}.category-summary-card p{color:#66748b;font-size:13px;margin:0}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:30px}.stat-card{align-items:center;background:#fff;border-left:4px solid #667eea;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:15px;padding:20px;transition:all .3s ease}.stat-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.stat-card.attended{border-left-color:#28a745}.stat-card.not-attended{border-left-color:#dc3545}.stat-card.percentage{border-left-color:#ffc107}.stat-icon{font-size:32px;min-width:50px;text-align:center}.stat-content h4{color:#999;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.stat-content p{color:#333;font-size:24px;font-weight:700;margin:8px 0 0}.chart-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.chart-section h3{color:#333;font-size:18px;font-weight:700;margin:0 0 20px}.chart-container{background:#f9f9f9;border-radius:6px;height:300px;padding:20px;position:relative}.filters-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.filters-section h3{color:#333;font-size:18px;font-weight:700;margin:0 0 20px}.filters-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#666;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.filter-input{border:1px solid #e0e0e0;border-radius:6px;color:#333;font-size:14px;padding:10px 12px;transition:all .3s ease}.filter-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.attendees-section{background:#fff;border:1px solid #e8ecf0;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:28px}.attendees-section h3{align-items:center;color:#1e293b;display:flex;font-size:17px;font-weight:700;gap:8px;margin:0 0 20px}.attendees-section h3:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;content:"";display:inline-block;height:18px;width:4px}.attendees-list{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.attendee-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:0;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}.attendee-item:hover{border-color:#667eea;box-shadow:0 4px 16px #667eea1f}.attendee-top{gap:14px;padding:16px 16px 14px}.attendee-avatar,.attendee-top{align-items:center;display:flex}.attendee-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 2px 8px #667eea59;color:#fff;font-size:20px;font-weight:700;height:48px;justify-content:center;letter-spacing:-.5px;min-width:48px;width:48px}.attendee-info{flex:1 1;min-width:0}.attendee-info h4{color:#0f172a;font-size:14px;font-weight:700;margin:0 0 3px}.attendee-info h4,.attendee-info p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendee-info p{color:#64748b;font-size:12px;margin:0 0 4px}.attendee-category-pill{background:#ede9fe;border-radius:20px;color:#6d28d9;display:inline-block;font-size:11px;font-weight:600;max-width:100%;overflow:hidden;padding:2px 8px;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.attendee-status{border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:4px;padding:10px 16px 12px}.attendee-status-row{align-items:center;display:flex;gap:8px}.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:700;gap:4px;padding:4px 12px;white-space:nowrap}.status-badge.attended{background:#dcfce7;border:1px solid #bbf7d0;color:#15803d}.status-badge.not-attended{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c}.attended-time{align-items:center;color:#64748b;display:flex;font-size:11px;gap:4px;margin:0}.attended-code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;color:#475569;font-family:Courier New,monospace;font-size:11px;font-weight:600;letter-spacing:.03em;margin:0;padding:2px 6px;width:fit-content}.empty-state{color:#999;font-size:14px}.empty-state,.loading{padding:40px 20px;text-align:center}.loading{color:#666;font-size:16px}.btn{border-radius:10px;padding:12px 18px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-secondary{background:#eef2f9;border:1px solid #d9e1ef;color:#24324d}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.attendees-list{grid-template-columns:1fr}.chart-container{height:250px}.filters-grid{grid-template-columns:1fr}.report-toolbar{align-items:stretch}.report-toolbar,.summary-panel-header{flex-direction:column}.report-toolbar-actions{width:100%}.report-toolbar-actions .btn{flex:1 1}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}.stat-icon{font-size:28px}.stat-content p{font-size:20px}.attendees-section,.chart-section,.filters-section{padding:16px}.attendee-top{padding:14px 14px 12px}.attendee-status{padding:10px 14px 12px}.attendee-avatar{font-size:18px;height:44px;width:44px}.chart-container{height:200px}}@media print{.filters-section{display:none}.attendees-section,.chart-section,.stat-card{border:1px solid #ddd;box-shadow:none;page-break-inside:avoid}.attendee-item{page-break-inside:avoid}}.membership-tab{grid-gap:24px;display:grid;gap:24px}.membership-assets-card,.membership-details-card,.membership-empty-state,.membership-hero-card,.membership-payment-card{background:#fff;border:1px solid #94a3b82e;border-radius:18px;box-shadow:0 16px 48px #0f172a14}.membership-hero-card{grid-gap:24px;background:radial-gradient(circle at top left,#22c55e33,#0000 34%),linear-gradient(135deg,#f8fff3,#fff 58%,#f4fbff);display:grid;gap:24px;grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);padding:28px}.membership-eyebrow{color:#15803d;font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.membership-card-header h3,.membership-empty-state h3,.membership-hero-card h2{color:#0f172a;font-size:28px;line-height:1.1;margin:0}.membership-description{color:#475569;line-height:1.6;margin-top:12px;max-width:58ch}.membership-search-panel{align-self:stretch;background:#ffffffeb;border:1px solid #94a3b833;border-radius:16px;padding:22px}.membership-detail-item label,.membership-search-panel label{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.membership-search-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.membership-search-row input{background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;font-size:15px;height:48px;padding:0 16px;width:100%}.membership-search-row input:focus{border-color:#16a34a;box-shadow:0 0 0 4px #22c55e24;outline:none}.membership-search-btn{background:linear-gradient(135deg,#15803d,#22c55e);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;height:48px;min-width:132px}.membership-search-btn:disabled{cursor:wait;opacity:.7}.membership-feedback{font-size:14px;margin-top:12px}.membership-feedback-error{color:#b91c1c}.membership-feedback-success{color:#15803d}.membership-assets-card,.membership-details-card,.membership-payment-card{padding:28px}.membership-member-list-card{background:#fff;border:1px solid #94a3b82e;border-radius:18px;box-shadow:0 16px 48px #0f172a14;padding:28px}.membership-list-filters-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.membership-list-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:14px}.membership-mini-btn{font-size:13px;height:36px;min-width:120px}.membership-list-summary-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.membership-summary-chip{background:#f8fafc;border:1px solid #d1d5db;border-radius:999px;color:#334155;font-size:13px;font-weight:700;padding:8px 12px}.membership-list-table-wrapper{border:1px solid #e2e8f0;border-radius:12px;margin-top:14px;overflow-x:auto}.membership-list-table{border-collapse:collapse;width:100%}.membership-list-table td,.membership-list-table th{border-bottom:1px solid #e2e8f0;padding:10px 12px;text-align:left;vertical-align:top}.membership-list-table th{background:#f8fafc;color:#334155;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.membership-payment-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.membership-payment-status-card{grid-gap:16px;background:linear-gradient(180deg,#f8fafc,#eef6ff);border:1px solid #d7e3ff;border-radius:14px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px;padding:18px}.membership-payment-status-card label{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.membership-payment-status-card p{color:#0f172a;line-height:1.5;margin:0}.membership-form-field label,.membership-readonly-field label{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.membership-readonly-field{background:#fff;border:1px solid #cbd5e1;border-radius:12px;min-height:48px;padding:14px 16px}.membership-readonly-field p{color:#0f172a;font-size:15px;margin:0}.membership-form-field input,.membership-form-field select{background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;font-size:15px;height:48px;padding:0 16px;width:100%}.membership-form-field input:focus,.membership-form-field select:focus{border-color:#16a34a;box-shadow:0 0 0 4px #22c55e24;outline:none}.membership-payment-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}.membership-admin-note{color:#475569;font-size:14px;line-height:1.6;margin-top:14px}.membership-secondary-btn,.membership-submit-btn{border:none;border-radius:12px;cursor:pointer;font-size:15px;font-weight:700;height:46px;min-width:144px;padding:0 18px}.membership-submit-btn{background:linear-gradient(135deg,#15803d,#22c55e);color:#fff}.membership-submit-btn:disabled{cursor:wait;opacity:.7}.membership-secondary-btn{background:#e2e8f0;color:#0f172a}.membership-secondary-btn:disabled,.membership-submit-btn:disabled{cursor:not-allowed;opacity:.65}.membership-card-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px}.membership-status-pill{align-items:center;background:#ecfdf3;border-radius:999px;color:#15803d;display:inline-flex;font-size:13px;font-weight:700;padding:9px 14px;text-transform:capitalize}.membership-details-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.membership-detail-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.membership-detail-item-wide{grid-column:1/-1}.membership-detail-item p{color:#0f172a;font-size:16px;line-height:1.5;margin:0;word-break:break-word}.membership-media-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.membership-media-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:18px}.membership-media-header h3{font-size:18px;margin-bottom:14px}.membership-media-empty,.membership-media-frame{align-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;display:flex;justify-content:center;min-height:250px}.membership-media-image{background:#fff;border-radius:12px;display:block;max-height:320px;object-fit:contain;width:100%}.membership-media-empty{color:#64748b;line-height:1.6;padding:24px;text-align:center}.membership-empty-state{padding:40px 28px;text-align:center}.membership-empty-state p{color:#475569;line-height:1.6;margin:12px auto 0;max-width:52ch}.membership-payment-success-card{background:#fff;border:2px solid #bbf7d0;border-radius:16px;box-shadow:0 4px 24px #16a34a14;padding:40px 32px;text-align:center}.membership-success-icon{align-items:center;background:#16a34a;border-radius:50%;color:#fff;display:flex;font-size:32px;font-weight:700;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.membership-payment-success-card h2{color:#15803d;font-size:24px;font-weight:800;margin:0 0 8px}.membership-success-subtitle{color:#475569;font-size:15px;margin:0 0 24px}.membership-success-meta{grid-gap:12px 24px;background:#f0fdf4;border-radius:10px;display:grid;gap:12px 24px;grid-template-columns:repeat(2,1fr);margin:0 auto 28px;max-width:420px;padding:16px 20px;text-align:left}.membership-success-label{color:#64748b;display:block;font-size:11px;font-weight:700;letter-spacing:.07em;margin-bottom:3px;text-transform:uppercase}.membership-success-value{color:#0f172a;display:block;font-size:14px;font-weight:600}.membership-success-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.membership-receipt-overlay{align-items:center;background:#0f172abf;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1200}.membership-receipt-modal{background:#fff;border-radius:16px;box-shadow:0 32px 80px #0f172a4d;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:min(760px,100%)}.membership-receipt-actions,.membership-receipt-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:16px 24px}.membership-receipt-header h3{color:#0f172a;font-size:18px;font-weight:700;margin:0}.membership-receipt-close{background:#0000;border:none;color:#64748b;cursor:pointer;font-size:26px;line-height:1;padding:0 4px}.membership-receipt-content{overflow-y:auto;padding:32px 36px}.receipt-letterhead{align-items:center;display:flex;gap:16px;margin-bottom:20px}.receipt-letterhead-emblem{color:#1e3a5f;flex-shrink:0;font-size:48px;line-height:1}.receipt-letterhead-text{flex:1 1}.receipt-letterhead-text h1{color:#0f172a;font-size:22px;font-weight:800;letter-spacing:-.01em;margin:0}.receipt-letterhead-text p{color:#64748b;font-size:13px;letter-spacing:.08em;margin:4px 0 0;text-transform:uppercase}.receipt-letterhead-badge{background:#16a34a;border-radius:20px;color:#fff;flex-shrink:0;font-size:13px;font-weight:800;letter-spacing:.12em;padding:6px 16px}.receipt-rule{border:none;border-top:2px solid #0f172a;margin:18px 0}.receipt-rule.receipt-rule-dashed{border-top:1px dashed #cbd5e1;margin:16px 0}.receipt-meta-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:4px}.receipt-meta-item{display:flex;flex-direction:column;gap:4px}.receipt-meta-label{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.receipt-meta-value{color:#0f172a;font-size:14px;font-weight:600}.receipt-mono{background:#f1f5f9;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:13px;letter-spacing:.04em;padding:2px 6px}.receipt-member-block{align-items:flex-start;display:flex;gap:20px}.receipt-member-photo{border:2px solid #e2e8f0;border-radius:6px;flex-shrink:0;height:100px;object-fit:cover;width:88px}.receipt-member-photo-placeholder{align-items:center;background:#e2e8f0;color:#475569;display:flex;font-size:32px;font-weight:700;justify-content:center}.receipt-member-info{flex:1 1}.receipt-member-name{color:#0f172a;font-size:20px;font-weight:800;margin-bottom:8px}.receipt-member-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.receipt-chip{border-radius:12px;font-size:12px;font-weight:600;padding:3px 10px}.receipt-chip-reg{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.receipt-chip-approved{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.receipt-chip-plan{background:#fef9c3;border:1px solid #fde68a;color:#854d0e}.receipt-member-address{color:#475569;font-size:13px;line-height:1.5}.receipt-fee-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.receipt-fee-row{grid-gap:16px;align-items:center;color:#0f172a;display:grid;font-size:14px;gap:16px;grid-template-columns:1fr auto auto;padding:10px 16px}.receipt-fee-row+.receipt-fee-row{border-top:1px solid #e2e8f0}.receipt-fee-header{background:#f8fafc;color:#64748b;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.receipt-fee-total{background:#0f172a;color:#fff;font-size:15px;font-weight:700}.receipt-fee-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;min-width:100px;text-align:right}.receipt-footer{text-align:center}.receipt-footer p{color:#94a3b8;font-size:11px;margin:4px 0}.membership-receipt-actions{border-bottom:none;border-top:1px solid #e2e8f0;justify-content:flex-end}@media (max-width:1080px){.membership-hero-card,.membership-media-grid{grid-template-columns:1fr}}@media (max-width:720px){.membership-assets-card,.membership-details-card,.membership-empty-state,.membership-hero-card,.membership-payment-card{padding:20px}.membership-details-grid,.membership-list-filters-grid,.membership-payment-grid,.membership-payment-status-card,.membership-search-row{grid-template-columns:1fr}.membership-card-header{flex-direction:column}.membership-receipt-overlay{padding:12px}.membership-receipt-content{padding:20px}.receipt-meta-row{grid-template-columns:1fr 1fr}.receipt-member-block{align-items:center;flex-direction:column;text-align:center}.receipt-member-meta{justify-content:center}.membership-receipt-actions{flex-direction:column}.membership-receipt-actions .membership-secondary-btn,.membership-receipt-actions .membership-submit-btn{width:100%}}@media print{body *{visibility:hidden}.member-list-print-mode,.member-list-print-mode *{visibility:visible!important}.member-list-print-mode .membership-assets-card,.member-list-print-mode .membership-details-card,.member-list-print-mode .membership-empty-state,.member-list-print-mode .membership-hero-card,.member-list-print-mode .membership-payment-card,.member-list-print-mode .membership-payment-success-card,.member-list-print-mode .membership-receipt-overlay,.member-list-print-mode .no-print{display:none!important}.member-list-print-mode .membership-member-list-card{border:none!important;box-shadow:none!important;display:block!important;padding:0!important}.membership-receipt-content,.membership-receipt-content *,.membership-receipt-modal,.membership-receipt-overlay{visibility:visible!important}.membership-receipt-overlay{background:#fff!important;display:block!important;height:auto!important;left:0!important;padding:0!important;position:fixed!important;top:0!important;width:100vw!important;z-index:9999!important}.membership-receipt-modal{border-radius:0!important;box-shadow:none!important;display:block!important;max-height:none!important;overflow:visible!important;width:100%!important}.membership-receipt-content{overflow:visible!important;padding:28px 36px!important}.no-print{display:none!important}}.membership-payments-tab{grid-gap:24px;display:grid;gap:24px}.membership-payments-filters-card,.membership-payments-hero,.membership-payments-summary-card,.membership-payments-table-card{background:#fff;border:1px solid #94a3b82e;border-radius:18px;box-shadow:0 16px 48px #0f172a14}.membership-payments-filters-card,.membership-payments-hero,.membership-payments-table-card{padding:28px}.membership-payments-eyebrow{color:#15803d;font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.membership-payments-hero h2{color:#0f172a;font-size:28px;margin:0}.membership-payments-hero p{color:#475569;line-height:1.6;margin:12px 0 0}.membership-payments-summary-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.membership-payments-summary-card{padding:22px}.membership-payments-summary-card span{color:#64748b;display:block;font-size:13px;margin-bottom:8px}.membership-payments-summary-card strong{color:#0f172a;font-size:28px}.membership-payments-card-header h3{color:#0f172a;font-size:22px;margin:0 0 18px}.membership-payments-filters-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.membership-payments-field label{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.membership-payments-field input,.membership-payments-field select{background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;font-size:15px;height:46px;padding:0 14px;width:100%}.membership-payments-field input:focus,.membership-payments-field select:focus{border-color:#16a34a;box-shadow:0 0 0 4px #22c55e24;outline:none}.membership-payments-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}.membership-payments-primary-btn,.membership-payments-secondary-btn{border:none;border-radius:12px;cursor:pointer;font-size:15px;font-weight:700;height:46px;min-width:140px;padding:0 18px}.membership-payments-primary-btn{background:linear-gradient(135deg,#15803d,#22c55e);color:#fff}.membership-payments-secondary-btn{background:#e2e8f0;color:#0f172a}.membership-payments-empty,.membership-payments-error,.membership-payments-loading{background:#f8fafc;border-radius:14px;color:#475569;padding:24px}.membership-payments-error{background:#fff1f2;color:#b91c1c}.membership-payments-table-wrapper{overflow-x:auto}.membership-payments-table{border-collapse:collapse;width:100%}.membership-payments-table td,.membership-payments-table th{border-bottom:1px solid #e2e8f0;color:#0f172a;font-size:14px;padding:14px 12px;text-align:left}.membership-payments-table th{color:#64748b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.membership-payments-code{font-family:Monaco,Menlo,monospace;font-size:12px}@media (max-width:960px){.membership-payments-filters-grid,.membership-payments-summary-grid{grid-template-columns:1fr}}@media (max-width:720px){.membership-payments-filters-card,.membership-payments-hero,.membership-payments-table-card{padding:20px}.membership-payments-actions{flex-direction:column}.membership-payments-primary-btn,.membership-payments-secondary-btn{width:100%}}.membership-categories-page{grid-gap:20px;display:grid;gap:20px}.membership-categories-card{background:#fff;border:1px solid #94a3b838;border-radius:18px;box-shadow:0 16px 48px #0f172a14;padding:24px 28px}.membership-categories-header h2{color:#0f172a;margin:0}.membership-categories-kicker{color:#166534;font-size:12px;font-weight:700;letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}.membership-categories-header p{color:#475569;margin:8px 0 0}.membership-categories-filters{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.membership-categories-filters label{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.membership-categories-filters input,.membership-categories-filters select{border:1px solid #cbd5e1;border-radius:10px;height:44px;padding:0 12px;width:100%}.membership-categories-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.membership-categories-actions button{border:none;border-radius:10px;cursor:pointer;font-weight:700;height:40px;padding:0 14px}.membership-categories-actions .primary{background:#15803d;color:#fff}.membership-categories-actions .secondary{background:#e2e8f0;color:#0f172a}.membership-categories-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.membership-categories-summary span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#334155;font-size:12px;font-weight:700;padding:6px 10px}.membership-categories-summary .summary-defaulter{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.membership-row-defaulter{background:#fff1f2}.membership-row-defaulter td{border-bottom-color:#fecdd3!important}.delay-badge,.fine-badge,.status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;padding:4px 10px;white-space:nowrap}.status-badge-defaulter{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c}.delay-badge-days{background:#ffedd5;border:1px solid #fdba74;color:#c2410c}.delay-badge-months{background:#fef3c7;border:1px solid #fde68a;color:#b45309}.fine-badge{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.membership-categories-table-wrap{border:1px solid #e2e8f0;border-radius:12px;margin-top:14px;overflow-x:auto}.membership-categories-table{border-collapse:collapse;width:100%}.membership-categories-table td,.membership-categories-table th{border-bottom:1px solid #e2e8f0;padding:10px 12px;text-align:left;vertical-align:top}.membership-categories-table th{background:#f8fafc;color:#334155;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.membership-categories-table .mini{font-size:12px;height:34px}.membership-categories-table .danger{background:linear-gradient(135deg,#b91c1c,#dc2626);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;height:36px;padding:0 12px}.membership-categories-table .danger:hover{filter:brightness(.95)}.membership-categories-table .warning{background:linear-gradient(135deg,#b45309,#d97706);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;height:36px;padding:0 12px}.membership-categories-table .warning:hover{filter:brightness(.95)}.membership-categories-table .secondary{background:#e2e8f0;border:none;border-radius:10px;color:#0f172a;cursor:pointer;font-weight:700;height:36px;padding:0 12px}.membership-action-cell{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.membership-suspend-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1200}.membership-suspend-modal{background:#fff;border-radius:14px;box-shadow:0 20px 50px #0f172a40;padding:20px;width:min(480px,100%)}.membership-suspend-modal-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.membership-suspend-modal-header h3{color:#0f172a;margin:0}.membership-suspend-close{background:#0000;border:none;color:#64748b;cursor:pointer;font-size:24px;line-height:1}.membership-suspend-subtitle{color:#475569;font-weight:600;margin:8px 0 16px}.membership-suspend-form{grid-gap:12px;display:grid;gap:12px}.membership-suspend-form label{color:#334155;display:block;font-size:12px;font-weight:700;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.membership-suspend-form input,.membership-suspend-form select,.membership-suspend-form textarea{border:1px solid #cbd5e1;border-radius:10px;font:inherit;padding:10px 12px;width:100%}.membership-suspend-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.membership-suspend-actions button{border:none;border-radius:10px;cursor:pointer;font-weight:700;height:40px;padding:0 14px}.membership-suspend-actions .secondary{background:#e2e8f0;color:#0f172a}.membership-suspend-actions .warning{background:linear-gradient(135deg,#b45309,#d97706);color:#fff}.print-only{display:none}.membership-print-summary{color:#0f172a;font-weight:700;margin-top:8px}.error{color:#b91c1c}.empty,.loading{color:#475569}@media (max-width:860px){.membership-categories-filters{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.membership-categories-print-mode,.membership-categories-print-mode *{visibility:visible!important}.membership-categories-print-mode .no-print{display:none!important}.membership-categories-print-mode .print-only{display:block!important}.membership-categories-print-mode .membership-categories-card{border:none!important;box-shadow:none!important;padding:0!important}.membership-categories-print-mode .membership-categories-table-wrap{border:none!important}.membership-categories-print-mode .membership-categories-table td,.membership-categories-print-mode .membership-categories-table th{border-color:#d1d5db!important}}.voucher-sales-tab{grid-gap:24px;display:grid;gap:24px}.voucher-sales-form-card,.voucher-sales-hero,.voucher-sales-latest-card{background:#fff;border:1px solid #94a3b82e;border-radius:18px;box-shadow:0 16px 48px #0f172a14;padding:28px}.voucher-sales-eyebrow{color:#15803d;font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.voucher-sales-card-header h3,.voucher-sales-hero h2{color:#0f172a;margin:0}.voucher-sales-hero p{color:#475569;margin-top:12px}.voucher-sales-card-header h3{font-size:22px;margin-bottom:18px}.voucher-sales-card-header-inline{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.voucher-sales-card-header-inline .voucher-sales-eyebrow{margin-top:0}.voucher-sales-section-copy{color:#64748b;font-size:14px;line-height:1.5;margin:0;max-width:360px}.voucher-sales-section-copy-wide{max-width:620px}.voucher-sales-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.voucher-sales-grid-book-setup,.voucher-sales-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.voucher-sales-grid-type-setup{grid-template-columns:repeat(3,minmax(0,1fr))}.voucher-sales-field label{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.voucher-sales-field-label-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.voucher-sales-field-label-row label{margin-bottom:0}.voucher-sales-field input,.voucher-sales-field select,.voucher-sales-field textarea{background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;font-size:15px;padding:0 14px;width:100%}.voucher-sales-field input,.voucher-sales-field select{height:46px}.voucher-sales-field textarea{min-height:92px;padding-top:12px;resize:vertical}.voucher-sales-field input:focus,.voucher-sales-field select:focus,.voucher-sales-field textarea:focus{border-color:#16a34a;box-shadow:0 0 0 4px #22c55e24;outline:none}.voucher-sales-field-note{color:#64748b;display:inline-block;font-size:12px;margin-top:8px}.voucher-sales-field-note-error{color:#b91c1c;font-weight:700}.voucher-sales-inline-field{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.voucher-sales-inline-field button{background:#e2e8f0;border:none;border-radius:12px;cursor:pointer;font-weight:700;height:46px;min-width:110px}.voucher-sales-readonly{background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;min-height:46px;padding:12px 14px}.voucher-sales-readonly-summary{align-items:center;display:flex}.voucher-sales-buyer-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.voucher-sales-summary-item label{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}@media (max-width:900px){.voucher-sales-buyer-summary{grid-template-columns:1fr}}.voucher-sales-field-wide{grid-column:1/-1}.voucher-sales-serial-group{background:#fcfdff;border:1px dashed #cbd5e1;border-radius:14px;padding:14px}.voucher-sales-serial-rows{grid-gap:10px;display:grid;gap:10px}.voucher-sales-serial-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:minmax(140px,220px) minmax(0,1fr)}.voucher-sales-serial-book{align-items:center;display:flex;font-weight:700;min-height:44px}.voucher-sales-serial-generated{background:#f8fafc!important;color:#334155}.voucher-sales-serial-editable{background:#fff!important;border:2px solid #e0e7ff!important;color:#0f172a!important}.voucher-sales-serial-editable:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f11a!important;outline:none!important}.voucher-sales-live-total{align-items:center;background:linear-gradient(180deg,#f8fafc,#eef6ff);border:1px solid #d7e3ff;border-radius:14px;display:flex;justify-content:space-between;margin-top:18px;padding:16px}.voucher-sales-live-total span{color:#64748b;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.voucher-sales-live-total strong{color:#0f172a;font-size:24px}.voucher-sales-feedback{margin-top:12px}.voucher-sales-feedback-error{color:#b91c1c}.voucher-sales-feedback-success{color:#15803d}.voucher-sales-actions{display:flex;justify-content:flex-end;margin-top:18px}.voucher-sales-actions-split{align-items:center;gap:16px;justify-content:space-between}.voucher-sales-action-buttons{align-items:center;display:flex;gap:12px}.voucher-sales-field-note-inline{margin-top:0;max-width:560px}.voucher-sales-primary-btn{background:linear-gradient(135deg,#15803d,#22c55e);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;height:46px;min-width:180px;padding:0 18px}.voucher-sales-link-btn,.voucher-sales-secondary-btn{background:#0000;border:none;color:#15803d;cursor:pointer;font-weight:700}.voucher-sales-secondary-btn{background:#ecfdf3;border:1px solid #86efac;border-radius:12px;min-height:42px;padding:0 16px}.voucher-sales-link-btn{font-size:13px;padding:0}.voucher-sales-book-panel{background:linear-gradient(180deg,#f8fafc,#f0fdf4);border:1px solid #d7e3ff;border-radius:14px;margin-bottom:22px;padding:18px}.voucher-sales-section-copy-tight{margin-top:8px;max-width:520px}.voucher-sales-book-filter{min-width:220px}.voucher-setup-overview-card{background:linear-gradient(135deg,#f8fafc,#f0fdf4)}.voucher-setup-step-badge{align-self:center;background:#15803d14;border-radius:999px;color:#166534;font-size:12px;font-weight:700;letter-spacing:.06em;padding:10px 14px;text-transform:uppercase}.voucher-setup-metrics{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px}.voucher-setup-metric-card{background:#fffc;border:1px solid #94a3b82e;border-radius:16px;padding:18px}.voucher-setup-metric-card span{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.voucher-setup-metric-card strong{color:#0f172a;font-size:28px}.voucher-setup-form-layout{grid-gap:20px;display:grid;gap:20px}.voucher-setup-form-section{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #94a3b82e;border-radius:18px;padding:20px}.voucher-setup-form-section h4{color:#0f172a;font-size:16px;font-weight:700;margin:0 0 16px}.voucher-reference-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr}.voucher-reference-card,.voucher-setup-panel-card{height:100%}.voucher-sales-book-filter label{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.voucher-sales-book-filter select{background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;font-size:15px;height:46px;padding:0 14px;width:100%}.voucher-book-list{grid-gap:14px;display:grid;gap:14px}.voucher-book-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #94a3b83d;border-radius:16px;padding:18px}.voucher-book-card-title{color:#0f172a;font-size:18px;font-weight:700;margin:0}.voucher-book-card-subtitle{color:#64748b;font-size:14px;margin:6px 0 0}.voucher-book-card-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}.voucher-book-card-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.voucher-book-card-grid label{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.voucher-book-card-grid p{color:#0f172a;margin:0}.voucher-sales-primary-btn:disabled{cursor:wait;opacity:.7}.voucher-sales-latest-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.voucher-sales-latest-grid label{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.voucher-sales-latest-grid p{color:#0f172a;margin:0}@media (max-width:960px){.voucher-book-card-grid,.voucher-book-card-grid-compact,.voucher-reference-grid,.voucher-sales-grid,.voucher-sales-grid-book-setup,.voucher-sales-grid-type-setup,.voucher-sales-latest-grid,.voucher-setup-metrics{grid-template-columns:1fr}.voucher-sales-action-buttons,.voucher-sales-actions-split,.voucher-sales-card-header-inline{align-items:stretch;flex-direction:column}.voucher-sales-serial-row{grid-template-columns:1fr}}.voucher-reports-tab{grid-gap:20px;display:grid;gap:20px}.voucher-reports-filters-card,.voucher-reports-hero,.voucher-reports-summary-card,.voucher-reports-table-card{background:#fff;border:1px solid #94a3b82e;border-radius:18px;box-shadow:0 16px 48px #0f172a14}.voucher-reports-filters-card,.voucher-reports-hero,.voucher-reports-table-card{padding:24px 28px}.voucher-reports-eyebrow{color:#15803d;font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.voucher-reports-hero h2{color:#0f172a;font-size:28px;margin:0}.voucher-reports-hero p{color:#475569;line-height:1.6;margin:12px 0 0}.voucher-reports-summary-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(5,minmax(0,1fr))}.voucher-reports-summary-card{padding:18px}.voucher-reports-summary-card span{color:#64748b;display:block;font-size:13px;margin-bottom:8px}.voucher-reports-summary-card strong{color:#0f172a;font-size:24px}.voucher-reports-card-header h3{color:#0f172a;font-size:22px;margin:0 0 14px}.voucher-reports-card-header{border-bottom:1px solid #eef2f7;margin-bottom:12px;padding-bottom:12px}.voucher-reports-filters-grid{grid-gap:14px 18px;display:grid;gap:14px 18px;grid-template-columns:repeat(3,minmax(0,1fr))}.voucher-reports-field label{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.voucher-reports-field input,.voucher-reports-field select{background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;font-size:15px;height:46px;padding:0 14px;width:100%}.voucher-reports-field input:focus,.voucher-reports-field select:focus{border-color:#16a34a;box-shadow:0 0 0 4px #22c55e24;outline:none}.voucher-reports-actions{border-top:1px solid #eef2f7;display:flex;gap:12px;justify-content:flex-end;margin-top:16px;padding-top:14px}.voucher-reports-primary-btn,.voucher-reports-secondary-btn{border:none;border-radius:12px;cursor:pointer;font-size:15px;font-weight:700;height:46px;min-width:140px;padding:0 18px}.voucher-reports-primary-btn{background:linear-gradient(135deg,#15803d,#22c55e);color:#fff}.voucher-reports-secondary-btn{background:#e2e8f0;color:#0f172a}.voucher-reports-empty,.voucher-reports-error,.voucher-reports-loading{background:#f8fafc;border-radius:14px;color:#475569;padding:24px}.voucher-reports-error{background:#fff1f2;color:#b91c1c}.voucher-reports-table-wrapper{border:1px solid #edf2f7;border-radius:12px;overflow-x:auto}.voucher-reports-table{border-collapse:collapse;width:100%}.voucher-reports-table td,.voucher-reports-table th{border-bottom:1px solid #e2e8f0;color:#0f172a;font-size:14px;padding:14px 12px;text-align:left}.voucher-reports-table th{color:#64748b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.voucher-reports-code{font-family:Monaco,Menlo,monospace;font-size:12px}.voucher-reports-breakdown-section{background:#fff;border:1px solid #94a3b82e;border-radius:18px;box-shadow:0 16px 48px #0f172a14;padding:24px 28px}.voucher-reports-breakdown-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.voucher-reports-breakdown-card{background:linear-gradient(135deg,#f0f9ff,#f0fdf4);border:1px solid #22c55e33;border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:18px}.breakdown-label{color:#0f172a;font-size:14px;font-weight:700}.breakdown-stat{display:flex;flex-direction:column;gap:6px}.breakdown-qty{color:#64748b;font-size:13px}.breakdown-amount{color:#15803d;font-size:18px;font-weight:700}.breakdown-count{color:#94a3b8;font-size:12px}.voucher-reports-seller-table-wrapper{overflow-x:auto}.voucher-reports-seller-table{border-collapse:collapse;width:100%}.voucher-reports-seller-table td,.voucher-reports-seller-table th{border-bottom:1px solid #e2e8f0;color:#0f172a;font-size:14px;padding:14px 12px;text-align:left}.voucher-reports-seller-table th{background:#f8fafc;color:#64748b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.seller-amount{color:#15803d;font-weight:700}@media (max-width:1200px){.voucher-reports-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.voucher-reports-filters-grid{grid-template-columns:1fr}}@media (max-width:720px){.voucher-reports-filters-card,.voucher-reports-hero,.voucher-reports-table-card{padding:20px}.voucher-reports-actions{flex-direction:column}.voucher-reports-primary-btn,.voucher-reports-secondary-btn{width:100%}}.voucher-serial-analytics-tab{grid-gap:20px;display:grid;gap:20px}.voucher-serial-hero{background:#fff;border:1px solid #94a3b82e;border-radius:18px;box-shadow:0 16px 48px #0f172a14;padding:24px 28px}.voucher-serial-eyebrow{color:#0ea5e9;font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.voucher-serial-hero h2{color:#0f172a;font-size:28px;margin:0}.voucher-serial-hero p{color:#475569;line-height:1.6;margin:12px 0 0}.voucher-serial-error{background:#fff1f2;border:1px solid #fecaca;border-radius:12px;color:#b91c1c;font-weight:500;padding:16px}.voucher-serial-empty,.voucher-serial-loading{background:#f8fafc;border-radius:12px;color:#475569;font-weight:500;padding:24px;text-align:center}.voucher-serial-filters{grid-gap:14px 18px;align-items:end;background:#fff;border:1px solid #94a3b82e;border-radius:16px;box-shadow:0 16px 48px #0f172a14;display:grid;gap:14px 18px;grid-template-columns:repeat(3,minmax(0,1fr));padding:22px 24px}.voucher-serial-filter-group{grid-gap:8px;display:grid;gap:8px}.voucher-serial-filter-group label{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.voucher-serial-filter-group select{background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;font-size:14px;padding:12px 14px;width:100%}.voucher-serial-filter-group select:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f;outline:none}.voucher-serial-filter-actions{align-items:center;color:#475569;display:flex;font-size:14px;font-weight:600;gap:12px;justify-content:space-between}.voucher-serial-filter-reset{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:700;padding:10px 14px;transition:all .2s ease}.voucher-serial-filter-reset:hover:not(:disabled){border-color:#0ea5e9;color:#0369a1}.voucher-serial-filter-reset:disabled{cursor:not-allowed;opacity:.5}.voucher-serial-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.voucher-serial-card{background:#fff;border:1px solid #94a3b82e;border-radius:16px;box-shadow:0 16px 48px #0f172a14;cursor:pointer;padding:18px;transition:all .3s ease}.voucher-serial-card:hover{border-color:#0ea5e9;box-shadow:0 24px 64px #0f172a1f;transform:translateY(-4px)}.voucher-serial-card.active{background:linear-gradient(135deg,#f0f9ff,#fff);border-color:#0ea5e9}.serial-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.serial-card-heading{grid-gap:8px;display:grid;gap:8px}.serial-card-header h4{color:#0f172a;font-size:16px;font-weight:700;margin:0}.serial-book-status{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase;width:fit-content}.serial-book-status.active{background:#dcfce7;color:#166534}.serial-book-status.inactive{background:#fee2e2;color:#991b1b}.serial-card-price{color:#15803d;font-size:14px;font-weight:700}.serial-progress-bar{background:#e2e8f0;border-radius:4px;height:8px;margin-bottom:16px;overflow:hidden}.serial-progress-fill{height:100%;transition:width .4s ease}.serial-stats{grid-gap:12px;border-bottom:1px solid #e2e8f0;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:16px;padding-bottom:16px}.serial-stat{text-align:center}.stat-label{color:#94a3b8;display:block;font-size:11px;font-weight:600;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.stat-value{color:#0f172a;display:block;font-size:18px;font-weight:700}.stat-value.missing{color:#f59e0b}.stat-value.next{color:#0ea5e9}.serial-range-text{color:#64748b;font-size:12px;text-align:center}.serial-missing-list{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:16px}.missing-label{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.missing-values{display:flex;flex-wrap:wrap;gap:6px}.missing-badge{background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;color:#92400e;font-size:11px;font-weight:600;padding:4px 10px}.missing-badge.more{background:#f3e8ff;border-color:#e9d5ff;color:#6b21a8}.voucher-serial-legend{grid-gap:14px 18px;background:#fff;border:1px solid #94a3b82e;border-radius:16px;box-shadow:0 16px 48px #0f172a14;display:grid;gap:14px 18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:18px 20px}.legend-item{align-items:center;display:flex;gap:12px}.legend-color{border-radius:6px;flex-shrink:0;height:24px;width:24px}.legend-item span{color:#0f172a;font-size:14px}.voucher-serial-info{background:linear-gradient(135deg,#f0f9ff,#f0fdf4);border:1px solid #22c55e33;border-radius:12px;color:#475569;padding:14px 16px}.voucher-serial-info p{font-size:14px;line-height:1.6;margin:0}.voucher-serial-info strong{color:#0f172a}@media (max-width:960px){.voucher-serial-filters{grid-template-columns:1fr 1fr}.voucher-serial-filter-actions{grid-column:1/-1}.voucher-serial-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.voucher-serial-legend{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.voucher-serial-filters,.voucher-serial-hero,.voucher-serial-legend{padding:16px}.voucher-serial-filters{grid-template-columns:1fr}.voucher-serial-filter-actions{align-items:stretch;flex-direction:column;grid-column:auto}.voucher-serial-grid,.voucher-serial-legend{grid-template-columns:1fr}.serial-stats{grid-template-columns:repeat(3,1fr)}}.missing-voucher-tab{grid-gap:24px;display:grid;gap:24px}.missing-voucher-hero{background:linear-gradient(135deg,#fff7ed,#fff 55%);border:1px solid #fed7aa}.missing-voucher-hero .voucher-sales-eyebrow{color:#c2410c}.missing-voucher-status-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.missing-voucher-status-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px}.missing-voucher-status-card.highlight{background:linear-gradient(135deg,#eff6ff,#f8fbff);border-color:#93c5fd}.missing-voucher-status-card.warning{background:#fffbeb;border-color:#fcd34d}.missing-voucher-status-card span{color:#64748b;display:block;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.missing-voucher-status-card strong{color:#0f172a;font-size:22px;line-height:1.2}.missing-voucher-status-card.highlight strong{color:#1d4ed8;font-size:26px}.missing-voucher-status-card p{color:#64748b;font-size:12px;line-height:1.4;margin:8px 0 0}.missing-voucher-quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.missing-voucher-quick-btn{background:#fff7ed;border:1px solid #fdba74;border-radius:999px;color:#9a3412;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:background .15s ease,border-color .15s ease}.missing-voucher-quick-btn:hover{background:#ffedd5;border-color:#fb923c}.missing-voucher-quick-btn.primary{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.missing-voucher-quick-btn.primary:hover{background:#1e40af;border-color:#1e40af}.missing-voucher-preview{background:#fff7ed;border:1px solid #fdba74;border-radius:14px;color:#9a3412;font-size:14px;margin-bottom:20px;padding:16px 18px}.missing-voucher-preview strong{color:#7c2d12}.missing-voucher-reports-table td,.missing-voucher-reports-table th{padding:12px 14px}.missing-voucher-reports-table tbody tr:hover{background:#f8fafc}@media (max-width:1100px){.missing-voucher-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.missing-voucher-status-grid{grid-template-columns:1fr}}.whatsapp-tab{max-width:980px}.whatsapp-tab-header{margin-bottom:12px}.whatsapp-info-box{margin-bottom:16px;text-align:left}.whatsapp-info-title{margin-bottom:8px}.whatsapp-info-subtitle{color:var(--text-secondary);margin:0}.whatsapp-form-section{margin-bottom:16px}.whatsapp-spacing-top{margin-top:10px}.whatsapp-member-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.whatsapp-members-table-wrap{max-height:260px;overflow:auto}.whatsapp-action-row{display:flex;gap:10px;margin-top:14px}.whatsapp-error-box{border-color:#dc3545;color:#dc3545;text-align:left}.whatsapp-result-block{margin-bottom:12px}.whatsapp-history-section{margin-top:16px}.whatsapp-history-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.whatsapp-history-controls{align-items:center;display:flex;gap:8px}.whatsapp-history-table-wrap{max-height:420px;overflow:auto}.staff-management-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.staff-management-primary-btn,.staff-management-secondary-btn{border:none;border-radius:12px;cursor:pointer;font-weight:700;padding:12px 18px}.staff-management-primary-btn{background:#1d4ed8;color:#fff}.staff-management-secondary-btn{background:#e2e8f0;color:#0f172a}.staff-management-alert{border-radius:12px;font-size:14px;margin-bottom:16px;padding:12px 14px}.staff-management-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.staff-management-alert.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.staff-management-table-wrap{overflow-x:auto}.staff-management-table{border-collapse:collapse;width:100%}.staff-management-table td,.staff-management-table th{border-bottom:1px solid #e2e8f0;padding:12px 10px;text-align:left;vertical-align:top}.staff-management-menu-tags{display:flex;flex-wrap:wrap;gap:6px}.staff-management-menu-tag{background:#eff6ff;border-radius:999px;color:#1d4ed8;font-size:12px;font-weight:600;padding:4px 10px}.staff-management-status.active{color:#047857;font-weight:700}.staff-management-status.inactive{color:#b91c1c;font-weight:700}.staff-management-row-actions{display:flex;gap:8px}.staff-management-row-actions button{background:#fff;border:1px solid #cbd5e1;border-radius:10px;cursor:pointer;padding:8px 12px}.staff-management-form-card,.staff-management-permissions{margin-top:20px}.staff-management-permission-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:10px}.staff-management-permission-item{align-items:center;background:#f8fafc;border:1px solid #dbeafe;border-radius:12px;display:flex;gap:10px;padding:12px 14px}.staff-management-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.signature-capture{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;width:100%}.signature-container{width:100%}.signature-input-section{display:flex;flex-direction:column;gap:16px}.signature-instructions{background:#f5f5f5;border-left:4px solid #007bff;border-radius:6px;padding:12px 16px}.signature-instructions p{color:#333;font-size:14px;margin:4px 0}.signature-instructions p:first-child{font-weight:600;margin-bottom:4px}.signature-canvas{background:#fff;border:2px solid #ddd;border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:crosshair;display:block;height:150px;margin:0 auto;max-width:500px;touch-action:none;width:100%}.signature-canvas:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff33}.signature-canvas:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.signature-attempts{color:#666;font-size:12px;text-align:center}.signature-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.signature-actions .btn{min-width:120px}.signature-preview-section{align-items:center;display:flex;flex-direction:column;gap:16px;text-align:center}.signature-success{animation:slideDown .3s ease-out}.signature-success h3{color:#28a745;font-size:18px;margin:8px 0 0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.signature-preview{align-items:center;background:#f9f9f9;border:2px solid #ddd;border-radius:6px;display:flex;justify-content:center;max-width:500px;padding:16px;width:100%}.signature-image{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 4px #0000001a;max-height:200px;max-width:100%}.signature-info{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;font-size:14px;padding:12px 16px}.signature-info p{margin:4px 0}.signature-info p:first-child{margin-top:0}.signature-info p:last-child{margin-bottom:0}.alert{border-radius:6px;font-size:14px;margin:0;padding:12px 16px}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 16px;transition:all .3s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3;box-shadow:0 2px 8px #007bff4d}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62;box-shadow:0 2px 8px #6c757d4d}@media (max-width:768px){.signature-canvas{height:120px}.signature-actions{flex-direction:column}.signature-actions .btn{width:100%}.signature-instructions{padding:10px 12px}.signature-instructions p{font-size:12px}}@media (max-width:480px){.signature-canvas{height:100px}.signature-preview{padding:12px}.btn{font-size:13px;padding:8px 12px}}@media print{.signature-actions,.signature-canvas,.signature-instructions{display:none}.signature-image{border:1px solid #000;max-width:100%}}@media (prefers-color-scheme:dark){.signature-canvas{background:#2a2a2a;border-color:#444;color:#fff}.signature-canvas:hover{border-color:#0d6efd}.signature-instructions{background:#333;color:#e0e0e0}.signature-instructions p{color:#e0e0e0}.signature-preview{background:#333;border-color:#444}.signature-image{background:#2a2a2a;border-color:#444}}
/*# sourceMappingURL=main.b7ca2f06.css.map*/