:root{--primary-blue: #005288;--secondary-blue: #0078ae;--text-dark: #5a5b5d;--text-light: #c0c2c4;--bg-white: #ffffff;--bg-soft: #f3f7fa;--border: #d8e3ea;font-family:Segoe UI,Avenir Next,Helvetica Neue,sans-serif;line-height:1.4;font-weight:400;color:var(--text-dark);background:var(--bg-soft);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;min-height:100vh}body{background:radial-gradient(circle at top right,#e2f2fb 0%,var(--bg-soft) 48%,#edf3f7 100%)}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:300px;background:linear-gradient(180deg,#005288,#003e68);color:var(--text-light);display:flex;flex-direction:column;padding:14px;gap:10px}.sidebar-brand{display:flex;gap:10px;align-items:center;padding:10px;border-radius:12px;background:#ffffff1a}.sidebar-logo{width:54px;height:54px;border-radius:10px;object-fit:cover}.sidebar-brand h2{margin:0;font-size:18px;color:#fff}.sidebar-brand p{margin:0;font-size:11px;color:#d9e9f4}.sidebar-nav{overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding-right:4px}.nav-item{text-decoration:none;color:var(--text-light);border-radius:10px;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid transparent}.nav-item:hover{background:#ffffff14}.nav-item.active{background:var(--secondary-blue);border-color:#ffffff40;color:#fff}.nav-main{display:flex;align-items:center;gap:10px}.nav-main span{font-size:14px;font-weight:600}.nav-badge{background:#ffffff2e;color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.nav-badge.alert{background:#c92a2a}.sidebar-user{border-top:1px solid rgba(255,255,255,.2);padding-top:12px;display:grid;gap:8px}.user-meta strong{display:block;color:#fff;font-size:13px}.user-meta span{color:#d9e9f4;font-size:12px}.logout-btn{border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;border-radius:8px;padding:8px 10px;display:inline-flex;gap:6px;align-items:center;cursor:pointer}.app-main{flex:1;padding:24px;overflow:auto}.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px}.empty-state{display:grid;place-items:center;text-align:center;min-height:50vh}.login-page{min-height:100vh;display:grid;place-items:center;padding:16px;background:linear-gradient(135deg,#e6f4fb,#fff 40%,#edf6fb)}.login-card{width:100%;max-width:480px;background:var(--bg-white);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 18px 42px #00528829}.brand-row{display:flex;justify-content:center;margin-bottom:8px}.brand-logo{width:280px;max-width:100%}.login-card h1{margin:8px 0 6px;font-size:22px;color:var(--primary-blue)}.login-card p{margin:0 0 18px;color:var(--text-dark);font-size:14px}.login-form{display:grid;gap:12px}.login-form label{display:grid;gap:6px;font-size:13px;font-weight:600}.login-form input{border:1px solid #b5c9d8;border-radius:8px;padding:10px 12px;font-size:14px}.login-form input:focus{outline:2px solid #8bc7e1;border-color:var(--secondary-blue)}.login-error{color:#b42318;font-size:13px}.login-button{border:0;border-radius:8px;padding:10px 14px;background:var(--primary-blue);color:#fff;font-weight:700;display:inline-flex;gap:8px;justify-content:center;align-items:center;cursor:pointer}.login-button:disabled{opacity:.7;cursor:wait}@media(max-width:960px){.app-shell{flex-direction:column}.app-sidebar{width:100%;height:auto}.app-main{padding:14px}}.settings-directory{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:22px 28px;align-items:start}.settings-group{min-height:64px}.settings-group h3{margin:0 0 6px;color:#0b62bd;font-size:18px;font-weight:500}.settings-group p{margin:0;color:#3f4954;font-size:12px;line-height:1.35}@media(max-width:1280px){.settings-directory{grid-template-columns:repeat(3,minmax(220px,1fr))}}@media(max-width:980px){.settings-directory{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:680px){.settings-directory{grid-template-columns:1fr}}.settings-links{display:flex;flex-wrap:wrap;gap:6px}.settings-link{border:0;background:transparent;color:#0b62bd;font-size:12px;padding:0;cursor:pointer;text-decoration:underline}.settings-link.active{color:#005288;font-weight:700}table th,table td{padding:8px 6px;border-bottom:1px solid #edf2f7;font-size:13px}input,select,textarea{border:1px solid #d8e3ea;border-radius:8px;padding:8px 10px;width:100%;font-family:inherit}
