.ui-modal{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:9999}.ui-modal.hidden{display:none}.ui-modal-dialog{background:#fff;width:520px;max-width:90%;border-radius:12px;box-shadow:0 20px 50px #0003;overflow:hidden}.ui-modal-header,.ui-modal-footer{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.ui-modal-footer{border-top:1px solid #e5e7eb;border-bottom:none}.ui-modal-body{padding:20px}.form-group{margin-bottom:14px}.form-group label{display:block;font-weight:600;margin-bottom:4px}.form-input{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:8px 10px}.ui-table{width:100%;border-collapse:collapse}.ui-table th,.ui-table td{padding:10px 12px;border-bottom:1px solid #e5e7eb}.pekppp-ui{--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text: #0f172a;--color-muted: #64748b;--color-primary: #0f172a;--radius-sm: 6px;--radius-md: 10px;--shadow-sm: 0 1px 2px rgba(2,6,23,.04);--shadow-md: 0 6px 16px rgba(2,6,23,.06);margin:0}.pekppp-ui .pekppp-layout{height:100vh;display:flex;overflow:hidden;gap:16px}.pekppp-ui .pekppp-main{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden}.pekppp-ui .pekppp-content{background:var(--color-bg);overflow:auto;padding-left:12px}.pekppp-ui .pekppp-topbar{height:64px;flex:0 0 64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px #0206170a;position:relative;z-index:40}.pekppp-ui .topbar-left,.pekppp-ui .topbar-right{display:flex;align-items:center;gap:16px}.pekppp-ui .topbar-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;color:#64748b;transition:all .12s ease}.pekppp-ui .topbar-toggle:hover{background:#0206170a;border-color:#0f172a;color:#0f172a}.pekppp-ui .topbar-toggle svg{width:20px;height:20px}.pekppp-ui .topbar-title-wrapper{display:flex;flex-direction:column;gap:2px}.pekppp-ui .topbar-title{font-size:16px;font-weight:600;color:#0f172a;line-height:1.2;margin:0}.pekppp-ui .topbar-subtitle{font-size:12px;color:#64748b;line-height:1.2;margin:0}.pekppp-ui .btn-cache-clear{padding:8px 14px;font-size:13px;font-weight:500;background:transparent;border:1px solid #e2e8f0;border-radius:8px;color:#0f172a;cursor:pointer;transition:all .12s ease}.pekppp-ui .btn-cache-clear:hover{background:#0206170a;border-color:#0f172a}.pekppp-ui .profile-widget{position:relative}.pekppp-ui .profile-btn{display:flex;align-items:center;gap:12px;padding:6px 12px 6px 6px;border-radius:8px;background:transparent;border:1px solid transparent;cursor:pointer;transition:all .12s ease}.pekppp-ui .profile-btn:hover{background:#0206170a;border-color:#e2e8f0}.pekppp-ui .profile-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-radius:50%;font-size:15px;font-weight:700;flex-shrink:0}.pekppp-ui .profile-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.pekppp-ui .profile-text .name{font-size:14px;font-weight:600;color:#0f172a;line-height:1.2;white-space:nowrap}.pekppp-ui .profile-text .subtitle{font-size:12px;font-weight:400;color:#64748b;line-height:1.2;white-space:nowrap}.pekppp-ui .profile-chevron{width:18px;height:18px;color:#64748b;transition:transform .15s ease,color .15s ease;flex-shrink:0;margin-left:4px}.pekppp-ui .profile-widget.open .profile-chevron{transform:rotate(180deg);color:#0f172a}.pekppp-ui .profile-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:280px;max-width:320px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 25px #0f172a1a,0 4px 10px #0f172a0f;opacity:0;transform:translateY(-8px) scale(.95);pointer-events:none;transition:opacity .18s ease,transform .18s ease;overflow:hidden;z-index:50}.pekppp-ui .profile-widget.open .profile-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.pekppp-ui .profile-menu-header{padding:16px;background:linear-gradient(180deg,rgba(15,23,42,.02),transparent);border-bottom:1px solid #e2e8f0}.pekppp-ui .profile-menu-name{font-size:15px;font-weight:600;color:#0f172a;margin-bottom:4px;line-height:1.3}.pekppp-ui .profile-menu-email{font-size:13px;color:#64748b;line-height:1.3;word-break:break-word}.pekppp-ui .profile-menu-notice{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#3b82f614;border-bottom:1px solid rgba(59,130,246,.15);font-size:11px;font-weight:600;color:#2563eb;text-transform:uppercase;letter-spacing:.02em}.pekppp-ui .profile-menu-notice svg{width:16px;height:16px;flex-shrink:0}.pekppp-ui .profile-menu-section{padding:12px 16px}.pekppp-ui .profile-menu-role{padding:0}.pekppp-ui .role-title{font-size:14px;font-weight:600;color:#0f172a;margin-bottom:4px;line-height:1.3}.pekppp-ui .role-subtitle{font-size:12px;color:#64748b;line-height:1.4}.pekppp-ui .profile-menu-divider{height:1px;background:#e2e8f0;margin:0}.pekppp-ui .profile-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:transparent;border:none;text-align:left;font-size:13px;font-weight:500;color:#0f172a;cursor:pointer;transition:background .1s ease,color .1s ease}.pekppp-ui .profile-menu-item svg{width:18px;height:18px;flex-shrink:0}.pekppp-ui .profile-menu-item:hover{background:#0206170a}.pekppp-ui .profile-menu-item.danger{color:#ef4444}.pekppp-ui .profile-menu-item.danger:hover{background:#ef444414;color:#dc2626}@media(max-width:768px){.pekppp-ui .pekppp-topbar{padding:0 16px}.pekppp-ui .topbar-left,.pekppp-ui .topbar-right{gap:12px}.pekppp-ui .btn-cache-clear,.pekppp-ui .profile-text,.pekppp-ui .profile-chevron{display:none}.pekppp-ui .profile-btn{padding:6px}.pekppp-ui .profile-menu{right:-8px;min-width:260px}}@media(max-width:480px){.pekppp-ui .topbar-title{font-size:14px}.pekppp-ui .profile-menu{right:-16px;left:16px;width:calc(100vw - 32px);min-width:unset}}.pekppp-ui .topbar-toggle:focus,.pekppp-ui .profile-btn:focus,.pekppp-ui .btn-cache-clear:focus{outline:2px solid #3b82f6;outline-offset:2px}.pekppp-ui .profile-menu-item:focus{outline:none;background:#0206170f}@media print{.pekppp-ui .pekppp-topbar{display:none}}.pekppp-ui .pekppp-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.pekppp-ui .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--color-primary);color:#fff}.pekppp-ui .pekppp-sidebar{width:260px;flex:0 0 260px;display:flex;flex-direction:column;height:100vh;overflow:auto;background:#0b1220;color:#cbd5e1;border-right:1px solid rgba(255,255,255,.04);box-sizing:border-box}.pekppp-ui .sidebar-inner{display:flex;flex-direction:column;height:100vh}.pekppp-ui .sidebar-brand{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid rgba(255,255,255,.04);position:relative}.pekppp-ui .brand-logo{width:44px;height:44px;object-fit:contain;border-radius:6px}.pekppp-ui .brand-text .title{font-weight:700;color:#fff}.pekppp-ui .brand-text .subtitle{font-size:12px;color:#94a3b8}.pekppp-ui .sidebar-collapse-btn{background:transparent;border:none;color:#b6c2cf;position:absolute;right:8px;top:18px;padding:6px;border-radius:6px}.pekppp-ui .sidebar-collapse-btn:hover{background:#ffffff05}.pekppp-ui .sidebar-nav{padding:12px 8px;overflow-y:auto;flex:1}.pekppp-ui .nav-section{margin-bottom:18px}.pekppp-ui .nav-title{font-size:11px;text-transform:uppercase;color:#94a3b8;padding:8px 12px}.pekppp-ui .nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#cbd5e1;text-decoration:none}.pekppp-ui .nav-item:hover{background:#ffffff08;color:#fff}.pekppp-ui .nav-item.active{background:#ffffff0f;color:#fff}.pekppp-ui .sidebar-footer{padding:12px;font-size:12px;color:#94a3b8;border-top:1px solid rgba(255,255,255,.04)}.pekppp-ui .pekppp-sidebar.collapsed{width:96px!important;flex:0 0 96px!important;min-width:96px!important;padding-left:0;padding-right:0;overflow:hidden}.pekppp-ui .ui-table-wrapper{background:transparent;border-radius:10px}.pekppp-ui .ui-table-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pekppp-ui .ui-table-scroll{overflow:auto;border-radius:10px}.pekppp-ui table.ui-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-surface);border:1px solid var(--color-border)}.pekppp-ui table.ui-table thead th{text-align:left;padding:12px 16px;background:linear-gradient(180deg,#02061705,#02061700);font-size:13px;color:var(--color-muted);border-bottom:1px solid var(--color-border)}.pekppp-ui table.ui-table tbody td{padding:12px 16px;vertical-align:middle;border-bottom:1px solid rgba(2,6,23,.03);color:var(--color-text)}.pekppp-ui table.ui-table tbody tr:hover{background:#02061705}.pekppp-ui table.ui-table tbody tr.empty td{text-align:center;color:var(--color-muted);padding:28px 16px}.pekppp-ui .ui-table-actions{display:flex;gap:8px;align-items:center}.pekppp-ui .btn-primary{background:linear-gradient(180deg,#0f172a,#0b1530);color:#fff;border:1px solid rgba(255,255,255,.06)}.pekppp-ui .btn-secondary{background:transparent;border:1px solid rgba(2,6,23,.06);color:var(--color-text)}.pekppp-ui .btn-danger{background:linear-gradient(180deg,#ef4444,#dc2626);color:#fff;border:1px solid rgba(0,0,0,.06)}.pekppp-ui .btn-ghost{background:transparent;border:none;color:var(--color-text)}.pekppp-ui .btn-sm{padding:6px 10px;font-size:13px;border-radius:8px}@media(max-width:640px){.pekppp-ui table.ui-table thead th{padding:10px;font-size:12px}.pekppp-ui table.ui-table tbody td{padding:10px}.pekppp-ui .ui-table-controls{flex-direction:column;align-items:stretch}}.pekppp-ui .modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0f172a73}.pekppp-ui .modal.hidden{display:none}.modal-dialog{width:100%;max-width:520px;margin:auto}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026,0 4px 10px #00000014;padding:0;overflow:hidden;animation:modalFade .15s ease-out}.modal-header,.modal-footer{padding:1rem 1.25rem;background:#f8fafc;border-bottom:1px solid #e5e7eb}.modal-footer{border-top:1px solid #e5e7eb;border-bottom:none;display:flex;justify-content:flex-end;gap:.5rem}.modal-body{padding:1.25rem}.modal-title{font-weight:600;font-size:1rem}@keyframes modalFade{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.pekppp-ui .pekppp-sidebar{--sidebar-width: 280px;width:var(--sidebar-width);flex:0 0 var(--sidebar-width);height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#071020,#0b2035);color:#cfe3f6;box-shadow:0 2px 12px #030a1259;box-sizing:border-box}.pekppp-ui .sidebar-inner{display:flex;flex-direction:column;height:100%}.pekppp-ui .sidebar-brand{display:flex;gap:14px;align-items:center;padding:18px 16px;background:linear-gradient(180deg,#ffffff0a,#ffffff03);border-bottom:1px solid rgba(255,255,255,.06)}.pekppp-ui .brand-logo-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0}.pekppp-ui .brand-logo-badge{width:56px;height:56px;border-radius:0;object-fit:contain;padding:0;background:transparent;box-shadow:none;border:none;display:block}.pekppp-ui .brand-link{display:flex;align-items:center;gap:14px;text-decoration:none;flex:1}.pekppp-ui .brand-text{display:flex;flex-direction:column;line-height:1;height:56px;justify-content:center;min-width:0}.pekppp-ui .brand-text .title{color:#e6f0fb;font-weight:700;font-size:1.15rem;letter-spacing:.2px;margin:0}.pekppp-ui .brand-text .subtitle{color:#cee3f6e6;font-size:.9rem;margin:3px 0 0}.pekppp-ui .sidebar-nav{padding:12px;overflow-y:auto!important;overflow-x:hidden!important;flex:1;-ms-overflow-style:none!important;scrollbar-width:none!important}.pekppp-ui .sidebar-nav::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.pekppp-ui .sidebar-nav::-webkit-scrollbar-track{display:none!important}.pekppp-ui .sidebar-nav::-webkit-scrollbar-thumb{display:none!important}.pekppp-ui .nav-section{margin-top:6px;margin-bottom:14px}.pekppp-ui .nav-section:first-child{margin-top:0}.pekppp-ui .nav-section.accordion-section{margin-bottom:0}.pekppp-ui .accordion-toggle{display:flex;align-items:center;justify-content:space-between;width:auto;border:none;background:none;color:#cee3f6b3;font-weight:700;font-size:11px;text-transform:uppercase;cursor:pointer;letter-spacing:.5px;transition:all .16s ease;margin:16px 6px 0;border-bottom:1px solid rgba(206,227,246,.1);padding:0 0 8px 8px}.pekppp-ui .accordion-toggle:hover{color:#cee3f6}.pekppp-ui .accordion-content{flex:1;text-align:left}.pekppp-ui .accordion-arrow{width:16px;height:16px;margin-left:8px;transition:transform .2s ease;flex-shrink:0}.pekppp-ui .nav-section.accordion-section.expanded .accordion-arrow{transform:rotate(180deg)}.pekppp-ui .accordion-items{max-height:0;overflow:hidden;transition:max-height .3s ease}.pekppp-ui .nav-section.accordion-section.expanded .accordion-items{max-height:500px}.pekppp-ui .accordion-items .nav-item{padding-left:32px;font-weight:500;font-size:.94rem}.pekppp-ui .nav-section-title{display:block;font-size:11px;font-weight:700;text-transform:uppercase;color:#cee3f6b3;margin:16px 6px 10px;padding-left:8px;letter-spacing:.5px;border-bottom:1px solid rgba(206,227,246,.1);padding-bottom:8px}.pekppp-ui .nav-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;color:#e6f0fbf2;text-decoration:none;font-weight:600;transition:background-color .16s ease,transform .12s ease}.pekppp-ui .nav-item .icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.pekppp-ui .nav-item .label{font-size:.98rem}.pekppp-ui .nav-item:hover{background:#ffffff05;transform:translateY(-1px)}.pekppp-ui .nav-item.active{background:linear-gradient(90deg,#ffffff0a,#ffffff05);box-shadow:0 10px 30px #02061747,inset 0 0 0 1px #ffffff09;color:#fff;position:relative}.pekppp-ui .nav-item.active:before{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:4px;height:60%;background:linear-gradient(180deg,#ffffff1f,#ffffff0f);border-radius:2px}.pekppp-ui .nav-item svg{width:20px;height:20px;stroke-width:1.6}.pekppp-ui .sidebar-footer{padding:14px 20px;color:#cee3f699;font-size:12px;border-top:1px solid rgba(255,255,255,.02)}.pekppp-ui .pekppp-sidebar.collapsed{width:96px}.pekppp-ui .pekppp-sidebar.collapsed .sidebar-brand{padding:18px 0 14px;justify-content:center}.pekppp-ui .pekppp-sidebar.collapsed .brand-link{justify-content:center;gap:0;width:100%}.pekppp-ui .pekppp-sidebar.collapsed .brand-logo-wrapper{width:100%;justify-content:center}.pekppp-ui .pekppp-sidebar.collapsed .brand-logo-badge{width:48px;height:48px;margin:0 auto}.pekppp-ui .pekppp-sidebar.collapsed .brand-text,.pekppp-ui .pekppp-sidebar.collapsed .label{display:none}.pekppp-ui .pekppp-sidebar.collapsed .nav-section{padding-left:0;padding-right:0}.pekppp-ui .pekppp-sidebar.collapsed .nav-item{justify-content:center;padding:12px 0;width:100%}.pekppp-ui .pekppp-sidebar.collapsed .nav-icon,.pekppp-ui .pekppp-sidebar.collapsed .accordion-icon{margin:0 auto}.pekppp-ui .pekppp-sidebar.collapsed .nav-section-title{justify-content:center;padding:12px 0;width:100%}.pekppp-ui .pekppp-sidebar.collapsed .accordion-arrow{display:none}.pekppp-ui .nav-item:focus-visible{outline:2px solid rgba(255,255,255,.06);outline-offset:3px}@media(max-width:768px){.pekppp-ui .pekppp-sidebar{position:fixed;z-index:50;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .22s ease}.pekppp-ui .pekppp-sidebar.open{transform:translate(0)}}
