@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary-color:#0f172a;--primary-light:#1e293b;--accent-color:#2563eb;--accent-hover:#1d4ed8;--success-color:#16a342;--success-hover:#15803d;--danger-color:#dc2626;--danger-hover:#b91c1c;--warning-color:#ea580c;--warning-hover:#c2410c;--bg-color:#f8fafc;--card-bg:#fff;--text-main:#334155;--text-muted:#64748b;--border-color:#e2e8f0;--sidebar-width:250px}body{background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}.app-container{min-height:100vh;display:flex}.main-content{box-sizing:border-box;flex:1;width:100%;max-width:1400px;margin:0 auto;padding:16px;overflow-y:auto}.sidebar{width:var(--sidebar-width);color:#334155;z-index:100;background-color:#fff;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;box-shadow:1px 0 3px #00000005}.sidebar-header{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:12px 14px;display:flex}.sidebar-title{color:#0f172a;letter-spacing:-.025em;font-size:16px;font-weight:700}.sidebar-menu{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex;overflow-y:auto}.sidebar-link{color:#475569;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-link:hover{color:#0f172a;background-color:#f3f4f6}.sidebar-link:hover svg{color:#0f172a}.sidebar-link.active{color:#0f172a;background-color:#eaeaea;font-weight:600}.sidebar-link.active svg{color:#0f172a}.sidebar-footer{border-top:1px solid #f1f5f9;flex-direction:column;gap:6px;padding:10px 8px;display:flex}.card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:14px;padding:14px;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px #0000000d,0 1px 2px -1px #00000008}.card:hover{box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #00000005}.card-title{color:var(--primary-color);align-items:center;gap:6px;margin-top:0;margin-bottom:4px;font-size:15px;font-weight:600;display:flex}.card-subtitle{color:var(--text-muted);margin-top:0;margin-bottom:10px;font-size:12px}h1,h2,h3,h4{color:var(--primary-color);font-weight:600}.form-group{margin-bottom:12px}.form-group label{color:var(--text-main);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-control{border:1px solid var(--border-color);box-sizing:border-box;width:100%;color:var(--text-main);background-color:#fff;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 3px #3498db26}.form-control[readonly]{cursor:not-allowed;background-color:#f1f5f9}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);box-shadow:0 4px 10px #3498db33}.btn-success{background-color:var(--success-color);color:#fff}.btn-success:hover{background-color:var(--success-hover);box-shadow:0 4px 10px #2ecc7133}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:var(--danger-hover);box-shadow:0 4px 10px #e74c3c33}.btn-warning{background-color:var(--warning-color);color:#fff}.btn-warning:hover{background-color:var(--warning-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.table-responsive{border:1px solid var(--border-color);background-color:#fff;border-radius:10px;width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);background-color:#f8fafc;padding:8px 12px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle;padding:8px 12px;font-size:12.5px}tr:last-child td{border-bottom:none}tr:hover td{background-color:#f8fafc}.badge{border-radius:9999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.badge-success{color:#15803d;background-color:#dcfce7}.badge-danger{color:#b91c1c;background-color:#fee2e2}.badge-warning{color:#854d0e;background-color:#fef9c3}.badge-info{color:#0369a1;background-color:#e0f2fe}.notification{border-radius:8px;align-items:center;gap:10px;margin-top:15px;padding:12px 16px;font-size:14px;font-weight:500;animation:.3s slideIn;display:flex}.notification-success{color:#065f46;background-color:#ecfdf5;border:1px solid #a7f3d0}.notification-error{color:#9b1c1c;background-color:#fdf2f2;border:1px solid #fecaca}.grid{gap:24px;display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1024px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(1,minmax(0,1fr))}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.spinner{vertical-align:middle!important;background-color:#2563eb!important;border:none!important;border-radius:50%!important;width:6px!important;height:6px!important;margin:0 16px!important;animation:1.4s ease-in-out .16s infinite both dots-bounce!important;display:inline-block!important;position:relative!important}.spinner:before,.spinner:after{content:""!important;background-color:#2563eb!important;border-radius:50%!important;width:6px!important;height:6px!important;animation:1.4s ease-in-out infinite both dots-bounce!important;position:absolute!important;top:0!important}.spinner:before{animation-delay:0s!important;left:-12px!important}.spinner:after{animation-delay:.32s!important;left:12px!important}.btn .spinner,.btn .spinner:before,.btn .spinner:after,.badge .spinner,.badge .spinner:before,.badge .spinner:after{background-color:#fff!important}@keyframes dots-bounce{0%,80%,to{opacity:.2;transform:scale(0)}40%{opacity:1;transform:scale(1.2)}}.mobile-header,.sidebar-close-btn{display:none}@media (width<=768px){.app-container{flex-direction:column;padding-top:56px}.mobile-header{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:990;box-sizing:border-box;background-color:#ffffffd9;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 2px #0000000d}.mobile-menu-toggle,.mobile-lang-toggle{color:var(--text-main);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px;transition:background-color .2s,transform .1s;display:flex}.mobile-menu-toggle:active,.mobile-lang-toggle:active{transform:scale(.95)}.mobile-menu-toggle:hover,.mobile-lang-toggle:hover{color:var(--accent-color);background-color:#f1f5f9}.mobile-header-logo{align-items:center;gap:8px;display:flex}.mobile-header-title{color:var(--primary-color);letter-spacing:-.02em;font-size:15px;font-weight:700}.sidebar{z-index:1001;height:100vh;width:var(--sidebar-width);border-right:1px solid var(--border-color);transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0f172a26}.sidebar.sidebar-open{transform:translate(0)}.sidebar-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:background-color .2s,color .2s;display:flex}.sidebar-close-btn:hover{color:var(--danger-color);background-color:#f1f5f9}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background-color:#0f172a66;animation:.2s ease-out fadeIn;position:fixed;inset:0}.main-content{min-height:calc(100vh - 56px);padding:12px}.form-group select.form-control{width:100%!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
