:root{--navy-primary: #0f4c75;--navy-dark: #072e47;--teal-accent: #1b9aaa;--bg-light: #f4f7f6;--text-main: #333333;--white: #ffffff;--error: #d9534f;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-light);color:var(--text-main);line-height:1.6;min-height:100vh}button{cursor:pointer;border:none;border-radius:4px;transition:all .3s ease}input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:1rem;margin-bottom:1rem}input:focus{outline:none;border-color:var(--teal-accent);box-shadow:0 0 0 2px #1b9aaa33}.premium-card{background:var(--white);border-radius:8px;box-shadow:var(--shadow);padding:2rem}.btn-primary{background-color:var(--navy-primary);color:var(--white);padding:12px 24px;font-weight:600}.btn-primary:hover{background-color:var(--navy-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.skeleton-loader{background:#eee;background:linear-gradient(110deg,#ececec 8%,#f5f5f5 18%,#ececec 33%);border-radius:4px;background-size:200% 100%;animation:1.5s shine linear infinite}@keyframes shine{to{background-position-x:-200%}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#0f4c7505;border:2px dashed rgba(15,76,117,.1);border-radius:12px;color:var(--navy-primary)}.empty-state i{font-size:4rem;margin-bottom:1.5rem;color:var(--teal-accent);opacity:.5}.empty-state h3{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.empty-state p{color:#666;max-width:400px}.data-table tr.loading-row td{padding:15px}.skeleton-text{height:12px;width:80%}.notification-bar{position:fixed;top:16px;right:16px;z-index:9999;padding:12px 20px;border-radius:8px;display:flex;align-items:center;gap:12px;font-size:14px;max-width:400px;box-shadow:0 4px 12px #00000026;animation:slideInDown .3s ease-out}.notification-bar.success{background:#eaf3de;color:#3b6d11;border:1px solid #3B6D11}.notification-bar.error{background:#fcebeb;color:#a32d2d;border:1px solid #A32D2D}.notification-bar button{background:none;border:none;cursor:pointer;font-size:18px;color:inherit}.btn-close-notify{font-weight:700;margin-left:8px}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}
