@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-primary:#1b5e20;--color-primary-dark:#0d3b13;--color-primary-light:#4caf50;--color-primary-50:#e8f5e9;--color-primary-100:#c8e6c9;--color-primary-200:#a5d6a7;--color-bg:#f5f5f5;--color-surface:#fff;--color-text-primary:#1a1a1a;--color-text-secondary:#666;--color-text-disabled:#9e9e9e;--color-border:#e0e0e0;--color-border-light:#f0f0f0;--color-hover:#f8f8f8;--color-success:#2e7d32;--color-success-bg:#e8f5e9;--color-warning:#f57f17;--color-warning-bg:#fff8e1;--color-error:#c62828;--color-error-bg:#ffebee;--color-info:#1565c0;--color-info-bg:#e3f2fd;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--fs-display:2rem;--fs-h1:1.5rem;--fs-h2:1.25rem;--fs-h3:1rem;--fs-body-lg:1rem;--fs-body:.875rem;--fs-body-sm:.75rem;--fs-caption:.6875rem;--fs-btn:.875rem;--fs-table:.8125rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.2;--lh-normal:1.5;--lh-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001f;--shadow-xl:0 8px 32px #00000029;--sidebar-width:260px;--sidebar-collapsed:72px;--header-height:64px;--content-max-width:1440px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--z-sidebar:100;--z-header:200;--z-modal-backdrop:300;--z-modal:400;--z-toast:500}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--color-text-primary);background-color:var(--color-bg)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:var(--fs-body)}table{border-collapse:collapse;width:100%}h1{font-size:var(--fs-h1);font-weight:var(--fw-bold);line-height:var(--lh-tight)}h2{font-size:var(--fs-h2);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}h3{font-size:var(--fs-h3);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-disabled)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--fs-btn);font-weight:var(--fw-semibold);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;height:40px;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{height:32px;padding:var(--space-1) var(--space-3);font-size:var(--fs-body-sm)}.btn-lg{height:48px;padding:var(--space-3) var(--space-6);font-size:var(--fs-body-lg)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--color-primary-50)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:#b71c1c}.btn-ghost{color:var(--color-primary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-primary-50)}.btn-icon{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);box-sizing:border-box;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon>svg{flex-shrink:0;margin:auto;display:block}.btn-icon:hover{background:var(--color-hover);color:var(--color-text-primary)}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--color-text-secondary)}.form-label .required{color:var(--color-error);margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;height:40px;padding:var(--space-2) var(--space-3);font-size:var(--fs-body);color:var(--color-text-primary);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-50)}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-error)}.form-input.error:focus,.form-select.error:focus{box-shadow:0 0 0 3px var(--color-error-bg)}.form-input::placeholder{color:var(--color-text-disabled)}.form-textarea{resize:vertical;height:auto;min-height:80px}.form-helper{font-size:var(--fs-caption);color:var(--color-text-secondary)}.form-error{font-size:var(--fs-caption);color:var(--color-error)}.form-input-with-icon{position:relative}.form-input-with-icon .input-icon{left:var(--space-3);color:var(--color-text-disabled);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.form-input-with-icon.has-icon .form-input{padding-left:40px}.form-input-with-icon.has-action .form-input{padding-right:40px}.form-input-with-icon .input-action{right:var(--space-2);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.form-input-with-icon .input-action:hover{color:var(--color-text-primary)}.amount-prefix{left:var(--space-3);color:var(--color-text-secondary);font-weight:var(--fw-medium);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.form-input-with-icon .form-input.amount-input{padding-left:32px}.card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.card-header h1,.card-header h2,.card-header h3,.card-header h4{line-height:var(--lh-tight);align-items:center;gap:.5rem;margin:0;display:flex}.card-header h1 svg,.card-header h2 svg,.card-header h3 svg,.card-header h4 svg{vertical-align:middle;flex-shrink:0;display:inline-block;margin-right:0!important}.card-body{padding:var(--space-6)}.card-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-light);display:flex}.stat-card{align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast);display:flex}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{border-color:var(--color-border)}.stat-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-card-icon.green{background:var(--color-success-bg);color:var(--color-success)}.stat-card-icon.blue{background:var(--color-info-bg);color:var(--color-info)}.stat-card-icon.orange{background:var(--color-warning-bg);color:var(--color-warning)}.stat-card-icon.red{background:var(--color-error-bg);color:var(--color-error)}.stat-card-content{flex:1;min-width:0}.stat-card-label{font-size:var(--fs-body-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.stat-card-value{font-size:var(--fs-h1);font-weight:var(--fw-bold);color:var(--color-text-primary);line-height:var(--lh-tight)}.stat-card-trend{font-size:var(--fs-caption);margin-top:var(--space-1)}.stat-card-trend.up{color:var(--color-success)}.stat-card-trend.down{color:var(--color-error)}.badge{font-size:var(--fs-caption);font-weight:var(--fw-semibold);border-radius:var(--radius-full);white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:4px;padding:2px 10px;line-height:1.5;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-neutral{color:var(--color-text-secondary);background:#f5f5f5}.data-table-wrapper{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{padding:var(--space-3) var(--space-4);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--color-text-secondary);text-align:left;background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--color-text-primary)}.data-table th .sort-icon{margin-left:var(--space-1);opacity:.4;display:inline-flex}.data-table th.sorted .sort-icon{opacity:1;color:var(--color-primary)}.data-table td{padding:var(--space-3) var(--space-4);font-size:var(--fs-table);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.data-table tbody tr:hover{background:var(--color-hover)}.data-table .actions-cell{gap:var(--space-1);justify-content:center;align-items:center;display:flex}.pagination{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.pagination-info{font-size:var(--fs-body-sm);color:var(--color-text-secondary)}.pagination-controls{align-items:center;gap:var(--space-1);display:flex}.pagination-btn{border-radius:var(--radius-md);width:32px;height:32px;font-size:var(--fs-body-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.pagination-btn:hover:not(:disabled){background:var(--color-hover);color:var(--color-text-primary)}.pagination-btn.active{background:var(--color-primary);color:#fff}.pagination-btn:disabled{opacity:.3;cursor:not-allowed}.modal-backdrop{z-index:var(--z-modal-backdrop);padding:var(--space-4);animation:fadeIn var(--transition-fast);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:520px;max-height:90vh;z-index:var(--z-modal);animation:slideUp var(--transition-normal);overflow-y:auto}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:var(--fs-h2);margin:0}.modal-body{padding:var(--space-6)}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-light);display:flex}.toast-container{top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-left:4px solid var(--color-primary);min-width:320px;max-width:440px;animation:slideInRight var(--transition-normal);pointer-events:auto;display:flex}.toast.success{border-left-color:var(--color-success)}.toast.error{border-left-color:var(--color-error)}.toast.warning{border-left-color:var(--color-warning)}.toast.info{border-left-color:var(--color-info)}.toast-icon{flex-shrink:0;margin-top:2px}.toast.success .toast-icon{color:var(--color-success)}.toast.error .toast-icon{color:var(--color-error)}.toast.warning .toast-icon{color:var(--color-warning)}.toast.info .toast-icon{color:var(--color-info)}.toast-content{flex:1;min-width:0}.toast-title{font-size:var(--fs-body);font-weight:var(--fw-semibold);margin-bottom:2px}.toast-message{font-size:var(--fs-body-sm);color:var(--color-text-secondary)}.toast-close{color:var(--color-text-disabled);flex-shrink:0}.toast-close:hover{color:var(--color-text-secondary)}.credit-alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--fs-body);display:flex}.credit-alert.outstanding{background:var(--color-warning-bg);border:1px solid var(--color-warning);color:#5d4037}.credit-alert.blacklisted{background:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error)}.credit-alert.high-risk{color:#bf360c;background:#fff3e0;border:1px solid #e65100}.credit-alert-icon{flex-shrink:0;margin-top:2px}.credit-alert-content{flex:1}.credit-alert-title{font-weight:var(--fw-semibold);margin-bottom:var(--space-1)}.empty-state{padding:var(--space-16) var(--space-8);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{color:var(--color-text-disabled);margin-bottom:var(--space-4)}.empty-state-title{font-size:var(--fs-h3);font-weight:var(--fw-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--fs-body);color:var(--color-text-secondary);max-width:400px;margin-bottom:var(--space-6)}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.skeleton-text{height:14px;margin-bottom:var(--space-2)}.skeleton-text.short{width:40%}.skeleton-text.medium{width:65%}.skeleton-text.long{width:90%}.skeleton-circle{border-radius:var(--radius-full)}.skeleton-card{height:120px}.skeleton-row{gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);display:flex}.error-state{padding:var(--space-16) var(--space-8);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.error-state-icon{color:var(--color-error);margin-bottom:var(--space-4)}.error-state-title{font-size:var(--fs-h3);font-weight:var(--fw-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.error-state-description{font-size:var(--fs-body);color:var(--color-text-secondary);max-width:400px;margin-bottom:var(--space-6)}.breadcrumbs{align-items:center;gap:var(--space-2);font-size:var(--fs-body-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4);display:flex}.breadcrumbs a{color:var(--color-text-secondary);transition:color var(--transition-fast)}.breadcrumbs a:hover{color:var(--color-primary);text-decoration:none}.breadcrumbs .separator{color:var(--color-text-disabled)}.breadcrumbs .current{color:var(--color-text-primary);font-weight:var(--fw-medium)}.search-input-wrapper{max-width:360px;position:relative}.search-input-wrapper .search-icon{left:var(--space-3);color:var(--color-text-disabled);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input-wrapper .form-input{padding-left:40px;padding-right:36px}.search-input-wrapper .clear-btn{right:var(--space-1);position:absolute;top:50%;transform:translateY(-50%)}.page-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-header-left{flex:1;min-width:0}.page-header-left h1{margin-bottom:var(--space-1)}.page-header-subtitle{font-size:var(--fs-body);color:var(--color-text-secondary)}.stats-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.two-col{gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}@media (width<=900px){.two-col{grid-template-columns:1fr}}.form-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.form-grid .full-width{grid-column:1/-1}@media (width<=700px){.form-grid{grid-template-columns:1fr}}.info-grid{gap:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.info-item-label{font-size:var(--fs-body-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.info-item-value{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--color-text-primary)}@media (width<=700px){.info-grid{grid-template-columns:1fr}}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-light);flex-wrap:wrap;display:flex}.toolbar-left,.toolbar-right{align-items:center;gap:var(--space-3);display:flex}.tabs{border-bottom:2px solid var(--color-border-light);margin-bottom:var(--space-6);gap:0;display:flex}.tab{padding:var(--space-3) var(--space-5);font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-2px}.tab:hover{color:var(--color-text-primary)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.notification-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast);cursor:pointer;display:flex}.notification-dot{border-radius:var(--radius-full);background:var(--color-primary);flex-shrink:0;width:8px;height:8px;margin-top:6px}.notification-content{flex:1;min-width:0}.notification-title{font-size:var(--fs-body);font-weight:var(--fw-medium);margin-bottom:2px}.notification-message{font-size:var(--fs-body-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.notification-time{font-size:var(--fs-caption);color:var(--color-text-disabled)}.app-layout{max-width:100vw;min-height:100vh;display:flex;overflow-x:hidden}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border-light);z-index:var(--z-sidebar);transition:width var(--transition-normal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-brand{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5);border-bottom:1px solid var(--color-border-light);height:var(--header-height);flex-shrink:0;display:flex}.sidebar-brand-logo{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);width:36px;height:36px;font-weight:var(--fw-bold);font-size:var(--fs-h3);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-brand-text{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--color-text-primary);white-space:nowrap}.sidebar-brand-subtitle{font-size:var(--fs-caption);color:var(--color-text-secondary)}.sidebar.collapsed .sidebar-brand-text,.sidebar.collapsed .sidebar-brand-subtitle{display:none}.sidebar-nav{padding:var(--space-3);flex:1;overflow-y:auto}.sidebar-nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:pointer;white-space:nowrap;margin-bottom:2px;text-decoration:none;display:flex}.sidebar-nav-item:hover{background:var(--color-hover);color:var(--color-text-primary);text-decoration:none}.sidebar-nav-item.active{background:var(--color-primary-50);color:var(--color-primary)}.sidebar-nav-item .nav-icon{flex-shrink:0;width:20px;height:20px}.sidebar-nav-item .nav-label{flex:1}.sidebar.collapsed .nav-label{display:none}.sidebar-section-label{padding:var(--space-4) var(--space-3) var(--space-2);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--color-text-disabled);text-transform:uppercase;letter-spacing:.5px}.sidebar.collapsed .sidebar-section-label{display:none}.sidebar-footer{border-top:1px solid var(--color-border-light);padding:var(--space-3)}.main-area{width:100%;min-width:0;margin-left:var(--sidebar-width);transition:margin-left var(--transition-normal);flex:1;overflow-x:hidden}.sidebar.collapsed~.main-area,.main-area.sidebar-collapsed{margin-left:var(--sidebar-collapsed)}.header{height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);padding:0 var(--space-6);z-index:var(--z-header);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-left,.header-right{align-items:center;gap:var(--space-3);display:flex}.announcement-btn{border-radius:var(--radius-md);color:#0284c7;cursor:pointer;white-space:nowrap;height:36px;transition:all var(--transition-fast);background-color:#f0f9ff;border:1px solid #bae6fd;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #0000000d}.announcement-btn:hover{color:#0369a1;background-color:#e0f2fe;border-color:#7dd3fc}.announcement-btn svg{flex-shrink:0}.header-search{max-width:300px}.notification-bell{position:relative}.notification-bell .badge-count{background:var(--color-error);color:#fff;min-width:18px;height:18px;font-size:10px;font-weight:var(--fw-bold);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:0 4px;display:flex;position:absolute;top:-4px;right:-4px}.user-menu{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);display:flex}.user-menu:hover{background:var(--color-hover)}.user-avatar{border-radius:var(--radius-full);background:var(--color-primary-100);width:36px;height:36px;color:var(--color-primary);font-weight:var(--fw-semibold);font-size:var(--fs-body-sm);justify-content:center;align-items:center;display:flex}.user-info{text-align:left}.user-name{font-size:var(--fs-body-sm);font-weight:var(--fw-medium)}.user-role{font-size:var(--fs-caption);color:var(--color-text-secondary)}.main-content{padding:var(--space-6);width:100%;max-width:var(--content-max-width);box-sizing:border-box}.dropdown-menu{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;padding:var(--space-1);z-index:var(--z-modal);animation:fadeIn var(--transition-fast);position:absolute;top:calc(100% + 4px);right:0}.dropdown-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--fs-body);color:var(--color-text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);display:flex}.dropdown-item:hover{background:var(--color-hover)}.dropdown-item.danger{color:var(--color-error)}.dropdown-divider{background:var(--color-border-light);height:1px;margin:var(--space-1) 0}.login-page{background:var(--color-bg);min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:var(--space-10)}.login-brand{margin-bottom:var(--space-8);flex-direction:column;align-items:center;display:flex}.login-brand-icon{background:var(--color-primary);color:#fff;border-radius:var(--radius-lg);width:56px;height:56px;font-size:var(--fs-h1);font-weight:var(--fw-bold);margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.login-brand h1{font-size:var(--fs-h2);text-align:center;margin-bottom:var(--space-1)}.login-brand p{font-size:var(--fs-body);color:var(--color-text-secondary)}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-form .btn{width:100%;height:44px;margin-top:var(--space-2)}.login-error{align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--fs-body-sm);display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mobile-toggle-btn{display:none}.sidebar-overlay{z-index:calc(var(--z-sidebar) - 1);background:#00000080;display:none;position:fixed;inset:0}.app-layout,.main-area,.main-content,.card,.card-body,.card-header,.card-footer,.stats-grid>*,.stat-card-content,.toolbar,.page-header,.info-grid>*,.form-grid>*,.modal-body{min-width:0}.data-table td,.data-table th,.stat-card-label,.stat-card-value,.info-item-value,.page-header-subtitle{overflow-wrap:break-word;word-break:break-word}@media (width<=1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.info-grid{gap:var(--space-4)}}@media (width<=768px){.mobile-toggle-btn{display:inline-flex!important}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.visible{display:block}.main-area,.main-area.sidebar-collapsed{margin-left:0}.header{padding:0 var(--space-4)}.main-content{padding:var(--space-4)}.page-header{align-items:flex-start;gap:var(--space-3);flex-direction:column}.page-header-left{width:100%}.page-header>div:last-child{gap:var(--space-2);flex-wrap:wrap;width:100%;display:flex}.page-header>div:last-child .btn{flex:1;min-width:130px}}@media (width<=640px){.toolbar{padding:var(--space-3);align-items:stretch;gap:var(--space-3);flex-direction:column}.toolbar-left,.toolbar-right{align-items:stretch;gap:var(--space-2);flex-direction:column;width:100%}.search-input-wrapper{width:100%;max-width:100%}.card-header{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);flex-direction:column}.card-body{padding:var(--space-4)}.card-footer{align-items:stretch;gap:var(--space-2);padding:var(--space-4);flex-direction:column-reverse}.card-footer .btn{width:100%}}@media (width<=576px){.user-info,.announcement-text{display:none}.announcement-btn{padding:0 .5rem}.info-grid{grid-template-columns:1fr}}@media (width<=480px){.header-search{max-width:130px}.stats-grid{grid-template-columns:1fr!important}.stat-card{padding:var(--space-4)}.modal{max-height:90vh;width:calc(100% - 1.5rem)!important;margin:.75rem!important}.modal-header,.modal-body,.modal-footer{padding:var(--space-4)}.pagination{gap:var(--space-3);flex-direction:column;align-items:center}}@media (width<=360px){.header-search{display:none}}@media (width>=1800px){.main-content{max-width:1600px;margin:0 auto}}.notification-popover{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);width:360px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-xl);z-index:var(--z-modal);animation:fadeIn var(--transition-fast);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notification-popover-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);background:var(--color-bg);justify-content:space-between;align-items:center;display:flex}.notification-popover-title{align-items:center;gap:var(--space-2);font-weight:var(--fw-semibold);font-size:var(--fs-body-sm);display:flex}.notification-badge-inline{background:var(--color-primary-100);color:var(--color-primary);font-size:.75rem;font-weight:var(--fw-bold);border-radius:var(--radius-full);padding:2px 6px}.btn-text-sm{color:var(--color-primary);font-size:.75rem;font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;display:inline-flex}.btn-text-sm:hover{text-decoration:underline}.notification-popover-body{max-height:380px;overflow-y:auto}.notification-empty{padding:var(--space-8) var(--space-4);color:var(--color-text-secondary);font-size:var(--fs-body-sm);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.notification-item{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background var(--transition-fast);display:flex;position:relative}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--color-hover)}.notification-item.unread{background:#22c55e0d}.notification-item-icon{flex-shrink:0;margin-top:2px}.notification-item-content{flex:1;min-width:0}.notification-item-header{justify-content:space-between;align-items:baseline;margin-bottom:2px;display:flex}.notification-item-title{font-weight:var(--fw-semibold);font-size:var(--fs-body-sm);color:var(--color-text-primary)}.notification-item-time{color:var(--color-text-disabled);flex-shrink:0;font-size:.75rem}.notification-item-body{color:var(--color-text-secondary);font-size:.8125rem;line-height:1.4}.unread-dot{background:var(--color-primary);border-radius:50%;flex-shrink:0;align-self:center;width:8px;height:8px}.search-dropdown-results{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);width:380px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-xl);z-index:var(--z-modal);animation:fadeIn var(--transition-fast);position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}.search-result-header{padding:var(--space-2) var(--space-4);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--color-text-secondary);background:var(--color-bg);border-bottom:1px solid var(--color-border-light);text-transform:uppercase;letter-spacing:.5px}.search-result-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.search-result-item:hover{background:var(--color-hover)}.search-result-info{flex-direction:column;gap:2px;min-width:0;display:flex}.search-result-name{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-result-alias{color:var(--color-info);font-weight:var(--fw-medium)}.search-result-sub{font-size:var(--fs-caption);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-result-loading,.search-result-empty{padding:var(--space-4);font-size:var(--fs-body-sm);color:var(--color-text-secondary);text-align:center}.search-result-footer{padding:var(--space-3) var(--space-4);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--color-primary);background:var(--color-primary-50);cursor:pointer;transition:background var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.search-result-footer:hover{background:var(--color-primary-100)}
