@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-primary:#1f4287;--color-primary-dark:#071e3d;--color-secondary:#278ea5;--color-accent:#21e6c1;--color-danger:#d32f2f;--color-warning:#ffa000;--color-success:#388e3c;--color-background:#f4f6f8;--color-surface:#fff;--color-text-main:#2c3e50;--color-text-muted:#7f8c8d;--color-text-light:#fff;--border-color:#e0e4e8;--border-color-focus:#1f4287;--font-family:"Inter", system-ui, sans-serif;--font-size-base:13px;--font-size-sm:11px;--font-size-lg:16px;--font-size-h1:20px;--font-size-h2:16px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--sidebar-width:240px;--sidebar-width-collapsed:60px;--topbar-height:50px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8cc}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-main);background-color:var(--color-background);-webkit-font-smoothing:antialiased;line-height:1.4}h1,h2,h3,h4,h5,h6{color:var(--color-primary-dark);margin-bottom:var(--spacing-sm);font-weight:600}input,select,textarea{font-family:var(--font-family);font-size:var(--font-size-base);padding:6px var(--spacing-sm);border:1px solid var(--border-color);background-color:var(--color-surface);color:var(--color-text-main);border-radius:4px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--border-color-focus);outline:none;box-shadow:0 0 0 2px #1f42871a}button{font-family:var(--font-family);font-size:var(--font-size-base);padding:6px var(--spacing-md);cursor:pointer;align-items:center;gap:var(--spacing-xs);border:1px solid #0000;border-radius:4px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--color-text-light);border-color:var(--color-primary-dark)}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-secondary{color:var(--color-text-main);border-color:var(--border-color);background-color:#fff}.btn-secondary:hover{background-color:#f8f9fa;border-color:#cdd4dc}.btn-success{background-color:var(--color-success);color:var(--color-text-light);border-color:#2e7d32}.btn-success:hover{background-color:#2e7d32}.btn-danger{background-color:var(--color-danger);color:var(--color-text-light);border-color:#b71c1c}.btn-danger:hover{background-color:#b71c1c}.data-table-container{border:1px solid var(--border-color);background:var(--color-surface);border-radius:4px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{padding:8px var(--spacing-sm);border-bottom:1px solid var(--border-color);text-align:left}.data-table th{color:var(--color-primary-dark);white-space:nowrap;vertical-align:middle;background-color:#f1f5f9;font-weight:600}.data-table tbody tr:hover{background-color:#f8fafc}.data-table tbody tr:nth-child(2n){background-color:#fdfdfd}.panel{background:var(--color-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);border-radius:4px}.panel-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);background-color:#fcfcfc;justify-content:space-between;align-items:center;display:flex}.panel-header h2{font-size:var(--font-size-lg);margin:0}.panel-body{padding:var(--spacing-md)}.card{background:var(--color-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:6px;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-sm);flex-direction:column;display:flex}.form-label{color:var(--color-text-main);margin-bottom:4px;font-size:.85rem;font-weight:600}.grid-form{align-items:end;gap:16px;display:grid}.badge{text-transform:uppercase;letter-spacing:.03em;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.badge-success{color:#2e7d32;background-color:#e8f5e9;border-color:#c8e6c9}.badge-warning{color:#f57f17;background-color:#fff8e1;border-color:#ffecb3}.badge-danger{color:#c62828;background-color:#ffebee;border-color:#ffcdd2}.badge-neutral{color:#475569;background-color:#f1f5f9;border-color:#e2e8f0}.sidebar{width:var(--sidebar-width);background-color:var(--color-primary-dark);color:var(--color-text-light);z-index:20;flex-direction:column;transition:width .3s;display:flex}.sidebar-header{background-color:#fff;border-bottom:1px solid #cbd5e1;justify-content:center;align-items:center;height:90px;display:flex}.sidebar-header img{object-fit:contain;max-width:90%;max-height:70px}.sidebar-nav{padding:var(--spacing-md) 0;flex:1;overflow-y:auto}.nav-group{margin-bottom:var(--spacing-md)}.nav-group-title{padding:var(--spacing-xs) var(--spacing-xl);text-transform:uppercase;color:#fff6;letter-spacing:1px;margin-bottom:var(--spacing-xs);font-size:10px}.nav-item{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-xl);color:#ffffffb3;cursor:pointer;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:var(--color-surface);background-color:#ffffff0d}.nav-item.active{color:var(--color-accent);border-left:3px solid var(--color-accent);background-color:#ffffff1a}.nav-item svg{min-width:18px}button.master-item{text-align:left;background:0 0;border:none;width:100%;font-family:inherit;font-size:1rem}button.master-item.active-master{color:var(--color-surface);background-color:#ffffff08}.expand-icon{opacity:.6;align-items:center;margin-left:auto;transition:transform .2s;display:flex}.sidebar-submenu{background-color:#00000026;margin-bottom:8px}.sub-item{padding-left:calc(var(--spacing-xl) + 24px);padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs);font-size:.9em}.sub-item.active{color:var(--color-accent);border-left:none}.dashboard-layout{background-color:var(--color-background);height:100vh;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{height:var(--topbar-height);background-color:var(--color-surface);border-bottom:1px solid var(--border-color);padding:0 var(--spacing-xl);box-shadow:var(--shadow-sm);z-index:10;justify-content:space-between;align-items:center;display:flex}.topbar-left{align-items:center;gap:var(--spacing-md);display:flex}.breadcrumbs{font-size:var(--font-size-base);color:var(--color-text-muted)}.breadcrumbs span.active{color:var(--color-primary-dark);font-weight:500}.topbar-right{align-items:center;gap:var(--spacing-md);display:flex}.user-profile-widget{align-items:center;gap:var(--spacing-sm);display:flex}.user-avatar{background-color:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:600;display:flex}.user-info{flex-direction:column;display:flex}.user-name{color:var(--color-text-main);font-weight:600;line-height:1.1}.user-role{font-size:var(--font-size-sm);color:var(--color-text-muted)}.content-area{padding:var(--spacing-xl);flex:1;position:relative;overflow-y:auto}.module-layout{flex-direction:column;height:100%;display:flex}.module-header{padding-bottom:20px}.module-title{color:var(--color-text-dark);margin-bottom:4px;font-size:1.5rem;font-weight:600}.module-subtitle{color:var(--color-text-muted);font-size:.875rem}.module-tabs{border-bottom:1px solid var(--color-border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.module-tabs .tab{color:var(--color-text-main);white-space:nowrap;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s ease-in-out;display:flex}.module-tabs .tab:hover{color:var(--color-primary);background-color:var(--color-bg-hover);border-bottom-color:var(--color-border)}.module-tabs .tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background-color:#0000}.module-content{flex:1;overflow-y:auto}
