@font-face{font-family:Inter;src:url(/assets/fonts/Inter-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/assets/fonts/Inter-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Inter;src:url(/assets/fonts/Inter-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/assets/fonts/Inter-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Inter;src:url(/assets/fonts/Inter-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/assets/fonts/Inter-SemiBoldItalic.ttf) format("truetype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Inter;src:url(/assets/fonts/Inter-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/assets/fonts/Inter-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}:root{--color-primary:#1b8f4d;--color-primary-hover:#167942;--color-secondary:#0f9d58;--color-secondary-hover:#0d844b;--color-background:#fafafa;--color-surface:#fff;--color-text-primary:#212121;--color-text-secondary:#757575;--color-border:#e0e0e0;--color-border-hover:#bdbdbd;--color-error:#f44336;--color-success:#4caf50;--color-warning:#ff9800;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-xxl:3rem;--border-radius-sm:6px;--border-radius-md:10px;--border-radius-lg:14px;--shadow-sm:0 1px 3px rgba(0,0,0,.12);--shadow-md:0 2px 8px rgba(0,0,0,.15);--shadow-lg:0 4px 16px rgba(0,0,0,.2);--font-family:"Inter",Arial,Helvetica,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--transition-fast:0.15s ease;--transition-normal:0.2s ease;--transition-slow:0.3s ease}body,html{max-width:100vw;height:100vh;margin:0;padding:0;color:var(--color-text-primary);background:var(--color-background);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}a{color:inherit;text-decoration:none}.layout-wrapper,.main-content{display:flex;min-height:100vh}.main-content{flex-direction:column;max-width:100vw;width:100%}.content-shell{width:100%;max-width:1600px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-md)}.page-wrapper{width:100%;max-width:1500px;padding:var(--spacing-lg) var(--spacing-md) var(--spacing-xxl);display:flex;flex-direction:column;gap:var(--spacing-lg)}main{width:100%;min-height:100vh;overflow:visible}.mobile-header{display:flex;align-items:center;justify-content:space-between;background:var(--color-surface);color:var(--color-text-primary);padding:var(--spacing-md)}@media (min-width:968px){.mobile-header{display:none}}.mobile-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.hamburger-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:inherit}.icon{width:24px;height:24px}.breadcrumbs{display:flex;align-items:center;margin-top:.5rem}.breadcrumb{display:inline-flex;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;text-decoration:underline;transition:var(--transition-normal)}.breadcrumb:hover{color:var(--color-primary);opacity:.8}.page-wrapper{padding:var(--spacing-sm) var(--spacing-md);max-width:1600px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.page-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:var(--spacing-md);gap:var(--spacing-md);padding-top:var(--spacing-sm);padding-bottom:var(--spacing-lg)}.card-item{border-radius:var(--border-radius-lg);background-color:var(--color-surface);transition:box-shadow var(--transition-normal);box-shadow:var(--shadow-sm)}.card-item:hover{box-shadow:var(--shadow-md)}.empty-message{width:100%;justify-content:center;padding:var(--spacing-xxl) var(--spacing-md);border:2px dashed var(--color-border);border-radius:var(--border-radius-lg);background-color:var(--color-background);color:var(--color-text-secondary);font-size:var(--font-size-lg);font-style:italic}.btn-primary,.empty-message{display:flex;align-items:center}.btn-primary{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-md);font-weight:var(--font-weight-medium);font-size:var(--font-size-md);cursor:pointer;transition:background-color var(--transition-normal);gap:var(--spacing-xs)}.btn-primary:hover{background-color:var(--color-primary-hover)}@media (max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.page-title{font-size:var(--font-size-2xl)}.page-wrapper{padding:var(--spacing-sm)}.content-shell{padding:var(--spacing-md) var(--spacing-sm);max-width:100%}}@media (max-width:618px){.card-grid{display:block}.card-item{margin-bottom:var(--spacing-md)}}.dialog-box{border-radius:var(--border-radius-lg)}.dialog-warning{display:flex;justify-content:center;align-items:center;padding:var(--spacing-lg) var(--spacing-md) 0 var(--spacing-md);border-radius:var(--border-radius-md)}.dialog-warning p{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0;text-align:center;line-height:1.5;font-weight:var(--font-weight-medium)}.btn-danger{color:var(--color-error)}.btn-danger,.btn-secondary{font-weight:var(--font-weight-medium);text-transform:none;border-radius:var(--border-radius-md);padding:var(--spacing-xs) var(--spacing-md)}.btn-secondary{background-color:var(--color-border);color:var(--color-text-primary)}.btn-secondary:hover{background-color:var(--color-border-hover)}.login-page-layout{display:flex;min-height:100vh;background-color:var(--color-background)}.login-image-side{position:relative;flex:0 0 60%}.login-overlay{position:absolute;inset:0;background:rgba(0,0,0,.2);z-index:1}.login-form-image{width:100%;max-width:400px;margin:2rem auto 1rem;text-align:center}.login-form-image img{border-radius:8px}.login-form-side{flex:1 1;flex-direction:column;padding:2rem 1rem;max-width:450px;margin:0 auto}.login-auth-container,.login-form-side{display:flex;justify-content:center;align-items:center}.login-auth-container{width:100%}.login-auth-box{width:100%;max-width:400px;text-align:center}.login-auth-box h1{margin-bottom:var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-xl);color:var(--color-text-primary)}.login-auth-box input{margin-bottom:var(--spacing-sm);border-radius:var(--border-radius-md);border:1px solid var(--color-border)}.login-auth-box button,.login-auth-box input{width:100%;padding:var(--spacing-sm);font-size:var(--font-size-md)}.login-auth-box button{border:none;border-radius:var(--border-radius-md);background-color:var(--color-primary);color:#fff;font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-normal)}.login-auth-box button:hover{background-color:var(--color-primary-hover)}.login-error-message{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-error)}@media (max-width:768px){.login-image-side{display:none}.login-form-side{flex:1 1;padding-top:1rem}}.image-picker-box{position:relative;margin-top:var(--spacing-xs);width:100%;max-width:100%;height:150px;border:2px dashed var(--color-border);border-radius:var(--border-radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:border-color var(--transition-normal),background-color var(--transition-normal);background-color:var(--color-background)}.image-picker-box .attach-icon{font-size:2.5rem;color:var(--color-text-secondary)}.image-picker-box .placeholder-text{margin-top:var(--spacing-xs);font-style:italic;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.image-picker-box input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.image-picker-box .hover-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.45);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:1rem;opacity:0;pointer-events:none;transition:opacity .3s;z-index:1}.image-picker-box:hover{border-color:var(--color-border-hover);background-color:var(--color-surface)}.image-picker-box:hover .hover-overlay{opacity:1;pointer-events:auto}.loadingOverlay{position:fixed;inset:0;background:hsla(0,0%,100%,.8);display:flex;align-items:center;justify-content:center;z-index:9999}.dots-ellipsis{display:flex;gap:.5rem}.dots-ellipsis div{width:12px;height:12px;border-radius:50%;background:#333;opacity:0;animation:dotsFade 1.4s ease-in-out infinite both}.dots-ellipsis div:first-child{animation-delay:0s}.dots-ellipsis div:nth-child(2){animation-delay:.2s}.dots-ellipsis div:nth-child(3){animation-delay:.4s}@keyframes dotsFade{0%,80%,to{opacity:0;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.emptyState{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xxl) var(--spacing-md)}.emptyState-content{text-align:center;color:var(--color-text-secondary);max-width:320px}.emptyState-icon{width:64px;height:64px;margin-bottom:var(--spacing-md);color:var(--color-border)}.emptyState h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs)}.emptyState p{font-size:var(--font-size-md);line-height:1.4}