:root{--bg-primary:#f8fafc;--bg-canvas:#ffffff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border-color:#e2e8f0;--primary-color:#4f46e5;--primary-hover:#4338ca;--primary-light:#e0e7ff;--primary-text:#3730a3;--success-bg:#ecfdf5;--success-border:#a7f3d0;--success-text:#065f46;--danger-bg:#fef2f2;--danger-border:#fca5a5;--danger-text:#991b1b;--info-bg:#eff6ff;--info-border:#bfdbfe;--info-text:#1e40af;--shadow-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.08);--shadow-premium:0 20px 25px -5px rgba(79, 70, 229, 0.05), 0 8px 10px -6px rgba(79, 70, 229, 0.05);--border-radius-sm:6px;--border-radius-md:10px;--border-radius-lg:16px;--border-radius-xl:24px;--transition-fast:0.15s ease;--transition-normal:0.25s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:inter,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hidden{display:none!important}h1,h2,h3,h4,h5,h6{font-family:outfit,sans-serif;font-weight:600}.mb-0{margin-bottom:0!important}.mb-24{margin-bottom:24px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.w-full{width:100%!important}.w-fit{width:fit-content}.font-semibold{font-weight:600!important}.font-medium{font-weight:500!important}.white-nowrap{white-space:nowrap!important}.text-ellipsis{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-placeholder{color:#cbd5e1;font-style:italic}.text-capitalize{text-transform:capitalize}.text-muted{color:var(--text-secondary)}.text-muted-small{font-size:.8rem;color:var(--text-secondary);font-weight:400}.text-muted-small.is-bold{font-weight:600}.has-text-success{color:var(--success-text)!important}.has-text-danger{color:var(--danger-text)!important}.has-text-info{color:var(--info-text)!important}.has-text-primary{color:var(--primary-color)!important}.button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--border-radius-md);font-weight:600;padding:10px 18px;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-color);background-color:var(--bg-canvas);color:var(--text-secondary);text-decoration:none}.button:hover,.btn:hover{background-color:var(--bg-primary);color:var(--text-primary)}.button.is-small,.btn.is-small{padding:6px 12px;font-size:.8rem;border-radius:var(--border-radius-sm)}.button.is-info,.btn.is-info,.button.is-primary,.btn.is-primary{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.button.is-info:hover,.btn.is-info:hover,.button.is-primary:hover,.btn.is-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.button.is-danger-text,.btn.is-danger-text{color:var(--danger-text)!important}.button.is-danger-text:hover,.btn.is-danger-text:hover{background-color:var(--danger-bg);border-color:var(--danger-border)}.button i,.btn i{font-size:1.1rem}.button i:not(:last-child),.btn i:not(:last-child){margin-right:4px}.button.submit{width:100%;border-radius:var(--border-radius-md);background-color:var(--primary-color);color:#fff;padding:12px;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.button.submit:hover{background-color:var(--primary-hover);box-shadow:0 4px 12px rgba(79,70,229,.25);transform:translateY(-1px)}.button.submit:active{transform:translateY(0)}.button-group{display:flex;gap:8px}.button-group.is-right{justify-content:flex-end}.button-group.is-center{justify-content:center}.field{margin-bottom:20px;display:flex;flex-direction:column;gap:6px}.label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.input,.form-input{width:100%;border-radius:var(--border-radius-md);border:1px solid var(--border-color);padding:10px 14px;font-size:.95rem;color:var(--text-primary);outline:none;transition:all var(--transition-fast);background-color:var(--bg-canvas)}.input:focus,.form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(79,70,229,.15)}.input[type=file]{padding:6px 12px}.select{display:inline-block;position:relative;width:100%}.select select{width:100%;border-radius:var(--border-radius-md);border:1px solid var(--border-color);padding:10px 14px;font-size:.95rem;outline:none;background-color:var(--bg-canvas);color:var(--text-primary);cursor:pointer;appearance:none;-webkit-appearance:none;transition:all var(--transition-fast)}.select select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(79,70,229,.15)}.select::after{content:"";border:2px solid var(--text-secondary);border-right:0;border-top:0;display:block;height:.5em;pointer-events:none;position:absolute;top:50%;right:16px;transform:translateY(-70%)rotate(-45deg);width:.5em}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-fields{display:flex;flex-direction:column;gap:20px}.separator{border:0;border-top:1px solid var(--border-color);margin:24px 0}.table{width:100%;border-collapse:separate;border-spacing:0;margin:20px 0;background-color:var(--bg-canvas);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);overflow:hidden}.table th{background-color:var(--bg-primary);color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;padding:16px 24px;border-bottom:1px solid var(--border-color);text-align:left}.table td{padding:16px 24px;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem;vertical-align:middle;transition:background-color var(--transition-fast)}.table.is-striped tbody tr:nth-child(even) td{background-color:var(--bg-primary)}.table.is-hoverable tbody tr:hover td{background-color:#f1f5f9}.table tbody tr:last-child td{border-bottom:none}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;align-items:center;justify-content:center}.modal.is-active{display:flex}.modal-background{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(15,23,42,.5);backdrop-filter:blur(4px)}.modal-card{position:relative;background-color:var(--bg-canvas);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:calc(100vh - 40px);border:1px solid var(--border-color);overflow:hidden;z-index:1010;display:flex;flex-direction:column}.modal-card-head{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color)}.modal-card-body{padding:24px;overflow-y:auto}.modal-card-title{font-size:1.2rem;font-weight:700;margin:0;font-family:outfit,sans-serif;color:var(--text-primary)}.modal-close-btn{border:none;background:0 0;padding:0;cursor:pointer;color:var(--text-secondary);transition:color var(--transition-fast)}.modal-close-btn:hover{color:var(--text-primary)}.alert,.notification{border-radius:var(--border-radius-md);padding:12px 16px;font-size:.9rem;font-weight:500;border:1px solid transparent;margin-bottom:16px}.alert-danger,.notification.is-danger{background-color:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.alert-info,.notification.is-info{background-color:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.alert-success,.notification.is-success{background-color:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.toast-notification{margin:0;min-width:300px;max-width:450px;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-radius:var(--border-radius-md);pointer-events:auto;animation:toast-fade-in .3s ease-out;transition:opacity .3s ease,transform .3s ease}.toast-content{display:flex;align-items:center;gap:8px;color:inherit}.toast-icon{font-size:1.25rem}.toast-text{font-weight:500;font-size:.9rem}.toast-close-btn{border:none;background:0 0;padding:0;margin-left:12px;cursor:pointer;color:inherit}@keyframes toast-fade-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:600;border:1px solid transparent}.badge.is-large{font-size:.9rem}.badge.is-info{background-color:var(--info-bg);color:var(--info-text);border:1px solid var(--info-border)}.badge.is-success{background-color:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.badge.is-danger{background-color:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.card{background-color:var(--bg-canvas);padding:28px;border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px}.card-title{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.empty-state{text-align:center;padding:48px;background-color:var(--bg-canvas);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.empty-state-icon{font-size:3rem;color:var(--text-secondary);margin-bottom:16px;display:inline-block}.empty-state-title{font-size:1.1rem;font-weight:600;margin-bottom:8px}.empty-state-text{color:var(--text-secondary);font-size:.9rem;margin-bottom:16px}.pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-color)}.pagination-container.is-centered{justify-content:center;gap:8px;margin-top:16px;border-top:none;padding-top:0}.pagination-numbers{display:flex;gap:4px;font-size:.9rem}.app-body-scroll-lock{overflow:hidden;height:100vh}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;background-color:var(--bg-canvas)}.app-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 24px;background-color:var(--bg-canvas);border-bottom:1px solid var(--border-color);position:relative;z-index:20;box-shadow:var(--shadow-sm)}.header-logo-wrapper{display:flex;align-items:center;gap:16px}.header-logo{font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.025em;background:linear-gradient(135deg,var(--primary-color),#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.app-content-wrapper{display:flex;flex:1;overflow:hidden}.app-sidebar{width:240px;background-color:var(--bg-primary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:24px 16px;gap:20px;flex-shrink:0;transition:width .2s cubic-bezier(.4,0,.2,1),padding .2s cubic-bezier(.4,0,.2,1)}.app-sidebar.is-collapsed{width:68px;padding:24px 8px;align-items:center}.app-sidebar.is-collapsed .sidebar-section-header,.app-sidebar.is-collapsed .sidebar-link span{display:none}.app-sidebar.is-collapsed .sidebar-link{justify-content:center;padding:8px;width:44px;height:44px}.sidebar-section{display:flex;flex-direction:column;gap:8px}.sidebar-section-header{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;padding-left:12px;margin-bottom:4px}.sidebar-section-links{display:flex;flex-direction:column;gap:4px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--border-radius-md);color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;transition:all var(--transition-fast)}.sidebar-link i{font-size:1.25rem}.sidebar-link:hover{background-color:var(--border-color);color:var(--text-primary)}.sidebar-link.link-selected{background-color:var(--primary-light)!important;color:var(--primary-text)!important;font-weight:600}.app-main{flex:1;background-color:var(--bg-primary);padding:40px;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.view-container.is-large{width:100%;max-width:1400px;margin:0 auto}.view-container.is-small{width:100%;max-width:500px;margin:0 auto;background-color:var(--bg-canvas);padding:32px;border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}@media(max-width:767px){.app-content-wrapper{flex-direction:column;overflow:auto}.app-sidebar{width:100%;height:56px;flex-direction:row;justify-content:space-around;padding:0 8px!important;border-right:none;border-top:1px solid var(--border-color);position:fixed;bottom:0;left:0;z-index:100;background-color:var(--bg-canvas);box-shadow:0 -2px 10px rgba(0,0,0,5%)}.sidebar-section{flex:1;flex-direction:row;justify-content:center;gap:0}.sidebar-section-header{display:none!important}.sidebar-section-links{flex-direction:row;width:100%;justify-content:space-around;gap:0}.sidebar-link{flex:1;height:56px;justify-content:center;border-radius:0;padding:0}.sidebar-link span{display:none}.sidebar-link.link-selected{background-color:initial!important;color:var(--primary-color)!important;border-bottom:3px solid var(--primary-color)}.app-main{padding:16px;padding-bottom:80px}}.columns{display:flex;flex-direction:column;gap:24px;width:100%}@media(min-width:768px){.columns{flex-direction:row}.column.is-3{width:250px;flex-shrink:0}.column.is-9{flex:1;min-width:0}}.menu{background-color:var(--bg-canvas);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:20px 16px;box-shadow:var(--shadow-sm)}.menu-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px;padding-left:8px}.menu-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.menu-list li{margin:0;padding:0;list-style:none}.menu-list a{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--border-radius-md);color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.menu-list a:hover{background-color:var(--border-color);color:var(--text-primary)}.menu-list a.is-active,.menu-list a.link-selected,.menu-list a.active{background-color:var(--primary-light)!important;color:var(--primary-text)!important;font-weight:600!important}