*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}:root{--ap-sidebar-bg:#1e2d4a;--ap-sidebar-bdr:#263554;--ap-sidebar-text:#94a3b8;--ap-sidebar-muted:#64748b;--ap-nav-hover:hsla(0,0%,100%,.07);--ap-nav-active:rgba(99,179,237,.15);--ap-nav-active-c:#93c5fd;--ap-bg:#f1f5fa;--ap-surface:#fff;--ap-surface2:#f8fafd;--ap-border:#e2e8f0;--ap-text:#0f172a;--ap-muted:#64748b;--ap-subtle:#94a3b8;--ap-blue:#2563eb;--ap-blue-lt:#dbeafe;--ap-green:#16a34a;--ap-green-lt:#dcfce7;--ap-yellow:#d97706;--ap-yellow-lt:#fef9c3;--ap-red:#dc2626;--ap-red-lt:#fee2e2;--ap-purple:#7c3aed;--ap-purple-lt:#ede9fe;--ap-teal:#0d9488;--ap-teal-lt:#ccfbf1;--ap-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--ap-shadow-md:0 4px 16px rgba(0,0,0,.1);--ap-radius:10px;--ap-sidebar-w:240px;--ap-hover:#f1f5f9;--ap-row-highlight:#fefce8;--ap-topbar-bg:#fff}[data-ap-theme=dark],html[data-ap-theme=dark]{--ap-sidebar-bg:#111827;--ap-sidebar-bdr:#1f2937;--ap-sidebar-text:#94a3b8;--ap-sidebar-muted:#4b5563;--ap-nav-hover:hsla(0,0%,100%,.06);--ap-nav-active:rgba(96,165,250,.18);--ap-nav-active-c:#93c5fd;--ap-bg:#0f172a;--ap-surface:#1e2535;--ap-surface2:#253047;--ap-border:#2d3d56;--ap-text:#e2e8f0;--ap-muted:#94a3b8;--ap-subtle:#64748b;--ap-blue:#60a5fa;--ap-blue-lt:rgba(96,165,250,.12);--ap-green:#4ade80;--ap-green-lt:rgba(74,222,128,.12);--ap-yellow:#fbbf24;--ap-yellow-lt:rgba(251,191,36,.1);--ap-red:#f87171;--ap-red-lt:rgba(248,113,113,.12);--ap-purple:#a78bfa;--ap-purple-lt:rgba(167,139,250,.12);--ap-teal:#2dd4bf;--ap-teal-lt:rgba(45,212,191,.12);--ap-shadow:0 1px 3px rgba(0,0,0,.3);--ap-shadow-md:0 4px 16px rgba(0,0,0,.4);--ap-hover:hsla(0,0%,100%,.05);--ap-row-highlight:rgba(251,191,36,.07);--ap-topbar-bg:#1e2535;--ap-icon-filter:invert(1) opacity(.6)}.ap-shell{display:flex;min-height:100vh;background:var(--ap-bg);font-family:Inter,system-ui,sans-serif;font-size:14px;color:var(--ap-text);transition:background .2s,color .2s}.ap-sidebar{width:var(--ap-sidebar-w);background:var(--ap-sidebar-bg);border-right:1px solid var(--ap-sidebar-bdr);position:fixed;top:0;left:0;bottom:0;z-index:100;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;transition:transform .25s cubic-bezier(.4,0,.2,1),background .2s,border-color .2s;scrollbar-width:none}.ap-sidebar::-webkit-scrollbar{display:none}.ap-sidebar__logo{height:60px;padding:0 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ap-sidebar-bdr);flex-shrink:0}.ap-sidebar__logo img{height:26px;flex-shrink:0;filter:brightness(0) invert(1) opacity(.85)}.ap-sidebar__badge{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:#63b3ed33;color:#93c5fd;padding:2px 7px;border-radius:4px}.ap-role-switch{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--ap-sidebar-bdr)}.ap-role-btn{flex:1;padding:5px 8px;font-size:11px;font-weight:600;font-family:inherit;border-radius:6px;border:none;cursor:pointer;background:#ffffff12;color:var(--ap-sidebar-muted,hsla(0,0%,100%,.5));transition:all .15s}.ap-role-btn.is-active{background:#63b3ed33;color:#93c5fd}.ap-role-btn:not(.is-active):hover{background:#ffffff1f;color:#fffc}.ap-nav{padding:8px;flex:1}.ap-nav__group{margin-bottom:4px}.ap-nav__group-label{font-size:9.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ap-sidebar-muted);padding:10px 10px 4px}.ap-nav__item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;color:var(--ap-sidebar-text);font-weight:500;font-size:13.5px;text-decoration:none;cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:background .1s,color .1s;margin-bottom:1px}.ap-nav__item:hover{background:var(--ap-nav-hover);color:#e2e8f0}.ap-nav__item--sub{padding-left:32px;font-size:12.5px;opacity:.85}.ap-nav__item--sub svg{width:14px;height:14px}.ap-nav__item.is-active,.ap-nav__item.router-link-active{background:var(--ap-nav-active);color:var(--ap-nav-active-c);font-weight:600}.ap-nav__item.is-active:before,.ap-nav__item.router-link-active:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:0 3px 3px 0;background:var(--ap-nav-active-c)}.ap-nav__item{position:relative}.ap-nav__item svg{width:16px;height:16px;flex-shrink:0}.ap-nav__item--danger{color:#fca5a5}.ap-nav__item--danger:hover{background:#dc262633;color:#fca5a5}.ap-sidebar__footer{border-top:1px solid var(--ap-sidebar-bdr);padding:8px;flex-shrink:0}.ap-sidebar__user{display:flex;align-items:center;gap:10px;padding:10px 10px 6px}.ap-sidebar__avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0;box-shadow:0 0 0 2px #63b3ed40}.ap-sidebar__name{font-size:13px;font-weight:600;color:#e2e8f0;line-height:1.3}.ap-sidebar__role{font-size:11px;color:var(--ap-sidebar-muted)}.ap-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:90;cursor:pointer}.ap-main{margin-left:var(--ap-sidebar-w);flex:1;min-height:100vh;display:flex;flex-direction:column}.ap-topbar{height:60px;background:var(--ap-topbar-bg,var(--ap-surface));border-bottom:1px solid var(--ap-border);display:flex;align-items:center;gap:10px;padding:0 24px;position:sticky;top:0;z-index:50;transition:background .2s,border-color .2s;box-shadow:0 1px 0 var(--ap-border),0 2px 8px #0000000a}.ap-topbar__menu{display:none;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:none;cursor:pointer;color:var(--ap-muted);border-radius:8px;padding:0;flex-shrink:0}.ap-topbar__menu:hover{background:var(--ap-bg);color:var(--ap-text)}.ap-topbar__title{font-size:15px;font-weight:600;color:var(--ap-text)}.ap-topbar__spacer{flex:1}.ap-topbar__right{display:flex;align-items:center;gap:8px}.ap-lang{display:flex;gap:2px;background:var(--ap-bg);border-radius:8px;padding:3px;border:1px solid var(--ap-border)}.ap-lang__btn{padding:3px 9px;border-radius:6px;font-size:11.5px;font-weight:600;border:none;cursor:pointer;background:none;color:var(--ap-muted);transition:all .1s;font-family:inherit}.ap-lang__btn.is-active{background:var(--ap-surface);color:var(--ap-blue);box-shadow:0 1px 3px #00000014}.ap-theme-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--ap-bg);border:1px solid var(--ap-border);border-radius:8px;cursor:pointer;color:var(--ap-muted);transition:all .1s}.ap-theme-btn:hover{color:var(--ap-text);border-color:var(--ap-blue)}.nav-cart-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;background:var(--ap-blue);color:#fff;font-size:10px;font-weight:700;border-radius:9px}.cart-btn,.nav-cart-badge{display:flex;align-items:center;justify-content:center}.cart-btn{position:relative;width:34px;height:34px;border-radius:8px;color:var(--ap-muted);border:1px solid var(--ap-border);background:var(--ap-surface);text-decoration:none;transition:all .15s}.cart-btn:hover{color:var(--ap-blue);border-color:var(--ap-blue)}.cart-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;background:var(--ap-blue);color:#fff;font-size:10px;font-weight:700;border-radius:8px;display:flex;align-items:center;justify-content:center;border:2px solid var(--ap-surface)}.ap-user-menu{position:relative}.ap-user-menu__btn{display:flex;align-items:center;gap:7px;padding:4px 10px 4px 5px;border:1px solid var(--ap-border);border-radius:999px;background:var(--ap-surface);font-size:13px;color:var(--ap-text);cursor:pointer;transition:border-color .15s,background .15s}.ap-user-menu__btn:hover{border-color:var(--ap-blue);background:var(--ap-hover)}.ap-topbar__avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;flex-shrink:0}.ap-topbar__uname{font-weight:500;font-size:12.5px}.ap-user-menu__chevron{color:var(--ap-muted);transition:transform .2s;flex-shrink:0}.ap-user-menu__chevron.is-open{transform:rotate(180deg)}.ap-user-menu__dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:12px;box-shadow:0 8px 28px #0000001f;z-index:200;overflow:hidden;padding:6px}.ap-user-menu__item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;color:var(--ap-text);background:none;border:none;border-radius:8px;cursor:pointer;text-decoration:none;transition:background .12s,color .12s;font-family:inherit}.ap-user-menu__item:hover{background:var(--ap-hover);color:var(--ap-blue)}.ap-user-menu__item--danger{color:var(--ap-red,#e53e3e)}.ap-user-menu__item--danger:hover{background:#e53e3e14;color:var(--ap-red,#e53e3e)}.ap-content{padding:24px;flex:1}@media(max-width:900px){.ap-sidebar{transform:translate(-100%);box-shadow:none}.ap-sidebar.is-open{transform:translate(0);box-shadow:4px 0 20px #0000001f}.ap-overlay.is-open{display:block}.ap-main{margin-left:0}.ap-topbar__menu{display:flex}.ap-topbar{padding:0 16px}.ap-content{padding:16px}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.page-title{font-size:19px;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:20px}.stat-card{background:var(--ap-surface);border-radius:var(--ap-radius);padding:16px 18px;box-shadow:var(--ap-shadow);transition:background .2s,border-color .2s;border:1px solid var(--ap-border);border-top:3px solid var(--ap-border)}.stat-card--blue{border-top-color:var(--ap-blue)}.stat-card--green{border-top-color:var(--ap-green)}.stat-card--yellow{border-top-color:var(--ap-yellow)}.stat-card--red{border-top-color:var(--ap-red)}.stat-card--purple{border-top-color:var(--ap-purple)}.stat-card--teal{border-top-color:var(--ap-teal)}.stat-card--blue .stat-card__value{color:var(--ap-blue)}.stat-card--green .stat-card__value{color:var(--ap-green)}.stat-card--yellow .stat-card__value{color:var(--ap-yellow)}.stat-card--red .stat-card__value{color:var(--ap-red)}.stat-card--purple .stat-card__value{color:var(--ap-purple)}.stat-card--teal .stat-card__value{color:var(--ap-teal)}.stat-card__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--ap-muted);margin-bottom:7px}.stat-card__value{font-size:26px;font-weight:700;line-height:1}.stat-card__icon{font-size:20px;margin-bottom:8px;line-height:1}.filter-bar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.filter-bar .form-input{margin:0;width:auto}.filter-input{width:240px!important}.filter-input,.filter-select{min-width:0!important;flex:none!important}.filter-select{width:160px!important;padding:7px 32px 7px 11px;border:1.5px solid var(--ap-border);border-radius:var(--ap-radius);font-size:13px;font-family:inherit;background:var(--ap-surface) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;color:var(--ap-text);-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;outline:none;transition:border-color .12s,background .2s;height:36px}.filter-select:focus{border-color:var(--ap-blue)}.card{background:var(--ap-surface);border-radius:var(--ap-radius);border:1px solid var(--ap-border);overflow:hidden;margin-bottom:16px;box-shadow:var(--ap-shadow)}.card,.card-header,.card__head{transition:background .2s,border-color .2s}.card-header,.card__head{padding:13px 20px;border-bottom:1px solid var(--ap-border);display:flex;align-items:center;justify-content:space-between;background:var(--ap-surface2);border-left:3px solid var(--ap-blue)}.card-title,.card__head h2,.card__head h3{font-size:13.5px;font-weight:600}.card-body,.card__body{padding:20px}.table-loading{text-align:center;color:var(--ap-muted);padding:48px 20px;display:flex;align-items:center;justify-content:center;gap:10px}.table-loading:before{content:"";width:18px;height:18px;border:2px solid var(--ap-border);border-top-color:var(--ap-blue);border-radius:50%;animation:ap-spin .6s linear infinite;display:inline-block}@keyframes ap-spin{to{transform:rotate(1turn)}}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:10px 16px;border-bottom:2px solid var(--ap-blue-lt);white-space:nowrap;transition:background .2s}.table th,[data-ap-theme=dark] .table th{color:var(--ap-blue);background:var(--ap-blue-lt)}[data-ap-theme=dark] .table th{border-bottom-color:var(--ap-border)}.table td{padding:11px 16px;border-bottom:1px solid var(--ap-border);font-size:13px;vertical-align:middle;transition:background .15s}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--ap-surface2)}.empty-cell,.empty-state{text-align:center;color:var(--ap-muted);padding:48px 20px!important;font-size:13px}.pagination{gap:4px;padding:12px 20px;border-top:1px solid var(--ap-border);flex-wrap:wrap;background:var(--ap-surface2);transition:background .2s,border-color .2s}.page-btn,.pagination{display:flex;align-items:center}.page-btn{min-width:32px;height:32px;padding:0 10px;border:1px solid var(--ap-border);border-radius:8px;background:var(--ap-surface);font-size:13px;cursor:pointer;font-family:inherit;justify-content:center;transition:all .1s;color:var(--ap-text)}.page-btn:hover:not(:disabled){border-color:var(--ap-blue);color:var(--ap-blue)}.page-btn.page-btn--active{background:var(--ap-blue);border-color:var(--ap-blue);color:#fff;font-weight:600}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-info{margin-left:auto;font-size:12px;color:var(--ap-muted)}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px}.badge--green,.badge--success{background:#dcfce7;color:#15803d}.badge--blue,.badge--info{background:#dbeafe;color:#1d4ed8}.badge--warning,.badge--yellow{background:#fef3c7;color:#92400e}.badge--danger,.badge--red{background:#fee2e2;color:#dc2626}.badge--gray{background:#f1f5f9;color:#64748b}[data-ap-theme=dark] .badge--green,[data-ap-theme=dark] .badge--success{background:#14532d;color:#86efac}[data-ap-theme=dark] .badge--info{background:#1e3a5f;color:#93c5fd}[data-ap-theme=dark] .badge--warning{background:#451a03;color:#fcd34d}[data-ap-theme=dark] .badge--danger{background:#450a0a;color:#fca5a5}[data-ap-theme=dark] .badge--gray{background:#1e2128;color:#94a3b8}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--ap-radius);font-size:13.5px;font-weight:500;cursor:pointer;border:none;transition:all .12s;text-decoration:none;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--ap-blue);color:#fff}.btn--primary:hover:not(:disabled){background:#1d4ed8}.btn--outline{background:transparent;border:1.5px solid var(--ap-border);color:var(--ap-text)}.btn--outline:hover:not(:disabled){border-color:var(--ap-blue);color:var(--ap-blue)}.btn--danger{background:#fef2f2;color:var(--ap-red);border:1.5px solid #fecaca}.btn--danger:hover:not(:disabled){background:var(--ap-red);color:#fff}.btn--success{background:#f0fdf4;color:#16a34a;border:1.5px solid #bbf7d0}.btn--success:hover:not(:disabled){background:#16a34a;color:#fff}.btn--warning{background:#fffbeb;color:#d97706;border:1.5px solid #fde68a}.btn--warning:hover:not(:disabled){background:#d97706;color:#fff}.btn--sm{padding:5px 11px;font-size:12px;border-radius:7px}.btn--full{width:100%;justify-content:center}[data-ap-theme=dark] .btn--outline{border-color:var(--ap-border);color:var(--ap-text)}[data-ap-theme=dark] .btn--danger{background:#dc262626;border-color:#dc26264d;color:#f87171}[data-ap-theme=dark] .btn--success{background:#16a34a26;border-color:#16a34a4d;color:#4ade80}[data-ap-theme=dark] .btn--warning{background:#d9770626;border-color:#d977064d;color:#fbbf24}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--ap-muted);margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;padding:8px 13px;border:1.5px solid var(--ap-border);border-radius:var(--ap-radius);font-size:13.5px;font-family:inherit;background:var(--ap-surface);color:var(--ap-text);transition:border-color .12s,background .2s,box-shadow .12s;outline:none;height:38px}.form-textarea{height:auto;min-height:100px;resize:vertical}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--ap-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--ap-blue) 12%,transparent)}.form-select{padding-right:32px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;-moz-appearance:none;appearance:none;-webkit-appearance:none}.form-select,input[type=date].form-input{cursor:pointer}input[type=date].form-input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;filter:var(--ap-icon-filter,none)}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-hint{font-size:11px;color:var(--ap-muted);margin-top:4px}.form-hint--error{color:var(--ap-red)}.form-input--error{border-color:var(--ap-red)!important}.alert{padding:11px 15px;border-radius:var(--ap-radius);font-size:13px;margin-bottom:14px}.alert--error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.alert--success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.alert--info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}[data-ap-theme=dark] .alert--error{background:#450a0a;color:#fca5a5;border-color:#7f1d1d}[data-ap-theme=dark] .alert--success{background:#14532d;color:#86efac;border-color:#166534}[data-ap-theme=dark] .alert--info{background:#1e3a5f;color:#93c5fd;border-color:#1e40af}.ap-shell .modal-overlay,.modal-overlay{position:fixed;inset:0;background:#00000073;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.ap-shell .modal,.modal{background:var(--ap-surface,#fff)!important;border-radius:14px!important;width:100%;max-width:540px;box-shadow:0 20px 60px #0003!important;border:1px solid var(--ap-border,#e5eaf2);display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden}.modal-header,.modal__head{padding:15px 20px;border-bottom:1px solid var(--ap-border,#e5eaf2);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--ap-surface2,#f8fafd);border-radius:14px 14px 0 0}.modal-header h3,.modal__head h3{font-size:15px;font-weight:600;margin:0;color:var(--ap-text,#111827)}.modal-close,.modal__close{background:none;border:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;color:var(--ap-muted,#6b7280);font-size:15px;line-height:1;flex-shrink:0;transition:background .1s,color .1s;padding:0}.modal-close:hover,.modal__close:hover{background:var(--ap-bg,#f4f7fb);color:var(--ap-text,#111827)}.modal-body,.modal__body{padding:20px;overflow-y:auto;flex:1}.modal-body .form-group:last-child,.modal__body .form-group:last-child{margin-bottom:0}.modal-footer,.modal__foot{padding:13px 20px;border-top:1px solid var(--ap-border,#e5eaf2);display:flex;gap:10px;justify-content:flex-end;flex-shrink:0;background:var(--ap-surface2,#f8fafd);border-radius:0 0 14px 14px}[data-ap-theme=dark] .notif-panel{background:var(--ap-surface)}[data-ap-theme=dark] .notif-item--unread{background:#3b82f61f}[data-ap-theme=dark] .notif-item__title{color:var(--ap-text)}[data-ap-theme=dark] .notif-panel__head{background:var(--ap-surface2);color:var(--ap-text)}[data-ap-theme=dark] .ap-shell .modal,[data-ap-theme=dark] .modal{border-color:var(--ap-border)}[data-ap-theme=dark] .modal-footer,[data-ap-theme=dark] .modal-header,[data-ap-theme=dark] .modal__foot,[data-ap-theme=dark] .modal__head{background:var(--ap-surface2)}[data-ap-theme=dark] .modal-close:hover,[data-ap-theme=dark] .modal__close:hover{background:var(--ap-bg)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:860px){.grid-2{grid-template-columns:1fr}}.text-muted{color:var(--ap-muted)!important}.text-sm{font-size:12px}.fw-medium{font-weight:500}.fw-bold{font-weight:700}.link{color:var(--ap-blue);text-decoration:none;font-weight:500}.link:hover{text-decoration:underline}.notif-btn,.notif-wrap{position:relative}.notif-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--ap-bg);border:1px solid var(--ap-border);border-radius:8px;cursor:pointer;color:var(--ap-muted);transition:all .12s}.notif-btn:hover{border-color:var(--ap-blue);color:var(--ap-blue)}.notif-badge{position:absolute;top:-5px;right:-5px;background:var(--ap-red);color:#fff;font-size:9px;font-weight:700;border-radius:999px;padding:1px 5px;min-width:16px;text-align:center;line-height:14px;border:2px solid var(--ap-surface)}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:12px;box-shadow:0 8px 24px #0000001f;z-index:200;overflow:hidden}.notif-panel__head{padding:12px 15px;border-bottom:1px solid var(--ap-border);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:space-between;background:var(--ap-surface2)}.notif-panel__body{max-height:360px;overflow-y:auto}.notif-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--ap-muted);font-size:13px}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:11px 15px;border-bottom:1px solid var(--ap-border);transition:background .1s;cursor:default;text-decoration:none;color:inherit}.notif-item:last-child{border-bottom:none}.notif-item--clickable{cursor:pointer}.notif-item--clickable:hover{background:var(--ap-surface2)}.notif-item__arrow{font-size:14px;color:var(--ap-blue);flex-shrink:0;margin-top:2px}.notif-item--unread{background:var(--ap-blue-lt)}.notif-item__dot{width:7px;height:7px;background:var(--ap-blue);border-radius:50%;margin-top:5px;flex-shrink:0}.notif-item__content{flex:1;min-width:0}.notif-item__title{font-size:13px;font-weight:600}.notif-item__msg{font-size:12px;color:var(--ap-muted);margin-top:3px;line-height:1.4}.notif-item__time{font-size:11px;color:var(--ap-subtle);margin-top:4px}.notif-item__link{font-size:11px;color:var(--ap-blue);text-decoration:none;flex-shrink:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:768px){.detail-grid{grid-template-columns:1fr}}.detail-field{margin-bottom:12px}.detail-label{font-size:11px;font-weight:600;color:var(--ap-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}.detail-value{font-size:14px}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:#1c1f27;color:#e2e8f0;border-radius:10px;padding:11px 16px;font-size:13px;max-width:320px;box-shadow:0 4px 16px #0003;pointer-events:all;display:flex;align-items:center;gap:10px;animation:ap-toast-in .18s ease}.toast--success{background:#15803d;color:#fff}.toast--error{background:#dc2626;color:#fff}.toast--info{background:var(--ap-blue);color:#fff}.toast--warning{background:#d97706;color:#fff}@keyframes ap-toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:16px}.profile-card{background:var(--ap-surface);border:2px solid var(--ap-border);border-radius:var(--ap-radius);padding:18px;cursor:default;transition:border-color .15s;position:relative}.profile-card--default{border-color:var(--ap-blue);background:color-mix(in srgb,var(--ap-blue) 6%,var(--ap-surface))}.profile-card__type{font-size:11px;font-weight:600;color:var(--ap-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.profile-card__name{font-size:15px;font-weight:700;color:var(--ap-text);margin-bottom:6px}.profile-card__detail{font-size:13px;color:var(--ap-muted);margin-bottom:3px}.profile-card__badge{margin-top:10px}.add-card{background:var(--ap-surface);border:2px dashed var(--ap-border);border-radius:var(--ap-radius);padding:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;cursor:pointer;color:var(--ap-muted);font-size:13px;min-height:120px;transition:border-color .15s,color .15s}.add-card:hover{border-color:var(--ap-blue);color:var(--ap-blue)}[data-ap-theme=dark] .profile-card--default{background:#2563eb1f}.error-shell[data-v-4c3b8677]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ap-bg,#f8fafc);padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.error-card[data-v-4c3b8677]{background:var(--ap-surface,#fff);border:1px solid var(--ap-border,#e2e8f0);border-radius:20px;padding:48px 40px;max-width:440px;width:100%;text-align:center;box-shadow:0 4px 24px #0000000f}.error-icon[data-v-4c3b8677]{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.error-icon--blocked[data-v-4c3b8677]{background:#fef2f2;color:#ef4444}.error-icon--notfound[data-v-4c3b8677]{background:#eff6ff;color:#3b82f6}.error-icon--error[data-v-4c3b8677]{background:#fffbeb;color:#f59e0b}.error-code[data-v-4c3b8677]{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ap-muted,#94a3b8);margin-bottom:10px}.error-title[data-v-4c3b8677]{font-size:22px;font-weight:700;color:var(--ap-text,#1e293b);margin:0 0 10px}.error-desc[data-v-4c3b8677]{font-size:14px;color:var(--ap-muted,#64748b);line-height:1.6;margin:0 0 20px}.error-detail[data-v-4c3b8677]{display:flex;align-items:flex-start;gap:8px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 14px;font-size:13px;color:#b91c1c;text-align:left;margin-bottom:24px;line-height:1.5}.error-detail svg[data-v-4c3b8677]{flex-shrink:0;margin-top:1px}.error-actions[data-v-4c3b8677]{display:flex;gap:10px;justify-content:center}.error-btn[data-v-4c3b8677]{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;border:none;transition:all .15s}.error-btn--primary[data-v-4c3b8677]{background:var(--ap-blue,#3b82f6);color:#fff}.error-btn--primary[data-v-4c3b8677]:hover{opacity:.9}.error-btn--outline[data-v-4c3b8677]{background:transparent;border:1.5px solid var(--ap-border,#e2e8f0);color:var(--ap-text,#475569)}.error-btn--outline[data-v-4c3b8677]:hover{border-color:var(--ap-blue,#3b82f6);color:var(--ap-blue,#3b82f6)}
