:root{--bg-color:#f6f5f2;--card-bg:#fff;--text-color:#182943;--text-muted:#667a94;--border-color:#e2dfd9;--primary-color:#182943;--primary-hover:#2b3d58;--accent-color:#d2c7ba;--accent-hover:#c2b7a8;--error-color:#d93838;--sidebar-width-expanded:240px;--sidebar-width-collapsed:70px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);min-height:100vh;font-family:Inter,-apple-system,sans-serif}h1,h2,h3,h4,h5,h6,.title{font-family:Roboto Serif,Georgia,serif}#root{width:100%;min-height:100vh}.login-wrapper{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;width:100%;max-width:400px;padding:32px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.title{text-align:center;margin-bottom:24px;font-size:24px;font-weight:600}.input-group{margin-bottom:16px}.input-group label{color:var(--text-muted);margin-bottom:6px;font-size:14px;display:block}.input-group input{background-color:var(--bg-color);border:1px solid var(--border-color);width:100%;color:var(--text-color);border-radius:4px;outline:none;padding:10px 12px;font-size:16px}.input-group input:focus{border-color:var(--primary-color)}.btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;margin-top:8px;padding:12px;font-size:16px;font-weight:600;transition:background-color .2s}.btn:hover{background-color:var(--primary-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width-expanded);background-color:var(--card-bg);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;justify-content:space-between;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-header{border-bottom:1px solid var(--border-color);white-space:nowrap;justify-content:space-between;align-items:center;height:64px;padding:20px;display:flex}.sidebar-brand{color:var(--text-color);white-space:nowrap;font-size:18px;font-weight:700;transition:opacity .2s,width .2s;overflow:hidden}.sidebar.collapsed .sidebar-brand{opacity:0;pointer-events:none;width:0}.toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;transition:background-color .2s,color .2s;display:flex}.toggle-btn:hover{background-color:var(--border-color);color:var(--text-color)}.sidebar-menu{flex-direction:column;flex-grow:1;gap:4px;padding:12px 10px;display:flex;overflow-y:auto}.menu-item{color:var(--text-muted);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:12px;width:100%;padding:12px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.menu-item:hover{color:var(--text-color);background-color:#1829430a}.menu-item.active{background-color:var(--primary-color);color:#fff;font-weight:600}.menu-item-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.menu-item-text{transition:opacity .2s}.sidebar.collapsed .menu-item-text{opacity:0;pointer-events:none;width:0}.sidebar-footer{border-top:1px solid var(--border-color);padding:12px 10px}.main-content{flex-direction:column;flex-grow:1;min-width:0;display:flex}.content-header{border-bottom:1px solid var(--border-color);background-color:var(--card-bg);align-items:center;height:64px;padding:0 32px;display:flex}.content-body{flex-grow:1;padding:8px;overflow-y:auto}.welcome-box{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:24px}.badge{background-color:var(--primary-color);color:#fff;border-radius:4px;margin-left:8px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-block}.admin-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:24px;display:grid}@media (width<=1024px){.admin-grid{grid-template-columns:1fr}}.admin-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:24px;padding:24px}.admin-table-container{overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table th,.admin-table td{border-bottom:1px solid var(--border-color);padding:4px}.admin-table th{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.admin-table tr:hover{background-color:#18294305}.btn-sm{width:auto;margin-top:0;margin-right:6px;padding:6px 12px;font-size:13px}.btn-danger-sm{background-color:var(--error-color);color:#fff}.btn-danger-sm:hover{background-color:#dc2626}.btn-secondary-sm{color:#fff;background-color:#475569}.btn-secondary-sm:hover{background-color:#334155}.permissions-container{flex-direction:column;gap:16px;display:flex}.client-perm-card{border:1px solid var(--border-color);background-color:#18294305;border-radius:6px;padding:16px}.client-perm-header{align-items:center;gap:12px;display:flex}.portfolios-checklist{border:1px solid var(--border-color);background-color:#1829430a;border-radius:4px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:12px;padding:12px;display:grid}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-label input{cursor:pointer}.brand-logo-container{align-items:center;gap:10px;display:flex}.brand-logo{object-fit:cover;object-position:50% 5%;border-radius:4px;flex-shrink:0;width:28px;height:28px}.login-logo-container{flex-direction:column;align-items:center;margin-bottom:24px;display:flex}.login-logo{border-radius:8px;width:120px;height:auto;margin-bottom:8px}.login-logo-title{letter-spacing:2px;color:var(--primary-color);text-transform:uppercase;font-family:Roboto Serif,Georgia,serif;font-size:20px;font-weight:700}@media (width<=1024px){.app-layout{display:block;position:relative}.sidebar{top:0;bottom:0;left:0;box-shadow:4px 0 25px #0003;z-index:9999!important;position:absolute!important}.main-content{top:0;bottom:0;right:0;left:var(--sidebar-width-collapsed)!important;width:auto!important;margin:0!important;position:absolute!important}}
