.stat-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.content-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:20px;display:grid}@media (width<=768px){.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.content-grid{grid-template-columns:1fr;gap:16px}.stat-card{padding:16px}.stat-card-value{font-size:22px}.page-header-left .page-title{font-size:18px}.card-header{padding:12px 16px}.card-body{padding:16px}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.page-header-left .page-title{color:var(--text-primary);letter-spacing:-.3px;font-size:22px;font-weight:700;line-height:1.2}.page-header-left .page-subtitle{color:var(--text-secondary);margin-top:4px;font-size:13.5px}.page-header-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--t)}.card:hover{box-shadow:var(--shadow-sm)}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-title{color:var(--text-primary);font-size:14px;font-weight:600}.card-body{padding:20px}.badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.badge-teal{background:var(--accent-light);color:var(--accent-dark)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:var(--bg-subtle);color:var(--text-secondary)}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--t), transform var(--t);flex-direction:column;gap:12px;padding:20px;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card-top{justify-content:space-between;align-items:center;display:flex}.stat-icon{border-radius:var(--r-md);justify-content:center;align-items:center;width:42px;height:42px;display:flex}.stat-icon.teal{background:var(--accent-light);color:var(--accent)}.stat-icon.slate{color:#475569;background:#e2e8f0}.stat-icon.green{background:var(--success-bg);color:var(--success)}.stat-icon.red{background:var(--danger-bg);color:var(--danger)}.stat-icon.amber{background:var(--warning-bg);color:var(--warning)}.stat-icon.blue{background:var(--info-bg);color:var(--info)}.stat-card-value{color:var(--text-primary);letter-spacing:-.5px;font-size:26px;font-weight:700;line-height:1}.stat-card-label{color:var(--text-secondary);font-size:12.5px;font-weight:500}.stat-card-change{border-radius:20px;align-items:center;gap:3px;padding:2px 7px;font-size:12px;font-weight:600;display:inline-flex}.stat-card-change.up{background:var(--success-bg);color:var(--success)}.stat-card-change.down{background:var(--danger-bg);color:var(--danger)}.spinner{border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.65s linear infinite spin;display:inline-block}.spinner-page{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.spinner-page .spinner{border-color:var(--border);border-top-color:var(--accent);width:22px;height:22px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:48px 24px;display:flex}.empty-state-icon{color:var(--border);margin-bottom:4px}.empty-state p{font-size:13px}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:13.5px;font-weight:500;display:block}.form-input,.form-select,.form-textarea{width:100%;font-size:14px;line-height:inherit;color:var(--text-primary);background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-md,6px);transition:border-color var(--t), box-shadow var(--t);box-sizing:border-box;background-clip:padding-box;padding:8px 12px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted);outline:none}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--bg-subtle);opacity:.7;cursor:not-allowed}.btn{border-radius:var(--r-md,6px);cursor:pointer;transition:all var(--t);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:500;display:inline-flex}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--accent-dark)}.btn-secondary{color:var(--text-primary);border-color:var(--border);background-color:#0000}.btn-secondary:hover:not(:disabled){background-color:var(--bg-subtle)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover:not(:disabled){background-color:#047857}.btn-icon{width:32px;height:32px;color:var(--text-secondary);border-radius:var(--r-md,6px);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-primary)}.btn-icon.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-bg)}.table-wrap{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-card);overflow-x:auto}.table-minimal{border-collapse:collapse;width:100%;font-size:14px}.table-minimal th{text-align:left;border-bottom:1px solid var(--border);background:var(--bg-subtle);color:var(--text-secondary);padding:12px 16px;font-weight:600}.table-minimal td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:12px 16px}.table-minimal tr:last-child td{border-bottom:none}.table-minimal tr:hover td{background:var(--bg-subtle)}.att-uploader{border:2px dashed var(--border);border-radius:var(--r-lg);background:var(--bg-subtle);text-align:center;cursor:pointer;transition:border-color var(--t), background var(--t);-webkit-user-select:none;user-select:none;padding:20px 16px}.att-uploader:hover,.att-uploader.att-drag-over{border-color:var(--accent);background:var(--accent-light)}.att-uploader-icon{color:var(--text-muted);margin-bottom:6px}.att-uploader-label{color:var(--text-secondary);font-size:13px;line-height:1.4}.att-uploader-label strong{color:var(--accent);cursor:pointer}.att-uploader-meta{color:var(--text-muted);margin-top:4px;font-size:11.5px}.att-staged-list{flex-direction:column;gap:6px;margin-top:10px;display:flex}.att-staged-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.att-staged-thumb{border-radius:var(--r-sm);object-fit:cover;flex-shrink:0;width:36px;height:36px}.att-staged-icon{background:var(--bg-subtle);border-radius:var(--r-sm);width:36px;height:36px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.att-staged-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);flex:1;overflow:hidden}.att-staged-size{color:var(--text-muted);white-space:nowrap;font-size:11.5px}.att-staged-remove{border-radius:var(--r-sm);width:22px;height:22px;color:var(--text-muted);cursor:pointer;transition:color var(--t), background var(--t);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.att-staged-remove:hover{color:var(--danger);background:var(--danger-bg)}.att-error{color:var(--danger);margin-top:6px;font-size:12.5px}.att-section{margin-top:20px}.att-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px;font-size:12.5px;font-weight:600}.att-list{flex-direction:column;gap:8px;display:flex}.att-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);transition:box-shadow var(--t);align-items:center;gap:10px;padding:8px 12px;display:flex}.att-card:hover{box-shadow:var(--shadow-xs)}.att-card-thumb{border-radius:var(--r-sm);object-fit:cover;cursor:pointer;flex-shrink:0;width:40px;height:40px}.att-card-thumb-btn{all:unset;cursor:pointer;border-radius:var(--r-sm);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.att-card-thumb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.att-card-thumb-btn:disabled{cursor:wait;opacity:.6}.att-card-icon{background:var(--bg-subtle);border-radius:var(--r-sm);width:40px;height:40px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.att-card-body{flex:1;overflow:hidden}.att-card-name{all:unset;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;align-items:center;max-width:100%;font-size:13px;font-weight:500;text-decoration:none;display:flex;overflow:hidden}.att-card-name:hover{text-decoration:underline}.att-card-name:disabled{cursor:wait;opacity:.7}.att-card-meta{color:var(--text-muted);margin-top:1px;font-size:11.5px}.att-card-action{border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:color var(--t), background var(--t);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.att-card-action:hover:not(:disabled){color:var(--accent);background:var(--bg-subtle)}.att-card-action:disabled{opacity:.5;cursor:not-allowed}.att-card-delete{border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:color var(--t), background var(--t);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.att-card-delete:hover:not(:disabled){color:var(--danger);background:var(--danger-bg)}.att-empty{color:var(--text-muted);text-align:center;padding:14px 0;font-size:13px}.att-chip{color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border);white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.att-chip svg{color:var(--text-muted)}.apv-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9000;background:#0f172a99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.apv-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);flex-direction:column;max-height:calc(100vh - 32px);display:flex;overflow:hidden}.apv-panel-pdf{width:min(860px,100%)}.apv-panel-generic{width:min(480px,100%)}.apv-header{border-bottom:1px solid var(--border);background:var(--bg-subtle);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.apv-header-left{color:var(--text-secondary);align-items:center;gap:8px;min-width:0;display:flex}.apv-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.apv-header-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.apv-header-btn{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--t);align-items:center;gap:5px;padding:5px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.apv-header-btn:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-primary)}.apv-header-btn:disabled{opacity:.55;cursor:not-allowed}.apv-header-btn-danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.apv-header-close{border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:all var(--t);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.apv-header-close:hover{background:var(--bg-subtle);color:var(--text-primary)}.apv-body{flex:1;min-height:0;overflow:auto}.apv-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;font-size:13.5px;display:flex}.apv-footer{border-top:1px solid var(--border);color:var(--text-muted);background:var(--bg-subtle);flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;font-size:11.5px;display:flex}.apv-pdf-wrap{flex-direction:column;height:100%;display:flex}.apv-pdf-toolbar{border-bottom:1px solid var(--border);background:var(--bg-card);flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;display:flex}.apv-tool-btn{border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:all var(--t);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.apv-tool-btn:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-primary)}.apv-tool-btn:disabled{opacity:.4;cursor:not-allowed}.apv-pdf-pages,.apv-pdf-scale{color:var(--text-secondary);text-align:center;-webkit-user-select:none;user-select:none;min-width:52px;font-size:12.5px}.apv-separator{background:var(--border);flex:0 0 1px;height:18px;margin:0 4px}.apv-pdf-canvas-wrap{background:#6b7280;flex-direction:column;flex:1;align-items:center;gap:8px;padding:16px;display:flex;overflow:auto}.apv-pdf-canvas-wrap .react-pdf__Document{flex-direction:column;align-items:center;display:flex}.apv-pdf-canvas-wrap .react-pdf__Page{box-shadow:0 4px 12px #00000059}.apv-pdf-loading,.apv-pdf-error{color:var(--text-muted);align-items:center;gap:10px;padding:32px 24px;font-size:13.5px;display:flex}.apv-pdf-filename{color:#ffffff8c;margin-top:4px;font-size:11.5px}.apv-generic-wrap{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 32px;display:flex}.apv-generic-icon{background:var(--bg-subtle);border-radius:var(--r-lg);width:72px;height:72px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.apv-generic-name{color:var(--text-primary);word-break:break-all;font-size:15px;font-weight:600}.apv-generic-meta{flex-direction:column;gap:4px;font-size:12.5px;display:flex}.apv-meta-row{color:var(--text-secondary)}.apv-meta-row strong{color:var(--text-primary);margin-right:4px}.apv-generic-hint{color:var(--text-muted);max-width:320px;font-size:12px;line-height:1.5}.apv-photo-toolbar{align-items:center;gap:8px;padding:0 12px;display:flex}.apv-photo-name{color:#ffffffd9;text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:13px;overflow:hidden}.apv-photo-btn{border-radius:var(--r-sm);color:#ffffffe6;cursor:pointer;width:34px;height:34px;transition:all var(--t);background:#ffffff14;border:1px solid #fff3;justify-content:center;align-items:center;display:inline-flex}.apv-photo-btn:hover:not(:disabled){background:#fff3}.apv-photo-btn:disabled{opacity:.45;cursor:not-allowed}.apv-photo-btn-danger:hover:not(:disabled){background:#dc262659;border-color:#dc26268c}.spin{animation:.7s linear infinite spin}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-w:256px;--sidebar-w-sm:64px;--topbar-h:60px;--accent:#0f766e;--accent-dark:#115e59;--accent-light:#f0fdfa;--accent-muted:#0f766e14;--sidebar-bg:#fff;--sidebar-border:#e2e8f0;--sidebar-text:#64748b;--sidebar-hover:#f1f5f9;--sidebar-active-bg:#f0fdfa;--sidebar-active-text:#0f766e;--bg-app:#f8fafc;--bg-card:#fff;--bg-topbar:#fff;--bg-input:#f8fafc;--bg-subtle:#f1f5f9;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#f8fafc;--border:#e2e8f0;--border-focus:#0f766e;--success:#059669;--success-bg:#ecfdf5;--warning:#d97706;--warning-bg:#fffbeb;--danger:#dc2626;--danger-bg:#fef2f2;--info:#2563eb;--info-bg:#eff6ff;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a14, 0 1px 2px #0f172a0a;--shadow-md:0 4px 8px #0f172a14, 0 2px 4px #0f172a0a;--shadow-lg:0 10px 20px #0f172a1a, 0 4px 8px #0f172a0d;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--t-fast:.15s ease;--t:.22s ease}html,body,#root{height:100%;color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Mulish,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;background:0 0;border:none}input,textarea,select{font:inherit}ul,ol{list-style:none}.toast-stack{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;width:calc(100vw - 40px);max-width:400px;display:flex;position:fixed;top:20px;right:20px}.toast{pointer-events:auto;background:#fff;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;animation:.22s toast-in;display:flex;box-shadow:0 4px 16px #0f172a1f,0 1px 4px #0f172a0f}@keyframes toast-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.toast-success{background:#f0fdf4;border-color:#bbf7d0}.toast-success .toast-icon{color:#16a34a}.toast-success .toast-title{color:#15803d}.toast-error{background:#fff1f2;border-color:#fecaca}.toast-error .toast-icon{color:#dc2626}.toast-error .toast-title{color:#b91c1c}.toast-warning{background:#fffbeb;border-color:#fde68a}.toast-warning .toast-icon{color:#d97706}.toast-warning .toast-title{color:#b45309}.toast-info{background:#eff6ff;border-color:#bfdbfe}.toast-info .toast-icon{color:#2563eb}.toast-info .toast-title{color:#1d4ed8}.toast-icon{flex-shrink:0;align-items:center;margin-top:1px;display:flex}.toast-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.toast-title{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.3}.toast-message{color:var(--text-secondary);word-break:break-word;font-size:13px;line-height:1.45}.toast-close{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.toast-close:hover{color:var(--text-primary);background:#00000012}@media (width<=480px){.toast-stack{width:auto;max-width:100%;inset:auto 12px 20px}}.admin-shell{background:#f8fafc;height:100vh;display:flex;overflow:hidden}:root{--sidebar-w:240px;--sidebar-w-collapsed:72px;--topbar-h:60px;--t:.2s ease-in-out;--t-fast:.15s ease-in-out;--r-sm:6px;--r-md:8px;--r-lg:10px;--sidebar-bg:#fff;--sidebar-active-bg:#f0fdfa;--sidebar-active-text:#0f766e;--accent:#0f766e;--accent-muted:#0f766e14;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e2e8f0;--bg-app:#f8fafc;--bg-card:#fff;--bg-subtle:#f8fafc;--danger:#dc2626;--danger-bg:#fef2f2}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--border);height:100%;transition:width var(--t), min-width var(--t);z-index:50;flex-direction:column;display:flex;position:relative}.sidebar.collapsed{width:var(--sidebar-w-collapsed);min-width:var(--sidebar-w-collapsed)}.sidebar-logo{height:var(--topbar-h);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:0 20px;display:flex}.logo-mark{background:var(--accent);border-radius:var(--r-sm);color:#fff;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;display:flex;box-shadow:0 2px 8px #ea580c4d}.logo-text{color:var(--text-primary);letter-spacing:-.02em;white-space:nowrap;font-size:1.1rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex;overflow:hidden auto}.nav-item{border-radius:var(--r-md);color:var(--text-secondary);cursor:pointer;width:100%;transition:background var(--t-fast), color var(--t-fast);white-space:nowrap;background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:600}.nav-item.active .nav-icon{color:var(--accent)}.nav-icon{flex-shrink:0;min-width:20px}.nav-label{white-space:nowrap;overflow:hidden}.nav-tooltip{left:calc(var(--sidebar-w-collapsed) + 12px);background:var(--text-primary);color:var(--bg-card);border-radius:var(--r-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--t-fast), transform var(--t-fast);z-index:100;padding:6px 10px;font-size:.75rem;font-weight:500;position:absolute;transform:translate(-4px);box-shadow:0 4px 12px #0000001a}.nav-item:hover .nav-tooltip{opacity:1;transform:translate(0)}.sidebar-bottom{border-top:1px solid var(--border);padding:12px}.collapse-btn{background:var(--bg-card);border:1px solid var(--border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;z-index:60;transition:all var(--t-fast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:12px;right:-14px;box-shadow:0 2px 4px #0000000d}.collapse-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.1)}.sidebar.collapsed .collapse-btn{right:18px}.main-wrap{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:16px;padding:0 24px;display:flex}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.user-menu{position:relative}.user-btn{border-radius:var(--r-full,999px);cursor:pointer;transition:background var(--t-fast);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:4px;display:flex}.user-btn:hover{background:var(--bg-subtle)}.avatar{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.avatar.avatar-md{width:40px;min-width:40px;height:40px;font-size:.875rem}.avatar.avatar-img{object-fit:cover;background:var(--bg-subtle);border:2px solid var(--border);padding:0}img.avatar{border-radius:50%;width:32px;min-width:32px;height:32px}img.avatar.avatar-md{width:40px;min-width:40px;height:40px}.user-meta{flex-direction:column;align-items:flex-start;margin-right:4px;display:flex}.user-name{color:var(--text-primary);font-size:.875rem;font-weight:600;line-height:1.3}.user-role{color:var(--text-muted);font-size:.75rem;line-height:1.3}.chevron{color:var(--text-muted);transition:transform var(--t-fast);margin-right:4px}.chevron.open{transform:rotate(90deg)}.menu-overlay{z-index:90;position:fixed;inset:0}.dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);z-index:100;width:240px;padding:6px;animation:.12s dropIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0f172a1a}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-user{align-items:center;gap:12px;padding:10px 8px 12px;display:flex}.dropdown-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.dropdown-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.75rem;overflow:hidden}.dropdown-sep{background:var(--border);height:1px;margin:6px 0}.dropdown-item{border-radius:var(--r-sm);width:100%;color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 12px;font-size:.875rem;display:flex}.dropdown-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.dropdown-item .lucide{width:18px}.dropdown-item.danger{color:var(--danger)}.dropdown-item.danger:hover{background:var(--danger-bg)}.page-content{flex:1;padding:32px;overflow-y:auto}.burger-btn{border-radius:var(--r-md);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:none}.burger-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.mobile-overlay{display:none}@media (width<=768px){.sidebar{height:100vh;width:var(--sidebar-w);min-width:var(--sidebar-w);z-index:200;box-shadow:none;border-right:none;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.collapsed{width:var(--sidebar-w);min-width:var(--sidebar-w);transform:translate(-100%)}.admin-shell.sidebar-open .sidebar,.admin-shell.sidebar-open .sidebar.collapsed{transform:translate(0);box-shadow:4px 0 24px #0000001f}.collapse-btn{display:none}.mobile-overlay{z-index:199;opacity:0;pointer-events:none;background:#0f172a66;transition:opacity .25s;display:block;position:fixed;inset:0}.admin-shell.sidebar-open .mobile-overlay{opacity:1;pointer-events:auto}.burger-btn{display:flex}.topbar{gap:8px;padding:0 12px}.user-meta,.chevron{display:none}.page-content{padding:20px 16px 32px}}@media (width<=480px){.page-content{padding:16px 12px 28px}.topbar{height:52px;padding:0 10px}.sidebar{width:260px;min-width:260px}}.login-shell{min-height:100vh;display:flex}.login-brand{background:linear-gradient(145deg,#042f2e 0%,#115e59 45%,#042f2e 100%);flex:1;justify-content:center;align-items:center;padding:60px 48px;display:flex;position:relative;overflow:hidden}@media (width<=768px){.login-brand{display:none}}.brand-content{z-index:2;color:#fff;max-width:360px;position:relative}.brand-logo{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#5eead4;background:#5eead426;border:1px solid #5eead44d;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:24px;display:flex}.brand-name{letter-spacing:-.5px;margin-bottom:12px;font-size:32px;font-weight:800}.brand-tagline{color:#e2e8f0bf;margin-bottom:40px;font-size:16px;line-height:1.6}.brand-features{flex-direction:column;gap:14px;list-style:none;display:flex}.brand-features li{color:#e2e8f0d9;align-items:center;gap:12px;font-size:14px;display:flex}.feature-dot{background:#5eead4;border-radius:50%;flex-shrink:0;width:8px;height:8px}.brand-blur-1,.brand-blur-2{pointer-events:none;z-index:1;border-radius:50%;position:absolute}.brand-blur-1{filter:blur(80px);background:#14b8a626;width:400px;height:400px;top:-100px;right:-100px}.brand-blur-2{filter:blur(60px);background:#14b8a61f;width:300px;height:300px;bottom:-60px;left:-60px}.login-form-panel{background:var(--bg-card);flex-shrink:0;justify-content:center;align-items:center;width:480px;padding:48px 40px;display:flex}@media (width<=768px){.login-form-panel{width:100%}}.login-form-wrap{flex-direction:column;gap:24px;width:100%;max-width:360px;display:flex}.login-heading h2{color:var(--text-primary);letter-spacing:-.3px;font-size:22px;font-weight:700}.login-heading p{color:var(--text-secondary);margin-top:6px;font-size:14px}.login-error{color:var(--danger);border-radius:var(--r-sm);background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.login-form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-primary);font-size:13px;font-weight:500}.input-wrap{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:13px}.input-wrap input{border:1.5px solid var(--border);border-radius:var(--r-sm);background:var(--bg-input);width:100%;height:42px;color:var(--text-primary);transition:border-color var(--t), box-shadow var(--t);outline:none;padding:0 42px;font-size:14px}.input-wrap input::placeholder{color:var(--text-muted)}.input-wrap input:focus{border-color:var(--border-focus);background:var(--bg-card);box-shadow:0 0 0 3px var(--accent-muted)}.pw-toggle{color:var(--text-muted);transition:color var(--t);border-radius:4px;align-items:center;padding:4px;display:flex;position:absolute;right:12px}.pw-toggle:hover{color:var(--text-primary)}.login-btn{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#fff;border-radius:var(--r-sm);height:44px;transition:opacity var(--t), transform var(--t), box-shadow var(--t);justify-content:center;align-items:center;margin-top:4px;font-size:14px;font-weight:600;display:flex;box-shadow:0 4px 14px #0f766e40}.login-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 6px 18px #0f766e59}.login-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.login-footer{color:var(--text-muted);text-align:center;font-size:12px}.profile-page{max-width:780px;margin:0 auto;padding:8px 0 40px}.profile-header{align-items:center;gap:14px;margin-bottom:28px;display:flex}.profile-header-icon{color:var(--accent);flex-shrink:0}.profile-title{color:var(--text-primary);font-size:1.35rem;font-weight:700;line-height:1.2}.profile-subtitle{color:var(--text-muted);margin-top:2px;font-size:.835rem}.profile-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);margin-bottom:20px;padding:28px 32px}.avatar-card{padding:32px}.avatar-area{align-items:center;gap:28px;display:flex}.avatar-ring{flex-shrink:0;width:88px;height:88px;position:relative}.avatar-img{object-fit:cover;border:3px solid var(--border);border-radius:50%;width:88px;height:88px}.avatar-fallback{background:var(--accent);color:#fff;border:3px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;font-size:1.75rem;font-weight:700;display:flex}.avatar-upload-btn{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;width:30px;height:30px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex;position:absolute;bottom:2px;right:2px}.avatar-upload-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.avatar-upload-btn input[type=file]{display:none}.avatar-details{flex-direction:column;gap:4px;display:flex}.avatar-name{color:var(--text-primary);font-size:1.2rem;font-weight:700}.avatar-email{color:var(--text-muted);font-size:.85rem}.role-badge{text-transform:uppercase;letter-spacing:.5px;background:var(--accent-light);color:var(--accent);border-radius:20px;width:fit-content;margin-top:6px;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-block}.card-heading{color:var(--text-primary);border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:14px;font-size:.95rem;font-weight:700}.profile-form{flex-direction:column;gap:20px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:.8rem;font-weight:600}.form-group input{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-subtle);height:44px;color:var(--text-primary);padding:0 14px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.form-group input:focus{border-color:var(--accent);background:var(--bg-card);box-shadow:0 0 0 3px var(--accent-muted);outline:none}.form-group input:disabled{opacity:.55;cursor:not-allowed}.form-hint{color:var(--text-muted);font-size:.72rem}.form-actions{justify-content:flex-end;padding-top:8px;display:flex}.btn-save{background:var(--accent);color:#fff;border-radius:var(--r-md);cursor:pointer;border:none;align-items:center;gap:8px;height:42px;padding:0 24px;font-size:.875rem;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 8px #0f766e2e}.btn-save:hover:not(:disabled){background:var(--accent-dark,#115e59);transform:translateY(-1px);box-shadow:0 4px 14px #0f766e40}.btn-save:active{transform:scale(.98)}.btn-save:disabled{opacity:.6;cursor:not-allowed}.profile-alert{border-radius:var(--r-md);margin-bottom:16px;padding:10px 14px;font-size:.8rem;font-weight:500}.profile-alert.success{background:var(--success-bg);color:var(--success);border:1px solid #a7f3d0}.profile-alert.error{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}@media (width<=640px){.profile-page{padding:4px 0 24px}.profile-card{padding:20px}.avatar-area{text-align:center;flex-direction:column;align-items:center;gap:16px}.avatar-details{align-items:center}.form-row{grid-template-columns:1fr;gap:16px}.form-actions{justify-content:stretch}.btn-save{justify-content:center;width:100%}}.cpw-page{max-width:540px;margin:0 auto;padding:8px 0 40px}.cpw-header{align-items:center;gap:14px;margin-bottom:28px;display:flex}.cpw-header-icon{color:var(--accent);flex-shrink:0}.cpw-title{color:var(--text-primary);font-size:1.35rem;font-weight:700;line-height:1.2}.cpw-subtitle{color:var(--text-muted);margin-top:2px;font-size:.835rem}.cpw-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);padding:28px 32px}.cpw-card-heading{color:var(--text-primary);border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:14px;font-size:.95rem;font-weight:700}.cpw-form{flex-direction:column;gap:20px;display:flex}.cpw-field{flex-direction:column;gap:6px;display:flex}.cpw-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:.8rem;font-weight:600}.cpw-field input{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-subtle);height:44px;color:var(--text-primary);padding:0 14px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.cpw-field input:focus{border-color:var(--accent);background:var(--bg-card);box-shadow:0 0 0 3px var(--accent-muted);outline:none}.cpw-actions{justify-content:flex-end;padding-top:8px;display:flex}.cpw-page .btn-save{background:var(--accent);color:#fff;border-radius:var(--r-md);cursor:pointer;border:none;align-items:center;gap:8px;height:42px;padding:0 24px;font-size:.875rem;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 8px #0f766e2e}.cpw-page .btn-save:hover:not(:disabled){background:var(--accent-dark,#115e59);transform:translateY(-1px);box-shadow:0 4px 14px #0f766e40}.cpw-page .btn-save:active{transform:scale(.98)}.cpw-page .btn-save:disabled{opacity:.6;cursor:not-allowed}.cpw-alert{border-radius:var(--r-md);margin-bottom:16px;padding:10px 14px;font-size:.8rem;font-weight:500}.cpw-alert.success{background:var(--success-bg);color:var(--success);border:1px solid #a7f3d0}.cpw-alert.error{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}@media (width<=640px){.cpw-page{padding:4px 0 24px}.cpw-card{padding:20px}.cpw-actions{justify-content:stretch}.cpw-page .btn-save{justify-content:center;width:100%}}:root{--ap-bg:#f9fafb;--ap-card-bg:#fff;--ap-border-color:#e5e7eb;--ap-text-primary:#1f2937;--ap-text-secondary:#6b7280;--ap-text-accent:#2d8b82;--ap-accent-bg:#d1fae5;--ap-header-bg:#fff;--ap-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--ap-radius:.5rem;--ap-danger-bg:#fee2e2;--ap-danger-text:#991b1b;--ap-danger-hover:#ef4444}.ap-page{background-color:var(--ap-bg);min-height:100vh;padding:1.5rem}.ap-header{background-color:var(--ap-header-bg);border-radius:var(--ap-radius);box-shadow:var(--ap-shadow);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.ap-header h1{color:var(--ap-text-primary);font-size:1.5rem;font-weight:700}.ap-controls{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.ap-search-input{border:1px solid var(--ap-border-color);border-radius:.375rem;width:300px;padding:.6rem 1rem;font-size:.875rem}.ap-add-btn{border:1px solid var(--ap-text-accent);cursor:pointer;background-color:var(--ap-text-accent);color:#fff;border-radius:.375rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.ap-add-btn:hover{background-color:#26736b}.ap-meta-bar{justify-content:flex-end;align-items:center;margin-bottom:1.5rem;padding:0 .5rem;display:flex}.ap-record-count{color:var(--ap-text-secondary);font-size:.875rem}.ap-record-count strong{color:var(--ap-text-primary)}.ap-main{width:100%}.ap-loading,.ap-error,.ap-no-data{text-align:center;background-color:var(--ap-card-bg);border-radius:var(--ap-radius);box-shadow:var(--ap-shadow);padding:4rem 2rem}.ap-no-data h2{margin-top:1rem;font-size:1.25rem;font-weight:600}.ap-no-data p{color:var(--ap-text-secondary)}.ap-cards-container{grid-template-columns:1fr;gap:1rem;display:grid}.ap-card{background-color:var(--ap-card-bg);border-radius:var(--ap-radius);box-shadow:var(--ap-shadow);justify-content:space-between;align-items:center;padding:1rem 1.5rem;transition:box-shadow .2s;display:flex}.ap-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.ap-card-content{flex-grow:1;align-items:center;gap:1rem;display:flex}.ap-card-name{color:var(--ap-text-primary);flex-basis:40%;font-weight:600}.ap-card-subscribers{flex-basis:20%}.subscriber-count-badge{background-color:var(--ap-accent-bg);color:var(--ap-text-accent);border-radius:999px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.ap-card-created{color:var(--ap-text-secondary);flex-basis:20%;font-size:.875rem}.ap-card-actions{align-items:center;gap:.5rem;display:flex}.ap-action-btn{cursor:pointer;color:var(--ap-text-secondary);background-color:#0000;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.4rem;transition:background-color .2s;display:flex}.ap-action-btn:hover{color:var(--ap-text-primary);background-color:#f3f4f6}.ap-action-btn-delete:hover{background-color:var(--ap-danger-bg);color:var(--ap-danger-hover)}:root{--pp-bg:#f9fafb;--pp-card-bg:#fff;--pp-border-color:#e5e7eb;--pp-text-primary:#1f2937;--pp-text-secondary:#6b7280;--pp-text-accent:#2d8b82;--pp-accent-bg:#d1fae5;--pp-header-bg:#fff;--pp-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--pp-radius:.5rem;--pp-danger-bg:#fee2e2;--pp-danger-text:#991b1b;--pp-danger-hover:#ef4444}.pp-header h1{color:var(--pp-text-primary);font-size:1.5rem;font-weight:700}.pp-controls{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.pp-search-input{border:1px solid var(--pp-border-color);border-radius:.375rem;width:300px;padding:.6rem 1rem;font-size:.875rem}.pp-add-btn{border:1px solid var(--pp-text-accent);cursor:pointer;background-color:var(--pp-text-accent);color:#fff;border-radius:.375rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.pp-add-btn:hover{background-color:#26736b}.pp-meta-bar{justify-content:flex-end;align-items:center;margin-bottom:1.5rem;padding:0 .5rem;display:flex}.pp-record-count{color:var(--pp-text-secondary);font-size:.875rem}.pp-record-count strong{color:var(--pp-text-primary)}.pp-main{width:100%}.pp-loading,.pp-error,.pp-no-data{text-align:center;background-color:var(--pp-card-bg);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);padding:4rem 2rem}.pp-no-data h2{margin-top:1rem;font-size:1.25rem;font-weight:600}.pp-no-data p{color:var(--pp-text-secondary)}.pp-cards-container{grid-template-columns:1fr;gap:1rem;display:grid}.pp-card{background-color:var(--pp-card-bg);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);justify-content:space-between;align-items:center;padding:1rem 1.5rem;transition:box-shadow .2s;display:flex}.pp-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.pp-card-content{flex-grow:1;align-items:center;gap:1rem;display:flex}.pp-card-name{color:var(--pp-text-primary);flex-basis:40%;font-weight:600}.pp-card-price{color:var(--pp-text-primary);flex-basis:20%;font-weight:500}.pp-card-created{color:var(--pp-text-secondary);flex-basis:20%;font-size:.875rem}.pp-card-vendor{color:var(--pp-text-accent);white-space:nowrap;text-overflow:ellipsis;flex-basis:20%;font-size:.8rem;font-weight:500;overflow:hidden}.pp-price-label{color:var(--pp-text-secondary);margin-bottom:.1rem;font-size:.75rem;display:block}.pp-card-actions{align-items:center;gap:.5rem;display:flex}.pp-action-btn{cursor:pointer;color:var(--pp-text-secondary);background-color:#0000;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.4rem;transition:background-color .2s;display:flex}.pp-action-btn:hover{color:var(--pp-text-primary);background-color:#f3f4f6}.pp-action-btn-delete:hover{background-color:var(--pp-danger-bg);color:var(--pp-danger-hover)}.crud-alert{border-radius:.375rem;padding:1rem;font-weight:500}:root{--sp-bg:#f9fafb;--sp-card-bg:#fff;--sp-border-color:#e5e7eb;--sp-text-primary:#1f2937;--sp-text-secondary:#6b7280;--sp-text-accent:#2d8b82;--sp-accent-bg:#d1fae5;--sp-header-bg:#fff;--sp-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--sp-radius:.5rem;--sp-danger-bg:#fee2e2;--sp-danger-text:#991b1b;--sp-danger-hover:#ef4444}.sp-page{background-color:var(--sp-bg);min-height:100vh;padding:1.5rem}.sp-header{background-color:var(--sp-header-bg);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.sp-header h1{color:var(--sp-text-primary);font-size:1.5rem;font-weight:700}.sp-controls{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.sp-sort-controls{align-items:center;gap:.5rem;display:flex}.sp-sort-controls label{color:var(--sp-text-secondary);margin-left:.5rem;font-size:.875rem;font-weight:500}.sp-sort-select{border:1px solid var(--sp-border-color);background-color:var(--sp-card-bg);border-radius:.375rem;padding:.6rem .75rem;font-size:.875rem}.sp-filter-toggle,.sp-add-btn{border:1px solid var(--sp-border-color);cursor:pointer;border-radius:.375rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.sp-filter-toggle{background-color:var(--sp-card-bg);color:var(--sp-text-secondary)}.sp-filter-toggle:hover{background-color:#f3f4f6}.sp-filter-chevron{transition:transform .2s}.sp-filter-chevron-open{transform:rotate(180deg)}.sp-add-btn{background-color:var(--sp-text-accent);color:#fff;border-color:var(--sp-text-accent)}.sp-add-btn:hover{background-color:#26736b}.sp-filter-panel{background-color:var(--sp-card-bg);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow);margin-bottom:1.5rem;padding:1.5rem}.sp-filter-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.sp-filter-input,.sp-filter-select{border:1px solid var(--sp-border-color);border-radius:.375rem;width:100%;padding:.6rem .75rem;font-size:.875rem}.sp-filter-actions{justify-content:flex-end;gap:1rem;display:flex}.sp-filter-btn{cursor:pointer;border-radius:.375rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-weight:600;transition:background-color .2s;display:flex}.sp-filter-btn-clear{background-color:#e5e7eb;border:1px solid #d1d5db}.sp-filter-btn-clear:hover{background-color:#d1d5db}.sp-filter-btn-apply{background-color:var(--sp-text-accent);color:#fff;border:1px solid var(--sp-text-accent)}.sp-meta-bar{justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:0 .5rem;display:flex}.sp-record-count{color:var(--sp-text-secondary);font-size:.875rem}.sp-record-count strong{color:var(--sp-text-primary)}.sp-main{width:100%}.sp-loading,.sp-error,.sp-no-data{text-align:center;background-color:var(--sp-card-bg);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow);padding:4rem 2rem}.sp-no-data h2{margin-top:1rem;font-size:1.25rem;font-weight:600}.sp-no-data p{color:var(--sp-text-secondary)}.sp-cards-container{grid-template-columns:1fr;gap:1rem;display:grid}.sp-card{background-color:var(--sp-card-bg);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow);transition:box-shadow .2s}.sp-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.sp-card-main{cursor:pointer;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.sp-card-content{flex-grow:1;grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;gap:1rem;display:grid}.sp-card-subscriber{flex-direction:column;display:flex}.sp-card-subscriber-name{color:var(--sp-text-primary);font-weight:600}.sp-card-subscriber-username{color:var(--sp-text-secondary);font-size:.875rem}.sp-card-contact{flex-direction:column;font-size:.875rem;display:flex}.sp-area-badge{color:#4b5563;background-color:#f3f4f6;border-radius:999px;width:fit-content;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.sp-card-status{align-items:center;gap:.5rem;display:flex}.sp-status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.sp-status-badge.sp-status-active{color:#166534;background-color:#dcfce7}.sp-status-badge.sp-status-inactive{color:#4b5563;background-color:#e5e7eb}.sp-card-actions{align-items:center;gap:.5rem;display:flex}.sp-action-btn{cursor:pointer;color:var(--sp-text-secondary);background-color:#0000;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.4rem;transition:background-color .2s;display:flex}.sp-action-btn:hover{color:var(--sp-text-primary);background-color:#f3f4f6}.sp-action-btn-delete:hover{background-color:var(--sp-danger-bg);color:var(--sp-danger-hover)}.sp-expand-icon{transition:transform .2s}.sp-expand-icon-open{transform:rotate(180deg)}.sp-card-details{border-top:1px solid var(--sp-border-color);background-color:#fdfdfd;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1rem 1.5rem;display:grid}.sp-detail-item{flex-direction:column;gap:.25rem;display:flex}.sp-detail-item strong{color:var(--sp-text-secondary);font-size:.8rem;font-weight:600}.sp-detail-item span{color:var(--sp-text-primary);font-size:.9rem}.sp-pagination{justify-content:center;align-items:center;gap:.5rem;padding:1.5rem 0;display:flex}.sp-pagination-arrow{border:1px solid var(--sp-border-color);background:var(--sp-card-bg);cursor:pointer;border-radius:.375rem;padding:.5rem}.sp-pagination-arrow:disabled{opacity:.5;cursor:not-allowed}.sp-pagination-info{color:var(--sp-text-secondary);font-size:.875rem}.modal-box{background:var(--sp-card-bg);border-radius:var(--sp-radius);flex-direction:column;width:100%;max-width:760px;max-height:90vh;display:flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.modal-body{grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.5rem;display:grid;overflow-y:auto}.modal-field.full-width{grid-column:1/-1}.modal-field input,.modal-field select{border:1px solid var(--sp-border-color);border-radius:.375rem;width:100%;padding:.6rem .75rem;font-size:.875rem}.crud-alert{border-radius:.375rem;grid-column:1/-1;padding:1rem;font-weight:500}.crud-alert.error{background-color:var(--sp-danger-bg);color:var(--sp-danger-text)}:root{--spp-bg:#f9fafb;--spp-card-bg:#fff;--spp-border-color:#e5e7eb;--spp-text-primary:#1f2937;--spp-text-secondary:#6b7280;--spp-text-accent:#2d8b82;--spp-accent-bg:#d1fae5;--spp-header-bg:#fff;--spp-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--spp-radius:.5rem}.spp-page{background-color:var(--spp-bg);min-height:100vh;padding:1.5rem}.spp-header{background-color:var(--spp-header-bg);border-radius:var(--spp-radius);box-shadow:var(--spp-shadow);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.spp-header h1{color:var(--spp-text-primary);font-size:1.5rem;font-weight:700}.spp-controls{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.spp-sort-controls{align-items:center;gap:.5rem;display:flex}.spp-sort-controls label{color:var(--spp-text-secondary);margin-left:.5rem;font-size:.875rem;font-weight:500}.spp-sort-select{border:1px solid var(--spp-border-color);background-color:var(--spp-card-bg);border-radius:.375rem;padding:.6rem .75rem;font-size:.875rem}.spp-title{color:var(--spp-text-primary);font-size:1.5rem;font-weight:700}.spp-header-actions{gap:1rem;display:flex}.spp-filter-toggle,.spp-add-btn{border:1px solid var(--spp-border-color);cursor:pointer;border-radius:.375rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.spp-filter-toggle{background-color:var(--spp-card-bg);color:var(--spp-text-secondary)}.spp-filter-toggle:hover{background-color:#f3f4f6}.spp-filter-chevron{transition:transform .2s}.spp-filter-chevron-open{transform:rotate(180deg)}.spp-add-btn{background-color:var(--spp-text-accent);color:#fff;border-color:var(--spp-text-accent)}.spp-add-btn:hover{background-color:#26736b}.spp-filter-panel{background-color:var(--spp-card-bg);border-radius:var(--spp-radius);box-shadow:var(--spp-shadow);margin-bottom:1.5rem;padding:1.5rem}.spp-filter-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.spp-filter-input,.spp-filter-select{border:1px solid var(--spp-border-color);border-radius:.375rem;width:100%;padding:.6rem .75rem;font-size:.875rem}.spp-filter-actions{justify-content:flex-end;gap:1rem;display:flex}.spp-filter-btn{cursor:pointer;border-radius:.375rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-weight:600;transition:background-color .2s;display:flex}.spp-filter-btn-clear{background-color:#e5e7eb;border:1px solid #d1d5db}.spp-filter-btn-clear:hover{background-color:#d1d5db}.spp-filter-btn-apply{background-color:var(--spp-text-accent);color:#fff;border:1px solid var(--spp-text-accent)}.spp-meta-bar{justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:0 .5rem;display:flex}.spp-record-count{color:var(--spp-text-secondary);font-size:.875rem}.spp-record-count strong{color:var(--spp-text-primary)}.spp-main{width:100%}.spp-loading,.spp-error,.spp-no-data{text-align:center;background-color:var(--spp-card-bg);border-radius:var(--spp-radius);box-shadow:var(--spp-shadow);padding:4rem 2rem}.spp-no-data h2{margin-top:1rem;font-size:1.25rem;font-weight:600}.spp-no-data p{color:var(--spp-text-secondary)}.spp-cards-container{grid-template-columns:1fr;gap:1rem;display:grid}.spp-card{background-color:var(--spp-card-bg);border-radius:var(--spp-radius);box-shadow:var(--spp-shadow);transition:box-shadow .2s}.spp-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.spp-card-main{cursor:pointer;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.spp-card-content{flex-grow:1;grid-template-columns:2fr 2fr 1fr 1.5fr;align-items:center;gap:1rem;display:grid}.spp-card-subscriber{flex-direction:column;display:flex}.spp-card-subscriber-name{color:var(--spp-text-primary);font-weight:600}.spp-card-subscriber-username{color:var(--spp-text-secondary);font-size:.875rem}.spp-card-package-name{font-weight:500}.spp-card-payable{color:var(--spp-text-primary);text-align:right;font-size:1.125rem;font-weight:700}.spp-card-status{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.spp-status-badge,.spp-autorenew-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.spp-status-badge.spp-status-active{color:#166534;background-color:#dcfce7}.spp-status-badge.spp-status-pending{color:#854d0e;background-color:#fef9c3}.spp-status-badge.spp-status-expired{color:#991b1b;background-color:#fee2e2}.spp-status-badge.spp-status-cancelled{color:#4b5563;background-color:#e5e7eb}.spp-autorenew-badge{background-color:var(--spp-accent-bg);color:var(--spp-text-accent)}.spp-card-actions{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.spp-card-actions-left{align-items:center;gap:.5rem;display:flex}.spp-action-btn{cursor:pointer;color:var(--spp-text-secondary);background-color:#0000;border:none;border-radius:50%;padding:.4rem;transition:background-color .2s}.spp-action-btn:hover{color:var(--spp-text-primary);background-color:#f3f4f6}.spp-action-btn-delete:hover{color:#ef4444;background-color:#fee2e2}.spp-expand-icon{transition:transform .2s}.spp-expand-icon-open{transform:rotate(180deg)}.spp-card-details{border-top:1px solid var(--spp-border-color);background-color:#fdfdfd;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1rem 1.5rem;display:grid}.spp-detail-item{flex-direction:column;gap:.25rem;display:flex}.spp-detail-item strong{color:var(--spp-text-secondary);font-size:.8rem;font-weight:600}.spp-detail-item span{color:var(--spp-text-primary);font-size:.9rem}.spp-pagination{justify-content:center;align-items:center;gap:.5rem;padding:1.5rem 0;display:flex}.spp-pagination-arrow{border:1px solid var(--spp-border-color);background:var(--spp-card-bg);cursor:pointer;border-radius:.375rem;padding:.5rem}.spp-pagination-arrow:disabled{opacity:.5;cursor:not-allowed}.spp-pagination-info{color:var(--spp-text-secondary);font-size:.875rem}@media (width<=1024px){.spp-card-content{grid-template-columns:2fr 1fr;grid-template-areas:"subscriber pricing""package status"}.spp-card-subscriber{grid-area:subscriber}.spp-card-package-name{grid-area:package}.spp-card-payable{grid-area:pricing}.spp-card-status{grid-area:status}.spp-card-payable{text-align:left}}@media (width<=768px){.spp-page{padding:1rem}.spp-header{flex-direction:column;align-items:stretch;gap:1rem}.spp-card-main{flex-direction:column;align-items:stretch}.spp-card-content{grid-template-columns:1fr;grid-template-areas:"subscriber""package""pricing""status";gap:.75rem}.spp-card-actions{border-top:1px solid var(--spp-border-color);justify-content:space-between;margin-top:.75rem;padding-top:.75rem}.spp-expand-btn{margin-left:0}.spp-card-details{grid-template-columns:1fr 1fr}}@media (width<=480px){.spp-card-details{grid-template-columns:1fr;padding:1rem}.spp-header-actions{flex-direction:column;gap:.5rem}.spp-filter-grid{grid-template-columns:1fr}}:root{--cspp-font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--cspp-bg-page:#f9fafb;--cspp-bg-card:#fff;--cspp-border-color:#e5e7eb;--cspp-text-primary:#111827;--cspp-text-secondary:#4b5563;--cspp-text-tertiary:#6b7280;--cspp-text-placeholder:#9ca3af;--cspp-brand-primary:#2d8b82;--cspp-brand-primary-hover:#256e66;--cspp-brand-secondary:#f3f4f6;--cspp-brand-secondary-hover:#e5e7eb;--cspp-danger-primary:#ef4444;--cspp-danger-secondary:#fee2e2;--cspp-success-primary:#22c55e;--cspp-success-secondary:#dcfce7;--cspp-info-primary:#0f766e;--cspp-info-secondary:#f0fdfa;--cspp-focus-ring:#0f766e33;--cspp-shadow-sm:0 1px 2px 0 #0000000d;--cspp-shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--cspp-radius-sm:.25rem;--cspp-radius-md:.375rem;--cspp-radius-lg:.5rem}.cspp-page{font-family:var(--cspp-font-sans);background-color:var(--cspp-bg-page);min-height:100vh;padding:1.25rem}.cspp-container{max-width:1280px;margin:0 auto;padding:0}.cspp-form{flex-direction:column;gap:1.25rem;display:flex}.cspp-card{background-color:var(--cspp-bg-card);border:1px solid var(--cspp-border-color);border-radius:var(--cspp-radius-lg);box-shadow:var(--cspp-shadow-sm);overflow:visible}.cspp-card-title{color:var(--cspp-text-primary);border-bottom:1px solid var(--cspp-border-color);padding:1rem 1.25rem;font-size:1.125rem;font-weight:600}.cspp-card-content{padding:1.25rem}.cspp-grid{gap:1.25rem;display:grid}.cspp-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cspp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cspp-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cspp-layout-pricing{grid-template-columns:2fr 1fr 1fr 1fr;align-items:flex-end}.cspp-layout-dates{grid-template-columns:1fr 1fr 1.25fr 1fr auto;align-items:flex-end}.cspp-field{flex-direction:column;gap:.5rem;display:flex}.cspp-label{color:var(--cspp-text-secondary);font-size:.875rem;font-weight:500}.cspp-label .cspp-required{color:var(--cspp-danger-primary);margin-left:.25rem}.cspp-input,.cspp-select{border:1px solid var(--cspp-border-color);border-radius:var(--cspp-radius-md);background-color:var(--cspp-bg-card);width:100%;color:var(--cspp-text-primary);box-sizing:border-box;padding:.625rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.cspp-input:focus,.cspp-select:focus{border-color:var(--cspp-brand-primary);box-shadow:0 0 0 3px var(--cspp-focus-ring);outline:none}.cspp-input:read-only,.cspp-input:disabled{background-color:var(--cspp-bg-page);color:var(--cspp-text-tertiary);cursor:not-allowed}.cspp-input.cspp-readonly,.cspp-input.cspp-readonly:focus{color:var(--cspp-text-secondary);cursor:default;border-color:var(--cspp-border-color);box-shadow:none;background-color:#f5f7f9}.cspp-input.cspp-readonly:hover{border-color:var(--cspp-border-color);background-color:#eef1f4}.cspp-static-value{min-height:2.375rem;color:var(--cspp-text-primary);border:1px solid var(--cspp-border-color);border-radius:var(--cspp-radius-md,.375rem);background-color:#f5f7f9;align-items:center;margin:0;padding:.5rem .75rem;font-size:.875rem;line-height:1.4;display:flex}.cspp-placeholder{color:var(--cspp-text-secondary);font-style:normal}.cspp-select:not([size]){appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2rem}.cspp-input-group{grid-template-columns:1fr auto;gap:.5rem;display:grid}.cspp-toggle-field{flex-direction:column;justify-content:flex-start;gap:.5rem;display:flex}.cspp-toggle{cursor:pointer;align-items:center;gap:.75rem;margin-top:.25rem;display:inline-flex}.cspp-toggle input{display:none}.cspp-toggle-slider{background-color:#ccc;border-radius:12px;width:42px;height:24px;transition:background-color .2s;position:relative}.cspp-toggle-slider:after{content:"";width:18px;height:18px;box-shadow:var(--cspp-shadow-sm);background-color:#fff;border-radius:50%;transition:transform .2s;position:absolute;top:3px;left:3px}.cspp-toggle input:checked~.cspp-toggle-slider{background-color:var(--cspp-success-primary)}.cspp-toggle input:checked~.cspp-toggle-slider:after{transform:translate(18px)}.cspp-payable-summary{background-color:var(--cspp-info-secondary);border-top:1px solid var(--cspp-border-color);color:var(--cspp-text-secondary);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem 1.5rem;margin-top:1.25rem;padding:.75rem 1.25rem;font-size:.875rem;display:flex}.cspp-payable-summary span{align-items:center;gap:.25rem;display:inline-flex}.cspp-summary-op{color:var(--cspp-text-tertiary)}.cspp-summary-total{color:var(--cspp-text-primary);font-size:1rem;font-weight:600}.cspp-summary-total strong{color:var(--cspp-brand-primary);margin-left:.5rem}.cspp-alert{border-radius:var(--cspp-radius-md);align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:.875rem;display:flex}.cspp-alert-error{background-color:var(--cspp-danger-secondary);border:1px solid var(--cspp-danger-primary);color:#991b1b}.cspp-alert-error svg{color:var(--cspp-danger-primary)}.cspp-alert-success{background-color:var(--cspp-success-secondary);border:1px solid var(--cspp-success-primary);color:#166534}.cspp-alert-success svg{color:var(--cspp-success-primary)}.cspp-actions{justify-content:flex-end;gap:.75rem;margin-top:.25rem;display:flex}.cspp-btn{border-radius:var(--cspp-radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.cspp-btn:disabled{opacity:.6;cursor:not-allowed}.cspp-btn-primary{background-color:var(--cspp-brand-primary);color:#fff;box-shadow:var(--cspp-shadow-sm)}.cspp-btn-primary:hover:not(:disabled){background-color:var(--cspp-brand-primary-hover);box-shadow:var(--cspp-shadow-md)}.cspp-btn-secondary{background-color:var(--cspp-bg-card);color:var(--cspp-text-secondary);border-color:var(--cspp-border-color);box-shadow:var(--cspp-shadow-sm)}.cspp-btn-secondary:hover:not(:disabled){background-color:var(--cspp-brand-secondary)}@media (width<=1024px){.cspp-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.cspp-page{padding:1rem}.cspp-grid,.cspp-grid-2,.cspp-grid-3,.cspp-grid-4{grid-template-columns:1fr}.cspp-actions{flex-direction:column-reverse;gap:.75rem}.cspp-btn{width:100%}.cspp-payable-summary{flex-direction:column;align-items:flex-start;gap:.75rem}}.cspp-search-select{z-index:30;width:100%;position:relative}.cspp-search-input-wrapper{border:1px solid var(--cspp-border-color);border-radius:var(--cspp-radius-md);background-color:var(--cspp-bg-card);align-items:center;transition:border-color .15s,box-shadow .15s;display:flex}.cspp-search-input-wrapper:focus-within{border-color:var(--cspp-brand-primary);box-shadow:0 0 0 3px var(--cspp-focus-ring);outline:none}.cspp-search-input-wrapper .cspp-input{box-shadow:none;border:none;padding-right:.25rem}.cspp-search-input-wrapper .cspp-input:focus{box-shadow:none;border-color:#0000}.cspp-search-adornments{color:var(--cspp-text-tertiary);align-items:center;gap:.25rem;padding-right:.5rem;display:flex}.cspp-search-btn{cursor:pointer;color:var(--cspp-text-tertiary);background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:.15rem;display:flex}.cspp-search-btn:hover{background-color:var(--cspp-brand-secondary);color:var(--cspp-text-primary)}.cspp-search-separator{background-color:var(--cspp-border-color);width:1px;height:1.25rem}.cspp-search-options{z-index:9999;background-color:var(--cspp-bg-card);border:1px solid var(--cspp-border-color);border-radius:var(--cspp-radius-lg);box-shadow:var(--cspp-shadow-md);max-height:220px;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.cspp-search-option{color:var(--cspp-text-secondary);cursor:pointer;padding:.5rem .75rem;font-size:.875rem}.cspp-search-option:hover{background-color:var(--cspp-info-secondary);color:var(--cspp-info-primary)}.cspp-search-option-info{color:var(--cspp-text-tertiary);text-align:center;padding:.5rem .75rem;font-size:.825rem}.cspp-search-chevron{color:var(--cspp-text-tertiary);transition:transform .2s}.cspp-search-chevron.open{transform:rotate(180deg)}:root{--invp-bg:#f9fafb;--invp-card-bg:#fff;--invp-border:#e5e7eb;--invp-text-primary:#1f2937;--invp-text-secondary:#6b7280;--invp-accent:#2d8b82;--invp-accent-hover:#26736b;--invp-accent-soft:#e6f4f2;--invp-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--invp-radius:.5rem}.invp-page{background:var(--invp-bg);min-height:100vh;padding:1.5rem}.invp-controls{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.invp-filter-toggle,.invp-primary-btn,.invp-secondary-btn{cursor:pointer;border:1px solid var(--invp-border);border-radius:.4rem;align-items:center;gap:.45rem;padding:.55rem .9rem;font-size:.875rem;font-weight:600;display:inline-flex}.invp-filter-toggle,.invp-secondary-btn{color:var(--invp-text-secondary);background:var(--invp-card-bg)}.invp-filter-toggle:hover,.invp-secondary-btn:hover{background:#f3f4f6}.invp-primary-btn,.invp-pay-btn{background:var(--invp-accent);color:#fff;border:1px solid var(--invp-accent)}.invp-primary-btn:hover,.invp-pay-btn:hover{background:var(--invp-accent-hover)}.invp-chevron{transition:transform .2s}.invp-chevron.open{transform:rotate(180deg)}.invp-sort-controls{align-items:center;gap:.5rem;display:flex}.invp-sort-controls label{color:var(--invp-text-secondary);font-size:.875rem;font-weight:500}.invp-sort-controls select,.invp-field input,.invp-field select,.invp-field textarea{border:1px solid var(--invp-border);width:100%;color:var(--invp-text-primary);background:#fff;border-radius:.4rem;padding:.58rem .7rem;font-family:inherit;font-size:.875rem}.invp-sort-controls select:focus,.invp-field input:focus,.invp-field select:focus,.invp-field textarea:focus{border-color:var(--invp-accent);outline:none;box-shadow:0 0 0 3px #2d8b8229}.invp-filter-panel{background:var(--invp-card-bg);border-radius:var(--invp-radius);box-shadow:var(--invp-shadow);margin-bottom:1rem;padding:1rem}.invp-filter-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem;display:grid}.invp-filter-grid+.invp-filter-grid{margin-top:.85rem}.invp-filter-grid-search{grid-template-columns:1fr}.invp-field{flex-direction:column;gap:.35rem;display:flex}.invp-field label{color:var(--invp-text-secondary);font-size:.8125rem;font-weight:600}.invp-search-input-wrap{border:1px solid var(--invp-border);border-radius:.4rem;align-items:center;gap:.5rem;padding:0 .65rem;display:flex}.invp-search-input-wrap svg{color:var(--invp-text-secondary)}.invp-search-input-wrap input{border:none;padding-left:0}.invp-search-input-wrap input:focus{box-shadow:none}.invp-filter-actions{justify-content:flex-end;gap:.65rem;margin-top:.9rem;display:flex}.invp-meta-bar{color:var(--invp-text-secondary);justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .25rem;font-size:.875rem;display:flex}.invp-active-filter-badge{background:var(--invp-accent-soft);color:var(--invp-accent);letter-spacing:.03em;text-transform:uppercase;border:1px solid #c6e9e3;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.invp-main{width:100%}.invp-cards{grid-template-columns:1fr;gap:.9rem;display:grid}.invp-card{background:var(--invp-card-bg);border-radius:var(--invp-radius);box-shadow:var(--invp-shadow);border:1px solid var(--invp-border);overflow:hidden}.invp-card-summary{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(280px,1fr) auto auto;align-items:center;gap:1rem;width:100%;padding:1rem 1.1rem;display:grid}.invp-card-summary:focus-visible{outline:2px solid var(--invp-accent);outline-offset:-2px}.invp-summary-main{min-width:0}.invp-primary-line{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.invp-invoice-no{color:var(--invp-text-primary);font-size:1rem;font-weight:700}.invp-subscriber{color:var(--invp-text-primary);font-size:.95rem;font-weight:600}.invp-panel-user{color:var(--invp-text-secondary);font-size:.8125rem}.invp-secondary-line{color:var(--invp-text-secondary);flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.3rem;font-size:.82rem;display:flex}.invp-status{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.invp-status-unpaid{color:#991b1b;background:#fee2e2}.invp-status-partiallypaid{color:#92400e;background:#fef3c7}.invp-status-overdue{color:#7f1d1d;background:#fee2e2}.invp-status-paid{color:#166534;background:#dcfce7}.invp-status-cancelled{color:#4b5563;background:#e5e7eb}.invp-cf-badge{color:#1d4ed8;text-transform:uppercase;background:#dbeafe;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.invp-summary-amounts{align-items:center;gap:1rem;display:flex}.invp-summary-amounts>div{flex-direction:column;align-items:flex-end;min-width:88px;display:flex}.invp-summary-amounts small{color:var(--invp-text-secondary);font-size:.75rem}.invp-summary-amounts strong{color:var(--invp-text-primary);font-size:.92rem}.invp-balance-due{color:#b45309!important}.invp-credit-applied{color:#0369a1!important}.invp-credit-available{color:#15803d!important}.invp-credit-type{background:var(--invp-accent-soft);color:var(--invp-accent);border-radius:.3rem;padding:.1rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.invp-credit-type-overpayment{color:#15803d;background:#dcfce7}.invp-credit-type-creditapplied{color:#0369a1;background:#e0f2fe}.invp-summary-actions{align-items:center;gap:.45rem;display:flex}.invp-icon-btn{border:1px solid var(--invp-border);color:var(--invp-text-secondary);cursor:pointer;background:#fff;border-radius:.4rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.invp-icon-btn:hover{background:#f3f4f6}.invp-icon-btn svg{transition:transform .2s}.invp-icon-btn svg.open{transform:rotate(180deg)}.invp-pay-btn{cursor:pointer;border-radius:.4rem;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .75rem;font-size:.82rem;font-weight:700;display:inline-flex}.invp-pay-btn:disabled{cursor:not-allowed;opacity:.5}.invp-details{border-top:1px solid var(--invp-border);background:#fcfcfc;padding:.95rem 1.1rem 1rem}.invp-detail-loading{color:var(--invp-text-secondary);padding:.75rem 0;font-size:.875rem}.invp-detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.invp-detail-item{flex-direction:column;gap:.25rem;display:flex}.invp-detail-item strong{color:var(--invp-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.invp-detail-item span{color:var(--invp-text-primary);font-size:.86rem}.invp-detail-item-wide{grid-column:1/-1}.invp-subsection{margin-top:.95rem}.invp-subsection-header{justify-content:space-between;align-items:center;margin-bottom:.55rem;display:flex}.invp-subsection-header h3{color:var(--invp-text-primary);margin:0;font-size:.92rem}.invp-subsection h3{color:var(--invp-text-primary);margin:0 0 .55rem;font-size:.92rem}.invp-add-line-btn{border:1px solid var(--invp-border);background:var(--invp-bg-card);color:var(--invp-text-primary);cursor:pointer;border-radius:.35rem;align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.8rem;transition:background .15s;display:inline-flex}.invp-add-line-btn:hover{background:var(--invp-bg-hover,#f0f4ff)}.invp-del-line-btn{color:#dc3545;cursor:pointer;opacity:.65;background:0 0;border:none;border-radius:.3rem;justify-content:center;align-items:center;padding:.2rem;transition:opacity .15s;display:inline-flex}.invp-del-line-btn:hover{opacity:1}.invp-danger-btn{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:.45rem;padding:.5rem 1.1rem;font-size:.875rem;font-weight:500;transition:background .15s}.invp-danger-btn:hover:not(:disabled){background:#b02a37}.invp-danger-btn:disabled{opacity:.6;cursor:not-allowed}.invp-modal-confirm-text{color:var(--invp-text-primary);margin:0 0 1rem;font-size:.875rem;line-height:1.5}.invp-subsection-empty{color:var(--invp-text-secondary);margin:0;font-size:.84rem}.invp-table-wrap{border:1px solid var(--invp-border);border-radius:.45rem;overflow-x:auto}.invp-table-wrap table{border-collapse:collapse;width:100%;font-size:.825rem}.invp-table-wrap th,.invp-table-wrap td{border-bottom:1px solid var(--invp-border);text-align:left;white-space:nowrap;padding:.55rem .65rem}.invp-table-wrap th{color:var(--invp-text-secondary);text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;font-size:.76rem;font-weight:700}.invp-pagination{justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.invp-pagination button{border:1px solid var(--invp-border);color:var(--invp-text-secondary);cursor:pointer;background:#fff;border-radius:.4rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.invp-pagination button:disabled{opacity:.45;cursor:not-allowed}.invp-pagination span{color:var(--invp-text-secondary);font-size:.875rem}.invp-state{border:1px solid var(--invp-border);border-radius:var(--invp-radius);box-shadow:var(--invp-shadow);text-align:center;color:var(--invp-text-secondary);background:#fff;padding:2rem}.invp-state-error{color:#b91c1c;border-color:#fecaca;justify-content:center;align-items:center;gap:.5rem;width:100%;display:inline-flex}.invp-empty h2{color:var(--invp-text-primary);margin-top:.65rem;margin-bottom:.35rem;font-size:1.05rem}.invp-empty p{margin:0}.invp-modal-backdrop{z-index:80;background:#0f172a6b;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.invp-modal{background:#fff;border-radius:.6rem;width:min(620px,100%);max-height:calc(100vh - 2rem);padding:1rem;overflow-y:auto;box-shadow:0 20px 40px #0000002e}.invp-modal-header{justify-content:space-between;align-items:center;margin-bottom:.7rem;display:flex}.invp-modal-header h2{color:var(--invp-text-primary);margin:0;font-size:1.1rem}.invp-modal-context{background:var(--invp-accent-soft);color:var(--invp-text-primary);border:1px solid #c6e9e3;border-radius:.5rem;gap:.35rem;margin-bottom:.8rem;padding:.7rem;font-size:.84rem;display:grid}.invp-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.invp-field-wide{grid-column:1/-1}.invp-checkbox-row{color:var(--invp-text-secondary);align-items:center;gap:.45rem;margin-top:.75rem;font-size:.85rem;display:inline-flex}.invp-payment-error{color:#b91c1c;margin:.75rem 0 0;font-size:.85rem;font-weight:600}.invp-modal-actions{justify-content:flex-end;gap:.6rem;margin-top:.95rem;display:flex}@media (width<=1024px){.invp-card-summary{grid-template-columns:1fr;gap:.75rem}.invp-summary-amounts{justify-content:flex-start}.invp-summary-amounts>div{align-items:flex-start}}@media (width<=768px){.invp-page{padding:1rem}.invp-controls{flex-direction:column;align-items:stretch}.invp-sort-controls{grid-template-columns:1fr 1fr;width:100%;display:grid}.invp-sort-controls label{grid-column:1/-1}.invp-filter-grid{grid-template-columns:1fr}.invp-filter-actions,.invp-modal-actions{flex-direction:column-reverse}.invp-filter-actions button,.invp-modal-actions button,.invp-secondary-btn,.invp-primary-btn{justify-content:center;width:100%}.invp-meta-bar{flex-direction:column;align-items:flex-start;gap:.5rem}.invp-modal-grid{grid-template-columns:1fr}}:root{--mp-bg:#f9fafb;--mp-card-bg:#fff;--mp-border-color:#e5e7eb;--mp-text-primary:#1f2937;--mp-text-secondary:#6b7280;--mp-text-accent:#2d8b82;--mp-accent-bg:#d1fae5;--mp-header-bg:#fff;--mp-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--mp-radius:.5rem;--mp-danger-bg:#fee2e2;--mp-danger-text:#991b1b;--mp-danger-hover:#ef4444}.mp-page{background-color:var(--mp-bg);min-height:100vh;padding:1.5rem}.mp-header{background-color:var(--mp-header-bg);border-radius:var(--mp-radius);box-shadow:var(--mp-shadow);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.mp-header h1{color:var(--mp-text-primary);font-size:1.5rem;font-weight:700}.mp-controls{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.mp-search-input{border:1px solid var(--mp-border-color);border-radius:.375rem;width:300px;padding:.6rem 1rem;font-size:.875rem}.mp-add-btn{border:1px solid var(--mp-text-accent);cursor:pointer;background-color:var(--mp-text-accent);color:#fff;border-radius:.375rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.mp-add-btn:hover{background-color:#26736b}.mp-meta-bar{justify-content:flex-end;align-items:center;margin-bottom:1.5rem;padding:0 .5rem;display:flex}.mp-record-count{color:var(--mp-text-secondary);font-size:.875rem}.mp-record-count strong{color:var(--mp-text-primary)}.mp-main{width:100%}.mp-loading,.mp-error,.mp-no-data{text-align:center;background-color:var(--mp-card-bg);border-radius:var(--mp-radius);box-shadow:var(--mp-shadow);padding:4rem 2rem}.mp-no-data h2{margin-top:1rem;font-size:1.25rem;font-weight:600}.mp-no-data p{color:var(--mp-text-secondary)}.mp-cards-container{grid-template-columns:1fr;gap:1rem;display:grid}.mp-card{background-color:var(--mp-card-bg);border-radius:var(--mp-radius);box-shadow:var(--mp-shadow);justify-content:space-between;align-items:center;padding:1rem 1.5rem;transition:box-shadow .2s;display:flex}.mp-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.mp-card-content{flex-grow:1;align-items:center;gap:1rem;display:flex}.mp-card-name{color:var(--mp-text-primary);flex-basis:25%;align-items:center;font-weight:600;display:flex}.mp-card-email{color:var(--mp-text-secondary);flex-basis:25%;font-size:.875rem}.mp-card-phone,.mp-card-created{color:var(--mp-text-secondary);flex-basis:15%;font-size:.875rem}.mp-card-status{flex-basis:10%}.mp-status-badge{border-radius:999px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.mp-status-badge.active{background-color:var(--mp-accent-bg);color:var(--mp-text-accent)}.mp-status-badge.inactive{background-color:var(--mp-danger-bg);color:var(--mp-danger-text)}.mp-card-actions{align-items:center;gap:.5rem;display:flex}.mp-action-btn{cursor:pointer;color:var(--mp-text-secondary);background-color:#0000;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.4rem;transition:background-color .2s;display:flex}.mp-action-btn:hover{color:var(--mp-text-primary);background-color:#f3f4f6}.mp-toggle-btn{border:1px solid var(--mp-border-color);cursor:pointer;background-color:#0000;border-radius:.375rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s}.mp-toggle-btn.deactivate{color:var(--mp-danger-text);border-color:var(--mp-danger-hover)}.mp-toggle-btn.deactivate:hover{background-color:var(--mp-danger-bg)}.mp-toggle-btn.activate{color:var(--mp-text-accent);border-color:var(--mp-text-accent)}.mp-toggle-btn.activate:hover{background-color:var(--mp-accent-bg)}.modal-header h2{font-size:1.25rem;font-weight:600}.modal-close-btn{color:var(--mp-text-secondary);cursor:pointer;background:0 0;border:none}.modal-field input{border:1px solid var(--mp-border-color);border-radius:.375rem;width:100%;padding:.6rem .75rem;font-size:.875rem}.modal-btn{cursor:pointer;border-radius:.375rem;padding:.6rem 1.2rem;font-weight:600}.modal-btn-cancel{border:1px solid var(--mp-border-color);background-color:#fff}:root{--pp-bg:#f9fafb;--pp-card-bg:#fff;--pp-border-color:#e5e7eb;--pp-text-primary:#1f2937;--pp-text-secondary:#6b7280;--pp-text-accent:#2d8b82;--pp-accent-bg:#d1fae5;--pp-header-bg:#fff;--pp-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--pp-radius:.5rem;--pp-danger-bg:#fee2e2;--pp-danger-text:#991b1b;--pp-danger-hover:#ef4444;--pp-delegated-bg:#eff6ff;--pp-delegated-text:#1d4ed8;--pp-admin-bg:#f0fdf4;--pp-admin-text:#15803d}.pp-page{background-color:var(--pp-bg);min-height:100vh;padding:1.5rem}.pp-header{background-color:var(--pp-header-bg);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.pp-header-left{align-items:center;gap:1rem;display:flex}.pp-back-btn{border:1px solid var(--pp-border-color);cursor:pointer;color:var(--pp-text-secondary);background:#fff;border-radius:.375rem;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.pp-back-btn:hover{color:var(--pp-text-primary);background-color:#f3f4f6}.pp-header-title h1{color:var(--pp-text-primary);margin:0;font-size:1.25rem;font-weight:700}.pp-header-title p{color:var(--pp-text-secondary);margin:.1rem 0 0;font-size:.875rem}.pp-assign-btn{border:1px solid var(--pp-text-accent);cursor:pointer;background-color:var(--pp-text-accent);color:#fff;border-radius:.375rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.pp-assign-btn:hover{background-color:#26736b}.pp-layout{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=900px){.pp-layout{grid-template-columns:1fr}}.pp-panel{background-color:var(--pp-card-bg);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);overflow:hidden}.pp-panel-header{border-bottom:1px solid var(--pp-border-color);background-color:#f9fafb;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.pp-panel-header h2{color:var(--pp-text-primary);margin:0;font-size:1rem;font-weight:600}.pp-panel-count{color:var(--pp-text-secondary);background-color:var(--pp-border-color);border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:600}.pp-perm-list{margin:0;padding:0;list-style:none}.pp-perm-item{border-bottom:1px solid var(--pp-border-color);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.pp-perm-item:last-child{border-bottom:none}.pp-perm-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.pp-perm-name{color:var(--pp-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.pp-perm-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pp-perm-code{color:var(--pp-text-secondary);font-family:monospace;font-size:.75rem}.pp-type-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.pp-type-badge.admin{background-color:var(--pp-admin-bg);color:var(--pp-admin-text)}.pp-type-badge.delegated{background-color:var(--pp-delegated-bg);color:var(--pp-delegated-text)}.pp-perm-grantor{color:var(--pp-text-secondary);font-size:.75rem}.pp-revoke-btn{border:1px solid var(--pp-danger-hover);cursor:pointer;color:var(--pp-danger-text);background:0 0;border-radius:.375rem;flex-shrink:0;padding:.3rem .7rem;font-size:.78rem;font-weight:600;transition:all .2s}.pp-revoke-btn:hover{background-color:var(--pp-danger-bg)}.pp-assignable-item{border-bottom:1px solid var(--pp-border-color);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.pp-assignable-item:last-child{border-bottom:none}.pp-assignable-item.already-assigned{opacity:.5}.pp-do-assign-btn{border:1px solid var(--pp-text-accent);cursor:pointer;color:var(--pp-text-accent);background:0 0;border-radius:.375rem;flex-shrink:0;padding:.3rem .7rem;font-size:.78rem;font-weight:600;transition:all .2s}.pp-do-assign-btn:hover:not(:disabled){background-color:var(--pp-accent-bg)}.pp-do-assign-btn:disabled{opacity:.45;cursor:default;border-color:var(--pp-border-color);color:var(--pp-text-secondary)}.pp-already-badge{color:var(--pp-text-accent);background-color:var(--pp-accent-bg);border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.pp-module-group{text-transform:uppercase;letter-spacing:.06em;color:var(--pp-text-secondary);border-bottom:1px solid var(--pp-border-color);background-color:#f3f4f6;padding:.4rem 1.25rem;font-size:.72rem;font-weight:700}.pp-empty{text-align:center;color:var(--pp-text-secondary);padding:2.5rem 1.5rem;font-size:.875rem}.pp-loading{text-align:center;color:var(--pp-text-secondary);padding:2rem 1.5rem;font-size:.875rem}:root{--pa-bg:#f9fafb;--pa-card-bg:#fff;--pa-border-color:#e5e7eb;--pa-text-primary:#1f2937;--pa-text-secondary:#6b7280;--pa-text-accent:#2d8b82;--pa-accent-bg:#d1fae5;--pa-header-bg:#fff;--pa-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--pa-radius:.5rem;--pa-danger-bg:#fee2e2;--pa-danger-text:#991b1b;--pa-danger-hover:#ef4444;--pa-delegated-bg:#eff6ff;--pa-delegated-text:#1d4ed8;--pa-admin-bg:#f0fdf4;--pa-admin-text:#15803d}.pa-page{background-color:var(--pa-bg);min-height:100vh;padding:1.5rem}.pa-header{background-color:var(--pa-header-bg);border-radius:var(--pa-radius);box-shadow:var(--pa-shadow);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.pa-header-left{align-items:center;gap:1rem;display:flex}.pa-back-btn{border:1px solid var(--pa-border-color);cursor:pointer;color:var(--pa-text-secondary);background:#fff;border-radius:.375rem;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.pa-back-btn:hover{color:var(--pa-text-primary);background-color:#f3f4f6}.pa-header-title h1{color:var(--pa-text-primary);margin:0;font-size:1.25rem;font-weight:700}.pa-header-title p{color:var(--pa-text-secondary);margin:.1rem 0 0;font-size:.875rem}.pa-assign-btn{border:1px solid var(--pa-text-accent);cursor:pointer;background-color:var(--pa-text-accent);color:#fff;border-radius:.375rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.pa-assign-btn:hover{background-color:#26736b}.pa-layout{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=900px){.pa-layout{grid-template-columns:1fr}}.pa-panel{background-color:var(--pa-card-bg);border-radius:var(--pa-radius);box-shadow:var(--pa-shadow);overflow:hidden}.pa-panel-header{border-bottom:1px solid var(--pa-border-color);background-color:#f9fafb;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.pa-panel-header h2{color:var(--pa-text-primary);margin:0;font-size:1rem;font-weight:600}.pa-panel-count{color:var(--pa-text-secondary);background-color:var(--pa-border-color);border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:600}.pa-area-list{margin:0;padding:0;list-style:none}.pa-area-item{border-bottom:1px solid var(--pa-border-color);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.pa-area-item:last-child{border-bottom:none}.pa-area-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.pa-area-name{color:var(--pa-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.pa-area-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pa-type-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.pa-type-badge.admin{background-color:var(--pa-admin-bg);color:var(--pa-admin-text)}.pa-type-badge.delegated{background-color:var(--pa-delegated-bg);color:var(--pa-delegated-text)}.pa-area-assignor{color:var(--pa-text-secondary);font-size:.75rem}.pa-revoke-btn{border:1px solid var(--pa-danger-hover);cursor:pointer;color:var(--pa-danger-text);background:0 0;border-radius:.375rem;flex-shrink:0;padding:.3rem .7rem;font-size:.78rem;font-weight:600;transition:all .2s}.pa-revoke-btn:hover{background-color:var(--pa-danger-bg)}.pa-assignable-item{border-bottom:1px solid var(--pa-border-color);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.pa-assignable-item:last-child{border-bottom:none}.pa-assignable-item.already-assigned{opacity:.5}.pa-do-assign-btn{border:1px solid var(--pa-text-accent);cursor:pointer;color:var(--pa-text-accent);background:0 0;border-radius:.375rem;flex-shrink:0;padding:.3rem .7rem;font-size:.78rem;font-weight:600;transition:all .2s}.pa-do-assign-btn:hover:not(:disabled){background-color:var(--pa-accent-bg)}.pa-do-assign-btn:disabled{opacity:.45;cursor:default;border-color:var(--pa-border-color);color:var(--pa-text-secondary)}.pa-already-badge{color:var(--pa-text-accent);background-color:var(--pa-accent-bg);border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.pa-empty{text-align:center;color:var(--pa-text-secondary);padding:2.5rem 1.5rem;font-size:.875rem}.pa-loading{text-align:center;color:var(--pa-text-secondary);padding:2rem 1.5rem;font-size:.875rem}:root{--apm-bg:#f9fafb;--apm-card-bg:#fff;--apm-border-color:#e5e7eb;--apm-text-primary:#1f2937;--apm-text-secondary:#6b7280;--apm-text-accent:#2d8b82;--apm-accent-bg:#d1fae5;--apm-header-bg:#fff;--apm-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--apm-radius:.5rem;--apm-danger-bg:#fee2e2;--apm-danger-text:#991b1b;--apm-danger-hover:#ef4444;--apm-price-bg:#f0fdf4;--apm-price-text:#15803d}.apm-page{background-color:var(--apm-bg);min-height:100vh;padding:1.5rem}.apm-header{background-color:var(--apm-header-bg);border-radius:var(--apm-radius);box-shadow:var(--apm-shadow);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.apm-header h1{color:var(--apm-text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.5rem;font-weight:700;display:flex}.apm-header-sub{color:var(--apm-text-secondary);margin:.15rem 0 0;font-size:.875rem}.apm-selector-card{background-color:var(--apm-card-bg);border-radius:var(--apm-radius);box-shadow:var(--apm-shadow);flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.apm-selector-label{color:var(--apm-text-primary);white-space:nowrap;font-size:.9rem;font-weight:600}.apm-selector-select{border:1px solid var(--apm-border-color);min-width:220px;max-width:420px;color:var(--apm-text-primary);cursor:pointer;background:#fff;border-radius:.375rem;flex:1;padding:.6rem .85rem;font-size:.9rem}.apm-selector-hint{color:var(--apm-text-secondary);font-size:.8rem}.apm-assign-btn{border:1px solid var(--apm-text-accent);cursor:pointer;background-color:var(--apm-text-accent);color:#fff;border-radius:.375rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.apm-assign-btn:hover{background-color:#26736b}.apm-layout{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=900px){.apm-layout{grid-template-columns:1fr}}.apm-panel{background-color:var(--apm-card-bg);border-radius:var(--apm-radius);box-shadow:var(--apm-shadow);overflow:hidden}.apm-panel-header{border-bottom:1px solid var(--apm-border-color);background-color:#f9fafb;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.apm-panel-header h2{color:var(--apm-text-primary);margin:0;font-size:1rem;font-weight:600}.apm-panel-count{color:var(--apm-text-secondary);background-color:var(--apm-border-color);border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:600}.apm-pkg-list{margin:0;padding:0;list-style:none}.apm-pkg-item{border-bottom:1px solid var(--apm-border-color);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.apm-pkg-item:last-child{border-bottom:none}.apm-pkg-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.apm-pkg-name{color:var(--apm-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.apm-pkg-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.apm-price-badge{color:var(--apm-price-text);background-color:var(--apm-price-bg);border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.apm-pkg-assignor{color:var(--apm-text-secondary);font-size:.75rem}.apm-revoke-btn{border:1px solid var(--apm-danger-hover);cursor:pointer;color:var(--apm-danger-text);background:0 0;border-radius:.375rem;flex-shrink:0;padding:.3rem .7rem;font-size:.78rem;font-weight:600;transition:all .2s}.apm-revoke-btn:hover{background-color:var(--apm-danger-bg)}.apm-assignable-item{border-bottom:1px solid var(--apm-border-color);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.apm-assignable-item:last-child{border-bottom:none}.apm-assignable-item.already-mapped{opacity:.5}.apm-do-assign-btn{border:1px solid var(--apm-text-accent);cursor:pointer;color:var(--apm-text-accent);background:0 0;border-radius:.375rem;flex-shrink:0;padding:.3rem .7rem;font-size:.78rem;font-weight:600;transition:all .2s}.apm-do-assign-btn:hover:not(:disabled){background-color:var(--apm-accent-bg)}.apm-do-assign-btn:disabled{opacity:.45;cursor:default;border-color:var(--apm-border-color);color:var(--apm-text-secondary)}.apm-already-badge{color:var(--apm-text-accent);background-color:var(--apm-accent-bg);border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.apm-empty{text-align:center;color:var(--apm-text-secondary);padding:2.5rem 1.5rem;font-size:.875rem}.apm-loading{text-align:center;color:var(--apm-text-secondary);padding:2rem 1.5rem;font-size:.875rem}.apm-no-area{text-align:center;color:var(--apm-text-secondary);grid-column:1/-1;padding:3rem 1.5rem;font-size:.9rem}.modal-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-box{background:var(--apm-card-bg);border-radius:var(--apm-radius);flex-direction:column;width:100%;max-width:480px;display:flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.modal-header h2{margin:0;font-size:1.125rem;font-weight:600}.modal-close-btn{color:var(--apm-text-secondary);cursor:pointer;background:0 0;border:none;display:flex}.modal-field label{font-size:.875rem;font-weight:500}.modal-field select,.modal-field textarea{border:1px solid var(--apm-border-color);background:#fff;border-radius:.375rem;width:100%;padding:.6rem .75rem;font-size:.875rem}.modal-field textarea{resize:vertical;min-height:72px}.modal-footer{border-top:1px solid var(--apm-border-color);background-color:#f9fafb;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.modal-btn{cursor:pointer;border-radius:.375rem;padding:.55rem 1.1rem;font-size:.875rem;font-weight:600}.modal-btn-cancel{border:1px solid var(--apm-border-color);color:var(--apm-text-primary);background-color:#fff}.modal-btn-save{background-color:var(--apm-text-accent);color:#fff;border:1px solid var(--apm-text-accent)}.modal-btn-save:disabled{opacity:.6;cursor:default}:root{--pv-bg:#f9fafb;--pv-card-bg:#fff;--pv-border-color:#e5e7eb;--pv-text-primary:#1f2937;--pv-text-secondary:#6b7280;--pv-text-accent:#2d8b82;--pv-accent-bg:#d1fae5;--pv-header-bg:#fff;--pv-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--pv-radius:.5rem;--pv-danger-bg:#fee2e2;--pv-danger-text:#991b1b;--pv-danger-hover:#ef4444}.pv-page{background-color:var(--pv-bg);min-height:100vh;padding:1.5rem}.pv-header{background-color:var(--pv-header-bg);border-radius:var(--pv-radius);box-shadow:var(--pv-shadow);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.pv-header h1{color:var(--pv-text-primary);font-size:1.5rem;font-weight:700}.pv-controls{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.pv-search-input{border:1px solid var(--pv-border-color);border-radius:.375rem;width:300px;padding:.6rem 1rem;font-size:.875rem}.pv-add-btn{border:1px solid var(--pv-text-accent);cursor:pointer;background-color:var(--pv-text-accent);color:#fff;border-radius:.375rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.pv-add-btn:hover{background-color:#26736b}.pv-meta-bar{justify-content:flex-end;align-items:center;margin-bottom:1.5rem;padding:0 .5rem;display:flex}.pv-record-count{color:var(--pv-text-secondary);font-size:.875rem}.pv-main{width:100%}.pv-loading,.pv-error{text-align:center;color:var(--pv-text-secondary);padding:2rem;font-size:.875rem}.pv-error{color:var(--pv-danger-text)}.pv-no-data{color:var(--pv-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:4rem 2rem;display:flex}.pv-no-data h2{color:var(--pv-text-primary);margin:0;font-size:1.125rem;font-weight:600}.pv-no-data p{margin:0;font-size:.875rem}.pv-cards-container{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.pv-card{background-color:var(--pv-card-bg);border:1px solid var(--pv-border-color);border-radius:var(--pv-radius);box-shadow:var(--pv-shadow);justify-content:space-between;align-items:center;padding:1rem 1.25rem;transition:box-shadow .2s;display:flex}.pv-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.pv-card-content{flex-direction:column;gap:.4rem;min-width:0;display:flex}.pv-card-name{color:var(--pv-text-primary);align-items:center;font-size:.9375rem;font-weight:600;display:flex}.pv-status-badge{border-radius:9999px;width:fit-content;padding:.125rem .625rem;font-size:.75rem;font-weight:600;display:inline-block}.pv-status-badge.active{color:#065f46;background-color:#d1fae5}.pv-status-badge.inactive{color:#991b1b;background-color:#fee2e2}.pv-card-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.pv-action-btn{border:1px solid var(--pv-border-color);width:2rem;height:2rem;color:var(--pv-text-secondary);cursor:pointer;background:0 0;border-radius:.375rem;justify-content:center;align-items:center;transition:all .15s;display:flex}.pv-action-btn:hover{background-color:var(--pv-accent-bg);color:var(--pv-text-accent);border-color:var(--pv-text-accent)}.pv-action-btn-delete:hover{background-color:var(--pv-danger-bg);color:var(--pv-danger-text);border-color:var(--pv-danger-hover)}.modal-overlay{z-index:50;background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:.75rem;width:100%;max-width:480px;overflow:hidden;box-shadow:0 20px 60px #0003}.modal-header{border-bottom:1px solid var(--pv-border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2{color:var(--pv-text-primary);margin:0;font-size:1.125rem;font-weight:700}.modal-close-btn{cursor:pointer;color:var(--pv-text-secondary);background:0 0;border:none;border-radius:.25rem;align-items:center;padding:.25rem;display:flex}.modal-close-btn:hover{color:var(--pv-text-primary)}.modal-body{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.modal-field{flex-direction:column;gap:.375rem;display:flex}.modal-field label{color:var(--pv-text-primary);font-size:.875rem;font-weight:500}.modal-field input[type=text],.modal-field input:not([type=checkbox]){border:1px solid var(--pv-border-color);border-radius:.375rem;outline:none;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.modal-field input:focus{border-color:var(--pv-text-accent)}.modal-field-checkbox{flex-direction:row;align-items:center;gap:.5rem}.modal-footer{border-top:1px solid var(--pv-border-color);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:.375rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:opacity .15s}.modal-btn:disabled{opacity:.6;cursor:not-allowed}.modal-btn-cancel{background-color:var(--pv-bg);border:1px solid var(--pv-border-color);color:var(--pv-text-primary)}.modal-btn-cancel:hover{background-color:#f3f4f6}.modal-btn-save{background-color:var(--pv-text-accent);color:#fff}.modal-btn-save:hover:not(:disabled){background-color:#26736b}.ec-page{max-width:900px;margin:0 auto;padding:1.5rem}.ec-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.ec-title{align-items:center;gap:.5rem;display:flex}.ec-title h1{margin:0;font-size:1.4rem;font-weight:700}.ec-toolbar{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.ec-search{border:1px solid var(--border-color,#d1d5db);border-radius:6px;flex:1;max-width:320px;padding:.5rem .75rem;font-size:.9rem}.ec-count{color:var(--text-muted,#6b7280);font-size:.85rem}.ec-status{text-align:center;color:var(--text-muted,#6b7280);padding:2rem}.ec-error{color:var(--danger-color,#ef4444)}.ec-table-wrap{border:1px solid var(--border-color,#e5e7eb);border-radius:8px;overflow-x:auto}.ec-table{border-collapse:collapse;width:100%;font-size:.9rem}.ec-table thead th{background:var(--table-head-bg,#f9fafb);text-align:left;color:var(--text-secondary,#374151);border-bottom:1px solid var(--border-color,#e5e7eb);padding:.65rem 1rem;font-weight:600}.ec-table tbody tr{border-bottom:1px solid var(--border-color,#f3f4f6);transition:background .12s}.ec-table tbody tr:hover{background:var(--table-hover-bg,#f9fafb)}.ec-table tbody tr:last-child{border-bottom:none}.ec-row-inactive{opacity:.6}.ec-table td{vertical-align:middle;padding:.65rem 1rem}.ec-id{color:var(--text-muted,#9ca3af);font-size:.8rem}.ec-date{color:var(--text-muted,#6b7280);font-size:.82rem}.ec-name{font-weight:500}.ec-badge{border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.ec-badge-active{color:#065f46;background:#d1fae5}.ec-badge-inactive{color:#6b7280;background:#f3f4f6}.ec-empty{text-align:center;color:var(--text-muted,#9ca3af);flex-direction:column;align-items:center;gap:.5rem;padding:3rem;display:flex}.ec-actions{gap:.4rem;display:flex}.ec-btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.ec-btn-primary:hover:not(:disabled){background:var(--accent-dark)}.ec-btn-primary:disabled{opacity:.6;cursor:not-allowed}.ec-btn-secondary{border:1px solid var(--border-color,#d1d5db);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background .15s}.ec-btn-secondary:hover:not(:disabled){background:var(--table-hover-bg,#f3f4f6)}.ec-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.ec-btn-icon{cursor:pointer;color:var(--text-secondary,#4b5563);background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;padding:.35rem;transition:background .12s,color .12s;display:inline-flex}.ec-btn-icon:hover{background:var(--table-hover-bg,#f3f4f6);border-color:var(--border-color,#d1d5db)}.ec-modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ec-modal{background:var(--card-bg,#fff);border-radius:10px;width:100%;max-width:420px;padding:1.5rem;box-shadow:0 8px 32px #0000002e}.ec-modal-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.ec-modal-header h2{margin:0;font-size:1.1rem;font-weight:700}.ec-form-group{margin-bottom:1rem}.ec-form-group label{color:var(--text-secondary,#374151);margin-bottom:.35rem;font-size:.85rem;font-weight:500;display:block}.ec-form-group input[type=text],.ec-form-group input:not([type=checkbox]){border:1px solid var(--border-color,#d1d5db);box-sizing:border-box;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.9rem}.ec-form-check{align-items:center;gap:.5rem;display:flex}.ec-form-check label{margin-bottom:0}.ec-modal-footer{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.PhotoView-Portal{touch-action:none;z-index:2000;direction:ltr;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}@keyframes PhotoView__rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes PhotoView__delayIn{0%,50%{opacity:0}to{opacity:1}}.PhotoView__Spinner{animation:.4s linear both PhotoView__delayIn}.PhotoView__Spinner svg{animation:.6s linear infinite PhotoView__rotate}.PhotoView__Photo{cursor:grab;-webkit-user-select:none;user-select:none;max-width:none}.PhotoView__Photo:active{cursor:grabbing}.PhotoView__icon{display:inline-block;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.PhotoView__PhotoBox,.PhotoView__PhotoWrap{touch-action:none;direction:ltr;width:100%;position:absolute;inset:0}.PhotoView__PhotoWrap{z-index:10;overflow:hidden}.PhotoView__PhotoBox{transform-origin:0 0}@keyframes PhotoView__fade{0%{opacity:0}to{opacity:1}}.PhotoView-Slider__clean .PhotoView-Slider__ArrowLeft,.PhotoView-Slider__clean .PhotoView-Slider__ArrowRight,.PhotoView-Slider__clean .PhotoView-Slider__BannerWrap,.PhotoView-Slider__clean .PhotoView-Slider__Overlay,.PhotoView-Slider__willClose .PhotoView-Slider__BannerWrap:hover{opacity:0}.PhotoView-Slider__Backdrop{z-index:-1;background:#000;width:100%;height:100%;transition-property:background-color;position:absolute;top:0;left:0}.PhotoView-Slider__fadeIn{opacity:0;animation:linear both PhotoView__fade}.PhotoView-Slider__fadeOut{opacity:0;animation:linear reverse both PhotoView__fade}.PhotoView-Slider__BannerWrap{color:#fff;z-index:20;background-color:#00000080;justify-content:space-between;align-items:center;width:100%;height:44px;transition:opacity .2s ease-out;display:flex;position:absolute;top:0;left:0}.PhotoView-Slider__BannerWrap:hover{opacity:1}.PhotoView-Slider__Counter{opacity:.75;padding:0 10px;font-size:14px}.PhotoView-Slider__BannerRight{align-items:center;height:100%;display:flex}.PhotoView-Slider__toolbarIcon{fill:#fff;box-sizing:border-box;cursor:pointer;opacity:.75;padding:10px;transition:opacity .2s linear}.PhotoView-Slider__toolbarIcon:hover{opacity:1}.PhotoView-Slider__ArrowLeft,.PhotoView-Slider__ArrowRight{cursor:pointer;opacity:.75;-webkit-user-select:none;user-select:none;z-index:20;justify-content:center;align-items:center;width:70px;height:100px;margin:auto;transition:opacity .2s linear;display:flex;position:absolute;top:0;bottom:0}.PhotoView-Slider__ArrowLeft:hover,.PhotoView-Slider__ArrowRight:hover{opacity:1}.PhotoView-Slider__ArrowLeft svg,.PhotoView-Slider__ArrowRight svg{fill:#fff;box-sizing:content-box;background:#0000004d;width:24px;height:24px;padding:10px}.PhotoView-Slider__ArrowLeft{left:0}.PhotoView-Slider__ArrowRight{right:0}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:hidden}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:-1;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}.bex-page{padding:1.5rem}.bex-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.bex-title{align-items:center;gap:.5rem;display:flex}.bex-title h1{margin:0;font-size:1.4rem;font-weight:700}.bex-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.bex-search,.bex-select,.bex-form-group input,.bex-form-group select,.bex-form-group textarea{border:1px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);color:var(--text-primary,#111827);box-sizing:border-box;border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.bex-search{flex:1;min-width:260px;max-width:420px}.bex-count{color:var(--text-muted,#6b7280);font-size:.85rem}.bex-status{text-align:center;color:var(--text-muted,#6b7280);padding:2rem}.bex-error{color:var(--danger-color,#ef4444)}.bex-table-wrap{border:1px solid var(--border-color,#e5e7eb);border-radius:8px;overflow-x:auto}.bex-table{border-collapse:collapse;width:100%;font-size:.9rem}.bex-table th{text-align:left;background:var(--table-head-bg,#f9fafb);border-bottom:1px solid var(--border-color,#e5e7eb);color:var(--text-secondary,#374151);padding:.65rem .85rem;font-weight:600}.bex-table td{border-bottom:1px solid var(--border-color,#f3f4f6);vertical-align:middle;padding:.65rem .85rem}.bex-row:hover,.bex-row-expanded{background:var(--table-hover-bg,#f9fafb)}.bex-expand-cell{text-align:center;width:40px}.bex-date,.bex-payer,.bex-account,.bex-category{white-space:nowrap}.bex-amount{color:var(--text-primary,#111827);font-weight:600}.bex-badge{border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.bex-badge-pending{color:#92400e;background:#fef3c7}.bex-badge-approved{color:#065f46;background:#d1fae5}.bex-badge-rejected{color:#991b1b;background:#fee2e2}.bex-actions{align-items:center;gap:.4rem;min-width:170px;display:flex}.bex-empty{text-align:center;color:var(--text-muted,#9ca3af);flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;display:flex}.bex-detail-row td{background:var(--table-hover-bg,#f8fafc)}.bex-detail{color:var(--text-secondary,#4b5563);gap:.35rem;font-size:.85rem;display:grid}.bex-btn-primary,.bex-btn-secondary,.bex-btn-approve,.bex-btn-reject,.bex-btn-approve-solid,.bex-btn-reject-solid{cursor:pointer;border-radius:6px;font-size:.84rem;font-weight:500;transition:all .15s}.bex-btn-primary{background:var(--accent);color:#fff;border:none;align-items:center;gap:.35rem;padding:.5rem .95rem;display:inline-flex}.bex-btn-primary:hover:not(:disabled){background:var(--accent-dark)}.bex-btn-secondary{border:1px solid var(--border-color,#d1d5db);color:var(--text-primary,#111827);background:0 0;padding:.5rem .9rem}.bex-btn-secondary:hover:not(:disabled){background:var(--table-hover-bg,#f3f4f6)}.bex-btn-approve,.bex-btn-reject{background:0 0;border:1px solid #0000;align-items:center;gap:.3rem;padding:.35rem .55rem;display:inline-flex}.bex-btn-approve{color:#047857}.bex-btn-approve:hover{background:#ecfdf5;border-color:#a7f3d0}.bex-btn-reject{color:#b91c1c}.bex-btn-reject:hover{background:#fef2f2;border-color:#fecaca}.bex-btn-approve-solid{color:#fff;background:#059669;border:none;padding:.5rem .95rem}.bex-btn-approve-solid:hover:not(:disabled){background:#047857}.bex-btn-reject-solid{color:#fff;background:#dc2626;border:none;padding:.5rem .95rem}.bex-btn-reject-solid:hover:not(:disabled){background:#b91c1c}.bex-btn-icon{cursor:pointer;color:var(--text-secondary,#4b5563);background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;padding:.3rem;display:inline-flex}.bex-btn-icon:hover{background:var(--table-hover-bg,#f3f4f6);border-color:var(--border-color,#d1d5db)}.bex-modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bex-modal{background:var(--card-bg,#fff);border-radius:10px;width:100%;max-width:540px;padding:1.4rem;box-shadow:0 10px 36px #0003}.bex-modal-sm{max-width:460px}.bex-modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.bex-modal-header h2{margin:0;font-size:1.1rem;font-weight:700}.bex-form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.bex-form-group{margin-bottom:.9rem}.bex-form-group label{color:var(--text-secondary,#374151);margin-bottom:.35rem;font-size:.84rem;font-weight:500;display:block}.bex-form-group textarea{resize:vertical;width:100%}.bex-action-desc{color:var(--text-secondary,#374151);margin:0 0 .9rem;font-size:.9rem;line-height:1.35}.bex-modal-footer{justify-content:flex-end;gap:.7rem;margin-top:1.25rem;display:flex}@media (width<=768px){.bex-page{padding:1rem}.bex-form-row{grid-template-columns:1fr}}.btx-page{padding:1.5rem}.btx-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.btx-title{align-items:center;gap:.5rem;display:flex}.btx-title h1{margin:0;font-size:1.35rem;font-weight:700}.btx-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.btx-toolbar input,.btx-toolbar select,.btx-form-group input,.btx-form-group select{border:1px solid var(--border-color,#d1d5db);border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.btx-search{width:360px;min-width:260px}.btx-count{color:var(--text-muted,#6b7280);font-size:.85rem}.btx-state{text-align:center;color:var(--text-muted,#6b7280);padding:1rem}.btx-state-error{color:#dc2626}.btx-table-wrap{border:1px solid var(--border-color,#e5e7eb);border-radius:8px;overflow-x:auto}.btx-table{border-collapse:collapse;width:100%;font-size:.9rem}.btx-table th{text-align:left;border-bottom:1px solid var(--border-color,#e5e7eb);background:var(--table-head-bg,#f9fafb);padding:.65rem .85rem;font-weight:600}.btx-table td{border-bottom:1px solid var(--border-color,#f3f4f6);padding:.65rem .85rem}.btx-table tr:hover{background:var(--table-hover-bg,#f9fafb)}.btx-empty{text-align:center;color:var(--text-muted,#9ca3af);padding:2rem!important}.btx-amount{font-weight:600}.btx-actions{align-items:center;gap:.35rem;display:flex}.btx-badge{border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.btx-badge-pending{color:#92400e;background:#fef3c7}.btx-badge-confirmed{color:#065f46;background:#d1fae5}.btx-badge-voided{color:#991b1b;background:#fee2e2}.btx-pagination{justify-content:flex-end;align-items:center;gap:.6rem;margin-top:.9rem;display:flex}.btx-btn-primary,.btx-btn-secondary,.btx-btn-success,.btx-btn-danger,.btx-btn-icon{cursor:pointer;border-radius:6px;font-size:.85rem}.btx-btn-primary{background:var(--accent);color:#fff;border:none;align-items:center;gap:.35rem;padding:.5rem .95rem;display:inline-flex}.btx-btn-primary:hover:not(:disabled){background:var(--accent-dark)}.btx-btn-secondary{border:1px solid var(--border-color,#d1d5db);background:0 0;padding:.45rem .8rem}.btx-btn-success{color:#fff;background:#059669;border:none;padding:.5rem .95rem}.btx-btn-danger{color:#fff;background:#dc2626;border:none;padding:.5rem .95rem}.btx-btn-icon{background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.btx-btn-icon:hover{background:#f3f4f6;border-color:#d1d5db}.btx-btn-icon-success{color:#047857}.btx-btn-icon-danger{color:#b91c1c}button:disabled{opacity:.65;cursor:not-allowed}.btx-modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.btx-modal{background:var(--card-bg,#fff);border-radius:10px;width:100%;max-width:580px;padding:1.3rem;box-shadow:0 10px 34px #0003}.btx-modal-sm{max-width:450px}.btx-modal-md{max-width:700px}.btx-modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.btx-modal-header h2{margin:0;font-size:1.1rem}.btx-form-row{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.btx-form-group{margin-bottom:.85rem}.btx-form-group label{color:var(--text-secondary,#374151);margin-bottom:.35rem;font-size:.84rem;display:block}.btx-form-group input,.btx-form-group select{box-sizing:border-box;width:100%}.btx-modal-footer{justify-content:flex-end;gap:.65rem;margin-top:1rem;display:flex}.btx-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.btx-detail-grid>div{border:1px solid var(--border-color,#e5e7eb);border-radius:8px;padding:.55rem .65rem}.btx-detail-grid span{color:var(--text-muted,#6b7280);margin-bottom:.2rem;font-size:.78rem;display:block}.btx-detail-grid strong{color:var(--text-primary,#111827);font-size:.9rem}.btx-detail-full{grid-column:1/-1}.btx-selected-files{border:1px solid var(--border-color,#e5e7eb);border-radius:8px;max-height:160px;margin-top:.5rem;overflow-y:auto}.btx-selected-file-row{border-bottom:1px solid var(--border-color,#f3f4f6);justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .5rem;display:flex}.btx-selected-file-row:last-child{border-bottom:none}.btx-selected-file-row span{color:var(--text-secondary,#374151);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.btx-attachments-section{border-top:1px solid var(--border-color,#e5e7eb);margin-top:1rem;padding-top:.85rem}.btx-attachments-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem;display:flex}.btx-attachments-header h3{margin:0;font-size:1rem}.btx-upload-label{align-items:center;display:inline-flex;position:relative}.btx-upload-label input{opacity:0;cursor:pointer;position:absolute;inset:0}.btx-upload-label span{border:1px solid var(--border-color,#d1d5db);background:#fff;border-radius:6px;padding:.4rem .65rem;font-size:.82rem}.btx-empty-attachments{color:var(--text-muted,#6b7280);padding:.35rem 0;font-size:.85rem}.btx-attachments-list{flex-direction:column;gap:.65rem;display:flex}.btx-attachment-item{border:1px solid var(--border-color,#e5e7eb);border-radius:8px;padding:.55rem}.btx-attachment-meta{flex-direction:column;gap:.25rem;display:flex}.btx-attachment-meta span{color:var(--text-muted,#6b7280);font-size:.78rem}.btx-attachment-actions{align-items:center;gap:.4rem;display:inline-flex}.btx-attachment-actions a{color:var(--accent);font-size:.82rem;text-decoration:none}.btx-attachment-preview{object-fit:contain;border:1px solid var(--border-color,#e5e7eb);background:#fff;border-radius:6px;width:100%;max-height:180px;margin-top:.5rem}@media (width<=860px){.btx-form-row,.btx-detail-grid{grid-template-columns:1fr}}.bsum-page{flex-direction:column;gap:18px;display:flex}.bsum-card{overflow:hidden}.bsum-header-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.bsum-search-wrap{border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;min-width:280px;padding:6px 10px;display:inline-flex}.bsum-search-wrap input{background:0 0;border:none;outline:none;width:100%;font-size:13px}.bsum-muted{color:var(--text-secondary);font-size:12px}.bsum-table-wrap{width:100%;overflow-x:auto}.bsum-table{border-collapse:collapse;width:100%;min-width:720px}.bsum-table th,.bsum-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:10px 12px;font-size:13px}.bsum-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;font-size:11.5px;font-weight:600}.bsum-owner-cell{flex-direction:column;gap:2px;display:flex}.bsum-owner-cell small{color:var(--text-secondary)}.bsum-money-positive{color:var(--success);font-weight:600}.bsum-money-negative{color:var(--danger);font-weight:600}.bsum-status{border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.bsum-status.active{background:var(--success-bg);color:var(--success)}.bsum-status.inactive{background:var(--danger-bg);color:var(--danger)}.bsum-btn-link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.bsum-btn-link:hover{text-decoration:underline}.bsum-pager{justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;display:flex}.bsum-btn-secondary{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:12px}.bsum-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.bsum-empty{color:var(--text-secondary);margin:0;font-size:13px}.bsum-state{color:var(--text-secondary);font-size:13px}.bsum-state-error{color:var(--danger)}.bsum-modal-backdrop{z-index:120;background:#0f172a73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.bsum-modal{background:var(--bg-card);border:1px solid var(--border);width:min(1000px,95vw);max-height:90vh;box-shadow:var(--shadow-md);border-radius:14px;padding:14px;overflow:auto}.bsum-modal-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.bsum-modal-header h3{margin:0;font-size:16px}.bsum-btn-icon{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.bsum-detail-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-bottom:12px;font-size:13px;display:grid}@media (width<=768px){.bsum-search-wrap{min-width:100%}.bsum-header-row{flex-direction:column;align-items:stretch}}
