@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
.sidebar{width:var(--sidebar-width);z-index:100;transition:width var(--transition-slow);background:linear-gradient(#2e1065 0%,#1e0f4e 100%);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.expanded{width:var(--sidebar-width-expanded)}.sidebar-logo{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-bottom:1px solid #ffffff14;min-height:60px;display:flex}.sidebar-logo-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.sidebar-logo-icon img{object-fit:contain;border-radius:var(--radius-lg);width:36px;height:36px}.sidebar-logo-text{color:#fff;font-weight:var(--fw-bold);font-size:var(--fs-md);opacity:0;white-space:nowrap;transition:opacity var(--transition-base)}.sidebar.expanded .sidebar-logo-text{opacity:1}.sidebar-version{font-size:var(--fs-xs);color:#fff6;opacity:0;transition:opacity var(--transition-base)}.sidebar.expanded .sidebar-version{opacity:1}.sidebar-nav{padding:var(--space-3) 0;flex:1;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:0}.nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);margin:var(--space-1) var(--space-2);color:var(--text-sidebar);font-size:var(--fs-sm);font-weight:var(--fw-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--bg-sidebar-hover);color:#fff}.nav-item.active{background:var(--bg-sidebar-active);color:var(--text-sidebar-active)}.nav-item.active:before{content:"";background:var(--primary-light);border-radius:0 var(--radius-sm) var(--radius-sm) 0;width:3px;height:24px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.nav-icon svg{stroke-width:1.8px;width:20px;height:20px}.nav-label{opacity:0;transition:opacity var(--transition-base)}.sidebar.expanded .nav-label{opacity:1}.nav-item .nav-tooltip{left:calc(var(--sidebar-width) + 4px);background:var(--gray-800);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--fs-xs);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-fast);z-index:200;position:absolute;top:50%;transform:translateY(-50%)}.sidebar:not(.expanded) .nav-item:hover .nav-tooltip{opacity:1}.nav-divider{height:1px;margin:var(--space-3) var(--space-4);background:#ffffff14}.sidebar-footer{padding:var(--space-3) var(--space-2);border-top:1px solid #ffffff14}.sidebar-toggle{width:100%;padding:var(--space-2);color:#fff6;cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-toggle:hover{color:#fff;background:var(--bg-sidebar-hover)}.sidebar-toggle svg{width:18px;height:18px;transition:transform var(--transition-base)}.sidebar.expanded .sidebar-toggle svg{transform:rotate(180deg)}.lang-switcher{border-radius:var(--radius-full);margin:var(--space-2) var(--space-3);background:#ffffff0f;align-items:center;gap:2px;padding:2px;display:flex}.lang-btn{padding:var(--space-1) var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:#ffffff80;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none}.lang-btn.active{background:var(--primary-light);color:#fff}.lang-btn:hover:not(.active){color:#fff}
:root{--primary:#294397;--primary-light:#039eec;--primary-dark:#1a2d6b;--primary-hover:#1e3580;--primary-surface:#2943970f;--accent:#ce2263;--accent-light:#e84d8a;--accent-dark:#a81b50;--success:#22c55e;--success-light:#dcfce7;--success-dark:#16a34a;--warning:#f59e0b;--warning-light:#fef3c7;--warning-dark:#d97706;--danger:#ef4444;--danger-light:#fee2e2;--danger-dark:#dc2626;--info:#3b82f6;--info-light:#dbeafe;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--bg-sidebar:#1a2744;--bg-sidebar-hover:#243356;--bg-sidebar-active:#039eec26;--bg-main:#f0f4f8;--bg-card:#fff;--bg-input:#fff;--bg-modal-overlay:#0f172a80;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--text-inverse:#fff;--text-link:#039eec;--text-sidebar:#ffffffbf;--text-sidebar-active:#fff;--border-color:#e2e8f0;--border-focus:#039eec;--border-error:#ef4444;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", Consolas, monospace;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:1.875rem;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.25;--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:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000f;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000f;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000f;--shadow-card:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-card-hover:0 4px 12px #0000001a;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--transition-spring:.3s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width:72px;--sidebar-width-expanded:220px;--header-height:56px;--hints-sidebar-width:300px}
.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-family);font-size:var(--fs-base);font-weight:var(--fw-medium);line-height:var(--lh-tight);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:18px;height:18px}.btn-primary{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-accent{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.btn-accent:hover:not(:disabled){background:var(--accent-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success{background:var(--success);color:var(--text-inverse);border-color:var(--success)}.btn-success:hover:not(:disabled){background:var(--success-dark);box-shadow:var(--shadow-md)}.btn-outline{color:var(--primary);border-color:var(--border-color);background:0 0}.btn-outline:hover:not(:disabled){background:var(--primary-surface);border-color:var(--primary)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--text-primary)}.btn-danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn-danger:hover:not(:disabled){background:var(--danger);color:var(--text-inverse)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--fs-sm)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--fs-md)}.btn-icon{padding:var(--space-2);width:36px;height:36px}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base), transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-card-hover)}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.card-body{padding:var(--space-5)}.card-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-color);display:flex}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.form-input,.form-select,.form-textarea{padding:var(--space-2) var(--space-3);font-family:var(--font-family);font-size:var(--fs-base);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #039eec26}.form-input.error{border-color:var(--border-error);box-shadow:0 0 0 3px #ef44441a}.form-hint{font-size:var(--fs-xs);color:var(--text-muted)}.form-error{font-size:var(--fs-xs);color:var(--danger)}.form-textarea{resize:vertical;min-height:100px}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-full);line-height:var(--lh-normal);text-transform:uppercase;letter-spacing:.025em;display:inline-flex}.badge-draft{background:var(--warning-light);color:var(--warning-dark)}.badge-finalized{background:var(--success-light);color:var(--success-dark)}.badge-published{background:var(--info-light);color:var(--info)}.badge-error{background:var(--danger-light);color:var(--danger)}.badge-no{background:var(--accent);color:#fff;padding:2px 10px;font-size:11px}.badge-yes{background:var(--success);color:#fff;padding:2px 10px;font-size:11px}.toggle{cursor:pointer;width:44px;height:24px;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-slider{background:var(--gray-300);border-radius:var(--radius-full);transition:background var(--transition-base);position:absolute;inset:0}.toggle-slider:before{content:"";width:20px;height:20px;transition:transform var(--transition-base);box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-slider{background:var(--primary-light)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.table-container{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:var(--fw-semibold);color:var(--text-secondary);background:var(--gray-50);border-bottom:2px solid var(--border-color);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.03em}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color);color:var(--text-primary)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--gray-50)}.breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-muted);display:flex}.breadcrumb a{color:var(--text-link);transition:color var(--transition-fast);text-decoration:none}.breadcrumb a:hover{color:var(--primary)}.breadcrumb-sep{color:var(--gray-300)}.breadcrumb-current{color:var(--text-primary);font-weight:var(--fw-medium)}.stepper{background:var(--bg-card);border-bottom:2px solid var(--border-color);padding:0 var(--space-6);align-items:center;display:flex;overflow-x:auto}.stepper-step{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text-muted);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border-bottom:3px solid #0000;margin-bottom:-2px;display:flex}.stepper-step:hover{color:var(--text-secondary)}.stepper-step.active{color:var(--primary);border-bottom-color:var(--primary)}.stepper-step.completed{color:var(--success);border-bottom-color:#0000}.stepper-num{width:24px;height:24px;font-size:var(--fs-sm);font-weight:var(--fw-bold);background:var(--gray-200);color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.stepper-step.active .stepper-num{background:var(--primary);color:#fff}.stepper-step.completed .stepper-num{background:var(--success);color:#fff}.modal-overlay{background:var(--bg-modal-overlay);z-index:1000;animation:fadeIn var(--transition-base);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:560px;max-height:85vh;animation:slideUp var(--transition-slow);overflow-y:auto}.modal-header{padding:var(--space-5);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--space-5)}.modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-color);display:flex}.tooltip-wrap{position:relative}.tooltip-text{background:var(--gray-800);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--fs-xs);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-fast);z-index:100;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.tooltip-wrap:hover .tooltip-text{opacity:1}.skeleton{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}.skeleton-text{height:14px;margin-bottom:var(--space-2)}.skeleton-title{width:60%;height:24px;margin-bottom:var(--space-3)}.skeleton-card{height:120px}.empty-state{padding:var(--space-12) var(--space-6);text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state svg{width:64px;height:64px;margin-bottom:var(--space-4);opacity:.4}.empty-state h3{color:var(--text-secondary);margin-bottom:var(--space-2)}.notification-banner{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-size:var(--fs-sm);display:flex}.notification-banner.info{color:#8d6e00;background:#fff8e1;border:1px solid #ffe082}.notification-banner.success{background:var(--success-light);color:var(--success-dark);border:1px solid var(--success)}.stat-card{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-card);transition:transform var(--transition-base), box-shadow var(--transition-base)}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-card-icon{border-radius:var(--radius-lg);width:44px;height:44px;margin-bottom:var(--space-3);justify-content:center;align-items:center;display:flex}.stat-card-value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--space-1);line-height:1}.stat-card-label{font-size:var(--fs-sm);color:var(--text-muted)}
@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progressBar{0%{width:0%}to{width:100%}}@keyframes bounceIn{0%{opacity:0;transform:scale(.8)}60%{opacity:1;transform:scale(1.05)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes toastEnter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastExit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes borderPulse{0%,to{border-color:var(--primary-light)}50%{border-color:var(--primary)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease both}.animate-slide-up{animation:slideUp var(--transition-slow) ease both}.animate-slide-down{animation:slideDown var(--transition-slow) ease both}.animate-slide-left{animation:slideInLeft var(--transition-slow) ease both}.animate-slide-right{animation:slideInRight var(--transition-slow) ease both}.animate-scale-in{animation:scaleIn var(--transition-base) ease both}.animate-bounce-in{animation:.4s both bounceIn}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}.animate-shake{animation:.4s both shake}.stagger-children>*{animation:.3s both slideUp}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-family);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text-primary);background:var(--bg-main);overflow-x:hidden}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.app-shell{min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);padding:var(--space-6);transition:margin-left var(--transition-slow);flex:1;min-height:100vh}.main-content.sidebar-expanded{margin-left:var(--sidebar-width-expanded)}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.page-title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary)}.page-subtitle{font-size:var(--fs-base);color:var(--text-muted);margin-top:var(--space-1)}.page-actions{align-items:center;gap:var(--space-3);display:flex}.grid{gap:var(--space-5);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}@media (max-width:1280px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.main-content{padding:var(--space-4);margin-left:0}.page-header{align-items:flex-start;gap:var(--space-3);flex-direction:column}}@media print{.sidebar,aside.sidebar,.sidebar-toggle,.toolbar,.approval-panel{display:none!important}.app-shell{display:block!important}.main-content,.main-content.sidebar-expanded{width:100%!important;max-width:100%!important;margin-left:0!important;padding:0!important}html,body{background:#fff!important}}
