*{box-sizing:border-box}html{background:#f8fafc!important}body{background:#f8fafc!important;color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,segoe ui,open sans,Roboto,helvetica neue,Arial,sans-serif;min-height:100vh;display:flex;flex-direction:column}.btn{border-radius:6px;font-weight:600;padding:.55rem 1rem;transition:all .15s ease;display:inline-flex;align-items:center;gap:.45rem;line-height:1.2}.btn i{font-size:.9em}.btn:focus{box-shadow:0 0 0 3px rgba(99,102,241,.25)}.btn.btn-light{background:#fff;color:#1e293b;border:1px solid #e2e8f0}.btn.btn-light:hover{background:#f8fafc;border-color:#cbd5e1}.btn.btn-primary{background:#6366f1;border-color:#6366f1;color:#fff;box-shadow:0 6px 16px rgba(99,102,241,.3)}.btn.btn-primary:hover{background:#4f46e5;border-color:#4f46e5;transform:translateY(-1px)}.btn.btn-danger{background:#ef4444;border-color:#ef4444}.btn.btn-danger:hover{filter:brightness(.92)}.btn.btn-sm{padding:.35rem .7rem;font-size:.85rem}.btn.btn-block{width:100%;justify-content:center}.form-control,.form-select{border-radius:6px;border:1px solid #e2e8f0;padding:.55rem .75rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s;color:#1e293b;background:#fff}.form-control:focus,.form-select:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.15);outline:0}.form-control::placeholder,.form-select::placeholder{color:#94a3b8}.form-label{font-weight:600;font-size:.85rem;color:#475569;margin-bottom:.3rem;display:block}.form-hint{display:block;color:#94a3b8;font-size:.8rem;margin-top:.3rem}.form-field{margin-bottom:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:540px){.form-row{grid-template-columns:1fr}}.req{color:#ef4444}.form-field-half{width:49%}@media(max-width:540px){.form-field-half{width:100%}}.topbar{background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:1000;box-shadow:0 1px 2px rgba(15,23,42,.06)}.topbar-inner{max-width:1280px;margin:0 auto;padding:.65rem 1.25rem;display:flex;align-items:center;gap:1rem}.topbar-brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;flex-shrink:0}.brand-mark{width:36px;height:36px;border-radius:6px;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;letter-spacing:.5px;box-shadow:0 6px 16px rgba(99,102,241,.3)}.brand-text{font-weight:700;color:#1e293b;font-size:1.05rem}@media(max-width:720px){.brand-text{display:none}}.topbar-search{flex:1;max-width:540px;position:relative;display:flex;align-items:center}.topbar-search>i{position:absolute;left:.85rem;color:#94a3b8;font-size:.9rem;pointer-events:none}.topbar-search input{width:100%;padding:.55rem .85rem .55rem 2.4rem;border:1px solid #e2e8f0;border-radius:999px;font-size:.95rem;background:#f8fafc;color:#1e293b;transition:all .15s}.topbar-search input:focus{outline:0;background:#fff;border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.15)}@media(max-width:720px){.topbar-search{max-width:none;order:0!important;flex-basis:100%}}.topbar-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}@media(max-width:860px){.btn-add .btn-add-text{display:none}}.topbar-divider{width:1px;height:24px;background:#e2e8f0;margin:0 .25rem}@media(max-width:860px){.topbar-divider{display:none}}.topbar-nav{display:flex;align-items:center;gap:.2rem}@media(max-width:860px){.topbar-nav{position:fixed;top:56px;right:0;bottom:0;width:280px;max-width:80vw;background:#fff;flex-direction:column;align-items:stretch;padding:1rem;gap:.25rem;border-left:1px solid #e2e8f0;box-shadow:0 16px 40px rgba(15,23,42,.1);transform:translateX(100%);transition:transform .25s ease;z-index:999}.topbar-nav.open{transform:translateX(0)}}.topbar-nav-link{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border-radius:6px;color:#475569;text-decoration:none;font-weight:600;font-size:.9rem;background:0 0;border:0;cursor:pointer;transition:all .15s}.topbar-nav-link:hover{background:#eef2ff;color:#6366f1}@media(max-width:860px){.topbar-nav-link{padding:.75rem 1rem;font-size:1rem}}.topbar-nav-link-danger:hover{background:#fef2f2;color:#ef4444}.topbar-nav-link-mobile{display:none!important}@media(max-width:860px){.topbar-nav-link-mobile{display:inline-flex!important}}.topbar-nav-divider{width:100%;height:1px;background:#e2e8f0;margin:.25rem 0}.topbar-user{position:relative;display:inline-flex}@media(max-width:860px){.topbar-user{display:none}}.topbar-user-trigger{display:inline-flex;align-items:center;gap:.35rem;background:0 0;border:1px solid transparent;border-radius:999px;padding:.2rem .5rem .2rem .2rem;cursor:pointer;color:#1e293b;transition:background .15s,border-color .15s}.topbar-user-trigger:hover{background:#eef2ff;border-color:rgba(99,102,241,.15)}.topbar-user.open .topbar-user-trigger{background:#eef2ff;border-color:rgba(99,102,241,.25)}.topbar-user-caret{font-size:.65rem;color:#94a3b8;transition:transform .2s}.topbar-user.open .topbar-user-caret{transform:rotate(180deg)}.topbar-user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#818cf8 0%,#6366f1 100%);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;flex-shrink:0}.topbar-user-menu{position:absolute;top:calc(100% + 0.5rem);right:0;min-width:240px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 16px 40px rgba(15,23,42,.1);padding:.5rem;z-index:1100;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .15s ease,transform .15s ease,visibility .15s}.topbar-user.open .topbar-user-menu{opacity:1;visibility:visible;transform:translateY(0)}@media(max-width:480px){.topbar-user-menu{min-width:calc(100vw - 2rem);right:-.5rem}}.user-menu-header{display:flex;align-items:center;gap:.75rem;padding:.6rem .65rem .75rem}.user-menu-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#818cf8 0%,#6366f1 100%);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.user-menu-info{min-width:0}.user-menu-info .user-menu-name{font-weight:700;color:#1e293b;font-size:.92rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.user-menu-info .user-menu-email{color:#94a3b8;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.user-menu-divider{height:1px;background:#e2e8f0;margin:.25rem 0}.user-menu-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.65rem .75rem;border-radius:6px;background:0 0;border:0;color:#475569;font-weight:600;font-size:.9rem;cursor:pointer;text-align:left;transition:background .15s,color .15s;font-family:inherit}.user-menu-item i{font-size:.9rem;width:16px;text-align:center;color:#94a3b8;transition:color .15s}.user-menu-item:hover{background:#f8fafc;color:#1e293b}.user-menu-item:hover i{color:#1e293b}.user-menu-item-danger{color:#ef4444}.user-menu-item-danger i{color:#ef4444}.user-menu-item-danger:hover{background:#fef2f2;color:#ef4444}.user-menu-item-danger:hover i{color:#ef4444}.topbar-menu-btn{display:none;background:#fff;border:1px solid #e2e8f0;border-radius:6px;width:36px;height:36px;color:#1e293b;cursor:pointer;align-items:center;justify-content:center;font-size:1.05rem}@media(max-width:860px){.topbar-menu-btn{display:inline-flex}}.page-content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:1.75rem 1.25rem 3rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}@media(max-width:720px){.page-header{flex-direction:column;gap:.75rem}}.page-header-bottom{margin-top:24px}.page-header-row-reverse{flex-direction:row-reverse}.page-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.page-title{font-size:1.75rem;font-weight:800;color:#1e293b;margin:0;line-height:1.2}.page-subtitle{margin:.25rem 0 0;color:#475569;font-size:.95rem}.page-subtitle strong{color:#1e293b}.page-subtitle .search-for{color:#6366f1;font-weight:600}.alert-flash{border-radius:10px;border:1px solid transparent;padding:.75rem 1rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.6rem;font-weight:500}.alert-flash i{font-size:1.05rem}.alert-success.alert-flash{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.alert-danger.alert-flash,.alert-warning.alert-flash{background:#fffbeb;color:#b45309;border-color:#fde68a}.alert-danger.alert-flash{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.alert-info.alert-flash{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.alert-sm{padding:.55rem .9rem;font-size:.9rem;margin-bottom:1rem}.empty-state{text-align:center;padding:3.5rem 1rem;background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 1px 2px rgba(15,23,42,.06)}.empty-state .empty-state-icon{width:80px;height:80px;margin:0 auto 1.25rem;border-radius:50%;background:#eef2ff;color:#6366f1;display:flex;align-items:center;justify-content:center;font-size:2rem}.empty-state h2{margin:0 0 .5rem;font-size:1.25rem;color:#1e293b}.empty-state p{margin:0 0 1.5rem;color:#475569;max-width:400px;margin-left:auto;margin-right:auto}.inline-form{display:inline}.text-muted{color:#94a3b8!important}.text-light-emphasis{color:#94a3b8!important}.site-footer{background:#1e293b;color:#cbd5e1;padding:1.5rem 0}.site-footer p{margin:0;font-size:.9rem;color:#fff}.site-footer a{color:#818cf8;text-decoration:none}.site-footer small{color:#64748b}.modal-content{border:0;border-radius:16px;box-shadow:0 16px 40px rgba(15,23,42,.1);overflow:hidden}.modal-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:1.1rem 1.5rem}.modal-header .modal-title{font-weight:700;font-size:1.1rem;color:#1e293b}.modal-body{padding:1.5rem}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:1rem 1.5rem}.modal-footer .btn{min-width:100px;justify-content:center}.btn-icon{width:32px;height:32px;border-radius:6px;background:#fff;border:1px solid #e2e8f0;color:#475569;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.btn-icon:hover{background:#eef2ff;color:#6366f1;border-color:#818cf8}.btn-icon-danger:hover{background:#fef2f2;color:#ef4444;border-color:#fecaca}.btn-danger-text{color:#ef4444}.btn-danger-text:hover{color:#ef4444;background:#fef2f2}.checkbox-line{display:flex;align-items:center;gap:.5rem;cursor:pointer;user-select:none}.checkbox-line input[type=checkbox],.checkbox-line input[type=radio]{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.spinner{display:inline-block;width:14px;height:14px;border:2px solid #818cf8;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-dialog-sm{max-width:420px}.modal-dialog-sm .modal-body{padding:1.25rem}.modal-dialog-sm .modal-footer .btn{min-width:90px}.quick-add-hint{color:#94a3b8;font-size:.8rem;line-height:1.4;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.55rem .75rem}.quick-add-hint i{margin-right:.3rem;color:#64748b}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid rgba(255,255,255,.6);border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.btn-loading.btn-light::after,.btn-loading.btn-danger::after{border-color:rgba(30,41,59,.4);border-top-color:transparent}