.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}*,: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-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{border-bottom:1px solid var(--apm-border-color);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.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-body{flex-direction:column;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.modal-field{flex-direction:column;gap:.4rem;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}
